Integrating NWBPM,NWBRM and PI
Dear Scn Users.
SAP NetWeaver Process Orchestration bundles the SAP NetWeaver Process Integration technology (PI) together with SAP NetWeaver Business Process Management (BPM) and SAP NetWeaver Business Rules Management (BRM) in a single integrated solution.It provides tools to quickly automate and optimize business processes – from simple workflows to integrated processes that span applications, geographies, and organizational boundaries.
1 .SAP NetWeaver Business Process Management (BPM) manages processes and process operations.
2 .SAP NetWeaver Process Integration (PI) is used for technical integration in order to manage the different technologies in the sub-systems and link them together.
3. SAP NetWeaver Business Rules Management (BRM) is a component which can model cross-system business logics centrally.
This document gives the idea of integrating PI ,NWBPM and NWBRM ,which is the complete Process orchestration
In this scenario a BRM table is designed to determine Salary increase based on region and grade. In this case SAP NetWeaver Business Rules Management serves as data source for lookups in a PI mapping which also serves as role model for the usage of SAP BRM in SAP PO routing where SAP NWBPM is triggered between source and target systems to perform the action.
Steps in PI:
In PI Message type is created for defining BRM table(as shown below)
Then in mapping program BRM is called using UDF(which calls a soap channel).This is similar to soap lookup.
Below is the soap receiver channel used for calling BRM.Target URL can be obtained from Single service administration of NWA once the BRM is deployed
Then 4 interfaces are created to communicate with BPM.
1.Outbound Interface(with input message type)
2.Inbound BPM Interface(with Input message type).Pattern should be XI 3.0 compatiable
3.Outbound BPM interface(with Output message type).Pattern should be XI 3.0 compatiable
4. Inbound interface(with Output message type)
Receiver soap channel for sending message to NWBPM
Sender Soap channel to receive message from NWBPM
Then 2 ICOs one for sending data to NWBPM from PI and other for getting data from NWBPM to PI using the interfaces and channels mentioned above.
Steps IN NWBRM:
Open NWDS->Open Perspective->Rules composer.
Then open a new project and name your project.
In BRM for defining tables create a message type in PI,export it as XSD a localfile and import it in the BRM.
Below is the message type created and exported as XSD
To start with BRM.Open NWDS and select the perspective as Rules composer
Then XSD is imported.
Then select the project resources and in the aliases tab select the required fields for output and Input.
Create the BRM table by selecting Tables ->New BRM table and the required fields.
And define the ruleset. Here default rule is used,it can be modified as per the requirement.(IF Boolean true the Hike table will be evaluated)
After defining Rule it should be published as a webservice(deployed).
Then BRM is deployed. This BRM will be called by UDF(with soap channel in it) and hike percentage will be calculated.
Steps in NWBPM:
To start with NWBPM open NWDS then select process development perspective.
A NWBpm Pattern looks like below
The Inbound and outbound NWBPM interfaces and operation mapping developed in PI are imported.
Start step is intiated by inbound BPM interface and mapping is as below(Interface to BPM artifcat)
Salary Calculations step:
In this step the mapping program having BRM is used.Input and output mappings are shown below.
In input mapping,from BPM artifact data is passed to mapping having BRM call(salary calculations are obtained from BRM table).
In the output mapping the output from mapping(salary calculation details obtained) are passed to the BPM artifact.
And service reference is created by checking the”local system” check box.
Salary Details Sent Step:
In this step the data after manipulations is sent to PI using the outbound interface.Mapping is as below.
In the service reference type should be XI and business component detail corresponding to BPM is selected.
After configuring NWBPM is deployed
Testing the scenario:
In my scenario I used Soap UI for testing
The same can be tested with file,proxy as per the requirement and availability.
below is the input payload.
Based on the hike percentage which is determined in BRM details are sent(which will be called using NWBPM).Output XML will be as below.