SEPL--a domain-specific language and execution environment for protocols of stateful Web services

  • Authors:
  • Waldemar Hummer;Philipp Leitner;Schahram Dustdar

  • Affiliations:
  • Distributed Systems Group, Vienna University of Technology, Vienna, Austria 1040;Distributed Systems Group, Vienna University of Technology, Vienna, Austria 1040;Distributed Systems Group, Vienna University of Technology, Vienna, Austria 1040

  • Venue:
  • Distributed and Parallel Databases
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

In order to interact with stateful Web services, clients need to obtain information about the intra-service protocol, which contains valid operation sequences and the expected input-output transformation across invocations. While the community has widely agreed on WSDL as the standard for functional service description (the "static" service interface), there is still an evident lack of languages to describe the dynamic, behavioral interface of services. In this paper we introduce SEPL (SErvice Protocol Language), a domain-specific language (DSL) for defining executable intra-service protocols. Notable features of the DSL include support for WS-Addressing and simple creation of new Web service instances, synchronous and asynchronous service invocation facilities and easy access to WSRF-style service resource properties. Service providers use SEPL to define the procedure that clients must adhere to in order to achieve a certain higher-level functionality. Clients use the combined information of the SEPL document and the WSDL definitions to execute an intra-service protocol. We provide a graphical representation of SEPL the form of UML Activity Diagrams, and tools to generate executable code from these models. We further present a solution to host and execute SEPL protocols in a server application based on Web services technology.