cancel
Showing results for 
Search instead for 
Did you mean: 

Difference between building/consuming web service in ERP vs. XI (PI)

Former Member
0 Kudos

Hi All,

Can someone direct me to the pros and cons of whether to build/consume a web service in ERP (ABAP - SE80, etc.) versus in XI? We have ECC 6.0 and the latest version of Web AS running - so no issues with that. I'm just wondering - if we can build and consume everything in ERP, why even waste our time with XI (for web services)? What gives?

Thanks,

Matt

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi there,

There are three main aspects in using XI for Enterprise Services:

1. The ESR - Enterprise Service Repository (based on Integration Repository)

2. The Service Registry (coming as part of latest XI release: PI 7.1)

3. The need for asynchronous services

<b>1. The ESR</b>

This one should be used for designing your services -ESR is design-time-, defining object data model, interfaces, operations and so on based on <u>Global Data Types</u>.

The use of Global Data Types allows to ensure that when we speak of e.g. an amount being 1,000.52, it will be understood correctly from the other side thanks to a common set of data types.

Furthermore, the ESR comes with pre-defined content (interfaces and others) that makes the building of new services faster.

Note that once you've defined your service in XI, you'll have to generate a proxy (ABAP or JAVA) in your ERP (in case ABAP) where you'll need to implement your code, this means that at run-time your're not obliged to pass through XI to run the service.

<b>2. The SR</b>

The Service Registry is the ultimate place where all enterprise services of your company will be published. This will really be your ES yellow pages where you can get services WSDL and location so that you can integrate them easily in any of your applications. Services available in the SR are (should) be "released" services, so in contrary to what you can find in the ESR (where you can have work in progress), here you'll only have services that are completed and ready to use.

<b>3. Asynchronous ES</b>

The ERP does not allow you to create real asynchronous services, and this is true as well when you call a service from your ERP as when you provide a service in your ERP to external calls (proxy client).

In case you need to work with asynchronous scenario, you'll have to go through XI.

Of course in an ERP system, there are many ways of making a "kind of" asynchronous behaviour with coding, workflow and so on, but in this case the other party (the external service provider or caller) will probably have also to be adapted which is not always possible.

Well, these are from my point of view the most important elements; so, if you don't need asynchronous behaviour and you don't have to many services to manage you can certainly work without XI.

Now, if you start having services from different systems, and you build a complete enterprise SOA based infrastructure, XI/PI becomes a necessity.

Rgds,

Karim

sbhutani1
Contributor
0 Kudos

Hi Matt,

Karim has beautifuly highlighted the advantages of using XI over ERP ABAP webservices. I would like to add my two cents in this, there is one more advantage of using XI over ABAP for consuming and exposing webservices and that is Business Process Modeling (BPM).

BPM is the most convinient way of desinging the business scenarios in which there could be several webservices combined together to perform a certain task. Which you can't do in ABAP.

For example you have a requirement where you have to talk to different systems (Legacy or SAP) and based on some responses generated from those system you have to trigger some more processes in that case you should have to have XI as a middleware to route the messages to different systems (including legacy systems) which is not an easy thing to do in ABAP.

In short if you are using ABAP for consumin or exposing webservices then you are making a point to point connection between your ERP SAP and the other sytem and if you are using XI for consuming and exposing the webservice then you are actually creating a hub between the SAP and different legacy system, which is offcourse benificial to get rid of ERP load since all the functionality is executing out of the box and it improves the performance too.

Regards

Sumit Bhutani

Answers (1)

Answers (1)

Former Member
0 Kudos

Thanks much for the helpful answers! This was exactly what I was looking for as i'm continuing in learning how to architect the correct solution for our company.

Cheers,

Matt

sbhutani1
Contributor
0 Kudos

Hi Matt,

If these are the answers which you were looking for then i think your problem is solved and there is one more option 'Problem Solved' while rewarding the point and it is still not clicked.

Regards

Sumit