Semantic Annotations for WSDL and XML Schema (SAWSDL) Becomes a W3C Recommendation
The Semantic Annotations for WSDL and XML Schema (SAWSDL) reached recommendation status on August 28 2007, turning it into a "W3C Standard".
Although Web Service and Semantic Web standards have been developed in parallel by the W3C, there hasn't been any relation between both groups for a long time. The basic idea behind the Semantic Web is a web of data:
The Semantic Web is about two things. It is about common formats for integration and combination of data drawn from diverse sources, where on the original Web mainly concentrated on the interchange of documents. It is also about language for recording how the data relates to real world objects. That allows a person, or a machine, to start off in one database, and then move through an unending set of databases which are connected not by wires but by being about the same thing.
In the Semantic Web data is represented by semantic models. There are two main W3C Standards that are used to defined such models: Resource Description Framework (RDF) and Web Ontology Language (OWL). Whereas RDF is used to represent information and to exchange knowledge, OWL is used to define ontologies, supporting web searches and knowledge management.
SAWSDL intends to close the gap between Web Services and the Semantic Web by introducing means of referencing semantic models, defined outside the WSDL, from WSDL and XSD elements. References are specified by annotations that make use of the extensibility framework of WSDL, WSDL 2.0, and XSD. There are two main annotation mechanisms:
- an extension attribute, named modelReference, to specify the association between a WSDL or XML Schema component and a concept in some semantic model. It is used to to annotate XML Schema type definitions, element declarations, and attribute declarations as well as WSDL interfaces, operations, and faults.
- two extension attributes, named liftingSchemaMapping and loweringSchemaMapping, that are added to XML Schema element declarations and type definitions for specifying mappings between semantic data and XML.
The modelReference is used to directly reference a concept in a semantic model. If a component or element cannot be referenced directly, liftingSchemaMapping and loweringSchemaMapping may be used to point to data mapping transformations. Lifting allows to transform from XML to semantic data and Lowering is used to transform from semantic data to XML.
Semantic models and concepts are ideal for discovering services. Nowadays discovery is restricted to the data that is included within a WSDL or XSD artifact. When resorting to semantic models, which represent real world data such as business entities, processes and capabilities, we may define queries based on semantic information rather than "dumb" keywords and receive matches fitting the desired functionality.
There are other groups and standards, which also address the topic of "Semantic Web Services". One of these groups is the Semantic Web Services Initiative (SWSI) is an ad hoc initiative of academic and industrial researchers, whose mission is to create infrastructure that combines Semantic Web and Web Services technologies. The Semantic Web Services Framework (SWSF) is an alternative standard for specifying Web Services semantically, incorporating the Semantic Web Services Language (SWSL) and the Semantic Web Services Ontology (SWSO). SWSF provides a process-oriented model, which uses a rule-based language and an ontology of processes.
Some sort of roadmap needed
In the meantime I wonder what W3C's response will be to Ajax? In my experience there is a whole lot more request/response pattern usage in Ajax apps that are now in production than SOAP. A W3C standard interface definition language for Ajax apps is very much needed!