Integration Patterns for SAP NetWeaver Process Orchestration
Available with EhP1 for SAP NetWeaver 7.3, Process Orchestration is a single, integrated solution for building and running end-to-end business processes across both SAP and non-SAP environments.
With the new Process Orchestration installation (William Li's blog post provides useful information) SAP NetWeaver BPM, SAP NetWeaver BRM and SAP NetWeaver PI can now be run on a single Java system, leveraging the same infrastructure for both integration-centric and human-centric processes. This simplifies the system landscape, reduces communication overhead and provides synergies between the individual components. For instance, Business Rules capabilities can now be used in the integration-centric processes, or integration mappings can be leveraged from with NetWeaver BPM processes.
So how exactly do NetWeaver PI and NetWeaver BPM talk to each other, when installed on one Java system? NetWeaver BPM now supports the XI 3.0 protocol for service endpoints (configurable on the service reference). This means that messages can be sent reliably from PI to BPM and vice versa.
Figure 1. Inbound communication from SAP NetWeaver PI to SAP NetWeaver BPM
The following picture shows the message flow from PI to BPM. The message received by PI will be processed by the Java Proxy Runtime (JPR), which delivers it via the Web Service Runtime (WSRT) to BPM. The message could start new process instances or trigger intermediate message events in BPM. The message will be discarded if it does not match with one of these – a process start interface or an intermediate trigger.
Figure 2. Outbound communication from SAP NetWeaver BPM to SAP NetWeaver PI
Outbound communication (automated activity triggering a message) happens in a similar way. Here the sender component name can be specified in the service configuration in BPM.
Gregor Hohpe and Bobby Woolf have detailed a catalog of 65 common patterns in Enterprise Application Integration (EAI) scenarios in the book titled Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley, 2003).
This blog looks into the implementation of typical integration patterns using SAP NetWeaver Process Orchestration. Each pattern is explained with a sample scenario and the pattern modeling is illustrated in NetWeaver BPM.
Stateless patterns can be implemented either as Integration Flows on PI (AEX) or as processes in BPM. Both alternatives will be documented. As a general guideline, stateless patterns are best implemented as Integration Flows on AEX.
This applies especially if the integration process consists of a single pattern only and no additional business logic is executed in the Process Orchestration system (i.e., a pure ESB scenario). In such cases, the overhead of starting, executing and completing a BPM process instance is typically very prohibitive.
If the pattern is part of a larger business process involving multiple integration and/or workflow patterns, it could be implemented within NetWeaver BPM, as the overhead costs become less relevant in the overall scenario.