Skip to Content
Author's profile photo Former Member

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:  http://scn.sap.com/docs/DOC-28803

SAP Help for PI 7.31http://help.sap.com/saphelp_nw73ehp1/helpdata/en/8e/995afa7a8d467f95a473afafafa07e/frameset.htm

SAP Help for BPM 7.31http://help.sap.com/saphelp_nw73ehp1/helpdata/en/ce/19dc55105b46a0b498af9d840a93a8/frameset.htm

Assigned tags

      17 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi William,

      Very useful blog.  Do you have any material or guideline how to call PI mapping from BPM?

      Chetan Patel.

      Author's profile photo Justin Santhanam
      Justin Santhanam

      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,

      Justin.

      Author's profile photo Daniel Yackel
      Daniel Yackel

      Hi Justin -  yes, the administrator within NWA can restart the step within the process to connect to the PI server if that was the issue.  here is a link to he BPM Help documentation

      http://help.sap.com/saphelp_nw73ehp1/helpdata/en/58/c325d5323b447ebb9d020c7fbaa5be/frameset.htm

      Author's profile photo Justin Santhanam
      Justin Santhanam

      Thanks Daniel, this answers my question.

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

      Author's profile photo Former Member
      Former Member

      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,

      Gareth.

      Author's profile photo Holger Himmelmann
      Holger Himmelmann

      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

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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.

      Regards,

      William

      Author's profile photo Holger Himmelmann
      Holger Himmelmann

      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

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      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.

      Regards,

      William

      Author's profile photo Justin Santhanam
      Justin Santhanam

      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?

      Justin.    

      Author's profile photo Shabarish Vijayakumar
      Shabarish Vijayakumar

      William Li - What settings need to be done in NWDS to deploy the BPM into the server?

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      You will need to configure the server information in "SAP AS Java" in Window --> Preferences.

      Regards,

      William

      Author's profile photo Rajesh PS
      Rajesh PS

       

      Your valuable thoughts on this please.

      Advance Thanks!

      https://answers.sap.com/questions/12907416/how-to-collect-and-group-records-by-loop-count-in.html

       

      Author's profile photo Monika Eggers
      Monika Eggers

      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)?

      Author's profile photo Former Member
      Former Member

      Hi William,

      Not sure but tried many times,after opening link it says "File is damanged".

      http://scn.sap.com/docs/DOC-28803

      --Divyesh

      Author's profile photo Monika Eggers
      Monika Eggers

      For me it works fine.    

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      I have no problem accessing the material.

      Regards,

      William Li