0% found this document useful (0 votes)
490 views

Proxies in SAP To Setup

Proxies are executable interfaces generated from a target application's language like ABAP or Java based on a WSDL description. They separate business application logic from integration logic and provide direct communication with backend systems without using adapters. There are ABAP and Java proxies available depending on the backend system. ABAP proxies are generated on the application server using transaction SPROXY while Java proxies are generated as .jar files. Proxies improve performance for large data volumes compared to other integration methods.

Uploaded by

SOUMEN DAS
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
490 views

Proxies in SAP To Setup

Proxies are executable interfaces generated from a target application's language like ABAP or Java based on a WSDL description. They separate business application logic from integration logic and provide direct communication with backend systems without using adapters. There are ABAP and Java proxies available depending on the backend system. ABAP proxies are generated on the application server using transaction SPROXY while Java proxies are generated as .jar files. Proxies improve performance for large data volumes compared to other integration methods.

Uploaded by

SOUMEN DAS
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Proxies in SAP

What are Proxies?  


 
Proxies are executable interfaces that are generated for the target application language like ABAP/JAVA. 

Proxy model represents a new programming paradigm for SAP systems, and is important element of Enterprise Services Architecture. 

Proxies separate Business Application Logic from the Integration logic of the Exchange Infrastructure. 
Proxies bypass the adapters and provide adapter less communication with the JAVA/ABAP business systems in landscape. 
Proxies are generated from the WSDL description of interface objects and have same attributes as message interface. There are ABAP and
JAVA proxies available.

     I.e.            Direction: Inbound, outbound.

                       Mode    :  Synchronous, asynchronous. 


 
Java proxies are generated from the WSDL description of the interface in the Integration Repository, and are stored with .jar file extension. This
archive consists of generated java classes corresponding to the integration objects.  
ABAP proxies are generated on the application server side with transaction SPROXY, based on the WSDL representation of the message
interface. The generated objects depend on the mode and direction of the message interface.

 Prerequisites
 
For ABAP Proxies the application system should have Web AS 6.20 and XI2.0 add-on.

Along with this, the following configurations are required on the application side to enable the proxy connection:- 
            1. TCP\IP Connections 
                             1.1  LCRSAPRFC :- To connect to IR and get information of interface Objects

                             1.2  SAPSLDAPI: - To connect to SLD and get the Business System Information 
            2. HTTP Connection

                              PI_INTEGRATIONSERVER:- Used to send the message to Integration Server       

            3. Configuring the local integration engine 

For Java Proxies SAP J2EE Engine above SP5 is necessary, on this SAP J2EE engine we need to install Java Proxy Runtime (JPR) along with
Messaging System (MS), which provides services like messaging, queuing, and persistency of XI messages. 

In order to compile the java proxy source code we need the following list of libraries, which are located at non-central Adapter Framework
Installation. 

1. aii_proxy_xirt.jar
2. aii_msg_runtime.jar
3. aii_utilxi_misc.jar
4. guidgenerator.jar

 
ABAP  Proxies

 ABAP Client Proxy


 
ABAP client proxies are generated from outbound message interface, and are used to send message from SAP WAS to XI. Client proxy
generation creates an ABAP class with the method EXECUTE_SYNCHRONOUS/ EXECUTE_ASYNCHRONOUS depends on the mode of the
interface. Along with the class it also generates structures and table type with the specified name prefix. The maximum length of 30 characters
is allowed while allotting names for the generated objects. 
 ABAP Server Proxy
 
ABAP server proxies are generated from inbound message interface. Server proxy generation creates an interface along with the
implementation class. The business functionality is defined in the implementation class. Upon receipt of a message, the ABAP proxy runtime
calls the method EXECUTE_SYNCHRONOUS of implementing class (in asynchronous communication EXECUTE_ASYNCHRONOUS).    

IDOC is good if its a standard IDOC, so that you don't have under go the pain doing the modifications for the custom
one.
In your case, PROXY might make more sense as you are saying that you have to do some custom processing as
well. So, you can call the BAPI / Function for the standard processing and then do the custom processing in your
Proxy code. And more over, if you have want to have a Synch interface, then you cannot use IDOC.
So, the options in this case boil down to PROXY / RFC.
PROXY will definitely have the advantage as its going to bypass the adapter engine and directly interact with the
Integration server. And moreover, even if you already have a RFC, you can always call that inside your PROXY.
However, the only flip side here compared to IDOC, is that you will have to create all your IR objects manually.

XI sends an IDOC to SAP. IDOC is processed at a later stage. Now a response is sent out to XI ( I think only ALE
audit is out of the box for acknowledgements. ) Now XI reads the original message which was sent to SAP and the
ALE audit message and then builds a response message to the Original Sender
Ans : Let take the case of a ORDERS IDOC, that you are sending to your business partner. Now, in this case if you
get a technical acknowledgement (ALEAUDIT) that the IDOC has been delivered. Now, ideally the business partner
should have configure an IDOC ORDRSP (Order Acknowledgement) to let you know that he has recieved the order
and everything is fine with the data. This is at a functional level.
Apart from this I am not aware of any other options. XI cannot read the IDOC from the target system as you are
expecting, unless the target system initiates the same.

IDOC Or Abap Proxy


Abap proxies are always better when data volumes are more.
Now since your data volume is less and less functionality( only read the table) you can go in for Idoc adapter as
well.You wont need any communication channel on sender side.
While it comes to performance Proxies are consideered best solution coz they run on the local integration engine
and efficiently handle data load.
1.<i>Do Proxies absorbe more resources at the server side</i>
Proxies carry structure of message interface created in XI but lie in the source or target system and run on local
integration engine.So Nothing like more server server resources being utilized.
2.<i>message frequency a factor in deciding it</i>
No .Message frequency is not goin to affect the proxy coomunication.It doesnt matter how frequent the message
arrives,it just bothers faster it acts. Proxy is just an add advantage for those systems Web As 6.20 and above.
What is the use of a proxy 
Yes, In idocs no need of sender communication channel because both resides in ABAP stack, we will use RFC
destination to connect ECC and XI system and in tRFC in by calling standard program in background SAP ECC
system will connect to XI.
doesn't both proxy and IDoc have the same advantage here ?
Based on the customer requirement we will choose adapters. Both are having advantages and disadvantages. For
example if you use idoc from beginning to end you can trace the status but in proxy we can not trace the status, In
performance wise proxy is faster compare to idoc.
Is it that proxies are generally programs ?
Not exactly, Proxy is just object, it is used to parse the XML to receiver.
previously i just explained one example (get records from ECC to PI by using abap proxy)

Proxies are mainly used when the size of the input data is huge. For example suppose in ECC we have a table
where we have 1 million records and we need to send this whole data to a third party system using PI.
In these case we will create an structure in PI which will contain the structure of the table records.
Then we will have service interface which will use the structure we have created. Once we have the service
interface , we need to create the proxy structure in ECC using transaction SPROXY.
So in ECC we will write a program which will select all the 1 million rows using select query, then the program will
call the proxy structure and sends the whole data to the integration engine of PI.
We do not need to create a sender communication channel for sending the data to PI.
they are two different objects. A Service Interface is an abstract definition of an interface. An (ABAP) proxy is a
representation of that interface in another (ABAP) system. Technically, this includes generation of ABAP structures
and a Simple Transformation to convert ABAP into XML. You can then have client proxies and server proxies. Client
proxies are called from the backend logic while server proxies need to be implemented and usually call some
predefined background logic like BAPIs.

To connect with SAP systems we will use three types of connections.


--> Idoc (We will use If we have standard structure/ idoc is available in ECC end)
--> Proxy (If large amount of records needs to transfer)
--> RFC (If WAS < 6.2 we use RFC other wise will go for proxy only)
So take one example from SAP data is coming and needs to transfer via XI, if standard structure is there means we
will use idoc adapter, by using idoc we can trace the idoc status easily by using SAP standard transactions.
As indrajit said if large amount of records needs to syndicate from SAP to other systems via XI, we will go for proxy
only.And whats proxy will do?? in ECC system we will write ABAP code in SPROXY transaction, by using queries
we will select data from ECC and by using methods we will pass the values to XI (as XI data type structure and SAP
table structure should be same).
So we will use proxy to connect and send data from SAP ECC to XI system with out sender communication
channel.Performance will be more if we use proxy.

You might also like