In enterprise SOA, business semantics consist of definitions of enterprise services and business processes. These definitions must be described in a manner that allows the technology layer of the architecture to use them to good effect. There are three types of definition languages, for processes, service interfaces, and message content.
Languages for process definition
Process definition languages define the sequence and conditions in which the steps in a business process occur. With machine-readable definitions, a business process platform can ensure that the steps are followed correctly. The need for this ability is related to the way businesses work – reacting to an event with an activity. An event can be almost anything – contact with a customer or supplier or reception of an order or an invoice. Enterprises need a way to describe – clearly and unambiguously – how the events that occur relate to activities in the business.
The most important standard for defining processes is Business Process Modeling Notation (BPMN). It provides a business-oriented, graphical way of identifying events and describing activities in easy-to-understand diagrams. Process definition is a critically important area for enterprise SOA, and BPMN delivers good business value here. It’s supported by the SAP NetWeaver Composition Environment.
Definitions of services and interfaces that can be read by machines allow the use and reuse of services when building composite applications in enterprise SOA. The Web Service Definition Language (WSDL) describes a Web service in terms of input and output messages and the destinations of the messages. The WSDL 1.1 specification is complete and stable – WSDL 2.0 was completed in June 2007. But WSDL still needs extension to describe how Web services are secured and used reliably – a reason to complement WSDL with standards like WS-Policy.
Standards for reusable services
Message definition languages are used to define the structure and content of the data that an enterprise service sends, receives, or consumes. For example, they define that the same field always has the same name in all messages. The languages also describe how to combine fields into larger structures, how to specialize or extend fields and messages to meet specific needs, and how to represent the message – as an XML schema, for example.
The leading standard language for message definition is the UN/CEFACT Core Components Technical Specification (CCTS). UN/CEFACT is the organization that also developed the international version of EDI. CCTS provides a rigorous methodology for defining data unambiguously and includes rules about how to convert language-neutral definitions into XML. Clear consistent definitions of the messages used by enterprise services deliver business value. That’s why all global data types and definitions that SAP has created are based on CCTS. Version 3.0 is very close to maturity.
Agreeing on the meaning of business
Integrating applications with different business partners and their systems can be expensive and time-consuming. Enterprise SOA offers the opportunity of easier connections to broad business networks by using business semantic standards.
Achieving seamless interoperability in building business networks requires enterprises to agree on the definitions of the collaborative processes they will use in terms of the sequence in which they will exchange messages; on the content of the messages that are exchanged; and on standard service definitions for building cross-enterprise composite applications.
When all three types of definitions are standardized, a company doesn’t need to change its “private”, internal processes for integration, because its system already supports the standards that are needed for the public processes between various organizations. Partner messages can be accepted by the internal processes without change and are sent back and forth in the correct sequence. This area contains the potential for out-of-the-box integration. But that’s currently a vision since more standard processes, messages and service definitions need to be developed.
Around 2,000 industry-specific standards organizations exist, often providing similar definitions for the same business process or document, but with their own, different ways of developing and naming them. Implementation guides define the sequence of messages that should be used in a process, but again the focus is on an individual industry.
This approach doesn’t work very well. For example, the chemical industry has its own standard, CIDX. But a typical chemical company does only 30 percent of its business within the industry. The rest of their business involves the high-tech, automotive, oil and other industries. Because each industry has its own standards, companies usually have to support multiple different standards making the integration difficult and costly. The way to solve the problem is to create and support cross-industry standardization groups and to push for the convergence of standards.
Efforts across industries
Some efforts have already been expended in this direction: UN/CEFACT is developing data models and messages based on the CCTS specification, for example components that define the appearance of an address or contact. The idea is that the same components can be used in multiple industries making interoperability easier.
The business value of cross-industry business semantic standards is very great, because increased interoperability reduces complexity and risk for enterprises. That’s why further standardization and SAP efforts will focus on this area.