cancel
Showing results for 
Search instead for 
Did you mean: 

Adapters vs. Proxies "Speed"

Former Member
0 Kudos

I am learning adapters now. We can use proxies for sap systems higher or equal to WebAS 6.20 (correct me if i am wrong) and adapters for lower versions. So i am wondering if we should always use proxies (because its faster) for versions higher or equal to 6.20. What are the advantages of using proxies instead of adapters and what are the disadvantages.

Thank you in advance.

Will reward all helpfull answers.

Accepted Solutions (1)

Accepted Solutions (1)

former_member193376
Active Contributor
0 Kudos

Hi

Adapters are part of the Adapter Framework. Adapters provide the technical connectivity to enable the integration of SAP and non-SAP applications through XIu2019s Integration Engine.Again, Adapters are used for connectivity from and to external systems with XI that cannot communicate via proxies.Adapters are only required in SAP systems older than 6.20 and external systems.

Systems based on 6.20or higher can communicate directly with proxies.

PROXIES

Proxies are adapterless communication.To use proxy communication, you should have systems with Web AS>=6.20. Proxies are class implementation of your message interfaces.

There are two types in ABAP Proxy.

1.Client and Server Proxy.

The data going out from R/3 is called Client proxy( Outbound Proxy) and the data coming inside to SAP R/3 is called Server Proxy ( Inbound Proxy).

The literal definition of a proxy is an object / process authorized to act for another; an agent or a substitute. In simpler terms, proxies in the XI context are objects used to encapsulate the creation (from a sender system) or parsing of XML (at a receiver system) as well as the communication with the relevant runtime components required to send or receive those messages.

Proxies are generated from Message Interface in IR.

The Proxy Runtime controls these objects / processes, and can itself be controlled by the applications it communicates with. The Proxy Runtime currently has the following components available: 1. ABAP Proxy Runtime u2013 Communication using XI or Web Services a. Web Service Runtime 2. Java Proxy Runtime u2013 Communication using XI (J2EE) The objects that the Proxy Runtime then controls are created via Proxy Generation, for both ABAP and Java. In the following sections a u2018clientu2019 proxy is used by an application to send messages outside of the system it resides in (normally to the IS in this context). Conversely, a u2018serveru2019 proxy is used by an application to receive messages from sources outside itself (again, normally the IS in this context)

.Adapters are used when existing applications in various heterogeneous systems (typically legacy systems) need to be integrated using XI. In such case, the development has already been done in these systems, and hence using various adapters, the integration objects in XI are developed. This is called inside-out approach

In case of adapters, the XI developer needs to know the technical details of the system which is to be connected to XI.

But in case of proxies, the developer directly uses the proxies in his applications, without worrying about the underlying technicalities for connecting to XI. So proxies hide technical implementation details from developers who use proxies

Actually the main difference between Proxy and Adapter is:

1. Proxies can only be used to SAP WAS 6.2 or more whereas adapters can be used for any SAP or non-SAP systems,proxies are created on the application system itself.

2.There are two types of proxies.Server and Client proxy.

Server Proxy is located in the destination and client proxy is located in the source.

3.Where as Adapter is located in the middleware i.e in XI box.

Adapters are all ready present in XI like File,IDOC,HTTP,JDBC etc.Proxies are designed by the user depending upon the scenario.

4.proxies are duplicates of adapters.

5.Proxies communicate with the XI server by means of native SOAP calls over HTTP

Just go through these links.

/community [original link is broken]:// [original link is broken]:///community [original link is broken]://

Advantages of using proxy

1) If you have a huge idoc that has to be transferred to ECC, then ideal would be to use a proxy

2)With proxy we get a lot of control on defining the interface, better performance

3) RFC adapter sounds easy , looks easy but comes with a heavy cost compared to proxy.

The disadvantage of proxy is that it involves lot of custom coding.

/people/sravya.talanki2/blog/2006/07/28/smarter-approach-for-coding-abap-proxies

/people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems

Hope this clears your doubt

Thanks

Saiyog

Answers (6)

Answers (6)

Former Member
0 Kudos

Hi,

Adapters are predefined standard and wired protocol. SAP provided more number of Applications, Technical and Industry standards adapters.

In some particular requirements we are unable to use standard adapters then we need go proxy frame work. Above WAS 620 versions supports proxy runtime.

Thanks,

Boopathi

Former Member
0 Kudos

HI,

Advantage:

The advantage of proxy is that it is send directly to the integration engine.There is no processing in adapter engine involved.

So the processing time is saved since there is no processing in adapter engine involved and that leads to a better performance.This is the biggest adavantage of the PROXY

Also we can use proxy only when we have SAP WAS>=6.2

Also it provides Excellent Error handling

They can be used for both synchronous and asynchronous communication

Whereas if u go for Idocs they can be used for asynchronous commn and rfc consumes lots of resources

Point-to-Point transfer is possible by using Proxy.

There is no disadavantage as such of proxy

Plz rewards points

Edited by: vikas jain on Jun 23, 2008 6:34 AM

Former Member
0 Kudos

hi ,

The biggest advantage of the proxy is that it always by passes the Adapter Engine and will directly interact with the application system and Integration engine - so it will and should give us a better performance.

u2022Proxies communicate with the XI server by means of native SOAP calls over HTTP.

RFC does not, so you have to convert from SOAP to RFC calls and vice versa.

u2022ABAP proxies supports two different protocols; XI and Web Services

u2022Most important is that they can be used for both synchronous and asynchronous communication .

RFC/BAPI is basically only intended for Synchronous comm. which asks much more system resources from your XI system.

u2022Proxies are used when you have large chunks of data coming in and that too if its unstructured, so if it comes from a SAP system we go for a ABAP proxy, if its from a non sap system, we take a java proxy.

For abap proxy we may use a report to send a proxy data to sap xi.

u2022EOIO (exactly once in order) quality of service can be obtained with Proxies and not with RFC/BAPI.RFC/BAPI support BE( Best Effort ) when used synchronously.

the disadvantage what is see is only tht it can't be run on WAS< 6.0

Former Member
0 Kudos

hi,

Check out this threads it is discussed already

Thanks,

Vijaya

Former Member
0 Kudos

Hi,

Proxy Advantages:

  • The biggest advantage of the proxy is that it always by passes the Adapter Engine and will directly interact with the application system and Integration engine - so it will and should give us a better performance.

  • Proxies communicate with the XI server by means of native SOAP calls over HTTP. RFC does not, so you have to convert from SOAP to RFC calls and vice versa.

  • ABAP proxies support two different protocols; XI and Web Services

Most important is that they can be used for both synchronous and asynchronous communication.

  • RFC/BAPI is basically only intended for Synchronous comm. which asks much more system resources from your XI system.

  • Proxies are used when you have large chunks of data coming in and that too if itu2019s unstructured, so if it comes from a SAP system we go for a ABAP proxy, if its from a non sap system, we take a java proxy. For abap proxy we may use a report to send a proxy data to sap xi.

  • EOIO quality of service can be obtained with Proxies and not with RFC/BAPI.RFC/BAPI support BE (Best Effort) when used synchronously.

  • We can send JPG, PDF files etc. as attachments in addition to the XML Message. Proxies communicate thru SOAP Protocol, these JPG, PDF files can be sent as SOAP attachments.

  • Predefined content

  • Monitoring in r3 (in case of abap proxies)

Adapters

● Delivery is only guaranteed for transactional RFCs (tRFCs), that is, for messages with quality of service Exactly Once (EO), or Exactly Once in Order (EOIO).

● There is no transactional context for more than one RFC call for each LUW (Logical Unit of Work).

● SAPGUI, Callbacks, and qRFC are not available.

● Receiver adapters only support external RFC servers that register themselves with an SAP gateway. You cannot start external RFC servers. In addition, secure communication using SNC (Secure Network Communication) between receiver adapters and an external RFC server is not supported.

● The context in the called system is not kept open over multiple calls (calls are stateless; there is no session).

● Only the payload of a received message is evaluated. Additional attachments are ignored and not forwarded.

● The receiver adapter can only process valid RFC XML documents, for example, those generated by the sender adapter or by the SAP JCo. You cannot use additional XML elements such as XML namespaces (xmlns).

● The sender adapter only supports function modules with at least one parameter (import, export, changing, or tables).

● Unicode and non-Unicode systems are supported. MDMP systems are not supported.

● With regard to Unicode, the RFC Metadata Repository must match the sender and receiver system. A Unicode sender or receiver system must have a Unicode RFC Metadata Repository. A non-Unicode sender or receiver system must have a non-Unicode RFC Metadata Repository.

Thanks

Vikranth

Former Member
0 Kudos

Hi Arman,

SAP recommends using proxy if the WAS >= 6.20.

Here are the advantages of using proxy.

1) There is no need to convert the messages. (like IDoc to XI-XML). So, it is faster than Adapters.

2) Point-to-Point transfer is possible by using Proxy.

3) You can implement the proxy class in case of server proxies. You can add your own logic in the implementation method.

4) You can invoke external web services by using proxies.

5) You can use ABAP or Java proxies depending on your requirement.

Disadvantages

1) You need to write custom code. In case of IDoc scenario, you need to write custom code to post the IDocs.

2) Debugging may be difficult in some cases...

4) You have to use adapters to communicate to legacy

systems..

Regards,

Vivek LR