This new world of service consumers, service providers, and model-driven development and composition requires a host of supporting elements, each of which plays a crucial role, as shown in Figure 1-14.
Applications in ESA are based on a division of duties among the various layers of the ESA stack. This structure serves to contain the complexity within each layer and to simplify the interaction between them. Further simplification is provided through the use of patterns and model-driven development tools. Modeling is used at many different levels in ESA. UI and application modeling using tools such as SAP NetWeaver Visual Composer helps you to create UIs rapidly. In certain cases, SAP NetWeaver Visual Composer can simplify the task enough so that business analysts can configure applications or even build them themselves. Modeling tools are also available for high-level business processes (ARIS models from IDS Scheer), for backend business processes (SAP NetWeaver XI), and for configuring business processes (SAP Solution Manager). Various abstraction layers such as Web Dynpro provide more detailed representation of an abstract UI that modeling tools can use. Modeling simplifies development and application change and helps to support many platforms with less work.
Patterns amplify the power of modeling by bringing together large assemblies of components into higher-level structures that repeat themselves. Patterns can be applied to UIs, processes, or the entire structure of applications. Developers who use them have a huge head start compared to having to start from scratch.
The use of model-driven development and patterns is key to delivering the increased productivity and the ability to quickly and easily change existing processes that are crucial to the success of ESA.
The Enterprise Services Infrastructure is a coordinated set of technology, infrastructure, and tools for designing and building enterprise services and ensuring that they operate in an optimized fashion. ESA spells out what service work will be done in the application calling the enterprise service, what will be done in any intermediate layer, such as a service broker, and what will be done in the application providing the service. The Enterprise Services Infrastructure enables developers to create services according to this architecture, to take advantage of web services standards, to help implement patterns, to use global data types, to support security and transactions, and to optimize invocation of services and message traffic between them. The Enterprise Services Infrastructure provides many of the functions that are associated with the idea of the enterprise service bus.
In order for enterprise services to be reusable, it must be possible to find enterprise services, determine what they do, and then bring them into development tools. The Enterprise Services Repository is a directory of enterprise services that does all of these things. An easy way to understand the Enterprise Services Repository is to think of what an automotive engineer would need if he were creating a Boxster from reusable parts. First, he would need a directory of all reusable parts. The Enterprise Services Repository is a searchable archive. Once he found a part, he would want to know what it did and how it was intended to be used. The Enterprise Services Repository stores a variety of types of modeling data. It stores how any enterprise service is linked to higher-level business processes that may be part of business scenarios and process component models that describe how an enterprise application or an industry process works. The description for the service interface that is used to invoke the service, the WSDL file, is also stored, and development tools use it to invoke the service or use it in modeling. The Enterprise Services Repository also stores how an enterprise service is related to business objects that implement it. A variety of other documentation and metadata about the service are also stored. Finally, the automotive engineer would like to know if any of the parts were built and available. The Enterprise Services Repository also stores how the service may be accessed at runtime.
The Enterprise Services Inventory comprises the services that SAP is creating, based on the mySAP Business Suite and SAP NetWeaver, to support the creation of composite applications. Enterprise services are described in the Enterprise Services Inventory in such a way that business analysts can easily understand them. In 2005, the first batch of enterprise services were described in the Enterprise Services Preview on the SAP Developer Network (SDN; http://sdn.sap.com). WSDL files and process descriptions were provided for hundreds of enterprise services based on mySAP ERP and some industry-specific solutions. In the first quarter of 2006, the first implementations of services in the Enterprise Services Inventory started to arrive, along with xApps and other composite applications that use those services; since then, implementations have proceeded in quarterly installments. The composite applications include Project Mendocino for Microsoft Office integration of SAP applications, and composite applications for analytics, self-service, and other key processes that extend and improve the functionality of the mySAP Business Suite. In the future, SAP partners and customers will add to the Enterprise Services Inventory by implementing services created through the ES-Community.
ESA changes what software vendors provide to customers and what is available for reuse. In the mainframe era, applications and parts of applications had life cycles. They were delivered, installed, configured, maintained, and retired. SAP has used modeling in the SAP Solution Manager to simplify the process of configuring applications. Now the world of life cycle management will become a lot more challenging. Instead of a modest number of applications and parts of applications, thousands of services will be delivered to customers. Each will have its own life cycle. Managing this world will require new, model-driven configuration tools and support models. Operations and security practices will also have to change to accommodate the new world of services. (All of this is discussed in Chapters 18 and 19.)
ESA could not exist without the hundreds of standards that have been developed to make application development and interoperability much easier than they have been in the past. ESA creates an environment in which the value of standards can be harvested in terms of both technology and business semantics. At all levels of the stack, ESA uses technology standards such as J2EE, WS-Reliable Messaging, WS-Policy, and so on, to improve interoperability and reduce implementation costs. ESA takes all of these technology standards and provides the context and plumbing for them to work together in a way that maximizes the value each can create. In isolation, technology standards provide a certain level of value, but when combined, a synergy is created. In the same way, enterprise services also bring semantic industry standards to life. Standards such as RosettaNet and CIDX describe standard document formats and provide guidance for how these formats should be used to support various business processes. A set of enterprise services that uses these standards can be put to work quickly to automate business processes among companies so that new partner relationships can be implemented in days rather than months.
The ESA ecosystem consists of all of SAP's capabilities, plus those of its partners, brought to bear in a coordinated way to solve problems for customers. SAP is promoting ESA adoption by software vendors in important vertical markets. Companies such as Intel, Cisco, Microsoft, and others have agreed to support ESA in their products and are certifying a wide variety of products to work in an ESA-compliant manner. The ES-Community will allow partners and customers to work with SAP to design enterprise services to solve emerging technology and industry problems. This ecosystem will make it easier for SAP, partners, and customers to gain more value from ESA.