Show TOC

Background documentationDevelop and Expose New Business Logic Locate this document in the navigation structure

 

Questions Answered
  • What is the benefit of using the Enterprise Services Repository (ES Repository)?

  • How can I reuse service interfaces and data types of the ES Repository?

  • How does the ES Repository integrate with CAF, Web Dynpro, or Web services?

Note Note

Whilst this section explains which kind of development projects an ES-Repository-based development is recommended for, SAP NetWeaver CE provides means for developing and exposing new business logic in other layers as well:

For simplicity, this section only covers those use cases where the ES Repository is involved.

End of the note.
Introduction
Enterprise Services Repository – When to Use It

When the Enterprise Services Repository comes into play, it may take some time for you to understand the benefits, particularly if you only regard it from a technical point of view and are already familiar with Web service programming. In discussion, you will often hear the statements such as: “the Services Registry already provides all the information you need to consume a service – the WSDL and the endpoint information to call it – why then do I need the ES Repository?”.

The answer is, simply, is that it depends on your application and the scope of the services used as to whether it makes sense to use the ES Repository. The ES Repository was designed to gather design information of large applications together in one central repository, either by creating it there directly or by importing it. For example, when used to integrate applications on a larger scale – including many systems and possibly business partners – it would not be efficient to gather information about interfaces used and how they interact in each system. Furthermore, data exchanged with business partners needs to be aligned between communication partners and the more data structures comply to existing standards then the less effort it will be to perform this alignment. At SAP there is a governance process to ensure that the creation of objects in the ES Repository complies to these standards. This process also includes governance for data types which can later be used both for describing data that is exchanged between consumer and provider and data that is displayed on the UI. A high degree of reuse can only be achieved if data structures and service interfaces are reviewed and confirmed by a governance team even before the object itself is created in the ES Repository. Enterprises using the ES Repository could set up such a process themselves, but the easiest way to benefit from the ES Repository is to reuse objects that have already passed SAP's governance process.

This means that typically you use the ES Repository when your services are integrated in a broader business process of your enterprise. The Services Repository is a catalog of services without any modeled information about their usage in a business process and are not necessarily reviewed in a governance process.

More information: Managing Enterprise Services Delivered by SAP

Note Note

SAP global data types have passed SAP's governance process. You can access the corresponding ESR content on SAP Service Marketplace by searching for SAP GLOBAL 2.0 at   http://service.sap.com/swdc   Search for all Categories  . For more information about how to import the content to your ES Repository after download, see Importing ESR Content.

End of the note.
Design in the Enterprise Services Repository – Overview

Whenever you do not expose already-existing services and reuse them for your composite application, you can start developing new business logic in the ES Repository and thereby make use of its modeling capabilities and SAP's predefined global data types. At SAP, global data types are designed according to a governance process to ensure a high degree of reuse. They are used to describe the data structure of service interfaces, their structure is first modeled before the corresponding design object in the ES Repository is specified.

More information: Global Data Types, Core Data Types and Aggregated Data Types

The difference to established programming paradigms is that before any implementation is done you start to model the services you need independently from a system landscape in the ES Repository. To do so, the ES Builder offers graphical editors to define and maintain all artifacts, like service interfaces and individual data types in the ES Repository. The result of ES Builder is a WSDL file that describes the service and data types, but without any information on where the service can be called or implemented. To implement the service, you have to import the WSDL file into the Developer Studio and start the proxy generation.

More information: Introduction to Service Development,

Activities

The following activities are based on the assumption that the ES Repository objects you would like to reuse have passed the governance process described above.

Reusing Data Types of the ES Repository in CAF

SAP recommends reusing global data types of the ES Repository in CAF whenever you build services that are part of a broader business process in your enterprise in order to leverage the benefits regarding the governance process for objects in the ES Repository. If you only use application services in CAF locally – in other words, only for building a composite – then you do not require the ES Repository.

Note Note

Since the procedure for consuming or wrapping existing services in CAF has already been described in another step (more information: Adapt, Simplify, and Join Existing Services using CAF) the following procedure focuses on how to provide a Web service by means of CAF based on a data type in the ES Repository.

End of the note.
  1. Create a synchronous inbound service interface in the ES Repository, assign the required message types to it, and assign the required data types to the message types.

    More information: Service Interface.

  2. Import the service interface of the Enterprise Services Repository to your CAF project and use it to create a service provider. After the import in your CAF project you get a skeleton for your implementation. After deploying your service on the AS Java, a corresponding WSDL file is stored on the server and the URL to access it is published to the Services Registry using the SAP NetWeaver Administrator.

    More information: Implementing Web Services in CAF

Details about the service can now be accessed from the Services Registry and can be consumed in CAF, Web Dynpro, or other applications making use of the corresponding WSDL.

Reusing Data Types of the ES Repository in Web Dynpro

SAP recommends that you reuse global data types of the ES Repository in Web Dynpro whenever you build services that are part of a broader business process in your enterprise in order to leverage the benefit with regards to the governance process for objects in the ES Repository.

  1. Web Dynpro can import WSDL from several locations:

    • You can reuse a Web service which was published in the Services Registry based on a service interface in the ES Repository, for example, via CAF, see above.

    • You can create a synchronous inbound service interface in the ES Repository, assign the required message types to it, and assign the required data types to the message types.

      More information: Service Interface.

  2. For reusing the data structure of the service interface in Web Dynpro applications you have to import the WSDL as Adaptive Web Service Model.

    More information: Importing Adaptive Web Service Models

Developing Web Services Based on Service Interfaces of the ES Repository

When providing Web services based on service interfaces in the ES Repository you simply reuse an inbound service interface in the ES Repository to describe the interface for your service implementation on the AS Java.

More information: Providing Web Services