Expressing and Reasoning about Service Contracts in Service-Oriented Computing

  • Authors:
  • Dean Kuo;Alan Fekete;Paul Greenfield;Surya Nepal;John Zic;Savas Parastatidis;Jim Webber

  • Affiliations:
  • University Of Manchester UK;University of Sydney Australia;University of Sydney Australia;CSIRO ICT Centre Australia;CSIRO ICT Centre Australia;University of Newcastle UK;ThoughtWorks Australia Pty. Ltd

  • Venue:
  • ICWS '06 Proceedings of the IEEE International Conference on Web Services
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The Web Services and Service-Oriented Architectures (SOA) vision [6] is about building large-scale distributed applications by composing coarse-grained autonomous services in a flexible architecture that can adapt to changing business requirements. These services interact by exchanging one-way messages through standardised message processing and transport protocols. This vision is being driven by economic imperatives for integration and automation across administrative and organisational boundaries. Service contracts play a critical role in SOA. They describe the functionality a service exposes to other services on the network. A contract defines the outgoing and incoming messages the service can send and receive, and the order in which they are sent and received (messaging behaviour). It provides developers and tools with the metadata to compose services into service-oriented applications. This paper presents a concise yet expressive model for service contracts to describe messaging behaviour. The idea is simple: we use Boolean conditions to specify when a message can be sent and received, where the conditions refer only to other messages in the service contract that is, conditions only refer to a service's externalised messaging state and not to internal state.