cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronous merge scenario

AntonioSanz
Active Participant
0 Kudos

Hello all,

I just want to check this the experts in this forum if it is possible to implement next integration scenario in SAP PI.

My scenario is as follows:

A web portal has to show a list of data. This data comes from a SAP System (RFC) and a 3rd party system (WebService). SAP PI has to provide a web service to the web portal and has to collect the dato from SAP, then collect data from 3rd party system merge that data and provide to the web portal.

The full flow will be: Web portal call to a SAP PI web service. SAP PI call to SAP to get data (RFC), then call 3rd party system (Webservice), then merge both data and send back to the web portal.

Is that possible? (With a ccBPM)

Many thanks.

Accepted Solutions (1)

Accepted Solutions (1)

former_member184681
Active Contributor
0 Kudos

Hi Antonio,

Have a look at this blog by : http://scn.sap.com/people/michal.krawczyk2/blog/2011/12/26/michals-pi-tips-composite-web-services-on.... I believe it gives you two interesting things: a confirmation (in the comment posted by ) that what you need is achievable. And a description of an alternative approach in the blog itself. You could also think about building a SOAP to SOAP sync scenario and reading the additional data with RFC Lookup. Still, both these alternative approaches might prove more complicated than using of BPM - you need to decide yourself .

Hope this helps,

Greg

Answers (3)

Answers (3)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

>>The full flow will be: Web portal call to a SAP PI web service. SAP PI call to SAP to get data (RFC), then call 3rd party system (Webservice), then merge both data and send back to the web portal.

The most important thing to be noted is retrieving the response from RFC and Webservice and merge them.  How do you handle one of the target systems (either third party webservice or RFC) is down. How do you handle if one of the system is pretty slow due to network issues or some internal application errors? We all know webservice is pretty simple only when it up and work and not all the times. IMHO, when it comes for the production, we need more clarity on errors, exception handling  and message flows. So, I would recommend you to go for ccBPM for extra clarity.

iaki_vila
Active Contributor
0 Kudos

Hi Antonio,

I have thinking another aproximation without ccBPM. You told us:

The full flow will be: Web portal call to a SAP PI web service. SAP PI call to SAP to get data (RFC), then call 3rd party system (Webservice), then merge both data and send back to the web portal.

You could make that the SAP PI web service call an server proxy in ECC with the RFC code and add code in order to call the 3rd party system through SAP PI also (you have all monitoring in this way), with a simple client proxy.

If you use a RFC and not a Server proxy  i dont know exactly if there is a problem to use a client proxy inside RFC, as far as i know i think not.

Regards.

maciej_jarecki
Contributor
0 Kudos

Hi Antonio

Yes it's possible with ccBPM, but seems to me that you will have lot of timeout's and by using BPM you cannot use ICO. Also because it will be sync scenerio so you will not see flow in monitoring ( by default ). Perhaps it will be better to create WebService on PI ( as J2EE server ) and from this WS call RFC ( using SAPJRA ) and external webservice.

BR

Maciej

AntonioSanz
Active Participant
0 Kudos

Hi Maciej, what is ICO?

Thanks.

former_member184681
Active Contributor
0 Kudos

Hi Antonio,

ICO is for Integrated Configuration = processing with Advanced Adapter Engine.

Hope this helps,

Greg

Former Member
0 Kudos

@maciej: but without using BPM, it will not be possible to merge the results of RFC and webservice call and send back to the initial webservice request.

@antanio: ICO is Integrated Configuration Object, this is available from PI7.1 versions with the introduction of Advanced Adapter Engine to bypass the Integration Engine. So BPM cannot be invoked through ICO.

for your req - The full flow will be: Web portal call to a SAP PI web service. SAP PI call to SAP to get data (RFC), then call 3rd party system (Webservice), then merge both data and send back to the web portal. - BPM is needed.

Former Member
0 Kudos

@maciej: but without using BPM, it will not be possible to merge the results of RFC and webservice call and send back to the initial webservice request.

@antanio: ICO is Integrated Configuration Object, this is available from PI7.1 versions with the introduction of Advanced Adapter Engine to bypass the Integration Engine. So BPM cannot be invoked through ICO.

for your req - The full flow will be: Web portal call to a SAP PI web service. SAP PI call to SAP to get data (RFC), then call 3rd party system (Webservice), then merge both data and send back to the web portal. - BPM is needed.

maciej_jarecki
Contributor
0 Kudos

HI Rajeev,

Yes of course it's possible, becasue using Java bean you will perform mapping as you wish. Also you can perform calls to RFC and WS in standard graphic mapping so BPM is not needed at all.

BR

Maciej

Former Member
0 Kudos

Maciej Jarecki wrote:

HI Rajeev,

Yes of course it's possible, becasue using Java bean you will perform mapping as you wish. Also you can perform calls to RFC and WS in standard graphic mapping so BPM is not needed at all.

BR

Maciej

the req sending part is ok. But my question is how will you be able to collect the responses back from two different systems, do some transformation logic on the combination of the two response msgs and then then output its target msg as response to the initial req msg? so i said for achieving this, BPM is needed.

Moreover, RFC lookup and JDBC lookup are available - but where is WS lookup available? Also these are used when you have some fields to pass to an RFC to get the lookup value - but here a source req msg has to be mapped to a RFC req msg and then RFC is called - so where will this transformation happen in an RFC lookup standard function?