Professional Documents
Culture Documents
Netweaver BPM For System-To-System Message Orchestration (Including Migration of CCBPM To NW BPM)
Netweaver BPM For System-To-System Message Orchestration (Including Migration of CCBPM To NW BPM)
Applies to:
SAP NetWeaver Process Orchestration 7.31
Summary
With the introduction of NetWeaver Process Orchestration 7.31, where NetWeaver PI AEX, NetWeaver BPM
and NetWeaver BRM can be installed in the same instance, many users are asking about the migration of
ccBPM to NetWeaver BPM or, just simply, how to develop a stateful system-centric message orchestration
business process using NetWeaver Process Orchestration 7.31, instead of using ccBPM.
This article describes the basics of stateful system-to-system message orchestration using NetWeaver BPM.
A simple use-case scenario will be used to demonstrate the design and configuration requirement of
integrating NetWeaver PI and NetWeaver BPM to cover similar use cases as ccBPM.
Author: William Li
Company: SAP Labs LLC
Created on: May 30, 2012
Author Bio
William Li is a member of the SAP NetWeaver Orchestration and Integration Team in SAP
NetWeaver Solution Management. He has been with SAP since 1998 - originally as a SAP
America consultant, as a developer at SAPLabs and then as a SAP NetWearver RIG member
focused on Process Integration. He joined SAP NetWeaver Solution Management in April of 2010.
Table of contents
Abstract ............................................................................................................................................................... 3
Differences between ccBPM and NetWeaver BPM............................................................................................ 4
ccBPM to NetWeaver BPM ............................................................................................................................. 5
Recommendations during Development ............................................................................................................ 5
NetWeaver BPM Design and Configuration ....................................................................................................... 6
NetWeaver PI Interfaces ................................................................................................................................. 6
NetWeaver PI Scenarios (Integrated Configurations) ..................................................................................... 6
Required receiver configuration for NW PI NW BPM ................................................................................. 7
Required sender configuration for NW BPM NW PI ................................................................................... 7
NetWeaver BPM Design for Outbound Messages from NW PI to NW BPM .................................................. 7
NetWeaver BPM Design for Inbound Messages from NW BPM to NW PI ..................................................... 8
NetWeaver BPM Design for evaluating conditions (if-then-else) .................................................................... 9
Step-by-Step Procedure ................................................................................................................................... 10
Start NWDS – Composite Designer .............................................................................................................. 11
Import all the service interfaces between NW BPM and NW PI ................................................................... 16
Create local variable ..................................................................................................................................... 24
Model the Process ........................................................................................................................................ 29
Configure the Start Event ........................................................................................................................................... 30
Create and Configure “Send PO Request” Event ...................................................................................................... 33
Create and Configure “Wait for PO Response” Event ................................................................................................ 36
Create and Configure Gateway to Check for PO Error .............................................................................................. 40
Configure “Write PO Error File” Activity...................................................................................................................... 43
Configure “Get Customer Info” Activity ...................................................................................................................... 45
Create and Configure Gateway to Check for Customer Info Error ............................................................................. 46
Configure the “Write CustInfo Error File” Activity ....................................................................................................... 49
Configure the “Write PO CustInfo File” Activity .......................................................................................................... 50
Delete the Previously Created “dummy” Service Groups ........................................................................................... 51
Deploy the NW BPM Process ....................................................................................................................... 53
Running the Scenario.................................................................................................................................... 54
Additional Information ....................................................................................................................................... 55
Enterprise Service Repository Content ......................................................................................................... 55
Integration Directory Content ........................................................................................................................ 65
Copyright........................................................................................................................................................... 73
Abstract
With SAP NetWeaver Process Orchestration 7.31 (PRO 7.31), using a java-only installation, NetWeaver PI
(AEX), NetWeaver BPM and NetWeaver BRM can be installed in the same SID. Without the ABAP stack,
ccBPM is no longer available. NW PI will continue to be supported on the dual stack (and thus ccBPM could
continue to be used for these use cases) but the direction forward is to support these scenarios with NW
Process Orchestration. NW BPM is now the platform to develop stateful message orchestration between
systems.
Prior to PRO 7.31, the WS adapter was used for integration between NW PI and NW BPM. However, the
WS adapter is an ABAP adapter, which is no longer available in a java-only installation. Instead, the XI
proxy is used by AEX. The XI proxy not only provides reliable messaging as in the WS adapter, but it is also
much more performance oriented. Since NW PI 7.11, the XI proxy is implemented through the SOAP
adapter.
This article goes through the basic configuration requirement for NW PI and NW BPM in stateful system-
centric message orchestrations. (There is no user-interaction, only system messaging is involved). A typical
ccBPM scenario will be used as a comparison to what is needed during the migration to NW BPM. The
focus of the article is on the configuration of NW BPM, along with the NW PI requirement during interface
design and communication channel configuration. Prior knowledge of ccBPM is not required for this article.
Since this article is on NW BPM development, it is assumed that the reader is familiar with NW PI
development. NW PI development will not be covered in this article. Some details of the contents of the
Enterprise Service Repository (ESR) and the Integration Directory (ID) are included in section 6 (Additional
Information).
For this article, the scenario is as follow:
IMPORTANT: It is extremely important that the Process Orchestration (or NW BPM) release matches that
of the NWDS release. If the NWDS release is newer than that of Process Orchestration (or
NW BPM), then there will an error during the deployment process from NWDS to the JEE
server.
The NWDS can be downloaded from the following link: (Authorization is required for access.)
https://nwds.sap.com/swdc/downloads/updates/netweaver/nwds/nw/731/
XI-protocol is used for integration between NW PI and NW BPM. However, SOAP with XI 3.0
protocol cannot be tested using standard tools, e.g. soapUI. Since we want to test all the
configurations first in NW PI before we use them in NW BPM, we must also configure standard
SOAP communication channels for testing purposes. When we are ready to use them with NW
BPM, we can just simply change the Integrated Configuration to use the SOAP communication
channel with XI30 protocol. Having this property in the name will help to minimize mistakes and
save time, and for us to move between testing and using it in NW BPM.
Note: It is important to test all the Integrated Configurations first before using them in NW BPM.
2. Send PO Request:
3. Return PO Number:
5. Write Result/Error:
The tasks required for these two activities in NW BPM are: (property configuration)
Define Event Trigger: a trigger must be created in NW BPM to wait for a specific message from NW
PI.
Assign service interface and operation for the trigger: assign the interface and operations for the
trigger. This defines the interface which NW BPM is waiting on.
Create local variables based on the data type of the service interface: local variables must be
created to hold the data elements when the message interface is received. The local variables are
imported into NW BPM.
Create output mapping from service interface to local variable: Create the mapping from the
received message to the local variable.
Create Correlation Condition for Intermediate Message (based on a field in the inbound interface and
a local variable): create the correlation to determine which message will be assigned to which NW
BPM process when there are multiple concurrent processes in progress.
Automated Activity
(Asynchronous message: NW BPM NW PI RFC)
Automated Activity
(Synchronous message: NW BPM NW PI JDBC)
Automated Activity
(Asynchronous message: NW BPM NW PI File)
Automated Activity
(Asynchronous message: NW BPM NW PI File)
Create output (response) mapping from service interface to local variable: create the mapping
between the response message type and the local variable in a synchronous interface.
The only task involved is to create the Condition Evaluation using the GUI tool. The expressions follow the
XPath standard to access information in XML documents. In addition, it is possible to leverage other
components like BRM to make more complex analysis on the business process instance content and
determine the branch in the process to take. The graphical drag and drop XPath expression editor is shown
below:
Step-by-Step Procedure
The following are the general guideline I followed during the design and configuration of stateful system-
centric messaging and orchestration between NW PI and NW BPM:
(Please note, for this document, my definition of a scenario is an end-to-end message going through NW PI
between a sender system and a receiver system. So for this exercise, we have 5 scenarios.)
1. From the requirement, design and construct all the NW PI objects in the Enterprise Service
Repository (ESR) and the Integration Directory (ID). These include mainly the following:
a. Interface design in the ESR.
b. Integrated Configuration creation in ID for each end-to-end scenario.
c. Communication channel configurations. (For the SOAP adapter, configure 2 for each
communication channel that integrates with NW BPM. One with SOAP 1.1 protocol and one
with XI30 protocol. The SOAP 1.1 protocol is for testing purposes. The XI30 protocol is for
runtime with NW BPM.)
2. Document each NW PI scenario as in section 4.2. This will be extremely helpful during the NW BPM
development phase.
3. Test each NW PI scenario, using the communication channel with SOAP 1.1 protocol. We will not
be able to test the “Start Message”, as it is SOAP-to-SOAP in NW BPM, and NW BPM does not exist
yet. For testing, I use soapUI. The “WSNavigator” in the SAP JEE can also be used. But, soapUI
allows me to save my web service and data for testing. soapUI can be freely obtained from
http://soapui.org .
4. After successful testing, change the relevant SOAP communication channels from using SOAP 1.1
to XI30. Please note, these are the SOAP communication channels that connect between NW PI
and NW BPM.
After the completion of the above, we are now ready to develop the NW BPM process. For the steps below,
we will assume all the NW PI artifacts in the ESR and ID are complete and ready to go. We will focus only
on the NW BPM tool.
It is extremely important to highlight that this is in line with traditional SOA practices where the appropriate
services are exposed for consumption by other composite entities. In our case, this will be NW BPM. This
exercise follows this methodology. First, we identify the services that are needed. Then they are
provisioned and fulfilled. Lastly, we are ready to create the higher abstraction orchestration layer that can
create other value added services on top of these more granular services.
Windows Open
Perspective Other…
Click: OK
Click: Next
Enter name:
SYSTEM_CENTRIC_SC
Click: Finish
Click: Next
Click: Finish
StartMsg_Async_In
orders_Async_Out
po_Async_In
GetCustInfo_Sync_Out
CustPO_Async_Out
Right-click on Service
Interfaces.
Click: Next
Click: OK
Select: StartMsg_Async_In
18
Click: Next
Click: Finish
20 Import orders_Async_Out,
using the same steps as
before.
Enter name:
SG_PO_Request
Enter description:
SG_PO_Request
Click: Finish
Click: Finish
22 Import
GetCustInfo_Sync_Out,
using the same steps as
before.
Enter name:
SG_Get_Customer_Info
Enter description:
SG_Get_Customer_Info
Click: Finish
23 Import CustPO_Async_Out,
using the same steps as
before.
Enter name:
SG_PO_CustInfo
Enter description:
SG_PO_CustInfo
Click: Finish
Information:
Click on orderNumber to
select it.
Local variables based on the After receiving a message, the content of that message will need to
service interface. be put into a local variable so that we can use it during the business
process, e.g. evaluating the content to determine next steps (if-then-
else) or select the data to send to another system (retrieving or
updating information on another system).
DT_orders
DT_po_number
DT_CustResp
Click: Next
The Operations is
automatically selected.
Click: Finish
Mapping
Drag-n-drop it to record
under orders, on the right
side.
Drag-n-drop it to
orderNumber on the right
side.
Drag-n-drop it to record
under MT_orders on the
right side.
Select: Event
Select: Intermediate
54
Message
Click: Next
Click: Finish
Select: Correlation
Condition
Under ContextGlobal,
64
double-click on
orderNumber.
Create 2 Automated
Activities:
Select: Automated
69
Select: Deploy
Additional Information
For this article, the NW PI designs and configurations in the ESR and ID are assumed and done beforehand.
Only the NW BPM development steps are detailed.
For FYI purposes, without going into the step-by-step procedures, the ESR and ID artifacts used in this
article is listed below.
Each Scenario is
contained in its own
folder, along with the
RFCs used:.
Folder: CreatePO
Sends an
asynchronous order
message to an RFC to
create a PO on the
ERP system.
Interface details
Folder: GetCustInfo
Sends a synchronous
message with customer
number to retrieve
customer information
from a SQL table using
the JDBC adapter.
Interface details
Folder: GetPONumber
Receive an
asynchronous message
containing the PO
number from ERP after
PO creation.
Interface details
Folder: StartMsg
The is the
asynchronous message
containing order
information sent from
soapUI to NW BPM to
initiate the process.
Interface details
Folder: WriteResult
Interface details
Integration Directory
content consists of the
configuration for 5
integration scenarios,
which are outlined in
section 4.2.
Integrated
Configuration:
StartMsg
Integrated
Configuration: Send
PO request to ERP
Integrated
Configuration: Retrieve
customer information
from database
Integrated
Configuration: ERP
sends PO number and
status to NW BPM.
Integrated
Configuration: Send
customer information
and PO number to file
(this is used for both
successful and failed
messages)
Copyright
© Copyright 2012 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG.
The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Excel, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, System i, System i5, System p, System p5, System x, System z, System z10, System z9, z10, z9,
iSeries, pSeries, xSeries, zSeries, eServer, z/VM, z/OS, i5/OS, S/390, OS/390, OS/400, AS/400, S/390 Parallel Enterprise Server,
PowerVM, Power Architecture, POWER6+, POWER6, POWER5+, POWER5, POWER, OpenPower, PowerPC, BatchPipes,
BladeCenter, System Storage, GPFS, HACMP, RETAIN, DB2 Connect, RACF, Redbooks, OS/2, Parallel Sysplex, MVS/ESA, AIX,
Intelligent Miner, WebSphere, Netfinity, Tivoli and Informix are trademarks or registered trademarks of IBM Corporation.
Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems
Incorporated in the United States and/or other countries.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of
Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts
Institute of Technology.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by
Netscape.
SAP, R/3, SAP NetWeaver, Duet, PartnerEdge, ByDesign, SAP Business ByDesign, and other SAP products and services mentioned
herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and other countries.
Business Objects and the Business Objects logo, BusinessObjects, Crystal Reports, Crystal Decisions, Web Intelligence, Xcelsius, and
other Business Objects products and services mentioned herein as well as their respective logos are trademarks or registered
trademarks of Business Objects S.A. in the United States and in other countries. Business Objects is an SAP company.
All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document
serves informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP
Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or
omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the
express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an
additional warranty.