Repository-Based Modeling and Design: Frequently Asked Questions
Repository-Based Modeling and Design: Frequently Asked Questions
Introduction on page What is the Enterprise Services Repository and Registry? on page How is the Enterprise Services Repository different from the Services Registry? on page What can I do with the Services Registry? on page What can I do with the Enterprise Services Repository? on page Are there technical prerequisites (other SAP products, NetWeaver) to use the Enterprise Services Repository and Registry? on page What types of metadata does ES Repository store? on page What types of metadata does the Services Registry store? on page Is there a trial version available for the Enterprise Services Repository and Registry? on page
Support for Standards on page How well does Enterprise Services Repository support common standards such XSD, WSDL and BPEL? on page What types of services are supported? Only Web services, or is the repository open for other types of services? on page How does the Services Registry exceed the UDDI standard? on page Does the Enterprise Services Repository support GIF? on page
Evolution of Enterprise Services Repositor on page What is the difference between the Integration Repository (shipped with 7.0) and the Enterprise Services Repository? on page Would it be possible to transport content from PI 7.0 to 7.1? on page Are features such as mapping and integration scenarios still supported in the ES Repository? on page
Delivery and Shipment Options on page How is the ES Repository delivered today to customers? Specifically, is it sold as a separate product? on page Where do I get the Services Registry? on page Why is ES Repository delivered as part of both PI and CE? on page Is it the same ES Repository that is delivered as part as both PI & CE? on page For what use cases can I use ES Repository on CE? on page Can I use the ES Repository standalone without a server? on page
Process Visibility and Design Time Governance on page How does ES Repository support design time governance? on page How are the integrated modeling capabilities in the ES Repository useful? on page How is the modeling in ES Repository different from ccBPM or other BPM offerings? on page What are Global Data types? on page Can I define custom user profiles in the Enterprise Services Repository to restrict access? on page Does ES Repository support industry specific contexts while modeling artifacts? on page Can one search for various artifacts within the Enterprise Services Repository? on page Can I import BAPIs, IDocs and RFCs into the ES Repository so that I can use the ES Repository as the central repository for such content? on page
Classification of Services on page What are classifications? on page What classifications are delivered by SAP? on page Where can you classify services? on page Is the classification data maintained at Service Registry installation? on page Can customers extend the classifications in the Service Registry? Can they add new classifications and/or new classification values? on page Is the classification data passed on the ABAP implementation backend when the proxy is generated? on page
Security and Authorization on page Does ES Repository support user roles and authorizations? on page Can I define security settings centrally for my enterprise services? Is it possible in the ES Repository? on page What is the authorization concept for the Services Registry? on page Can I base authorizations on classifications in the Services Registry? on page
ES Repository and Enterprise Services delivered by SAP on page What is the connection between ES Bundles and the Enterprise Services Repository? on page Are the models and ES Repository objects corresponding to Enterprise Services shipped to the customer? on page How can I import the Enterprise Services into my ES Repository? on page Can I navigate from the Enterprise Services Repository to the documentation in the ES Workplace? on page Is the ES Workplace registry the same as the UDDI@sap registry? on page Can I enhance the enterprise services provided by SAP? on page Can I import Enterprise Services into the Integration Repository in PI 7.0? on page
Service Provisioning on page How well does the Enterprise Services Repository support the service design phase? on page What are Global Data types? on page Does the Enterprise Services Repository provide a modeling environment? on page Can I reuse objects such as data types and message types that are shipped by SAP? on page Can I export my model objects in standard formats such as XSD/WSDL? on page
Repository-based Modeling and Design Can I import standard formats such as XSD/WSDL to create ES Repository objects? on page Is there tool integration with standard development environments such as Eclipse to implement a service? on page In what technologies can I implement the service interfaces that I model in the ES Repository? on page Can I document the services and other artifacts that I create within the Enterprise Services Repository? on page How can I publish services into the Services Registry? on page Are services published automatically? on page Can I test the services that were published? on page
Consumption on page How can I access the Services Registry? on page What search options are available to search for services in the Services Registry? on page How do I consume services using the Services Registry? on page Can I discover services directly from the Enterprise Services Repository? on page Can I find out the Web service end points where the services are implemented from the Enterprise Services Repository? on page
Process Integration on page Can you store integration process designs in a shared repository? on page Does the Enterprise Services Repository allow you to associate and store metadata with integration process designs to provide support for browsing and search capabilities? on page Is integration knowledge stored in a repository so that it can be reused across the entire integration landscape? on page Can the SAP NetWeaver Process Integration component use the canonical data model? on page Provide details on the data mapping and transformation modeling capabilities of SAP NetWeaver Process Integration. on page Does SAP NetWeaver Process Integration provide high-level graphical tools for defining mappings? on page What language is used to define transformation definitions? on page What standard functions are available within the mapping tool? Can the user define additional functions? on page Is it possible to match patterns in the graphical mapping editor? on page
Lifecycle Management on page Can I have more than one ES Repository in my landscape? How can I synchronize the content across ES Repositories? on page Does ES Repository support versioning of its artifacts? on page I have an ES Repository and a Third-Party repository in my landscape. Which one should be the leading one and why? on page Should I have separate Enterprise Services Repositories and Services Registries for my development, test and productive landscape? on page Should I have only one Enterprise Services Repository and Services Registry in my productive landscape? on page Can multiple PI and CE instances share a common ES Repository? on page How do I transport content from one Services Registry to another? on page How can I delete services in the Services Registry? on page
Interaction with Other Tools on page Can I synchronize the ES Repository with the modeling environments I currently use, such as ARIS? on page Is there support for alternate modeling tools such as Microsoft Visio? on page Is a System Landscape Directory (SLD) still required in the landscape? on page
Introduction
What is the Enterprise Services Repository and Registry?
The Enterprise Services Repository and Registry is an integral part of SAP NetWeaver SOA infrastructure and serves as the central repository in which service interfaces and enterprise services are modeled and their metadata is stored. It consists of: Enterprise Services Repository (ES Repository) - the metadata repository of all service objects for enterprise SOA. Enterprise Services Repository provides an integrated toolset and repository for the governed definition of SOA assets (such as service interfaces and process component models). It thus provides transparency for designers and developers of solutions on top of platform applications into the business semantics exposed by enterprise services. It is open to manage non-SAP services (provided by customers and ISVs) in a customer landscape and thus serves as the single source of truth of a company's SOA-enabled IT landscape. A UDDI v.3-compliant Services Registry - The Services Registry (SR) is a registry for Web services that is located centrally within an SOA landscape. The Services Registry contains information about services provided in that landscape, with references to the WSDL metadata relevant for those services and to the locations of the callable service endpoints. When using services, we distinguish between the service provider and the service consumer. In the simplest case, we can assume that the service provider - the person who provides the services knows the service consumer and informs the latter where the services can be found. However, this contradicts the idea of a global service platform. What makes using Web services so attractive is the idea that applications can be built from the services that available in a central registry, in this case the Services Registry. The ES Repository and Registry support widely-adopted open standards, including Web Services and UDDI. The ES Repository supports SAP-defined Global Data types based on the Core Component Technical Specification standards. More information: Enterprise Services Repository and Registry
How is the Enterprise Services Repository different from the Services Registry?
The Enterprise Services Repository is a design time repository that provides rich modeling support. In other words, it provides the answers the question "What does my service do and what does it need?" The Services Registry is a UDDI V3 compliant registry that supports publishing, classifying, and discovering services. It acts as a reference work for services and answers the question, "where are my services implemented?" More information: Enterprise Services Repository, Services Registry
Across all these scenarios, ES Repository provides support for Design Time Governance, Unified Lifecycle Management, and Support for widely-accepted standards.
Are there technical prerequisites (other SAP products, NetWeaver) to use the Enterprise Services Repository and Registry?
The Enterprise Services Repository and Registry is a server-based application and is closely integrated with the SAP Java Web Application Server (Web AS Java). Today, it is delivered as part of SAP NetWeaver Process Integration and SAP NetWeaver Composition Environment, which include all the technical prerequisites required by the Enterprise Services Repository (including the Java Application Server). Enterprise Services Repository has a Swing-based UI that uses Java Web start. Therefore you require support to run Java applications in the client system to start the UI.
Note: different clients of ABAP systems are treated as different providers, the client information is displayed along with the system name. ServiceGroup - The ServiceGroup is a design time entity that indicates that services are potentially used in consuming applications. It contains Service References to the services to be consumed by this ServiceGroup. For each service definition you can find information about the ServiceGroup on the Where Used tab. ServiceGroups are used for automatically configuring the relationship between service providers and service consumers. Note: with the current version of Services Registry, you can not yet leverage ServiceGroups to track the relationship between consumers and configured services. The information only refers to design-time data, i.e. potential consumers. Permission - Permissions defined in the Services Registry by an administrator assign User Managament Engine (UME) roles to classifications. Permissions allow the administrator to define different user-specific views on the Services Registry.
Is there a trial version available for the Enterprise Services Repository and Registry?
Yes. The Enterprise Services Repository is currently available for download in the SAP Developer Network (SDN). It is bundled with some sample artifacts to jumpstart the adoption. However, please note that the ES Repository needs to be deployed on a SAP NetWeaver Composition Environment server. The Services Registry is pre-delivered with the trial version of SAP NetWeaver Composition Environment server, which is available here.
What types of services are supported? Only Web services, or is the repository open for other types of services?
The services modeled in the Enterprise Services Repository and automatically exposed as WSDL. In addition to this, you can also maintain external service definitions, such as RFC and IDoc, within the repository.
Software components that have to be transported from 7.0 to 7.1 should be marked as being 7.0-compatible as part of the Software Component version definition in the Enterprise Services Repository.
Are features such as mapping and integration scenarios still supported in the ES Repository?
Yes. All features that were supported as part of the Integration Repository are currently supported as part of the Enterprise Services Repository. In addition, for PI 7.1 there have been enhancements made to improve the usability and runtime performance of these functionalities.
for provisioning of services. Using these capabilities, customers can use the enterprise services provided by SAP and also create their own custom services and consume these services to create composite applications.
How is the modeling in ES Repository different from ccBPM or other BPM offerings?
The objective behind providing the integrated modeling environment is to be able to describe and model the high-level interactions in your landscape. These models are not executable but help document and understand the relationships between different entities. However, the modeling supported by BPM offerings, such as ccBPM and NetWeaver BPM, is aimed at creating executable business processes and is primarily used in A2A, B2B and human interaction scenarios that have multiple steps and span more than one business system in the landscape.
Can I define custom user profiles in the Enterprise Services Repository to restrict access?
As a product, the Enterprise Services Repository is the same that is shipped with both Process Integration and Composition Environment. Having this unification makes it easier to ship content from one ES Repository to the other. However, there are functionalities that are available in the ES Repository, such as Mapping and defining Integration scenarios, which are not relevant to Composition Environment (CE). Hence, to simplify the UI, the Enterprise Services Repository is provided with pre-defined usage profiles - namely, Service Provisioning and Process Integration. While Service Provisioning provides only the features that are valid in CE, Process Integration provides the complete capabilities of the ES Repository. With the upcoming release of the ES Repository (7.1.1), administrators can create their own custom usage profiles to restrict access to certain sets of artifacts and software components.
Can one search for various artifacts within the Enterprise Services Repository?
The Enterprise Services Repository provides a keyword-based search to find various types of artifacts. Users can also search for artifacts based on entity type, organization of content, and a specific set of attributes. In addition to this, with the upcoming release (7.1.1), users can search for services in the ES Repository based on classification.
Can I import BAPIs, IDocs and RFCs into the ES Repository so that I can use the ES Repository as the central repository for such content?
Yes. You can import BAPIs and RFCs into the ES Repository and maintain them as external definitions. More information: Importing Idocs and RFCs
Classification of Services
What are classifications?
It is possible to store a huge number of entities in a productive registry. You need a system with which you can structure these data sets. Classifications provide one such option for structuring data. For example, different services are registered in a registry. They all serve the same function but are available in different languages. The distinguishing feature in this case would be the language. Other categories, in relation to the SAP environment, would be the deployment unit, process component, business object, and so on. To support classification and browsing in the user interfaces, the Services Registry provides an additional classification service, which enhances the UDDI standard. This service provides the UI with metadata on different classification systems, and the content of each classification system.
Can customers extend the classifications in the Service Registry? Can they add new classifications and/or new classification values?
Yes. The Service Registry allows the management of classification. You can create new classifications, can create new values for existing classifications, or edit existing values. You can then use these classifications and values for classifying your services. More information: Managing Classification Systems
Is the classification data passed on the ABAP implementation backend when the proxy is generated?
Yes. The data is passed on the ABAP backend when a proxy is generated. When you then publish the implemented service to the Service Registry, the classification information is also passed on. To ensure consistency, classifications assigned to a Service Interface in the ES Repository can no longer be edited for the proxy implementation in the ABAP backend.
Can I define security settings centrally for my enterprise services? Is it possible in the ES Repository?
Today, you can centrally configure the security settings for all your services in the NetWeaver Administrator once the services have been implemented. With the upcoming release of Enterprise Services Repository, customers can define the security profile for the service interfaces right at design time. This value is then used while implementing the service and configuring the service end point
Are the models and ES Repository objects corresponding to Enterprise Services shipped to the customer?
Yes. The models and the ES Repository objects are available on the SAP Service Marketplace and the customers can download them and import them into their Enterprise Services Repository. You can find more details about the Enterprise Services here.
Can I navigate from the Enterprise Services Repository to the documentation in the ES Workplace?
Yes. You can associate documentation to all artifacts in the Enterprise Services Repository. In addition to an inbuilt Rich Text editor, you can also configure an ES Repository to be redirected to a central documentation location (based on Solution Composer). The exact procedure for doing this is available here.
Since the ES Workplace registry is also based on this standard, services provided here can also be displayed in a UDDI registry.
Service Provisioning
How well does the Enterprise Services Repository support the service design phase?
There are three key benefits provided by Enterprise Services Repository in the Service Design phase 1. End-to-End Modeling Support The ES Repository provides modeling elements which help in capturing the entities and relationships in every step of the design lifecycle - from deciding on how the services have to be cut right through to how they are implemented and consumed. The following graphic captures the different entities that are available as part of the Enterprise Services Repository. http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/webcontent/uuid/40475163d054-2b10-16ad-8d31b2db8e16"/> 2. Pre-Delivered SOA Content ES Repository is pre-delivered with content such as the Global Data types that help kick-start your SOA implementation. The various pre-delivered artifacts provided with the Enterprise Services Repository are: SAP-wide approved Global Data types based on Governance methodology o Based on ISO 15000-5 and UN/CEFACT CCTS o Inbuilt support for Industry specific extensions Standard industry classifications Sample models and applications This pre-delivered content provides the key building blocks and helps in standardizing your services
3. Design Time Governance ES Repository firstly enforces design time governance by organizing your content into semantic units of Software Component versions and namespaces. Secondly, it supports controlled modification of artifacts through roles, authorizations, and impact analysis using where-used lists. All the content within the repository is versioned and thus all changes to a given object are tracked to ensure accountability. With the upcoming release of the Enterprise Services Repository, administrators can create custom usage profiles to restrict access and visibility of key artifacts.
Can I reuse objects such as data types and message types that are shipped by SAP?
Yes. All the content shipped by SAP (including modeling objects such as business objects, Process Components, and ES Repository objects, such as Data types and Message Types) can reused to model services in the ES Repository. As a matter of fact, SAP encourages the reuse of the Global Data types, the fundamental building blocks of services provided by SAP that is delivered as part of ES Repository, to standardize services.
Is there tool integration with standard development environments such as Eclipse to implement a service?
Yes. There is an integrated plug-in called the Enterprise Service Browser that is delivered as part of the SAP NetWeaver Developer Studio and which can be used to browse services in the Enterprise Services Repository and to create a skeleton implementation. In addition to Java, SAP provides an integrated toolset from within the development environments of ABAP and .Net (ABAP workbench and Microsoft Visual Studio).
In what technologies can I implement the service interfaces that I model in the ES Repository?
The service interfaces modeled in the ES Repository are exposed as WS-I standards-compliant WSDL. So, you can export these to implement the service in any technology.
Can I document the services and other artifacts that I create within the Enterprise Services Repository?
All artifacts in the Enterprise Services Repository are associated with the Rich Text field where you can document the artifacts. In addition, you can use the Solution Composer that is shipped along with the Solution Manager to document the artifacts. As a matter of fact, the documentation that is available in the ESWorkplace is documented using the Solution Composer. More information: Assigning Object Documentation
Consumption
How can I access the Services Registry?
You can access the Services Registry directly by the user interface or APIs. Additionally, the Services Registry is integrated with the development environments and UI tools of the AS Java, so that you can search directly for service definitions from the development environment to create a consumer application. Furthermore, you can browse the Services Registry from Microsoft Visual Studio using the SAP Enterprise Services Explorer for Microsoft .Net.
What search options are available to search for services in the Services Registry?
You can search by service definition name and physical system that provides the service, use free text search, or browse by classifications systems.
Can I find out the Web service end points where the services are implemented from the Enterprise Services Repository?
The Enterprise Services Repository maintains only the metadata definition of design time artifacts. The end point information for the various services is maintained in the Services Registry.
Process Integration
Can you store integration process designs in a shared repository?
Yes, you can store integration process designs in the Enterprise Services Repository with business scenarios. A business scenario outlines the complete message exchange (choreography) of an e-business collaboration - usually including SAP and non-SAP components, within and beyond enterprise boundaries. The Enterprise Services Builder functionality provides a graphical editor to represent the sequence of a business scenario and to outline the choreography of messages exchanged between the involved application systems. With this editor you can both draw a picture of the e-business collaboration you have in mind and also capture all repository objects (application components, actions, interfaces, and so on) used by a business scenario and place them together in the right context.
Does the Enterprise Services Repository allow you to associate and store metadata with integration process designs to provide support for browsing and search capabilities?
All integration metadata stored in the Enterprise Services Repository can be browsed, searched, and tied together in business scenarios.
Is integration knowledge stored in a repository so that it can be reused across the entire integration landscape?
Since it encapsulates all collaboration knowledge, the Enterprise Services Repository serves the purpose of storing integration knowledge. The repository objects can be subdivided into business processes in general - business scenarios and more refined business processes - and into interfaces and mappings. Information on the application components that are used can be assigned to the Enterprise Services Repository from the System Landscape Directory (SLD).
Can the SAP NetWeaver Process Integration component use the canonical data model?
Within the SAP NetWeaver Process Integration, companies can build their own canonical data model to standardize cross-system communication. The data model is based on Global Data types, which are predelivered data types based on SAP methodology. Within all communications from and to external systems, messages are mapped: From the source structure to the canonical data model From the canonical data model to the target structure SAP also delivers content related to SAP applications for business. This content can be used as a basis for company-specific canonical data models.
Provide details on the data mapping and transformation modeling capabilities of SAP NetWeaver Process Integration.
SAP NetWeaver Process Integration provides a powerful graphical mapping tool. Message types (that is, the metadata for messages) can be dragged from the repository functionality and dropped directly into the GUI of the mapping tool. Once the incoming and outgoing messages have been selected, you can easily map elements of the incoming message to elements of the outgoing message by dragging the element onto the element to which it is to be mapped. Once the element has been mapped it automatically appears in the editor window of the tool where it can be extended by adding any number of predefined functions, for example, string functions (concat, substring, and so on), arithmetic functions, Boolean functions (if-then-else, and so on), node functions, and so on. The tool can even be enhanced by adding user defined functions written in Java. More Information: Mapping Objects
Does SAP NetWeaver Process Integration provide high-level graphical tools for defining mappings?
The Enterprise Services Repository in SAP NetWeaver Process Integration contains a highly interactive graphical mapping tool, which SAP also uses internally to create mappings. Besides simple mappings (for example, field assignments) the tool also has predefined functions (for example, exporting substrings, shortening or extending leading zeros, arithmetic operations, and text operations).
You can also write your whole mapping completely in Java. Normally, you will use XML parsers (DOM, SAX) to process the source document and create the target (XML) document. Since it is your own code that is executed, you are free to do almost everything you want, such as executing database lookups, and so on XSLT Support for Mapping: XSLT is an open XML standard from the W3C (World Wide Web consortium) for transforming the structure and content of an XML message. Since all messages sent or received by SAP PI are XML-based, XSLT is one choice for data mapping/transformation in SAP PI. XSLT is easy to learn, easy to use, robust, and powerful. XSLT is widely adopted by the software industry and there are many products on the market based on helping people learn, build, and test XSLT. As part of its mapping architecture, SAP PI supports uploading external libraries into the Enterprise Services Builder to be used for mapping. These libraries have to be packed into JAR files (a type of archiving similar to WinZip) but can contain XSLT mappings, Java programs, supporting documentation, or resources, and so on. Once the XSLT archive is imported into SAP PI, it can be selected in the ES Repository to create an interface mapping. ABAP Mappings: With SAP PI you are also able to write mappings completely in ABAP. If you want to do this, you will have to create an ABAP Objects class that implements a certain ABAP Objects interface. Additionally, you can also execute XSLT mapping style sheets in the XSLT engine of the ABAP machine instead of the XSLT engine of the SAP JEE Engine.
What standard functions are available within the mapping tool? Can the user define additional functions?
There are more than 50+ built-in standard functions; additional functions can be developed in Java and/or ABAP. A complete overview is listed on our reference site: More information: Standard functions User-defined functions can be added and reused for different message mappings by means of function libraries. A complete overview is listed on our reference site: Function Libraries
Lifecycle Management
Can I have more than one ES Repository in my landscape? How can I synchronize the content across ES Repositories?
Yes. As a matter of fact, SAP encourages the use of multiple repositories in large SOA landscapes to support different states of software lifecycle (Development, Test, and Production) just as any other design time environment. Enterprise Services Repository also supports in-built support for transporting content from one system to the other. While there is support for exporting/importing content to and from the file system manually, in large SOA landscapes the customers can use the in-built support to use the Change Management Service (CMS) that is delivered as part of NetWeaver Development Infrastructure. With the upcoming release of ES Repository, users also have the choice of using ABAP Transport (CTS+) to transport service metadata from one ES Repository to the other.
I have an ES Repository and a Third-Party repository in my landscape. Which one should be the leading one and why?
One of the key differentiators of the ES Repository is our end-to-end modeling support (from process components down to data types) and the SAP methodology. So, it makes sense to have ES Repository as the leading repository. In addition, the ES Repository is pre-delivered with Global Data Types that provide a foundation to all the services that are developed as part of the customer landscape. As a matter of fact, all artifacts created in the Enterprise Services Repository can be reused and thus support standardization of interfaces. We also have an integrated toolset support for both the ES Repository and Services Registry for activities like proxy generation and discovery through CE toolsets. From a PI perspective, there is a tight coupling between the Integration Directory (and as a result the Integration Server) and the ES Repository. So, it is not possible to replace ES Repository completely with a third-party repository. ES Repository supports import of WSDLs and XSDs as external definitions. There fore, you can have the ES Repository as a central place where all the metadata is stored
Should I have separate Enterprise Services Repositories and Services Registries for my development, test and productive landscape?
With respect to Services registry - Yes, this is the SAP recommendation. Having separate registries allows you to clearly distinguish the contents of your DEV, TEST and PROD landscapes, and not having endpoints in your productive registry that point to a TEST system etc. With respect to Enterprise Services Repository - Every Process Integration instance requires a separate instance of Enterprise Services Repository. So, in a recommended NW Process Integration landscape where there are separate NW Process Integration systems for DEV, TEST and PROD, there will be a separate Enterprise Services Repository in each of the DEV, TEST and PROD landscapes. If you are using the Enterprise Services Repository for pure service provisioning and consumption scenarios, it would be sufficient to use the ES Repository in DEV and PROD landscape. The ES Repository in DEV landscape is used as a staging repository where Service definitions are extended, modified and approved. Final Service definitions are transported to the PROD ES Repository. In case of upgrades by SAP, conflicts and semantic discrepancies are resolved in the DEV ES Repository. This provides a clear separation between intermediate and final service content and provides better support for access restriction and control on change management.
Should I have only one Enterprise Services Repository and Services Registry in my productive landscape?
Yes, this is the general SAP recommendation. It ensures consistency and visibility of all SOA artefacts throughout your landscape.
However, if you still need to delete service definitions, you can make use of the corresponding API and manually remove service definitions.
Related Content
ES Repository on Process Integration - Documentation on Help portal ES Repository on Composition Environment - Documentation on Help portal ES Repository on Not authorized to view the specified document 8929
Glossary
PI = SAP NetWeaver Process Integration CE = SAP NetWeaver Composition Environment ES Repository = Enterprise Services Repository