Web Service Providers
Use
You can provide Web services in the following ways:
-
Using the Enterprise Services Repository (outside-in)
This approach comprises basically two steps:
-
Development of the service starts in the Enterprise Services Builder (ES Builder). In contrast to inside-out development (whereby a WSDL document is generated on the basis of an existing function and then published), the ES Builder creates the service implicitly as a WSDL document in the Enterprise Service Repository (ES Repository).
-
To implement or call a service, developers generate proxies in the relevant application system for the service from the ES Repository. Developments therefore begins outside the application system and is then continued in the application system (hence the term outside-in).
For calling a service, development objects of a service that was described outside of the system are generated into the respective development system (outside-in) with the help of a WSDL document.
-
-
Modeling in the Back-end
The ABAP back-end supports modeling functions that are similar to those of the Java-based Enterprise Services Repository. It allows you to model data types, message types, and service interfaces directly in the ABAP development environment.
-
Based on existing functions (inside-out)
The Web Service technology enables a company to act as a so-called "provider" and to provide services either within the company or externally. The problem posed by the use of different programming languages is overcome by encapsulating an existing function in a system using a Web service. The Web service definition contains the signature for the function and other information required to call it - such as the address of the server on which the function can be called. To provide this information to a consumer, you publish the Web service as a WSDL document. Using this XML standard, consumers of the services can generate a proxy in their application systems, with which they can then use the SOAP protocol to call the Web service.
A programming-language-independent description of th interface used to call th function is provided to the outside for further use. In this case, we refer to "inside-out development".
RFC-enabled function modules, function groups (that contain RFC-enabled function modules), and BAPIs can be made available as Web services without any additional programming. The service is in the system already and can be published externally (inside-out).
- Based on a WSDL document
- You can either use a WSDL that is stored locally or retrieve it from a URL or a services registry. The WSDL document is a description of the Web service and contains all necessary information.
As a general guideline, you would use the inside-out approach if the objects are already there and you use the Web service for internal purposes only. Otherwise, you would usually model the objects. When modeling the Web services, the WSDL documents are cleaner and better to read for the outside world.