InfoQ

News

Semantic Annotations for WSDL and XML Schema (SAWSDL) Becomes a W3C Recommendation

Posted by Hartmut Wilms on Aug 31, 2007 10:12 AM

Community
SOA
Topics
Semantic Web ,
Web Services
Tags
W3C ,
Standardization

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 by Frank Cohen Posted Sep 4, 2007 1:48 AM
  1. Back to top

    Some sort of roadmap needed

    Sep 4, 2007 1:48 AM by Frank Cohen

    I'm feeling really stupid about now. I'm trying to think of an occasion where I would use SWSL and SWSO? They both seem like small steps between what we have now in WS-* and the computer on Star Trek Next Generation being able to answer the question "What is the nature of the universe?" In my opinion WS-* is a set of standards that glorify the request/response pairing found in HTTP. In HTTP (and the WS-*) interactions I don't have any semantical knowledge of the nature of the request or the meaning of the response. Perhaps SWSL and SWSO move us a little bit closer to semantic meaning. I am wondering then what comes after SWSL and SWSO? Perhaps a roadmap of W3C future specs is needed to eventually get a semantically valid and comprehensive answer like "The universe is a spheroid 705 meters in diameter" and to understand that a spheroid is different than a Google result set. 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! -Frank Cohen http://www.pushtotest.com

Educational Content

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.