cancel
Showing results for 
Search instead for 
Did you mean: 

Proxy vs RFC

Former Member
0 Kudos

IF Proxy is Faster than RFC, why we are not always going for a Proxy. (if we are on syste 6.20 or >)

Just we need to create a report program from the Message Interface, and then call the FM.

Also, when we go for a proxy there is no adapter configuration(if it is on the sender side) and maintenance is also easy?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

Pete,

In proxy we have to write the code from scratch. But if you have a standard RFC then you will rather use them directly with XI instead of writing proxies. If you dont have any standard RFCs then I would suggest to go for proxies rather than writing a complete ZRFC.

Also check this threads for some more information:

Regards,

---Satish

Former Member
0 Kudos

Sathish, from the earlier discussion we had about the Proxies, for me it looked like its possible for me to call the Existing RFC from a Report Program, thats why I raised that question.

Former Member
0 Kudos

Pete,

We dont need to do if we have a standard RFC. If we dont have then I would suggest to with that approach.

Regards,

---Satish

Former Member
0 Kudos

The reason why I am interested with Proxy is Performance. Eventhough we have the Standard RFC, we need to have an RFC Adapter and overload on XI to convert the RFC Protocol into SAP XI Protocol.

On the other hand, if we write a Wrapper program(Proxy) calling the Standard RFC then we are eligible to talk to the integration Engine directly , by passing the Adapter Engine and our messages are processed more efficiently (Only in the IE the Que Priorities really matters, so by just pushing the data to IE will make the things faster).

prateek
Active Contributor
0 Kudos

Agree to whatever u said. Proxy would be better to use and thats why even SAP recommends more and more usage of proxy.

Still there are scenarios where only usage of standard BAPIs r involved. In that case, we readily get the message interface, the sender structure with request, response and exception. So, why to go for developing all these manually.

For critical business scenario where u desperately want performance optimization, proxy is a good choice but in simple scenario where message load in XI is low, why to waste XI development time.

Regards,

Prateek

Former Member
0 Kudos

Hi,

I would like to add something more to this.

We can call a function module in the SAP system by

1) RFC Adapter

2) Using Proxies

3) Exposing the RFC as a webservice and consuming that using SOAP Adapter in XI..

<u>

<b>RFC </b> </u>

1)When we use RFC Adapter, request message (native SOAP) has to be translated in adapter engine to make RFC call. Again the RFC response has to be translated back to XML.

2) ABAP Development is not required. Total development time and effort gets reduced

3) Can not incorporate data conversion rules, cross referencing in the target SAP R/3 System.

4) RFCs can be used only by SAP Systems or by JCO.

5) SAP system with WAS 6.1 or older versions can communicate only via RFCs.

<u>

<b>Inbound ABAP Proxy</b></u>

1)In case of inbound ABAP proxy XI pushes the message to the target SAP system in native SOAP over http using XI Adapter.

No Message Protocol Conversion is involved and hence performance is better.

2) ABAP Development adds to development time and cost

3) We can play with the inbound message in target SAP R/3 System. Conversion rules can be applied and can do cross referencing as well.

4) Message mapping can be avoided and performance is improved.

5) Can be used in case of synchronous as well as asynchronous scenarios.

Supports EOIO, BE

6) n case of repeated calls to the function module, we can push the complete data in a single message from XI and can call the function module in loop.

<u><b>Enterprise Service</b></u>

1) Here we use SOAP Adapter which can send data directly to target SAP system in XML.

So, performance expected is similar as Inbound Proxy

2) ABAP Development is not required. We just need to expose the RFC enabled function module as web service.

3) Can hide some unnecessary fields of the function module, can rename the fields and can assign default values the Enterprise Service.

4) Message Mapping is involved

5) Mainly for synchronous scenarios as we expect some output from the services.

Supports BE.

Now we can judge the best possible approach depending on our requirement

Dont forget to award points

Regards

Pushkar Anand

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Pete !!

Just one comment to add to the other replies...RFC sender does not support QoS = EOIO, but ABAP Proxy does. Sometimes this issue was the determination for us to use one or the other.

Regards,

Matias.

justin_santhanam
Active Contributor
0 Kudos

Pete,

Have a look at MIchal's Blog :/people/michal.krawczyk2/blog/2006/04/19/xi-rfc-or-abap-proxy-abap-proxies-with-attachments

Ravis's Blog :/people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems

Best regards,

raj.