Hey, hey, what do you know...semantics and ontologies is making a comeback, and SOA is driving the push forward. If you've been following me, you know I'm a "semantics guy," and I think it's the jumping off point for EAI projects 10 years ago, and now SOA projects today. Indeed, there are many out there who agree with me right now...I just wish they said something when I was publishing articles about semantics/ontologies and SOA years ago. I remember the response from an editor one time..."this is boring stuff..can you write an article on Web services?" But, a good idea is a good idea, thus I keep pushing...and I'm glad others are joining in. Check out my predictions.
"Finally, in 2005 I think that ontologies will become more of a focus as larger organizations plan for a SOA. When dealing with SOA, as you know by now, we are dealing with much complexity. We have thousands of data elements that we have to track, hundreds of domains, and the need to map the differences. Moreover, with the added complexity of service oriented mechanisms, we are also tracking meta services as well, or behavior as well as information.The notion of ontologies helps the SOA architect prepare generalizations that make the problem domain more understandable. In contrast to abstraction, generalization ignores many of the details and ends up with general ideas. Therefore, when generalizing, we start with a collection of types and analyze commonalities to generalize them."
Okay, I was off a year.
Thus, I'm going to make this semantics and "ontologies week" on my blog. Kind of like "Shark Week," but no sharks.
Many in the world of SOA have begun to adopt the notion of ontology (or the instances of ontology: ontologies). Ontology is a term borrowed from philosophy that refers to the science of describing the kinds of entities in the world and how they are related. Ontologies are important to SOA solutions because they provide a shared and common understanding of data (and, in some cases, services and processes) that exists within an SOA problem domain, and how to facilitate communication between people and information systems. By leveraging this concept we can organize and share enterprise information, as well as manage content and knowledge, which allows better interoperability and integration of inter- and intra-company information systems. We can also layer common ontologies within verticals, or domains with repeatable patterns.
When dealing with SOA, as you know by now, we are dealing with much complexity. The notion of ontologies helps the SOA architect prepare generalizations that make the problem domain more understandable. In contrast to abstraction, generalization ignores many of the details and ends up with general ideas. Therefore, when generalizing, we start with a collection of types and analyze commonalities to generalize them.
Clearly, semantic heterogeneity and divergence hinders the notion of generalization, and as commonalities of two entities are represented in semantically different ways, the differences are more difficult to see. Thus, ontological analysis clears the ground for generalization, making the properties of the entities much more clear. Indeed, ontological analysis for SOA encourages generalization.
Considering that statement, it's also clear that application independence of ontological models makes these applications candidates for reference models. We do this by stripping the applications of the semantic divergences that were introduced to satisfy their requirements, thus creating a common SOA foundation for use as the basis for an SOA project.
One of the benefits of leveraging ontologies is the fact that no matter where the information resides, we can understand and map information relevant to the SOA scenarios. Ontologies allow you to differentiate between resources, which is especially useful when those resources have redundant data (e.g., customer information in almost all enterprises). Thus, in order to make better sense of the data and represent the data in a meaningful way, terms defined in ontologies allow the SOA architects to fully understand the meaning and context of the information. Again, this is ontology's value within SOA.
When considering schemas, local to remote source or target systems, the application of ontologies are leveraged in order to define the meaning of the terms used in some domain. Although there are often some communication between a data model and the attributes, both schema and ontologies play key roles in SOA because of the importance of both semantics and data structures.
To gather information specific to an entity, we need to leverage different resources to identify individual entities, which vary widely from each physical information store. For example, when leveraging a relational database, entities are identified using keys (e.g., customer number). Within the various information systems, many different terms are used for attributes. The notion of ontologies, in this scenario, allows us to determine whether entities from different applications and databases are the same or noncrucial to fusing information.
Okay, off to the gym. Tomorrow, let's talk about the semantics Web and Web 2.0, Web 3.0, or whatever they are calling it these days.
Posted by Dave Linthicum on November 13, 2006 07:32 AM







![[VoiceIndigo Mobilize - Listen to podcasts on your mobile phone]](http://www.voiceindigo.com/ht/images/mobilize_logo_sm.gif)


