Service-oriented architectures (SOAs) are a significant step forward in aligning information technology with business goals. But SOAs are insufficient when the Web services of which they are typically composed use inconsistent terminologies and present different understandings of the real-world environment that they are meant to support. Enterprises need transparency, a clear view of what is happening in the organization. They also need agility, which is the ability to respond quickly to changes in the internal and external environments. Finally, organizations require integration: the smooth interoperation of applications across organizational boundaries. Encoding business concepts in a formal semantic model helps to achieve these goals and also results in additional corollary benefits. This semantic model serves as a focal point and enables automated discovery and transformation services in an organization.
Services-oriented architectures are playing an essential role in the drive to integrate information and applications across the enterprise. With SOAs in place, technical teams respond quickly to provide a collection of applications that function as a clearly understandable whole. In this way, they provide a powerful tool to the rest of the organization; in fact, such an integrated process can create as much value as all the existing unintegrated processes.
However, alignment is impossible when business departments misunderstand one another and when IT misunderstands the business. All the XML and HTTP in the world cannot integrate applications attempting to communicate in different terminologies. To ensure accurate communication, every application must be developed in strict accordance with the same standard (an impossibility in the real world), or else information managers must analyze the business concepts underlying the data and the applications, relate these concepts to existing industry and enterprise standards, and then encode that analysis in discovery and transformation logic, hence bridging the barriers. Today, this analysis must be repeated on every project. Even then, it remains painfully error-prone. With this in mind, Gartner recommends that enterprises "ensure that all developers use the same semantics and agree on the message contents at a business level." (See "SOA and Web Services Offer Little Vendor Independence," in Resources.)
The goal of smooth integration is not achieved by SOA alone. Web services must be described and understood in a semantically consistent way in order to resolve terminological ambiguities and misunderstandings, and to avoid the constant revision and redefinition of terms, concepts, and elements of the business. Such inconsistencies make for applications that cannot talk to each other, and subsequently result in slower response times when changes are needed. Business managers cannot get a clear view of their organization through these multiple unintegrated "languages."
To take a simple example, a manufacturing report service may indicate that one million units of a product were manufactured, while a shipping report service states that only 100,000 were shipped. Extensive analysis might be needed to determine that the shipping report is designed to report the number of packages shipped, each of which includes ten of the original manufactured units. If the former report is for a week measured Monday to Monday, and includes all shippable and defective products, while the latter is for Sunday to Sunday, and excludes defective items and returns, more confusion ensues.
In the shipping example above, the semantic model includes concepts such as "Manufactured Unit," "Package," "Date," Week," "Shippable/Defective," and the relationship between such concepts; it also relates to the manufacturing and shipping report services themselves. Business rules show the relationship between the different ways of expressing the same concepts. In this way, the meaning of the Web services is formally expressed through relation to an agreed upon set of business concepts.
In terms of metadata, SOA maintenance means that development teams require an inventory of services, back-end systems, inter-service interactions, and different service versions. From an architectural standpoint, the Web service is only as good as its interface as described in Web Service Description Language (WSDL). To create useful Web services, enterprises require a methodology for modeling their common business language and for inferring consistent WSDLs. To maintain accurate interrelationships, Web services must be mapped to the back-end applications they expose, and to each other as the business and its trading partners evolve incompatible WSDL schemas. In the semantic SOA, organizations manage their disparate WSDLs, which are front ends for different data assets, IT systems, business processes, networks, and applications, by reference to a common business architecture expressed and not in implementation-oriented terms, but rather according to the needs of the business.
1. The semantic information model is built, often on the basis of an industry-standard language, such as ACORD for insurance, HL7 for health care, or FIX for financial services.
2. The relevant services are identified.
3. Each service interface or schema is mapped to the relevant concepts in the semantic model. This mapping starts off coarsely grained, giving proper semantic meaning to the service message as a whole (or to major message components) and proceeds to a fine granularity, assigning meaning to every field in its proper context. The flexibility inherent in these mappings allows the model's stakeholders to agree on the precise meaning of the services involved, thus eliminating the confusion caused by heterogeneous interfaces.
This is an incremental process. Identifying services and mapping them to the semantic model generally facilitates the understanding of how the business works, thereby enhancing the semantic model.
Each individual Web service typically has its own language, expressed in a schema, for input and output. When these languages are integrated through a semantic model, users get a coherent understanding of the schemas, which provides maximal transparency, integration, and IT infrastructural agility. The semantic model allows flexibility in updates to a Web service interface flexibly - clients can "understand" the changes with ease, given that the differences between schemas have been resolved by reference to an information model. When a client requires a service, the service that satisfies the business need can be discovered by reference to the semantic information model, with no need to predetermine the exact service interface. When a client requires input that is incompatible with a given service's output, then translation scripts transforming between the two are an automatic product of the semantic model and mappings, having been inferred from the semantic relationship established previously through the semantic model.
Transparency in the enterprise is defined as the ability to trace and to understand the meaning behind enterprise data and enterprise assets, an ability increasingly important to business intelligence and executive reporting. Without a consensual understanding of a given business term, ambiguity and confusion reign. Semantics ensure that Web services and resulting user-facing reports use an unambiguous business language, and that all messages and reports can be traced back to their data sources for interpretation, verification, and auditing. Accurate business information and analysis, where every piece of data is traced back to its source and is related to its true meaning, creates competitive advantage by transparency to management. Customer-facing employees gain tremendous power to enhance their service quality, with a transparent view of a customer's personal preferences and dealings with the business.
For instance, a closed purchase order might require that the primary system tracking orders (e.g., an ERP system) be updated. Yet the customer relationship management (CRM), financial reporting, systems responsible for delivering the product, HR systems that track commissions, and data warehouses that track sales trends all require synchronization. Moreover, integration supports new dynamic business practices such as taking into account live sales data to automatically tune dynamic pricing or to redeploy marketing resources to maximize revenue.
One major driver for the deployment of SOAs in the enterprise is the vision of the real-time enterprise (sometimes referred to as the "zero-latency enterprise"). The architectures are intended to allow many kinds of agility including the ability to responsively change parameters, the ability to restructure and customize business processes, the ability to prepare for organizational changes, and the ability to update, change, and integrate IT systems in response to changing business needs or new technologies.
When all business information is available enterprise-wide through a semantic information model, any field or data structure can be channeled into a service. When processes are modeled in terms of a common information model rather than tied to specific information sources or services, it is much easier to add and change processes.
When enterprise architects anchor their SOAs in a semantic model, integration, messaging, and other projects no longer suffer from the errors typically caused by inconsistent terminologies or definitions. As semantics boost the business value of SOA-sustaining Web services, we can look forward to a rapid growth in adoption of both semantic and service-oriented technologies.