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 Content Enricher – 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 Content Enricher Pattern in Process Orchestration

Enterprise Integration Patterns – The Content Enricher

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 of the message transformation patterns – the Content Enricher – is needed if the target system requires data fields that the originating system cannot supply.

In numerous integration scenarios, system B needs additional data that system A has not provided.  Such instances are tailor made for the Content Enricher pattern.  It has the ability to look up missing information or compute it from the available data.

Thus, the Content Enricher helps address this question:

“How do we communicate with another system if the message originator does not have all the required data items available?”[2]

Let us consider an example.   A service technician Kevin's daily job is to visit customers for servicing and/or repairs of appliances. His supervisor Emil is interested in a summary of tasks each of his technicians worked on during the day.  For each of his technicians, Emil gets a daily report of customers visited and tasks undertaken.  He would like to get better insight into the kinds of service calls conducted by his technicians, than what is already provided in the daily report.

Emil is interested in a list of all visited Customers (including name, address, phone number, issue/regular service and service date and time) served by Kevin on that particular day. Emil would input Kevin’s employee id to the process and the requisite details would be retrieved from the system.

Figure 1. An illustration of the Content Enricher pattern


An Integration Scenario for the Content Enricher

The Content Enricher helps gather additional information from a system using the available information. In this example, Kevin enters his direct report's ID into Business System S1.  A generated message in SAP NetWeaver PI (AEX) is delivered to SAP NetWeaver BPM (Inbound)[3].  Web service calls in SAP NetWeaver BPM aid in looking up additional information based on the ID and the enriched message from SAP NetWeaver BPM (Outbound) is relayed through Integration Configuration 2, eventually providing the Business System S1 with the requested information.

SAP NetWeaver Process Orchestration Solution Outline

Figure 2. An integration scenario for the Content Enricher pattern

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

  • Integration Configuration1 (ICO1) – A message flow can be triggered in 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.

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 created first and then 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 Content Enricher scenario modeled in SAP NetWeaver BPM (Click to enlarge)

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

  • The Pattern starts with a service interface.
  • An Employee ID is provided as input to the system.
  • A Webservice call retrieves the order list (List of Order IDs).
  • The order details are then retrieved for each Order ID using Webservice calls.
  • These details are consolidated and a summary(the enriched content) is returned to the sender system.

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.