cancel
Showing results for 
Search instead for 
Did you mean: 

Reuse Web Service

markbernabe
Active Participant
0 Kudos

Hi,

Newbie question once again. Suppose i have an existing interface between System X to System Z via SOAP to FILE. And in the same landscape, a new System Y is introduced and is almost entirely the same as the existing System X - Z interface (difference would just be the data that will be sent). Question is should I just pass the endpoint URL of the existing web service created for System X to System Y developers? Or do we still need to create a new configuration in IB with new sender component for System Y and reuse all other existing objects of X-Z scenario?

From my understanding of SOA, we just can reuse everything so no need to create any new stuff. Is that right?

Thanks

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello Mark,

the point Baskar mentions may be worth considering. If you copy the configuration and use a different sender system, you will be able to analyze better which system sent the message. Think about volume statistics, daily monitoring etc. All standard PI tools take Sender System as a key field. If you share endpoints you will have to do payload analysis to keep that apart.

Usually, I prefer to copy configuration to have that clarity, especially, if you consider sharing that webservice with application Y1, Y2, Y3 and Y4, too.

Regards,

Jörg

Answers (2)

Answers (2)

iaki_vila
Active Contributor
0 Kudos

Hi Mark,

A few cents, when the same webservice could be used with different partners you can use the Party approach. You will have a SOAP - XXXX scenario when you expose the SOAP communication to your partners. I split the problem in two cases:

  1. You want to control who is calling the webservice because you want to acces to the endpoint with different user. For example you want to expose a webservice to post fi documents in SAP ECC, you need to know who partner is creating each document, e.g.:
    • Sender Party A – Sender BC X à
    • Sender Party B – Sender BC X à

With this approach you can use an ACL list in the Business Component (BC) in order to restrict the user access.

  1. There is no necessary to know who is using the webservice. You don’t need to do any change and give the URL access point to your partners. Also you can use an ACL list in order to restrict the access.

Also the points pointed by Baskar ans Jorg are good as well

Regards.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

1) >is should I just pass the endpoint URL of the existing web service created for System X to System Y developers

Yes. This should work.  But if the Y system supports different authentication  say  https without client authentication and X supports simple http  then you have to create support ID objects for this at least sender agreement and channels.

If you want to distinguish data coming from diff systems X and Y, then you can introduce the field in the payload like customer id or so, in that case you will have accountability of message volumes that is coming from different systems. This idea is purely business related.

2) >Or do we still need to create a new configuration in IB with new sender component for System Y and reuse all other existing objects of X-Z scenario?

Depends on the requirement. If the requirement is same then you don't need to create sender components. Otherwise I answered question one for this...


markbernabe
Active Participant
0 Kudos

Got it. Thanks Baskar! Appreciate the quick response.