With all the promise of SOA, the lack of a common basis for understanding between consumers and providers is a major roadblock to realizing value and achieving meaningful reuse. Picture a meeting of the UN General Assembly without the simultaneous translation that the delegates receive to ensure proper understanding. The points the speaker makes would be lost on the intended audience. In fact, the listeners wouldn't know whether they care about the content or not.
With all the heterogeneity present in most large IT shops, the communications between systems are like a Tower of Babel without the ability to recognize common themes. Every packaged application, home-grown solution and software service has it's own "language" consisting of vocabulary and grammar along with "cultural" or context-specific understanding.
The canonical business model
The answer is a canonical business model, defined as an information model that represents the inherent business concepts without regard to either individual use or hardware or software implementation.
The common model serves as a universal translator, similar in function to those employed by earth dwellers and aliens in various science fiction works to understand each other, facilitating understanding between the various system semantics.
Understanding is a precursor to action. Once insight has been achieved, many things become possible – 1) better reuse of services, 2) reuse of published events by multiple automated business process subscribers and 3) correlation of events and messages across information streams.
Better reuse of services
Services in an SOA implementation are often described as having location independence and implementation encapsulation. Oddly enough, the definition, inputs and outputs are all too often closely tied to the original underlying implementation. The impact of that is that the service may not be reused as much as it could be, as the description may appear too "foreign" to be useful. If the service interface is defined in terms of a common business language, there is a much better chance of leverage.
Reuse of published events by multiple subscribers
Business events represent important activities within the enterprise. To avoid the trap of a point-to-point event-driven architecture, the events and accompanying information must be understood by all potential subscribers. Orchestrated business processes become more flexible and dynamic when the process steps are acting on common objects.
Correlation of events and messages across information streams
In order to see the big picture and accurately understand the state of the business in real-time, the events and information flows available across domains must be in the same "language" in order to derive intelligence from the composite information. Otherwise, it is like doing arithmetic with fractions without first identifying a common denominator. Patterns of events and information representing threats and opportunities can be recognized when the common basis can be assumed.
Creating the business model
A couple of options are available. In some industries, there are well-established information models that are widely accepted and used. In those cases, it is often easiest to adopt those models. While often cumbersome and sometimes overly complex, the benefit is that they can be leveraged immediately. These industry-standard models are very useful in business-to-business interactions.
The other option is to create one for internal use in the enterprise. This can be done incrementally. There is no need to conduct a massive enterprise modeling project, which is usually impossible to fund, as long as sound modeling techniques, such as UML domain modeling and extensible technologies like XML Schema, are used. Architects should use existing information stores and models to derive key business domain objects and attributes in order to rapidly create the first iteration. In the modeling process, it is important to first identify the core common business objects that are referenced in many business activities. Specific business process information can then be layered on by combined those common objects and introducing context-specific attributes.
Using the model
Heterogeneity is a fact of life in IT today. Therefore, there will probably never be a common model implemented within all of the systems that participate in the various business processes. To achieve the greatest value from the flow of information and events in the enterprise nervous system, leverage integration technology to semantically translate the data to and from the canonical business model as close to the end points as possible. This approach creates a comprehensive information ecosystem where all participants are on the same page.
The bottom line is that the full potential of SOA, EDA and CEP (complex event processing) cannot be realized without a common business model. The flow of enterprise information delivers real value when it can be understood and utilized in many contexts. Services will have a better potential for reuse. All interested subscribers can consume the same published business events, instead of proliferating point-to-point event-driven integration scenarios. Flexible orchestrated business processes can be created across domains using the common model. Threats and opportunities also can be identified by correlating events and information across domains.
About the author
Maja Tibbling is a lead enterprise architect at Con-way Inc., with more than 20 years of IT experience spanning multiple technologies and methodologies. She has had a primary focus on component-based, service-oriented and event-driven architectures for the last 10+ years. She has shared Con-way's SOA success story through trade publications and Gartner, Open Group, SOA Exec Forum and vendor conferences. Con-way IT has received industry recognition for the business value provided by its SOA implementation, through CIO 100 awards for 2002 – 2006 and several InfoWorld 100 awards amongst others.
This was first published in June 2007