Skip to Content
Author's profile photo Abdul-Gafoor Mohamed

SAP Process Orchestration Integration Patterns

Integration Patterns for SAP NetWeaver Process Orchestration


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.

Connectivity

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.
/wp-content/uploads/2012/09/bpminbound_168890.jpg 
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.
/wp-content/uploads/2012/09/bpmoutbound_168891.jpg

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.

Integration Patterns

Gregor Hohpe and Bobby Woolf have detailed a catalog of 65 common patterns in Enterprise Application Integration (EAI) scenarios in the book[1] 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.

Patterns by category

Message Routing
Message Transformation
Message Construction

Pattern states and availability

Stateful patterns
Available from this release

Aggregator

SAP NetWeaver 7.3 EhP1 SP5
Claim Check SAP NetWeaver 7.3 EhP1 SP5
Composed Message Processor SAP NetWeaver 7.3 EhP1 SP5
Scatter-Gather SAP NetWeaver 7.3 EhP1 SP5
Sync/Async Bridge SAP NetWeaver 7.3 EhP1 SP4
Stateless patterns
Content Enricher (w/BPM) SAP NetWeaver 7.3 EhP1 SP4
Splitter (w/BPM) SAP NetWeaver 7.3 EhP1 SP4
Async/Sync Bridge SAP NetWeaver 7.3 EhP1 SP4

Pure AEX implementation of
these stateless patterns
:

  • Content Based Router
  • Recipient List
  • Dynamic Router
  • Splitter
  • Message Filter
  • Content Enricher
  • Content Filter
  • Message Translator
SAP NetWeaver 7.3 EhP1 SP4

NOTE:

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.

References / Related content

[1] Gregor Hohpe & Bobby Woolf. (2003). Enterprise Integration Patterns. ISBN 0321200683 Addison-Wesley. 
      Also see
Enterprise Integration Patterns.

[2] Process Orchestration installation – blog by William Li

[3] Get your free #BPM Enterprise Pattern models for #SAPNetWeaver Process Orchestration – by Jocelyn Dart

Assigned Tags

      5 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Jocelyn Dart
      Jocelyn Dart

      Thanks Abdul-Gafoor .. much appreciated and looking forward to seeing the rest of the patterns soon.   I was thinking it would be useful in your list of patterns to give a quick heads up on the support pack in which the specific pattern becomes available?

      Regards,

      Jocelyn

      Author's profile photo Abdul-Gafoor Mohamed
      Abdul-Gafoor Mohamed
      Blog Post Author

      Thanks for the suggestion Jocelyn.  I will make sure to include the SP (support pack) info for each pattern in the references, as they are added here.

      Update: Pattern states and availability are now in the main section.

      Author's profile photo Former Member
      Former Member

      Do SAP NW BPM have support for merge pattern ?

      We have requirement where we need to merge 3 different file formats , how can we merge that using BPM ?

      Thanks & Regards,

      Dijesh Tanna

      Author's profile photo Alexander Bundschuh
      Alexander Bundschuh

      Hi Dijesh,

      sure, this is actually the aggregator pattern described in this blog

      Alex

      Author's profile photo Rajesh PS
      Rajesh PS

      Hello Experts Abdul-Gafoor Mohamed

      Thanks you very much for this blog.

       

      Also could you please share your valuable inputs/suggestions on below thread. Many thanks in advance.

      https://answers.sap.com/questions/12907416/how-to-collect-and-group-records-by-loop-count-in.html?childToView=12907504#comment-12907504