Skip to Content

Using NetWeaver BPM for Stateful System-Centric Message Orchestration

With NetWeaver Orchesteration 7.31, which includes PI, BPM and BRM, we are now able to design integration with stateful processes using NW BPM and PI.  As we all know, PI’s dual-stack installation will eventually go away, which means that PI’s ccBPM, which is based in ABAP, will also be gone.  Even though the date for the dual-stack to end has not been announced, we should probably start looking at using NW BPM to replace ccBPM in PI.

At first, I thought this would be a monumental task to learn a new tool, but actually, I found the learning curve is actually less than when I started with ccBPM.  There are a few notables when working with NW BPM:

  1. With BPM, there is no need for Abstract Interfaces as in ccBPM.
  2. With BPM, there is no need for Operations Mapping when we need to split or combine messages as in ccBPM.
  3. In BPM, correlation conditions for asynchronous messages is much easier and transparent to define.
  4. PI treats BPM just as another sender or receiver system.
  5. Sending messages between BPM and PI is based on XI protocol via the SOAP adapter. 
  6. Because BPM uses XI protocol, we can easily use BPM with multiple PI systems, including PI 7.11.
  7. The graphical design tool is based on BPMN and using NWDS, the tool is much easier to use, and more interactive.
  8. When needed, we can include user-interactions easily within BPM.
  9. Through some preliminary performance tests, we found BPM to be much faster than ccBPM.
  10. The combined tools of PI and BPM bring a very powerful environment to design, execute and orchestrate messages among SAP and non-SAP applications and system.

To introduce BPM, a how-to article has been written using a simple business process scenario that includes asynchronous messaging with correlation, synchronous messaging, and orchestration of messages between a backend SAP system, a database and files.

The article can be access via the link:

SAP Help for PI 7.31

SAP Help for BPM 7.31

You must be Logged on to comment or reply to a post.
  • Bill,

    Thanks a lot for this document. While going through this document , question popped up on my mind. When BPM makes a call to PI and if the PI server is down, can we restart the BPM as we used to do in ccBPM(SXMB_MONI_BPE)?



      • Thanks Daniel, this answers my question.

        Analyze the process instance details and take an appropriate action, for example, suspend, resume, or cancel a process

    • Hi Justin,

      Within BPM, you can model "Boundary Events" against operations in your process that capture and respond to exceptions.  So it is feasible that you could actually build into the BPM an exception handling flow, that raises a human task when an operation has failed.  In your example, this may be a simple screen informing an Admin user that PI is down (or the interface failed for a more specific reason of course.)  The problem can be investigated and then when resolved, the Admin user can confirm the human task and the process continues back from the PI service call.

      This way you can avoid the process suspending (or worse failing completely) and also means the problem resolution is more pro-active than re-active.

      You could even go a step further and create a generic Admin problem resolution BPM that is reused by other BPM's and have a slick, consistent approach across an organisation.

      Hope this helps,


  • Hi William,

    you have mentioned in point 6 in the list above that BPM could be used with multiple PI systems. For the direction from a remote PI to BPM the connectivity can be easily configured in the SOAP receiver channel. But so far I couldn't find a possibility that a BPM sends out a message to a remote PI system via XI protocol (without routing it via the local AEX) or call a mapping on a remote PI system. Is this already possible or are there plans to officially support such scenarios? (since this would be pretty useful for companies doing a phased migration from PI double stack to PO).

    Release 7.31 is indeed a big step forward in regards to the integration between PI-based messaging and system-centric orchestration with BPM. But up to 7.31 SPS03 there is no really integrated monitoring view for PI and BPM and no possibility to do a proper end-to-end debugging, which were both already fundamental functional gaps of the old ccBPMs.

    Regards, Holger

    • Hi Holger,

      This is a partial reply to your question.

      BPM can use WS and XI protocol to integrate with PI.  XI protocol is used when AEX and BPM are installed in the same SID (as in this document).  When communicating with a dual-stack PI, BPM can use the WS adapter.  This way, you can achieve a migration process by changing the adapter used.



      • Hi William,

        is it planned to create a how-to-guide for the WSRM based integration to a remote PI or is there already one? We tried to configure such scenario with PI and CE 7.30 before NW 7.31 went into ramp-up. After various tests and OSS messages we discarded this approach, since even someone from SAP Product Management recommended us to better wait for the integration based on the XI protocol.

        Regards, Holger

        • Hi Holger,

          We had a hands-on exercise of BPM-PI integration using WS-RM at TechEd 2009.  If you can pass me your email address or tell me where to place the file, I can send the exercise documentation to you.



  • WIlliam,

    In the article on Page -35. Can you please take a look at Steps 47 - 49?

    In the Service References Step 47 says choose Orders_Async_Out, but Step 49 has the PortType name as StartMsg_Async_In.

    Is this is correct?


  • Very good article. I thought it would be a big loss not to have ccBPM anymore, but it looks now like it's going to be an improvement.

    What do you think about POL (Process Object Layer, written in ABAP)?