Wednesday, October 15, 2008

Part II - The Confluence of Cloud Computing & the Semantic Web - Heavy on the Semantics

The nuances of the dance between these two trends is indeed promising. The more I understand and learn about the Semantic Web from experts like Dean Allemang, and understand the utility of the Cloud, the more I appreciate the potential of these trends to shape distributed computing.

Recently, I have had the privilege off getting my hands dirty in supporting a client to develop, what they have termed, a Semantic SOA. The idea being that the discovery, governance and the structure and content of the payloads of the web-services within the architecture, are based on semantic models (ontologies). The underlying language of these models (Resource Description Framwork/RDF Schema/Web Ontology Language) explicitly support another important quality of SOA - semantic interoperability; which ensures that consumers and providers within the Cloud share germane and appropriate information in a consistent manner.

The big promises of Cloud Computing: economies of scale and improved resource utilization, align artfully with semantic principles and supporting features. Migration to the Cloud for many will be incremental and include the distribution of information across a virtualized infrastructure. Features of the technologies/specifications underlying the Semantic Web (RDF/RDFS/OWL) lend themselves to these requirements. They are intended to formally describe information concepts, terms and relationships within a domain. These specifications allow your subject-matter-experts to incrementally model their areas of expertise and because of their structure and underlying rules these domains/concepts can be easily combined to represent a verbose information model representing your data architecture. This model can then be used to aid discovery, invocation, XML Schema Defintion (XSD) / Web Service Definition Language (WSDL) definitions and integration in an incremental and unambiguous fashion.

Additionally, these features help describe entities and provide clear, non-ambiguous, semantics of a service offering. Service discovery and composition within the Cloud can all be supported by the features and standards of the Semantic Web.

Higher order specifications like RDFS and OWL support the concepts of inferencing. Inference relationships provide an eloquent and human understandable way to define and describe robust relationships between information concepts and data. Machines that consume these models will be able to infer additional information that may be useful to the consumer or application residing within the Cloud. The reality of it is, more and more of our data is going to be living in the Cloud and this data will be distributed. Pushing our data and applications out from internal information silos to Cloud based silos, has some benefits – reduced IT costs, support, maintenance, scalability, etc… But to have a virtualized infrastructure with scalable resources with applications and information distributed across the computing grid is a real benefit. With distribution comes complexity. We need our data to more useful to our business, our partners, anyone who might utilize our information. For it to be useful, it needs to maintain its integrity, its purpose and its meaning when combined with other data from other sources within the Cloud. Semantic concepts, like inferencing will do just that. Using a semantic model (metadata) we can start with some stated information and determine related and relevant information as tough it had been explicated stated. In the Cloud we need our data to more consistent and connected. With the distribution and virtualization of our systems, it will become imperative that our data become “smarter.” Semantic models will allow us to focus on informational concepts and smarter business processes and applications that reside in a scalable virtualized environment – the Cloud.