Free Newsletters

   All InfoWorld Newsletters
Real World SOA | David Linthicum » Considering Semantics

October 19, 2006 | Comments: (0)

Considering Semantics

Okay, here we go on the initial steps.

The management of semantics has always been a key consideration in the world of application integration and now SOA. Indeed, we need to manage the meaning of information between systems, accounting for the differences for use in transformation layers and within services, as well as managing common notions and concepts that map back to physical records, and in some cases instances of information. To date, however, we've done a poor job in managing semantics lacking the understanding, the discipline, as well as the enabling technology and standards. Perhaps it's time we finally get a handle on it as we move to SOA.


A semantic mapping/management layer, when combined with a competent SOA tool, allows organizations, trading communities, vertical industries and even micro economies to create something I call "semantic domains." These domains are really a repository of concepts, with each concept having properties and attributes that map back to physical schemas that exist in source or target systems.

For instance, a hospital has a physical record that describes a procedure known as procedure_comp, this may map to a concept known as procedure in the semantic domain known as HC_Vertical_Semantics. Or:

Procedure_comp->procedure->HC_Vertical_Semantics

Other health care providers may in turn map their physical record to that concept, assuring that all organizations leveraging that domain are leveraging the same semantic understanding of the data. For instance:

Prod_1->procedure->HC_Vertical_Semantics

Note that the 'procedure' concept many have hundreds of properties that defines it, and some of these properties will map back to the physical record. Also, note that it is possible for 'procedure' to belong to other domains as well, inheriting the properties and attributes from the concept or concepts. Moreover, these domains can be either public or private, and are sharable among any semantic domain user on the network (if they have permission).

In my view of the world there are three types of semantic domains in the world of SOA: customer defined, community, and vertical.

The customer defined domains are a collection of semantic definitions and mappings for a particular customer for use within a single enterprise.

Community domains share semantic definitions and mappings supporting a closed community of users, such as a trading community around a single automobile manufacturer.

Vertical domains are definitions and mappings supporting whole industries.

Each domain should support the notion of abstraction, making it possible for domains to become sub-domains and leverage semantic definitions, concepts and mappings already created, through an abstraction mechanism exposed as services.

For instance, if we're creating a trading community for an automobile manufacturer we would begin with the public semantic domain for that vertical, abstract the semantics, and then customize the semantics as needed in another instance of a semantic domain that links back to the concepts and properties of the base domain.

What do you think?

Posted by Dave Linthicum on October 19, 2006 09:36 AM


RATE THIS ARTICLE:





 

  •  
  • COMMENTS





Technology White Papers

 

InfoWorld Technology Marketplace

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
» BUY A LINK NOW

Sponsored Technology Links