cancel
Showing results for 
Search instead for 
Did you mean: 

What is better between ECC and PI, RFC adapter or SOAP adapter?


Hi experts,

I have a couple of RFCs in my ECC system, so I need to publish a web service from PI to many customers.  I have two choices.

1. SOAP to RFC, synchronous scenario, working well but generates traffic in RFCD queues

2. SOAP to SOAP, synchronous scenario, publishing my RFC like web service in ECC.

Questions:

1. Which is better in performance?

2. SAP says something about that?

thank u for any response, regards.

Accepted Solutions (1)

Accepted Solutions (1)

azael_navarro
Active Participant
0 Kudos

Hi Carlos,

Normally i follow the theory that the best things are normally all that you can implement after evaluate the situtation of your company... This situation contain factors or variables as:

1.- Technology: The kind of technology that your have in your hands (R3 or ECC, XI or PI 7.1 to up, etc...),

2.- Time: the time that you have, to implement the "best solution" for your case,

3.- Costs: maybe is not money directly when we implement internal projects or maybe yes, but this cost could represent the energies that you deliver with yourself with your "hard work", etc...

4.- Knowledge: maybe you have the technology, the time, the costs, the resources, etc... but if you know that you can learn how to do it, but the time is not going to let you learn, well, you will need to reevaluate "your best solution", because instead of help you the first best solution is going to complicate your project, the costs and time can increase, etc...

5.- Best practices: We have friends, manuals, forums, etc... where we can find best practices, as you are doing in this moment asking in this Community,

After those variables and reading your cuestion, i can share you may opinion, that i hope can help you:

1.- Measure it:

a) if you have the RFCs ready to be used it, and you dont have time, implement this solution and in the future migrate to better solutions, although you can sell this project requesting more time but with the condition to implement this new solution, so maybe you can change this variable and then implement web services and not rfcs,

b) if you have the RFCs, you have the knowledge to publish web services and you have time, implement this solution,

2.-Why?:

a) If we remember R3 helped us to implement interfaces with RFCs to PI,

b) The new version called ECC, supports now "ABAP Proxies", with the objective to implement a natural "SOA" with SAP PI as "standard",

c) So if you ask me, i prefer to implement a natural SOA considering web services, XML, WSDL, etc) than RFC, because here you are not using natural emisor to get a natural SOA and PI help us with their adapters to transform this RFC destination to one XML, etc...

3.- RECOMENDATION:

With the last subjective ideas, i recommend you follow the point 2, where is better use web services to implement a natural SOA (Service Oriented Architecture) than the RFC that is a technology that were used in the "R3" verions... Just evaluate the points that you need to be aware when you implement web services as timeouts, security, etc... just to solve it and then plan a "performance tunning", after this...

@note: read: "text", as one suggestion that i consider as subjective or that you can not agree with the idea and use other solution or proposal.

Best regards,

Azael Navarro Jiménez

0 Kudos

Hi Azael,

Thank u for your time.  When you say "natural SOA" you mean only ABAP proxies? Because I publish my Function Group  with all operations from SE37 and using SOAMANAGER.

Regards,

Carlos Andrés

azael_navarro
Active Participant
0 Kudos

Hi Carlos,

No Carlos, it was just an example of the evolution about how R3 got communication in the past and how ECC can get communication with PI now a days... when i say "Natural SOA" is just to express that this Architecture offer you more than just to think about RFCs (that even actually PI still supporting in this days), or others (for example: file to PI, jdbc to PI, IDOC to PI)...

The extrict theory says that you expose web services and you consume web services in on "Natural SOA"... Graphical example:

Natural SOA: ECC (consume the PI web services) --> PI (PI consume the ECC web services)---> ECC ... Maybe the similar standard technology that ECC use in natural SOA is: ABAP Proxy in PI is XI Adapter...

Remember that SOA is NOT a technical name that was born with PI, is an architecture where you can use with others Middlewares, BPMs, ETLs, customized code with web services (java, .net), etc...

This is just a recommendation: we know that when we implement something, we dont ever follow completely the standards or best practices, but those could help us a lot if we take it as reference or guide... as you are doing now asking for recommendations...

Good luck, i hope i have solved your doubt...

If you have doubts feel free to ask me,

Best regards,

Azael Navarro J.

0 Kudos

Hi Azael,

All that you said me is very useful.  I only have one more doubt... I can publish a web service from ECC, only with a function group tool, but I can use Proxy to publish too.  The last way imply more ABAP develop (time = costs).   Publish from FUNCTION GROUP is fine accord to your experience?

thank u for all.

Regards,

Carlos Andres

azael_navarro
Active Participant
0 Kudos

Hi Carlos,

For me is fine i have seen web services working fine in ECC and even i have seen this web services running in the PI monitor where you can follow each one, depends of your needs and you are right ABAP proxy imply more ABAP develop (time = costs) but i recomend to identify the advantages or disadvantages for your requirement about the solution that you have, so you can implement it without problems. But i can share you more ideas when we compare ABAP proxies vs Web services in this case with RFC: 

Just if you decide to implement your first solution, dont forget:

1) Timeouts configured since ECC and even since SAP PI,

2) Security, depends if you are into the firewall or not,

3) Create the WSDL (with one, two or more services exposes),

4) Important: decide where you will work the control, from ECC where you send the information processed to PI and PI just is used as a server conector, or if you send your information where PI will transform with a lot of rules in PI where you will work more into this step,

5) Performance Tunning and Sizing http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2016a0b1-1780-2b10-97bd-be3ac6221...

6) Other topics...

I hope i have solved your doubt...

Best regards,

Azael Navarro J.

0 Kudos

Sure, u solved my doubts.  Thanks for share your experience,

Regards.

Carlos Andres.


Answers (3)

Answers (3)

Former Member
0 Kudos


Hi Carlos,

Its best to expose your RFC as a WS and use SOAP with XI protocol to expose these web services. This is recommended by SAP as well considering eSOA as the way forward.

Regards,

Sriram

iaki_vila
Active Contributor
0 Kudos

Hi Carlos,

I totally agree with Azael. if you want a comparison with more details you can check this link http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0e7ae66-be6d-2a10-d385-92e6e67de...

Regards.

0 Kudos

Excellent material, thanks.

Former Member
0 Kudos

Hello Carlos,

Please confirm the PI system in question. Is it dual stack or lone Java?

Regards,

Sriram

0 Kudos

Hi Sriram,

Thank u for answer,  is PO 7.4 only java stack.

Regards.

Carlos Andres

former_member190624
Active Contributor
0 Kudos

Hi Carlos,

If you want best performance , expose RFC as Webservice in ECC. you will have two advantage

1. Response time will be very less (As communication is between source and ECC system only).

2. Logging of messages will be decreased.

If using of PI system is mandatory in your project , Create SOAP to RFC scenario and maintain Message prioritization in RWB . Message prioritization will help to process message quickly.

Thanks

Hari.

0 Kudos

Hi Hari,

Yes, PO is mandatory. thank u.

Regards,

Carlos

former_member190624
Active Contributor
0 Kudos

Hello Carlos,

Are you using ABAP proxy on receiver side ? If yes then create SOAP to SOAP (XI protocol) interface to have good performance on both PI and ECC.

Note: Use message prioritization , if interfaces are having high priority for business.

Thanks

Hari.

0 Kudos

Hello Hari,

The ABAP team is apart from my team, so they are exposing their RFCs from FUNCTION GROUP tool.

In that case, affects more the performance?

regards,

Carlos Andres.