This is the second in a series of four blogs that describe SAP's comprehensive approach to standards for enterprise SOA explaining how SAP's business process platform uses standards to deliver business value.
The Delivering business value through a comprehensive standards-based approach to enterprise SOA - Part ... explained how SAP's approach differs from "merit badge" based approaches and the importance of considering technology and business semantic standards together.
This Delivering business value through a comprehensive standards-based approach to enterprise SOA - Part ... provides an introduction to SAP's approach to standards for Enterprise SOA describing SAP's Standards Taxonomy which provides a way of categorizing and thinking about standards as well as covering the first category: "Technology Standards".
The next two blogs will provide:
Now for the SAP's approach to standards for enterprise SOA ...
SAP's approach to standards for enterprise SOA, that is embodied in the SAP NetWeaver Business Process Platform, is to first focus on evaluating the business benefit each standard can potentially deliver. In many ways, technology standards deliver a single value - they allow an enterprise service to be consumed from another environment. Technology standards do not address business semantics or rather how to use the information contained in the messages received and sent by a service. Only when combined with standardized business semantics can an enterprise service be used correctly in a composite application. Business value is delivered only when a service is implemented in a business process platform built to an "enterprise standard" that delivers reliability, scalability, performance and security.
But currently there is a maze of standards where each individual specification or standard only addresses part of the challenge of interoperability. So it is important when implementing enterprise SOA, to rely on a software company, such as SAP, that fully understands how to navigate the labyrinth.
The SAP "Standards Taxonomy" (see Figure 1) is the SAP map of the world of standards. Just as a map shows how streets relate to one another and provides context and direction, the standards taxonomy is a method for identifying standards in terms of their purpose and relationship to one another [1].
The SAP standards taxonomy describes a comprehensive approach to the relationships and consists of four layers:
This rest of this second blog in the series will describe Layer 1 Technology Standards. The next blog will describe Layers 2 and 3 on Business Semantics, and the final blog will describe Common Standards.
Technology standards provide the foundation for the openness and interoperability that are the hallmark of enterprise SOA. These standards are important for efficiently deploying business solutions and are often created within international organizations. SAP leads and participates in these organizations, as well as in the development of these standards. SAP, for example, is part of the World Wide Web Consortium's (W3C) advisory board, which defines the technology standards for the Web, including HTML, XML, and core Web services specifications including SOAP, WSDL, WS-Addressing, and WS-Policy.
SAP also leads a number of SOA standards at the Organization for the Advancement of Structured Information Standards (OASIS) that support critical features in the implementation of enterprise SOA. These standards are reflected in the core Internet connectivity and Web services interoperability capabilities of SAP NetWeaver. This interoperability is also rigorously tested in the Web Services-Interoperability (WS-I) organization, chaired by SAP. WS-I promotes consistent and reliable interoperability among Web services across platforms, operating systems, and programming languages.
Enterprise SOA needs a business process platform on which enterprise services and composite applications can run. The business process platform also needs the technology standards described in this section to make it easy to connect to an enterprise service no matter whose solution was used to build it.
There are four parts to Technology Standards (see Figure 2): Metadata Infrastructure, Component Frameworks, Messaging, and Foundation.
Software is built from multiple components of many different kinds. In order to use these components correctly, solutions need to find, keep, and access information about them. This information about components is called "metadata." Machine-readable metadata is essential to model-driven development approaches such as Model Driven Architecture, which SAP NetWeaver uses.
Model Driven Architecture (or MDA) streamlines software development, deployment, management, and integration, making heavy use of models and metadata throughout the software lifecycle. The ultimate goal of MDA is to be able to directly execute business process models, by connecting the models to executable, model-driven services.
Metadata Infrastructure standards help by providing standard ways of defining and using metadata (see Figure 3) and the explanation below.
They fall into the following main areas:
Most information systems store or create their data in multiple databases, XML documents, and files. Effective management of this heterogeneous data requires integrated metadata that provides robust information about database schemas, XML schemas, data transformation rules, data analysis rules, and so on. The Common Warehouse Metamodel (CWM) is a standard that uses MOF to define the metadata that needs to be maintained for these components of information systems. It also defines an XMI format that tools can use to exchange these kinds of metadata. CWM makes it easier to create Business Intelligence solutions that can manipulate data across multiple databases, files, etc.
Another important metadata standard is UDDI, which provides for the discovery and retrieval of information about services. Composite application development tools can use UDDI to discover enterprise services needed to build a composite application.
Component Frameworks are used for two main purposes:
SCA and SDO enable specification of service components and data objects at a relatively high level of abstraction while defining bindings to relatively low level technologies, such as Java, C++, Web services, and so on. This enables service clients and servers to be composed together even when they are implemented over different low level technologies.
SAP NetWeaver 7.0 implements Java EE 5.
Communication with enterprise services occurs through messages that are sent to and from the enterprise service.
How the message is sent depends on how and why the enterprise service is being used.
Java Messaging System (JMS)
When used in a single application, a programming-language-specific method of sending messages such as the Java Messaging System (JMS) is likely to be used. JMS is part of the Java Platform, Enterprise Edition component framework. The benefit of JMS is that it provides a standard easy-to-use API that a service can use for sending and receiving messages. However it relies on both the sender and receiver solutions both being implemented using Java and typically part of the same IT system.
Web Services
If the messages are being sent to a service that is part of a separate application or that is run by a separate business, then Web services are the better standard to use as they work over the Internet. This means that the sending and receiving applications do not have to use the same technology as long as they follow the same messaging standard. Standardization also makes it easier to create messaging middleware that does the "heavy-lifting" of sending and receiving messages.
Since the message may need to be sent over the internet, messaging standards need to ensure that the message can be sent securely and reliably when needed. To provide for this there are several Web services messaging standards that mirror closely the approach used when sending messages in the real world:
Web Services Profiles
The Web service messaging standards offer many different options for how they can be used. To makeimplementation simpler the Web Services Interoperability Organization (WS‑I) has developed "profiles" that define a subset of the standards described above as well as describe how they should be used together. These profiles include: theWS-I Basic Profile that defines how SOAP should be used with other standards; the WS-I Basic Secure Profile that describes how messages should be secured using WS Security, and the WS-I Reliable Secure Profile (WS-I RSP) that defines how WS-Secure Conversation,WS Security and WS Reliable Messaging should be used together. WS-I RSP is an important specification that should be finalized towards the end of 2007. More detail on WS-I will be provided in the fourth and final blog.
Foundation standards, as the name suggests, are low level but essential standards that are used by many of the other standards described in this paper. Many will likely be familiar, but they are included here for completeness.
Programming languages are one of the most important foundational standards. SAP NetWeaver 7.0 provides support for both ABAP and Java providing a single environment in which solutions built using both SAP technology and Java can run.
SAP NetWeaver 7.0 also provides support for other foundation standards in three main areas:
The next two blogs in this series will describe the remaining categories in the SAP Standards Taxonomy: