We would like to describe in this blog the concept of the integration framework for SAP Business One version 1.x and how it works. We, the project team, are also working on different documents to help you in your daily work with the integration framework.
Before starting, here are the names of the people who are in the project team:
Krisztian Papai (Global Roll-out), Justin McGuire (Global Support), Annemarie Kiefer (Solution Development), and Miriam Rieger (Global Roll-out).
To get an overview about integration and the integration framework in general please refer to the Central Blog Integration Framework for SAP Business One (B1if) – Central Blog
The Integration Framework for SAP Business One in General and its Components
As described in the central blog the integration framework provides an infrastructure that allows for the communication and interaction between software applications such as SAP Business One, other SAP solutions as well as non-SAP applications; whether they are cloud applications or on-premise applications.
The integration framework provides standard ready-to-run scenarios, which can be changed and adopted for specific customer needs. In addition, the integration framework provides the possibility to create custom-specific scenarios to integrate and connect various software applications.
In the integration framework you work with scenario packages. The packages contain all relevant definitions to run the integration between applications. This is the main point when working with the integration framework, let’s start with this.
Scenario Packages and the Step Concept in General
The scenario packages are logistics units that can be activated or deactivated, exported and imported within different integration framework installations.
A scenario package consists of one or multiple scenario steps. The scenario steps transfer and convert data from a sender to a receiver system. Each scenario step is a specific integration flow and has an inbound, a processing, and an outbound phase.
Scenario Package and Step Concept
The Concept of Scenario Step Design
The scenario steps include the information which is required to perform the individual step. To perform a step some definitions are required such as how the step will be triggered, which system types communicate with each other, how the integration framework will transform the message, and if any other processing will occur, such as calls to external systems.
It is important to know that steps can be synchronous and asynchronous. Both processing types have an inbound and a processing. They differentiate at the end, because synchronous steps don’t have an outbound phase, as the response is sent back to the original message sender, for example within an incoming HTTP or Web service call. You can combine synchronous or asynchronous scenario steps in a scenario package.
Scenario Step Design Concept
Let see what happens in each phase:
In this phase, the integration framework receives the incoming message, translates this data automatically into XML which is the internal working data format, and hands it over to the processing phase.The Inbound channel describes the type of sender system. If available, the API can be selected that the integration framework will use to retrieve the incoming data; if data is not already handed over within the inbound message.For example, a step is triggered by an event in SAP Business One such as the creation of a new sales order. Since the event does not contain the sales order data yet, the integration framework reverts to the sending system to retrieve this data using either of the APIs, the Service Layer or the DI API.The inbound channel options are HTTP, File, Void (if the scenario is triggered by a timer), Web Service, SAP Business One and SAP ERP. An internal queue is also available to follow up a scenario step which has been triggered by a previous scenario step.
The processing phase transforms and enriches the XML message which was handed over from the inbound phase to the format and content XML structure required by the receiver system(s).This transformation and necessary enrichments is part of the scenario design and happens in a graphical design tool provided by the integration framework. The integration experts call the processing phase BizFlow.The BizFlow of a new scenario step contains a start and end control structure. A single transformation Atom (called the final atom) is in-between where the transformation itself of the incoming message to the receiver format happens. Atoms are pre-defined functional units. Additional atoms can be added to the processing flow and assembled into a sequence to design even complex process flows. In this case, each atom receives the XML data from the previous atom and transforms the data for the next atom. An internal message queuing mechanism is available to hand over data internally from one scenario step to another.For example, atoms can be used to perform tasks, such as calling an external application, a webservice, or sending an Email. Each atom receives the inbound message, performs its tasks and hands over an outbound message to the next atom.
In this phase, the integration framework hands over the transformed data to the receiver system in asynchronous steps. Synchronous steps don’t have an outbound because the messages produced in the final XML are handed back to the receiver system. Here the outbound channel is set to ‘void’.The outbound phase for an asynchronous step receives the final XML from the processing phase, converts the data to the receiver application format (if it is different to XML) and finally sends out the message to the receiver system or systems.The API can be selected that the integration framework will use to hand over the data. The Outbound channel options are Web Service, HTTP, File, Database, Void (for synchronous steps), SAP Business One and SAP ERP.
Get more information on how to work with the integration framework in this online training
openSAP course: In Action – Integration Framework for SAP Business One
Around the scenario packages there are other components, which are required for data exchanges, or supporting the work with the integration framework. Get more information on the additional components in this blog Additional Components in the Integration Framework for SAP Business One
Integration Framework Model and its Benefit
The concept of the integration framework, having a generic inbound and outbound phase for each scenario step provides flexibility in scenario transportation. Scenarios or individual steps can be created on an e.g. internal test system environment. After finalization of the scenarios or steps they can be transported to the productive environment on customer side.
When a transport is complete only the settings in the SLD need to be set.
Get more information on the SLD in this blog Additional Components in the Integration Framework for SAP Business One
Miriam Rieger, Krisztian Papai, Annemarie Kiefer, and Justin McGuire
openSAP course: In Action – Integration Framework for SAP Business One
SAP Help Portal: Integration Framework for SAP Business One
YouTube Playlist: SAP Business One Integration
Document: Configure Connectivity to SAP Business One Service Layer
Document: Company SLD Configuration
Document: DIProxy Configuration
Document: Setup Secured Connectivity to SAP Business One Mobile App
Document: Calling the Service Layer Object
Integration Framework for SAP Business One (B1if) – Central Blog
Integration Framework Version 2 – Concept of Scenario Development
Additional Components in the Integration Framework for SAP Business One