Revised Feb 23 2009: will get more attention in coming months
A year ago, the subject of Semantic Web Services might have been considered visionary. In fact, several of the early corporate efforts were canceled or abandoned ( such as Microsoft's GoDotNet ). At best, the technolgy has been static.
But that is not the case today. Several popular web development tools and packages ( such as the Drupal Services project ) are making the vision a concrete reality.
Some of the central ideas about Semantic Services are contained in a specification entitled A Semantic Web Services Architecture at daml.org. The content may fall more within the venue of SOA architecture than the semantic web per se. However, much of it is applicable to semweb technology, at least in the sense of defining the application architecture and software infrastructure necessary to implement the ontologies, knowledge and actual meaning of the Semantic Web. Probably most important is an explicit connection between SOA and intelligent, semantically-enabled software agents.
An extended quote from the daml.org site:
The SWSA interoperability architecture covers the following classes of support functions to be accomplished by Semantic Web agents (service providers, requestors, and middle agents). While not all operational environments will find it necessary to support all functions to the same degree, we anticipate that the distributed functions to be addressed by this architecture will include:
* Dynamic Service Discovery: The capability of a software agent, through interaction with other agents, to identify candidate services for particular objectives.
* Service Engagement - Negotiation and Contracting: The capability of two agents to mutually formulate, by offline or online interaction, a shared agreement on the terms of performance of a service to be provided by one agent for the other. This includes publication of service models that services commit to follow, and more dynamic interactions leading to contracts between clients and services.
* Service Process Enactment and Management: The capability to dynamically select and invoke or interact with services to achieve some defined objective. This includes formulating service requests satisfying all semantically described criteria for acceptance, interpreting all messages from service providers, and monitoring the status of service execution and completion criteria contractually agreed upon. Where defined, it also includes a capability to interpret and enact associated cancellation, failure recovery and compensation mechanisms. Service process enactment may require following extended protocols and interaction plans that involve multiple services. Plans may be self-generated or published in a semantic process language and interpreted.
* Semantic Web Community Support Services: Capabilities associated with sharing semantic descriptions, ontologies and ontology mappings, and service catalogs within and across communities. Support for managing community membership, privacy and authority relationships, and shared informational resources.
* Semantic Web Service Lifecycle and Resource Management Services: The capability to spawn, allocate, manage and report on the life status of services, computational host platforms and storage facilities for Semantic Web Services.
* Cross-cutting Issues: Semantic representations of two kinds of service quality meta-properties may be important during discovery of appropriate services, may appear in service agreements, and may be monitored during execution. The first set of properties relate to quality of service performance, the speed, timeliness, result completeness and effectiveness attributes that can make particular services more or less appropriate for use by certain clients or in certain contexts. The second class of properties represents policies of services regarding security, privacy and trust. We will touch on how these two aspects of services interact with and cut across our other major architectural support topics.