s seen at the recent 2008 Semantic Technology conference in San Jose, serious interest in corporate use of semantic technology continues to grow rapidly. Semantically-enabled applications are increasingly seen as fertile ground for Web 2.0 applications such as mash ups as well as the basis for innovative business intelligence strategies, internal collaboration wikis, and rich canonical models for service-oriented architectures (SOA).
What?s lacking, however, is a clear understanding of where semantic technology fits in enterprise architectures. Should it be thought of primarily as purely a web technology to integrate information on the presentation layer? Should it be seen as closer to the data layer of the application because of its potential to bring disparate sets of data together? Alternatively, should semantic technology be focused on the increasingly important middle layer of enterprise architectures where messaging and service implementations live?
Where Does Semantic Technology Fit in an Enterprise Architecture?
Semantic technology’s perennial problem is to gain enough traction to be taken seriously in the corporate world?lest it suffer the fate of object databases?exciting ideas with only niche adoption. Currently, semantic technology is all about ?critical mass,? for example, having broad enough adoption that it becomes ubiquitous. Its place in enterprise architecture needs to be clarified; if we don?t know ourselves where it fits, we?re going to have a hard time explaining it to anyone else and an even harder time getting anyone to finance the dollars to make it happen!
First, let?s look at a typical current corporate architecture. With rare exceptions, nearly every real corporate architecture has grown organically. Most mature companies have multiple databases and multiple programming paradigms. People who are new to the field would be shocked at how many major systems continue to run on mainframes accessed via a ?green screen? (a dumb terminal that connects to the mainfraime and nothing else). Most of us who?ve been around a while thought these would be long gone, but the reality is that a huge proportion of corporate computing continue to run on mainframes. These systems are simply too complex to rebuild. Newer systems tend to be built on more open platforms?but real architectures are nearly always hybrids?they mix the most modern Web 2.0 features with systems that are at least a decade old.
|Figure 1. Sample Hybrid Architecture:Most enterprise architectures combine services, sometimes including those requiring human intervention, with tightly coupled interactions.|
As shown in Figure 1, many applications in a real corporate environment remain as two-tiered applications, connecting directly from the data layer to the presentation layer. Applications built since 1990 are commonly comprised of three tiers with either a J2EE, .Web server, or a .NET application intervening between the data and the UI. As service-oriented architectures have proliferated and enterprise service buses become common, the intervening layers have become ?thicker,? decoupling the entire presentation layer and application layer from the underlying data stores.
Presentation and Data Layers are Obvious Opportunities
Semantic technology is a collection of technologies, rather than a single model, so it can fit into more than one place. For simple data aggregation ?on the glass? or in a thin application close on the UI?in the mode of Web 2.0 applications?the presentation layer is an appropriate target. Using XSLT or other presentation tools, information can be mashed directly on this layer. A corporate collaboration wiki could use this layer to interconnect data from a wide range of sources.
On the other end of the spectrum, semantic technology can be appropriately used on the data layer of the enterprise architecture. ?Tall skinny? tables containing RDF triplets or quartets have the potential to provide a more dynamic means of storing data than relational tables. This is particularly crucial when the relations between data elements are themselves subject to frequent change. An example of this use is found in storing policies, such as web service policies, that drive services contracts. The exact interrelationship of these policies can be difficult to predict in advance, therefore, changes in relational tables require modifying columns and foreign key relationships. A table in which the columns are RDF subject, verb, and predicate (and, potentially, provenance), changes in structure only require CRUD (create, read, update, delete) operations on rows, and so are far more flexible.Building Services with Semantic Technology Opens New Possiblities
A promising future for semantic technology emerges when it is considered as part of the growing middle tier of enterprise architectures. Even in the example above it could be argued that the data from policy is not ?core data? in the sense that customer, supply, or billing data is ?core data,? rather it is metadata that drives application flow and builds services. In this sense, such data is closer to the middle or service tier than it is to the core data.
Another promising use of semantic technology on the middle tier is the development of rich canonical models, especially in the context of SOA. When multi-system intercommunication is needed on closely related information, ontologies have the potential to provide much richer models than the strict hierarchical model of standard XML. The potential of ontologies increases as data structures that model the interactions common to a particular business vertical begin to mature. In the insurance industry, for example, some vendors are looking beyond the industry standard XML model (ACORD) to a richer semantic model. The semantic model also has the potential to resolve minor differences in how data is viewed from the perspective of different systems. In this case as well, the data itself may reside on the data level of an enterpise architecture, but the data model is much more closely aligned to the middle tier of the architecture, for example, the service implementation layer.
The significance of positioning semantic technology in the middle tier is to emphasize its vital importance in enriching communication. Despite the dramatic advances in enterprise technology?the vast majority of system interactions remain atomic?essentially accomplishing a single granular action. A customer last name is changed, an insurance claim or a purchase order is processed, raw materials arrive at a receiving location, a package is delivered to a customer. But data and events do not live in a vacuum. Meaning is, above all else, contextual. Virtually no business event takes place in a vacuum. Nearly all significant business events ripple through multiple systems. If semantic technology can understand this context and accurately infer from a change in one system the changes that need to occur in related systems, a qualitative leap forward will have been accomplished.
Beyond the Niche Market: Using Semantic Technology to Solve Corporation?s Biggest Nightmares
Managing customer information is a good example of the kind of service that could prove semantic technology?s promise. Nearly all large companies struggle with identifying their customers accurately and connecting information across the information silos that inevitably occur as companies grow.
Several scenarios create gaps that lead to disjointed customer information. Over time, most corporations grow by acquisition or merger. When this happens, the combined company inherits a customer base that overlaps and extends their existing base. To achieve the benefit of this expansion, the corporation must be able to distinguish which customers are truly new and should be added from those that are identical to those already in their databases. Is Janie Doe at 113 Pine Street, Minneapolis, 55401 the same person as Jane Doe with no street number, also Minneapolis, and also with a zip code of 55401? Most companies I?ve seen find this sort of problem so difficult to unravel that they essentially give up. Despite having spent millions of dollars to expand their customer base, they cannot effectively consolidate their customer information.
A related problem occurs when customers update their information. A client calls customer service and, in the course of dealing with a problem with, say, a claim they?ve submitted, informs customer service that they are now married and have changed their last name. The customer service representative updates this information in the claim system they have access to. The problem is that several other systems within the corporation, such as databases used to market new products to customers, billing databases, and so on, also need the updated information. Companies have to either spend large sums of money to link the multiple systems to a single system-of-record for customers or they come up with complex services to maintain consistent information. Frequently?as most of us have experienced when we deal with large companies?their efforts aren?t very successful and we find that one part of a company knows us by one name while another has different information. How often have you changed your address with a company and still received bills or payments sent to your prior address?
When semantic technology is applied as a service within the middle tier of a corporate architecture to resolve this problem, its adoption will broaden further than it is today. Working closely with another middle tier technology, the rules engine, the opportunities for growth in this area are significant. As semantic technology expands to include more and more refined inference mechanisms, it has an excellent opportunity to resolve problems like these. It?s worth noting that these mechanisms need not be one hundred percent perfect to be a vast improvement over the current disarray in which customer information is rarely consistent across a large corporate environment. A semantically enabled service to resolve customer identities is extremely valuable and appealing to many corporate executives.
Semantic technology is still struggling to find its place in the corporate sphere. A critical first step is to understand where a particular semantic technology fits best in the overall architecture of an organization. While there are many viable uses for the technology in both the data and presentation layers, some of the most exciting and least explored opportunities are in the middle layers and service areas of corporate architectures.