If you are building an application that integrates to SAP Business One, you are spoiled for choice these days. In some respects, this leads to a bit of a dilemma as to which way you should go.

In the past, you could use the DI-API and UI-API, or the DTW, to link to the SAP Business One business processes or to push data and transactions in to the software. But now, there are a number of solutions that, on the face of it, look like competing options.

The Range of Choices Has Expanded

You (still) have the DI-API, which you can call directly in your applications whether you are building with Java- or .NET-based languages, such as C# or VB. These come with a high degree of granular control over the end-to-end process and, therefore, will continue to be the right choice for many developers.

However, you can now also build your applications utilising the SAP Business One Integration Framework (B1i). This framework has grown from being a “skunk works” project at SAP (which is what I recall it being when it was first released) to a core component of the overall offering.

The biggest difference with B1i is that it offers more than just an API, (which, in many respects, is what the new Service Layer on SAP HANA offers) and the integration is based more on document-level integration with a set of additional tools that deliver Business Process Modeling and Business Process Flow capabilities.

So it’s fair to say that it has grown significantly since the early days back in 2007 when it was first released.

In fact, I caught up with Nicolas Fuchs at the Biz.ONE Conference and got the opportunity to learn more about what SAP has planned for B1i. Plans potentially include a more descriptive name change (it's SAP, of course); but more importantly, a number of different deployment options as well. These options range from a lightweight solution running on raspberry Pi (and the associated Raspbian Linux O/S) to potentially a standalone platform that, according to Nicolas, has attracted the attention of other product groups inside SAP as a potential solution to their integration challenges.

Bringing IoT into the SAP Business One Mix

Of course, with the Internet of Things (IoT) being an area of interest and developing opportunity for businesses of all sizes, I was particularly intrigued by the potential application of B1i as a component of an IoT strategy. Including process control, data capture, and process monitoring, this is where the lightweight B1i option can fit; running on a low-cost, robust platform (like Raspberry Pi) that has all kinds of plug-in capabilities for data capture.

Unfortunately, whilst the technology is quite exciting, the licensing and pricing model is still being developed, so the applicability of this remains to be seen. Hopefully SAP will take a long view on this and keep to pricing down to a reasonable level so the technology has a chance to get a foothold in the market.

The video embedded below shows a demo that the solution architects at SAP have been showing at recent events, including the Biz.ONE Conference, as an example of how this can come together in that IoT scenario.


The good news is that SAP have just released two new sets of e-learning to help you learn more about both B1i and the Service Layer. If you have an interest in either (or both) of these topics, I suggest these as the place to start:

Limitations Exist – Be Aware and Work Accordingly

However, you should remember that building on the Service Layer limits you to those customers that are running SAP HANA. If you are looking to build a commercially viable solution, you may need to factor in the adoption rate of SAP HANA. At Biz.ONE, SAP's keynote highlighted growing adoption of SAP HANA among customers; but I also talked with many at the event for whom SAP HANA is still limited to specific use cases based around analytics and data volumes. But it is clear SAP HANA is an integral part of SAP's planned future for SAP Business One

With these various options and approaches, I would understand if developers feel a bit of a dilemma. However, as Nicholas pointed out to me (quite correctly), if you build on B1i, you can easily switch from the DI-API to the Service Layer without rewriting your core code. Factor that into your thought process, as well.

Happy coding.