You are on page 1of 7

Choosing the Best Integration Approach among RFC Adapter, ABAP Proxy, and Enterprise Services

Choosing the Best Integration Approach among RFC Adapter, ABAP Proxy, and Enterprise Services
Applies to:
SAP R/3 (all versions), XI 3.0, PI 7.0

Summary
Let us discuss a business scenario in which we integrate a legacy system with SAP R/3 using XI. We are getting a message from the legacy system and we need to post a document in SAP system using a BAPI. For this, we can have different approaches like using RFC Adapter on the receiver side in XI to call the BAPI or we can use ABAP Server Proxy (Inbound ABAP Proxy) and call that BAPI or we can expose the BAPI as an Enterprise Service and consume that using XI SOAP Adapter. Let us discuss and decide the best approach among these based on the business requirement and the SAP version we are using. Author: Pushkar Anand Company: Deloitte Created on: 10 July 2007

Author Bio
I have been working as an SAP ABAP & XI Consultant. Having worked on end to end SAP XI implementations and the basis activities, now I am moving towards ESA and SOA. XI, ALE and ESA are my key areas.

SAP DEVELOPER NETWORK | sdn.sap.com 2007 SAP AG

BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com 1

Choosing the Best Integration Approach among RFC Adapter, ABAP Proxy, and Enterprise Services

Table of Contents
Background ................................................................................................................................................... 3 Integration Scenario & Possible Approaches ............................................................................................ 3 Compare RFC Adapter, ABAP Server Proxy and Enterprise Service Approaches .................................. 4 Related Content ............................................................................................................................................ 5 Related Content Links................................................................................................................................... 6 Disclaimer and Liability Notice .................................................................................................................. 7

SAP DEVELOPER NETWORK | sdn.sap.com 2007 SAP AG

BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com 2

Choosing the Best Integration Approach among RFC Adapter, ABAP Proxy, and Enterprise Services

Background
SAP is becoming technically very advanced and stable, supports open standards and adds value to the clients business. And hence System and Application Integration plays a vital role in present business scenarios. Lets talk about a particular business requirement in which we need to integrate SAP R/3 with a legacy system using SAP XI. Note: WAS 6.20 onwards SAP Systems can communicate with each other using native SOAP over http using ABAP Proxies. Older versions of SAP can communicate using RFCs.

Integration Scenario & Possible Approaches Data transfer from a legacy system that is used to post a document in SAP (ECC6). Middleware: SAP XI (PI7.0). Approaches: a) Using RFC Adapter on inbound side in XI. b) Using Inbound ABAP Proxy and calling the BAPI inside the method. c) Exposing BAPI as an Enterprise Service and consuming that Service using XI . Important Factors: a) b) c) d) Development Complexity Performance Scenario (Synchronous & Asynchronous) SAP Version

SAP DEVELOPER NETWORK | sdn.sap.com 2007 SAP AG

BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com 3

Choosing the Best Integration Approach among RFC Adapter, ABAP Proxy, and Enterprise Services

Compare RFC Adapter, ABAP Server Proxy and Enterprise Service Approaches RFC Adapter 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. Inbound ABAP Proxy 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. ABAP Development adds to development time and cost. ABAP Development is not required. We just need to expose the RFC enabled function module as web service. Can hide some unnecessary fields of the function module, can rename the fields and can assign default values the Enterprise Service. ES awards platform independence. These services can be consumed from any web service client and is independent of the clients platform. Message Mapping is involved. Enterprise Service Here we use SOAP Adapter which can send data directly to target SAP system in XML. So, performance expected is similar as Inbound Proxy.

ABAP Development is not required. Total development time and effort gets reduced Can not incorporate data conversion rules, cross referencing in the target SAP R/3 System. RFCs can be used only by SAP Systems or by JCO.

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. Specific to SAP XI.

Interface Mapping is involved to convert the source message into RFC format. This is mainly for Synchronous Comm. Supports BE. Incase of repeating calls, performance is drastically reduced.

Message mapping can be avoided and performance is improved. Can be used in case of synchronous as well as asynchronous scenarios. Supports EOIO, BE In 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. ABAP Proxies are supported only by SAP with WAS 6.20 onwards.

Mainly for synchronous scenarios as we expect some output from the services. Supports BE. Not suggested for repeated calls.

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

ES are also supported by SAP with WAS 6.20 onwards.

Based on the above discussion and our business requirement we can select the best approach. In short: If we want to go for open standards we can prefer exposing the BAPI as enterprise services. 1. In most of the scenarios, inbound proxy has an edge in terms of performance and flexibility. 2. Using RFC Adapter is the only option when we have SAP system with WAS 6.1 or older. RFC Adapter may not be considered as the best option when we have WAS 6.2 onwards.

SAP DEVELOPER NETWORK | sdn.sap.com 2007 SAP AG

BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com 4

Choosing the Best Integration Approach among RFC Adapter, ABAP Proxy, and Enterprise Services

Related Content ESA:


Enterprise Service Architecture: Well we can consider ESA as SAPs terminology for SOA. And as we talk about SAP, we are talking about the best business practices. So, ESA can be defined as SOA implementation incorporating complex business logic and processes. SAP is focusing on ESA these days. We have Enterprise Services delivered by SAP for various business processes. Apart from that we can develop them as per our own requirements as well.

BAPI:
Back Bone of SAP. These are RFC enabled Function Modules. BAPIs play very significant role in any SAP implementation. Incorporates hell lot of business logic and the developers job is over in minutes.

XI / PI:
SAPs Middleware which can incorporate business logic, equipped with Business Process Modeling Tool as well.

SAP DEVELOPER NETWORK | sdn.sap.com 2007 SAP AG

BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com 5

Choosing the Best Integration Approach among RFC Adapter, ABAP Proxy, and Enterprise Services

Related Content Links


https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2162 http://help.sap.com/saphelp_nw04s/helpdata/en/ba/f21a403233dd5fe10000000a155106/frameset .htm http://help.sap.com/saphelp_nw04/helpdata/en/33/c6e63b60c25767e10000000a11402f/frameset. htm

SAP DEVELOPER NETWORK | sdn.sap.com 2007 SAP AG

BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com 6

Choosing the Best Integration Approach among RFC Adapter, ABAP Proxy, and Enterprise Services

Disclaimer and Liability Notice This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade. SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document, and anyone using these methods does so at his/her own risk. SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or code sample, including any liability resulting from incompatibility between the content within this document and the materials and services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this document.

SAP DEVELOPER NETWORK | sdn.sap.com 2007 SAP AG

BUSINESS PROCESS EXPERT COMMUNITY | bpx.sap.com 7

You might also like