A Semantic Web Services Architecture

Version 1.0 (1 October 2004)

This version:
http://www.daml.org/services/swsa/swsa-note.html
Latest version:
http://www.daml.org/services/swsa/swsa-note.html
Editors:
Mark Burstein (BBN Technologies)
Christoph Bussler (Digital Enterprise Research Institute (DERI), Galway, Ireland)

Contributors:
Mike Dean (BBN Technologies)
Andreas Eberhart (AIFB, University of Karlsruhe)
Carole Goble (University of Manchester)
Michael Huhns (University of South Carolina)
Tim Finin (University of Maryland, Baltimore County)
Frank McCabe (Fujitsu Laboratories, Sunnyvale, California)
Juan Miguel (DERI, Innsbruck, Austria)
John Mylopoulos (University of Toronto)
Norman Sadeh (Carnegie Mellon University)
Amit Sheth (University of Georgia)
Massimo Paolucci (Carnegie Mellon University)
Stuart Williams (HP Labs, Bristol, UK)
Michal Zaremba (Digital Enterprise Research Institute (DERI), Galway, Ireland)

Abstract

The Semantic Web Services Initiative Architecture Committee (SWSA) proposes the following architectural and protocol abstractions as a foundation for supporting Semantic Web Service technologies on the World Wide Web. This document is based on a review of requirements gathered from a number of different environments to identify the scope and potential requirements for this Semantic Web Services architecture.

Status of this document

Version 1.0 is now available for public comment.

Table of contents



1. Introduction

The Semantic Web Services Initiative (SWSI) is an 'ad hoc' initiative of academic and industrial researchers, many of whom are involved in DARPA, EU funded and nationally funded research projects. SWSI started in the autumn of 2002 based on common interest of the researchers involved.

The mission of the Semantic Web Services Initiative Architecture committee (SWSA) is to develop architectural and protocol abstractions forming a reference architecture to support Semantic Web Service technologies on the World Wide Web. In part, this proposed architectural framework builds on and extends the Web Services Architecture [WS-ARCH] developed by the Web Services Architecture Working Group of W3C. We will also make use of terms and concepts in a conceptual architecture for semantic web services [SWS-CA] that extends the Web Services WG Architecture. It also is based in part on the layered Semantic Web Architecture as proposed by Tim Berniers-Lee [TBL00]. Further significant input is taken from the OWL-S Coalition [OWL-S] as well as the WSMO Working Group [WSMO].

This document describes abstract protocols for interactions between clients and Semantic Web Services and proposes other support services that may be needed in some contexts to fulfill the basic requirements of the proposed architecture. Our goal is that this architecture provides a foundation that will support a variety of semantically enabled service deployments in a variety of current and future distributed environments, especially those building on the World Wide Web. We anticipate that the architecture will also indicate requirements for Semantic Web service description languages which are being designed by our sister committee, the SWSI Language Committee.

Our approach to developing an architectural framework for Semantic Web Services is based on an identified set of roles and requirements for machine interpreted semantic descriptions in the deployment of Semantic Web Services to different distributed environments, addressed in our previously released Requirements Document. This document summarizes and builds on the prior one by describing protocols between interacting entities or agents that can interpret and reason with these descriptions to achieve those required functions.

We are focused specifically on capabilities that extend the potential range of web services in the direction of dynamic interoperability over extended life cycles, while at the same time addressing concerns about security, reliability, and flexible means of recovery from interpretation and execution problems that can occur in such open and evolving environments.

The SWSA interoperability architecture covers the following classes of support functions to be accomplished by Semantic Web agents (service providers, requesters, 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:

The architecture described below is based on abstract protocols and functional descriptions of capabilities, not in terms of specific software modules or components. The rationale for this is to define a model of interoperability that can underpin a variety of architectures without prescribing specific system design decisions. Eventually, concrete software components have to be built. If these are designed to be compliant to the proposed protocols, the components will interoperate as defined by the protocols. This allows freedom in building software components while ensuring architectural interoperability. This approach follows the approach of the World Wide Web where protocols like HTTP and SOAP are defined without constraining the software components that implement those protocols.


2. Supporting Multiple Distributed Environments

Semantic Web Services are viewed as a way to extend the capabilities of web services in the direction of dynamic interoperability, and in particular addressing the need for interoperability in the face of heterogeneous standards for representating content communicated between distributed components. The underlying theme is the overcoming of interoperability limitations arising from the need for service and client developers and to agree in advance on the syntax and semantics of interactions, thereby making it possible for clients to successfully utilize web services without prior arrangements between people that are realized in rigid software protocols, and immutable ontologies or meta-data.

There are a number of communities for which these goals are important:

In all of these environments, two major barriers to inter-community interoperability are incompatibilities information models and mismatches in exchange protocols utilized by different communities of service providers. One big reason for these differences are that they were developed by different groups. Another is that models, syntactic encodings and protocols change over time as services evolve to meet changing needs. Dynamically accessible semantic descriptions of service capabilities and utilization protocols can help to overcoming these barriers, but only in a distributed environment which fundamentally supports individual software agents' ability to interpret (perhaps after translation) unfamiliar ontologies and declaratively described process constraints. Lastly, given the open ended nature of such distributed environments, the architecture must support effective means for managing semantically interpretable security authorizations and ensuring the privacy of transmitted information.


3. Underlying Assumptions and Stages of Development

Architectural Assumptions

The architectural framework we describe stands on the shoulders of two emerging technological concepts: Web Services and the Semantic Web. From web services we bring the notion that service interfaces can be published on the web using XML, and more specifically, WSDL, and can be invoked using web protocols like HTTP and SOAP. From the Semantic Web we bring the notion of web published and accessible semantic descriptions in terms of dynamically linked and shared published ontologies. In addition, work in Semantic Web Services contributes the notions of orchestration, choreography and mediation. We recognize that different communities may not always share ontologies directly, but instead will, in many cases, have different and only partially comparable ontologies and protocols, covering the same or related concepts. Complete semantic interoperability may not always be possible, although substantial improvement can be achieved when ontology mappings enable semantic translation between different representations of concepts based on different ontologies, and the tasks being addressed do not require full translations.

As a result of these considerations and assumptions, our architecture will assume the following general capabilities of agents (both clients and services):

A Staged Roadmap to Semantic Web Service Development and Adoption

Based on our requirements collection, we expect that some aspects of our proposed architecture will be seen as more central to classes of applications than others. In particular, we anticipate that many of the high payoff near-term applications developed will de-emphasize fully automated discovery and focus more on addressing interoperability between clients and services selected by users, or services that are among small collections of candidates. As a result, we believe that semantic mediation and translation will be key near-term issues. Overall, we see the following stages of development and exploitation of semantic web service technologies.


4. Stages of Semantic Web Service Interaction

The process of interacting with a semantic web service (Figure 1) will in general include the stages of:

Overview Figure
Figure 1: Service Interaction Process Overview


5. Service Discovery

Service discovery is the process by which a client, interacting with peers or special purpose middle agents (matchmakers), identifies candidate services to achieve the client's objectives. For web services, this is currently a heavily manual process, in that registries like UDDI [UDDI] are designed to be searched by developers of client systems. In contrast, semantic matchmakers use semantic relations to find services described using Semantic Web languages [Dec97] [Sy99] [DAML-S] [OWL-S] [Pa03] [Ve04] [WSML] [WSMO]. The language the SWSI Architecture committee will use to specify protocols for advertising service capabilities and for agents to discover useful services will be described by the SWSI Language Committee.

Functional Requirements

Architectural Requirements

Protocols to support peer to peer and middle-agent enabled service discovery will include the following.

Abstract Protocols

Advertisement Protocol

Discovery Advertisement Protocol
Figure 2: Service Advertisement Protocol

Discovery Query Protocol

Discovery Query Protocol
Figure 3: Service Advertisement Protocol


6. Service Engagement - Negotiation and Contracting

Service Engagement is the negotiation and contracting process consisting of a sequence of exchanges between parties to establish a formal agreement among them, whereby one or more parties will provide services to one or more other parties. The agreement typically involves QoS issues. There are generally three phases to negotiation: (1) through negotiation with brokers and directory services, potential partners are located, contacted, and engaged, (2) the specifics of services, such as their quality, are negotiated and decided, with the resulting agreement then captured in a formal contract, and (3) negotiation may also be needed during the delivery of a service, to ensure compliance with agreements and resolve any disputes that arise.

Functionality Requirements

Architectural Requirements

Abstract Protocols

Simple Query Protocol

Engagement: Query-Reply Protocol
Figure 4: Engagement: Query-Reply Protocol

Simple Request Protocol

Engagement: Request Protocol
Figure 5: Engagement: Request Protocol

Negotiate-Commitment Protocol

Engagement: Commitment Protocol
Figure 6: Engagement: Negotiate-Commitment Protocol


7. Service Process Enactment and Management

Once a service has been identified that can satisfy a client goal or requirement, it must be invoked and monitored, by determining the information needed to request the service be performed, and determining how to react when the service responds with either success or failure [DA01][Mc02][Eb04].

Functional Requirements

Architectural Requirements

While many of the functional capabilities above must be resident within clients and servers, some may be provided by middle agents. In these cases, standardized protocols may be defined, which would utilize widely shared ontologies.

Abstract Enactment Protocols

Synchronousl

Enactment: Synchronous Protocol
Figure 7: Enactment: Synchronous Protocol

Asynchronous - One Way Protocol

Enactment: One Way Asynchronous Protocol
Figure 8: Enactment: Asynchronous - One Way Protocol

Simple Query Protocol

Enactment: Two Way Asynchronous Protocol
Figure 9: Enactment: Asynchronous - Two Way Protocol


8. Community Support Services

This class of middleware services (architectural requirements) support various aspects of distributed activity that can be supported with semantic web architectures. They represent the following desiderata of Semantic Web services and web services generally:

Functional Requirements

Architectural Requirements


9. Service Lifecycle Support Services

In distributed environments, including web services and the Grid, resources are shared among partners and across communities. The Grid community has begun adapting their approach to resource sharing to align it with and benefit from the increased interoperability provided by web services and to anticipate the additional benefits of Semantic Web services technology [Fo02]. The issues that they have addressed are also important for many other kinds of Semantic Web Services applications.

The lifecycle of a resource is a set of states and transitions between those states. During their lifetime resources can be in a set of stages (e.g., down, starting, up, failed, stopping etc.), and substages (e.g., idle, busy, degraded etc.) during which they may or may not be managed via manageability interfaces of their associated services. (e.g., a failed resource may not respond to some management commands.)

The types of resources that can be shared range from CPU cycles to storage facilities, from databases to software components. This diversity in the types of resources has led to development of "Resource Models" [WSRF][GCRM][CIM] that are the basis for the recently developed ontologies for resources which will provide a common vocabulary for interchanges about controling and managing them [Ta03].

Semantic descriptions of resources will not be sufficient by themselves to support a sustainable resource sharing environment. Resources and the services utilizing them have a lifecycle relationship that also needs to be modeled and taken in to account to achieve dynamic resource sharing. In general, we must model the dependencies and relationships among services that reflect resource sharing, the resource management policies and manageability capabilities that services and resources provide, and the lifecycles (state models) of both resources the web services they interact with.

These ontologies can be used to ask and answer questions or make resource management or resource provisioning decisions such as:

Functional Requirements

Resource management agents acting on behalf of service requestors need to have three types of information to make provisioning decisions: resource and service status information, resource manageability capabilities, and resource provisioning policies. With Semantic Web Services, each of these types of information may be represented and acquired dynamically, and used to control and manage resource sharing among communities of many service users.

Architectural Requirements


10. Cross-cutting Requirements

Two areas other requirement areas that impact the architecture of semantic web services generally are the overarching needs for security and information privacy, and means of expressing and ultimately controlling or monitoring the quality of the services provided. We address these issues here.

Quality of Service

In Web processes for e-commerce and other kinds of GRID and Web service applications, suppliers and customers define a binding agreement or contract between the two parties, by specifying Quality of Service (QoS) metrics [Ca04][Ze03]. Examples of QoS metrics include deadlines, quality of products, and cost of services. The management of QoS metrics is critical to the success of organizations participating in e-commerce. It affects how services are advertised, is a major topic in negotiation processes that precede contract formation and service provision, and can impact how enactment occurs and the type and level of compensation when it does not occur successfully. Therefore, when services or products are created or managed using workflows or Web processes, the underlying discovery, coordination and execution engine must accept the specifications and be able to estimate, monitor, and control the QoS rendered to customers.

Metrics and means of monitoring and adjusting for QoS may, depending on domain and performance requirements, be actively managed for any of the following:

Issues that must be addressed include:

Security, Privacy and Trust

In open, heterogeneous information systems, information assurance, security, trust and privacy are issues of central concern [WSS]. In an architecture promoting dynamic service discovery and semantic interoperability, these issues become more critical and more technically challenging. The richer communications model supported on the Semantic Web also provides opportunities for new kinds of solutions to these problems. We see requirements arising from three kinds of policies.

Functional Requirements

Architectural requirements


References