Distributed and Parallel Databases

, Volume 29, Issue 4, pp 277–307 | Cite as

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

  • Waldemar Hummer
  • Philipp Leitner
  • Schahram Dustdar
Article

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.

Keywords

Web services Intra-service protocol Stateful Web services Domain-specific language Service Protocol Language SEPL 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Atkinson, C., Kuhne, T.: Model-driven development: a metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003) CrossRefGoogle Scholar
  2. 2.
    Ballinger, K., et al.: Web Services Metadata Exchange (WS-MetadataExchange). http://specs.xmlsoap.org/ws/2004/09/mex/WS-MetadataExchange.pdf (2006)
  3. 3.
    Benatallah, B., Casati, F., Toumani, F.: Representing, analysing and managing web service protocols. Data Knowl. Eng. 58, 327–357 (2006) CrossRefGoogle Scholar
  4. 4.
    Benslimane, D., Dustdar, S., Sheth, A.: Services mashups: the new generation of web applications. IEEE Internet Comput. 12(5), 13–15 (2008) CrossRefGoogle Scholar
  5. 5.
    Beran, P.P., Habel, G., Schikuta, E.: SODA a distributed data management framework for the Internet of services. In: GCC ’08: Proceedings of the 2008 Seventh International Conference on Grid and Cooperative Computing, pp. 292–300. IEEE Computer Society, Washington (2008) CrossRefGoogle Scholar
  6. 6.
    Butek, R.: Which style of WSDL should I use? http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ (2003). Visited: 2010-02-03
  7. 7.
    D’Agostino, R.B., Stephens, M.A. (eds.): Goodness-of-fit Techniques. Marcel Dekker, New York (1986) MATHGoogle Scholar
  8. 8.
    Dörnemann, T., Friese, T., Herdt, S., Juhnke, E., Freisleben, B.: Grid workflow modelling using grid-specific BPEL extensions. In: Proceedings of German e-Science Conference 2007, pp. 1–9 (2007) Google Scholar
  9. 9.
    Dustdar, S., Schreiner, W.: A survey on web services composition. Int. J. Web Grid Serv. 1(1), 1–30 (2005) CrossRefGoogle Scholar
  10. 10.
    Eclipse Foundation: Model Development Tools (MDT) (2011). http://www.eclipse.org/uml2
  11. 11.
    Erl, T.: Service-Oriented Architecture. Concepts, Technology, and Design. Prentice Hall, New York (2005) Google Scholar
  12. 12.
    Ezenwoye, O., Sadjadi, S.M., Cary, A., Robinson, M.: Grid service composition in BPEL for scientific applications. In: OTM Conferences (2), pp. 1304–1312 (2007) Google Scholar
  13. 13.
    Florescu, D., Grünhagen, A., Kossmann, D.: XL: an XML programming language for Web service specification and composition. Comput. Netw. 42(5), 641–660 (2003) MATHCrossRefGoogle Scholar
  14. 14.
    Foster, I., Kesselman, C.: The Grid 2: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, San Francisco (2003) Google Scholar
  15. 15.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995) Google Scholar
  16. 16.
    Gao, Z., Luo, S., Lin, Y., Ding, D.: A grid-based integration model of heterogeneous database systems. In: Proceedings of the International Conference on Information Technology and Computer Science, pp. 126–129. IEEE Computer Society, Washington (2009) CrossRefGoogle Scholar
  17. 17.
    Hamadi, R., Benatallah, B.: A Petri net-based model for web service composition. In: ADC ’03: Proceedings of the 14th Australasian database conference, pp. 191–200. Australian Computer Society, Darlinghurst (2003) Google Scholar
  18. 18.
    Leitner, P., Rosenberg, F., Dustdar, S.: DAIOS—efficient dynamic Web service invocation. IEEE Internet Comput. 13(3), 72–80 (2009) CrossRefGoogle Scholar
  19. 19.
    Lowry, R.: t-Test for the significance of the difference between the means of two independent samples. http://faculty.vassar.edu/lowry/ch11pt1.html. Visited: 2010-03-05
  20. 20.
    Maximilien, E., Ranabahu, A., Gomadam, K.: An online platform for Web APIs and service mashups. IEEE Internet Comput. 12(5), 32–43 (2008) CrossRefGoogle Scholar
  21. 21.
    Menasce, D.: Qos issues in web services. IEEE Internet Comput. 6(6), 72–75 (2002) CrossRefGoogle Scholar
  22. 22.
    Newcomer, E., Lomow, G.: Understanding SOA with Web Services. Addison-Wesley Professional, Reading (2004) Google Scholar
  23. 23.
    Object Management Group: OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2. http://www.omg.org/spec/UML/2.1.2/Superstructure/PDF/
  24. 24.
    Object Management Group: MOF 2.0/XMI Mapping, Version 2.1.1. http://www.omg.org/cgi-bin/apps/doc?formal/07-12-01.pdf (2007)
  25. 25.
    Organization for the Advancement of Structured Information Standards (OASIS): Web Services Base Notification 1.3 (WS-BaseNotification). http://docs.oasis-open.org/wsn/wsn-ws_base_notification-1.3-spec-os.pdf (2006)
  26. 26.
    Organization for the Advancement of Structured Information Standards (OASIS): Web Services Business Process Execution Language Version 2.0. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html (2006)
  27. 27.
    Organization for the Advancement of Structured Information Standards (OASIS): Web Services Resource Framework. http://www.oasis-open.org/committees/wsrf (2006)
  28. 28.
    Organization for the Advancement of Structured Information Standards (OASIS): Web Services Resource Properties 1.2 (WS-ResourceProperties). http://docs.oasis-open.org/wsrf/wsrf-ws_resource_properties-1.2-spec-os.pdf (2006)
  29. 29.
    Papazoglou, M.P., Traverso, P., Dustdar, S., Leymann, F.: Service-oriented computing: state of the art and research challenges. Computer 40(11), 38–45 (2007) CrossRefGoogle Scholar
  30. 30.
    Parastatidis, S., Woodman, S., Webber, J., Kuo, D., Greenfield, P.: Asynchronous messaging between Web services using SSDL. IEEE Internet Comput. 10(1), 26–39 (2006) CrossRefGoogle Scholar
  31. 31.
    Peltz, C.: Web services orchestration and choreography. Computer 36, 46–52 (2003) CrossRefGoogle Scholar
  32. 32.
    Puhlmann, F., Weske, M.: Using the pi-calculus for formalizing workflow patterns. In: Business Process Management, pp. 153–168. (2005) CrossRefGoogle Scholar
  33. 33.
    Ryu, S.H., Saint-Paul, R., Benatallah, B., Casati, F.: A framework for managing the evolution of business protocols in Web services. In: Proceedings of the Fourth Asia-Pacific Conference on Conceptual Modelling (APCCM’07), pp. 49–59 (2007) Google Scholar
  34. 34.
    Strembeck, M., Zdun, U.: An approach for the systematic development of domain-specific languages. Softw. Pract. Exp. 39(15), 1253–1292 (2009) CrossRefGoogle Scholar
  35. 35.
    Sun Microsystems Inc.: JSR-000154 JavaTM Servlet 2.4 Specification. http://jcp.org/aboutJava/communityprocess/final/jsr154/
  36. 36.
    (W3C), W.W.W.C.: Web Services Conversation Language (WSCL) 1.0. http://www.w3.org/TR/wscl10/ (2002)
  37. 37.
    Zhang, J., Chang, C.K., Chung, J.Y., Kim, S.W.: WS-Net: a Petri-net based specification model for Web services. In: Proceedings of the IEEE International Conference on Web Services (ICWS) (2004) Google Scholar
  38. 38.
    Zhu, F., Turner, M., Kotsiopoulos, I., Bennett, K., Russell, M., Budgen, D., Brereton, P., Keane, J., Layzell, P., Rigby, M., Xu, J.: Dynamic data integration using web services. In: ICWS ’04: Proceedings of the IEEE International Conference on Web Services, p. 262. IEEE Computer Society, Washington (2004) Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Waldemar Hummer
    • 1
  • Philipp Leitner
    • 1
  • Schahram Dustdar
    • 1
  1. 1.Distributed Systems GroupVienna University of TechnologyViennaAustria

Personalised recommendations