cancel
Showing results for 
Search instead for 
Did you mean: 

Proxy and Access to the backend

former_member198060
Participant
0 Kudos

Hello,

I've already done quite some reading on the (e)SOA topic and have some specific questions. Could somebody please explain to me the concept of the consumer and provider proxies used for SAP SOA?

I also would like to know where the actual mapping of data used in services to backend data takes place.

For example let's say you have to define a new Business Object and a new Process Component, in which step do you map your data to the backend database? Or is it somehow done by global data types? Then again, what if you have to enhance you GDTs with additional fields?

Hope someone can clear up those questions for me since all of this is still a bit confusing for me.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Consumer and provider proxies are generated at design time and are instantiated and active at runtime. The idea behind proxies is to hide complexities of SOA protocols and standards from the consumer and provider applications. Proxy generation tools are part of SAP SOA middleware.

To appreciate the beauty of proxies, here is an example: you are implementing SAP SCM TP/VS (Transportation Planning/Vehicle Scheduling) and you want to incorporate a web service provided by PC Miler to receive precise distance between two locations. All you have to do to be able to consume this web service from ABAP is to go to transaction SE80 and generate the client (consumer) proxy based on the WSDL of the service. You do not have to know anything about XML or SOAP. The client proxy will be generated as a global class. All you then need to do is to build a consumer program that instantiates the class and calls a method that corresponds to the service you need.

It is similarly with the provider proxy. You design your service and at the end of the design phase you generate the proxy, which at this time is just a shell (methods with their interfaces). Then to implement the service you just put your code into this shell. The code implements the logic the service is supposed to provide.

I hope this helps a bit.

Regards,

Andrzej

former_member198060
Participant
0 Kudos

Thank you for the answer!

So the proxies are like stub and skeleton in the RMI world?

Your answer already cleared up that aspect for me, now if someone could answer the other question of the initial post that would be great.