
Summary
Enterprise Integration Patterns (EIP) help in solving recurring problems faced in the integration of enterprise applications. This article introduces the Composed Message Processor – 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 SP5
Authors
Abdul-Gafoor Mohamed & Prashant Gautam
Product Management, SAP NetWeaver BPM, SAP Labs
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. The Composed Message Processor helps address this question:
“How can you maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing?”[2] |
Let us consider an example. AceCamz is a major online retailer for Cameras and accessories, including some of the high-end SLR(Single Lens Reflex) cameras. AceCamz customers are able to order the camera body, an advanced lens and any accessories in a single order. The versatility of SLR cameras allows most manufacturers to provide a wide range of accessories for the customers. Accessories include, but are not limited to these items – hot shoe flash, neck strap, cleaning cloth, flash diffuser, lens pen, blower, light reflector, polarizer filter, speedlight flash, UV filter, tripod. AceCamz allows customers to order the camera and accessories in a single invoice, even though they have two different inventory systems, one for Cameras and the other for accessories.
Figure 1. An example illustrating the Composed Message Processor pattern
The Composed Message Processor is a message routing pattern that helps in processing a composite message by using a splitter, routing the split messages to certain destinations, and finally aggregates the responses into a consolidated message.
In the example we have considered, a customer orders one or more items from the camera inventory and one or more items from the accessory inventory. Each of these inventory systems can independently process items. The prices and promotional offers are still applicable to the main order, which consists of the multiple items on a single invoice. The single message that comes in (the customer order) is split and processed as multiple messages by the different (inventory) subsystems – whose outputs are finally aggregated and delivered to the destination.
Figure 2. An integration scenario for the Composed Message Processor pattern
As depicted in Figure 2, we are dealing with these two integration configurations:
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.
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.
Note: Only XI 3.0 compatible stateless interfaces are supported.
Prerequisites
Figure 4. A Composed Message Processor scenario modeled in SAP NetWeaver BPM
The Process Model for a Composed Message Processor scenario is shown in Figure 4. The steps for modeling the process are enumerated below:
Notes:
[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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
12 | |
11 | |
10 | |
10 | |
9 | |
8 | |
8 | |
8 | |
7 |