Enterprise Semantics: Aligning Service-Oriented Architecture with the Business

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.

Technology and the Enterprise

Enterprise Information Technology (IT) units exist to support organizational business goals. They must always be aware of the need for alignment, the challenging task of ensuring that every IT decision, in every department, helps the business side of the organization to get its job done, and requires constant monitoring of IT assets to be sure that they correctly describe the organization as the organization understands itself. To this end, it is not enough to follow the common industry practice of creating new data sources or layering new applications on top of existing data sources. Information sources and the applications tying into these sources must function in a smooth and unified manner, thereby allowing units and individuals to work together. When aligned, all stakeholders can coordinate efforts both within an organization (internally) and across organizational boundaries (externally).

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.)

Service-Oriented Architectures

"Service-oriented architecture" is among the latest three-letter acronyms to hit the technology world. But buzzword cynics should know: "SOA" does have a real meaning. The SOA approach is to expose enterprise data and business logic in loosely coupled, discoverable, structured, standards-based, coarse-grained, stateless units of functionality (see "W3C Web Services Architecture Working Group" in Resources). These are defined as follows: In practice, SOAs are achieved with the Web services standards stack of XML, XSD, WSDL, SOAP, and UDDI; XML for the message format, XSD for the message structure, WSDL to tie together information on the service, and UDDI for service discovery. In addition, vertical-specific standards constrain the schemas of the messages sent.

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.

Semantic Service-Oriented Architecture: See Figure 1

In a semantically based SOA, an information model expresses a common linguistic understanding of the real-world business environment across individual organizations or even across entire industries. This allows executives, analysts, data specialists, and application developers to share a common understanding of concepts relevant to the business, a partnership, or an entire vertical industry. According to Gartner, "Data semantics becomes a critical barrier for SOA as more participants involve more applications." (See "SOA Will Demand Re-engineering of Business Applications" in Resources.)

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.

Technical Background

From a technical perspective, the information model's ability to accurately express the common understanding of services is achieved with the following process:

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.

Aligning IT and the Business

IT staff understand the technical value of greater transparency, agility, and integration, but often fail to connect these to the ultimate needs of the enterprise, namely creating value according to the goals of the organization. Semantics as added to SOAs, however, tie the technical achievements tightly to the business context.

Transparency

Transparency is critical to modern organizations. Sarbanes-Oxley legislation, Basel II restrictions, and other accounting and privacy regulations in various countries make it essential to expose the true meaning of information storage and transfer to the watchful eyes of internal and external auditors.

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.

Integration

Integration allows processes throughout the SOA to act as a single, unified process, a key driver of efficiency when communicating within the enterprise or with partners. While there are many prerequisites to achieving genuine integration, a semantically correct knowledge of IT systems (metadata) and the existence of a common business language (canonical message formats) are two of the most critical elements. Up-to-date information of IT systems and a semantic information model realized in canonical message service interfaces are two of the most critical elements in achieving sufficient integration.

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.

Agility

Agility is achieved when semantically accurate business information ensures that service requests and responses correctly incorporate required data. When processes in SOA are modeled in terms of a common business language (instead of being tied to specific data sources), it is much easier to change business processes.

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.

Conclusion

By applying semantics, Web services break away from dependency on specific schemas and data sources. The business meaning of each service is exposed for semantic discovery. Moreover, clients can search and make calls on individual or composed services with the required functionality. Therefore, even if no one service exposes the needed interface, the client can still find the needed services, send them the required input, and transform their outputs to meet its needs.

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.

Resources

  • Borenstein, J. and , J. (2003). "Semantic Discovery for Web Services." Web Services Journal. SYS-CON Publications, Inc. Vol. 3, issue 4. www.sys-con.com/webservices/articleprint.cfm?id=507
  • Cowles, P. (2005). "Web Service API and the Semantic Web." Web Services Journal. SYS-CON Publications, Inc. Vol. 5, issue 2. www.sys-con.com/story/?storyid=39631&DE=1
  • Genovese, Y., Hayword, S., and Comport, J. (2004). "SOA Will Demand Re-engineering of Business Applications." Gartner. October 8.
  • Linthicum, D. (2005). "When Building Your SOA...Service Descriptions Are Key." WebServices.Org. March 2005. www.webservices.org/ws/content/view/full/56944
  • Schulte, R.W., Valdes, R., and Andrews, W. (2004). "SOA and Web Services Offer Little Vendor Independence." Gartner. April 8.
  • W3C Web Services Architecture Working Group: www.w3.org/2002/ws/arch/

  • © 2008 SYS-CON Media