The Enterprise Services Repository (ES Repository) evolved out of the Integration Repository of SAP NetWeaver Exchange Infrastructure. With the new Release of SAP NetWeaver Process Integration 7.1, the ES Repository not only offers enhancements for the world of process integration, but also plays a major role in SAP’s strategy to support the adoption of an enterprise service-oriented architecture (Enterprise SOA). For this reason, the ES Repository will not only be part of SAP NetWeaver Process Integration 7.1, but it will also be available for SAP NetWeaver Composition Environment 7.1 in order to allow Java developers to build service-enabled applications. In future the ES Repository will become the starting point for the development of all kinds of services, not only those ones that connect applications or business partners. And by the way that’s why you can find the ES Repository on a lot of SAP publications which are currently out there.
Although the most exciting enhancements of the Repository are probably the new UDDI capabilities, this blog focuses on the enhanced design capabilities of the ES Repository and why they are of importance for the adoption of an Enterprise SOA. We will publish a blog about the Services Registry covering these capabilities later in SDN. Also note that there will be another blog on the enhanced ccBPM capabilities, so we won’t touch this topic here.
Why Do I Need the ES Repository at All?
People with a Web services background sometimes ask this question. They see the need of UDDI capabilities covered by the Services Registry, but do not see the benefits of the design capabilities of the ES Repository. “The Services Registry stores all information that is technically needed:” they say, “the WSDL for the interfaces, the end points that describe where to call the service and so on.”
Well, that’s true, but the essential thing is that by means of the ES Repository a new programming paradigm is introduced in order to overcome disadvantages experienced over time; the main one being that it is hard to keep an overview in distributed but highly integrated software environments. The Services Registry is a kind of catalogue that helps you to find services, sure, but what lacks is how these services are related to each other and how they are embedded in an overall business process.
The ES Repository fills this gap. The basic idea is that all development starts with a programming language independent design with modeling on a higher technical level and drilling down to data type structures in XML Schema. Compared to the conventional idea of Web services where you take an existing function in a system and publish it by means of Web services for consumers this is an important paradigm shift: The design in the ES Repository starts without having an implemented function. And the benefit is that all information that is needed to understand the overall process – related models and information about interface structure – is centrally available and connected to each other. Whilst at first glance this may seem like unnecessary additional effort, it will pay off when you have to maintain the services in your system landscape later. How much effort you spend in the design in the ES Repository simply depends on how complex your scenario is.
What’s New Compared to SAP XI’s Integration Repository?
Some of the planned highlights of the ES Repository will be commonly available for SAP NetWeaver Process Integration 7.1 and for the version that will be made available for SAP NetWeaver Composition Environment 7.1. These are:
- An integrated version of the ARIS modeling tool in the ES Repository. SAP provides the essential model types to understand your overall business process on a technical level and to link existing models directly with designed service interfaces. SAP Business Suite also uses these model types combined with a well-defined methodology and ships existing models to customers.
- Service interfaces that allow the definition of multiple operations. Existing message interfaces in SAP NetWeaver ’04 and SAP NetWeaver 7.0 (2004s) that only supported one operation will be migrated automatically to service interfaces with one operation. Since there is always one service interface for the caller and one service interface to provide the actual implementation, it will be possible to assign matching service interfaces to each other in order to speed up configuration.
- In the area of defining data structures in the ES Repository, there are the following enhancements:
- The new release will be the first one where SAP reveals its global data types to customers in order to share their benefit of reusing them in SAP applications with customers. Each global data type was introduced after an internal governance process at SAP.
- The internal governance process for global data types relies on a methodology that refers to the Core Components Technical Specification standards stack (CCTS). Some CCTS classifications will be introduced for data types in the ES Repository in order to be able to characterize the use of data types more precisely and to take advantage of this classification at later stages of development (for example, when developing the UI for an application).
- The import of external definitions will be much easier with the mass import wizard that is able to resolve references of WSDL and XSD files.
- Java Proxy generation was removed from the Integration Builder. It will be part of the developer’s environment where it is actually needed: The SAP NetWeaver Developer Studio.
The following features are only planned for the ES Repository that is shipped with SAP NetWeaver 7.1 Process Integration (there is no point in providing them in conjunction with the SAP NetWeaver Composition Environment 7.1 since they are related to the Integration Broker capability):
- For the design of mappings, there will be the following enhancements:
- You will be able to use parameters for your mapping programs that can be filled during configuration time, giving you the ability to write generic mapping programs that can be used in many different mapping scenarios of the same kind. This is especially essential for mapping lookups in order to pass a communication channel for the system to be called by using mapping parameters.
- Function libraries will give you the opportunity to reuse your user-defined functions in several message mappings. Furthermore the use of variables lets you reuse an often needed target-field mapping several times in a message mapping.
- For Java mapping programs there will be a new Java mapping API with a better class design. However, existing Java mapping programs will not be affected.
- For XSLT mappings, SAP will switch to the JDK 5 as the new runtime environment. Nevertheless, the SAP XML Toolkit will still be supported in SAP NetWeaver Process Integration 7.1 and the following release.
- There will be several enhancements in the area of integration processes that will be dealt with in a separate blog about ccBPM.
In general, you will notice some more terminology adjustments in addition to the renaming of the Repository itself. We will of course provide a release note about these terminology changes.
Other Blogs that Might Interest You
- New SAP NetWeaver Process Integration Release Planned for 2007
- Enterprise Services Repository and Registry with SAP NetWeaver Process Integration 7.1
- Services Registry (planned)
- ccBPM enhancements in PI 7.1 (planned)