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:
- With BPM, there is no need for Abstract Interfaces as in ccBPM.
- With BPM, there is no need for Operations Mapping when we need to split or combine messages as in ccBPM.
- In BPM, correlation conditions for asynchronous messages is much easier and transparent to define.
- PI treats BPM just as another sender or receiver system.
- Sending messages between BPM and PI is based on XI protocol via the SOAP adapter.
- Because BPM uses XI protocol, we can easily use BPM with multiple PI systems, including PI 7.11.
- The graphical design tool is based on BPMN and using NWDS, the tool is much easier to use, and more interactive.
- When needed, we can include user-interactions easily within BPM.
- Through some preliminary performance tests, we found BPM to be much faster than ccBPM.
- 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.31: http://help.sap.com/saphelp_nw73ehp1/helpdata/en/8e/995afa7a8d467f95a473afafafa07e/frameset.htm
SAP Help for BPM 7.31: http://help.sap.com/saphelp_nw73ehp1/helpdata/en/ce/19dc55105b46a0b498af9d840a93a8/frameset.htm
Hi William,
Very useful blog. Do you have any material or guideline how to call PI mapping from BPM?
Chetan Patel.
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.
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
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,
Gareth.
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.
Regards,
William
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.
Regards,
William
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.
William Li - What settings need to be done in NWDS to deploy the BPM into the server?
You will need to configure the server information in "SAP AS Java" in Window --> Preferences.
Regards,
William
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
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)?
Hi William,
Not sure but tried many times,after opening link it says "File is damanged".
http://scn.sap.com/docs/DOC-28803
--Divyesh
For me it works fine.
I have no problem accessing the material.
Regards,
William Li