InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

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

Posted by Hartmut Wilms on Aug 31, 2007

Sections
Architecture & Design,
Enterprise Architecture
Topics
SOA ,
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.

  • This article is part of a featured topic series on SOA
Some sort of roadmap needed by Frank Cohen Posted
  1. Back to top

    Some sort of roadmap needed

    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
    www.pushtotest.com

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.