Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
AbdulGafoor
Advisor
Advisor

Summary

Enterprise Integration Patterns (EIP) help in solving recurring problems faced in the integration of enterprise applications.  This article introduces the Splitter – one of the Enterprise Integration patterns in the context of SAP NetWeaver Process Orchestration.

Applies to

SAP NetWeaver Process Orchestration EhP1 for SAP NetWeaver 7.3 SP4

Authors

Abdul-Gafoor Mohamed & Prashant Gautam

Product Management, SAP NetWeaver BPM, SAP Labs

The Splitter Pattern in Process Orchestration

Enterprise Integration Patterns – The Splitter

Enterprise Application Integration (EAI) is an integration framework composed of a collection of technologies and services that form a middleware, enabling the integration of systems and applications across an enterprise.[1] A twenty-first century enterprise typically consists of tons of distributed applications, varying percentages of which may be homegrown, acquired, legacy or even a combination of these.

Enterprise Integration Patterns (EIP) are design patterns that help in solving recurring problems faced in the integration of enterprise applications.  One such common requirement in Enterprise Integration is to break down a single large message into multiple logical smaller messages. The Splitter pattern helps in cases where each smaller message might need to be handled in a different way and thus avoids a need to send the larger message to all the destinations. The Splitter pattern that helps with this routing capability addresses this question:

“How can we process a message if it contains multiple elements, each of which may have to be processed in a different way?”[2]

To illustrate the Splitter Pattern, we consider the example of Benn Laptop Repairs, a company that deals with servicing and repairs of laptops.  The servicing department receives an order to repair multiple laptops from a customer, Ally Bank.  Ally Bank has sent for service, a number of laptops manufactured by some of the top manufacturers of personal computers in the world. Benn Laptop Repairs has allocated different groups in the service department that takes care of service and repairs of computers manufactured by different vendors. Ally Bank’s service request can be routed to a specific group in the service department using the Splitter pattern.

Figure 1. An example illustrating the Splitter pattern


An Integration Scenario for the Splitter

In this example, the service request from Ally Bank triggers the Business System S1 to send a message to SAP NetWeaver PI (AEX), which is delivered to SAP NetWeaver BPM (Inbound[3]).  The large message is split in SAP NetWeaver BPM (Outbound) for different targets (groups in Benn Laptop Repair).  SAP NetWeaver BPM sends a confirmation to the original sender Business System S1 once the split has occurred.

SAP NetWeaver Process Orchestration Solution Outline

Figure 2. Splitter pattern integration scenario using SAP NetWeaver Process Orchestration

As depicted in Figure 2, we are dealing with these two integration configurations:

  • Integration Configuration1 (ICO1) – A message flow can be triggered using a SOAP adapter from Business System S1 that flows through SAP NetWeaver PI (AEX) to SAP NetWeaver BPM.
  • Integration Configuration2 (ICO2) - To send the enriched content back to SAP NetWeaver PI (AEX) from SAP NetWeaver BPM and store it as a file in your specified folder using File adapter.

Note: The message flow from Business System S1 could also be simulated by using the Web Services Navigator, details of which can be found in the SAP NetWeaver Web Services Navigator documentation.


SAP Process Orchestration Scenario

Figure 3. A generic SAP Process Orchestration scenario sequence


The Integration Flows have to be created and activated using the same interfaces that were used in the Business Process.  The generic scenario referenced above applies to most Enterprise Integration patterns, including the Splitter pattern.

Note: Only XI 3.0 compatible stateless interfaces are supported.


Process Modeling in SAP NetWeaver BPM

Prerequisites

  • The service interfaces to be used in the process model – Starting Interface and Automated activity – should be imported from the SAP NetWeaver PI Enterprise Service Repository.
  • For testing the BPM Process from the BPM Process repository, the UME action SAP_BPM_TRIGGER_EVENT should be assigned to the specific user role.

Process Model

Figure 4. A splitter scenario modeled in SAP NetWeaver BPM

The Process Model for this scenario is shown in Figure 4.  The steps for modeling the process are enumerated below:

  • The Splitter Pattern starts with a service interface with count initialized to zero.
  • Count the total number of order items in the order list.
  • Get the current order item from the order list and send the order item to the Receiver.
  • Increment the count on the loop.  Repeat until there are no more order items.
  • Complete the split process outbound call with type order data on end of loop.

Notes:

  • Use the ‘XI’ service reference instead of ‘WS’ in the configuration settings of the automated activity. The Sender Component also needs to be specified.
  • Use the SAP NetWeaver PI Integration Flow Designer to create the configuration objects in SAP NetWeaver PI
  • Please refer to detailed information on Process Modeling using SAP NetWeaver BPM.


[1] Enterprise Application Integration, Wikipedia

[2] Gregor Hohpe & Bobby Woolf, Enterprise Integration Patterns. 2003

[3] Inbound and Outbound are terms used with reference to the application, in this case SAP NetWeaver BPM.

3 Comments