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.
Similar content being viewed by others
References
Atkinson, C., Kuhne, T.: Model-driven development: a metamodeling foundation. IEEE Softw. 20(5), 36–41 (2003)
Ballinger, K., et al.: Web Services Metadata Exchange (WS-MetadataExchange). http://specs.xmlsoap.org/ws/2004/09/mex/WS-MetadataExchange.pdf (2006)
Benatallah, B., Casati, F., Toumani, F.: Representing, analysing and managing web service protocols. Data Knowl. Eng. 58, 327–357 (2006)
Benslimane, D., Dustdar, S., Sheth, A.: Services mashups: the new generation of web applications. IEEE Internet Comput. 12(5), 13–15 (2008)
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)
Butek, R.: Which style of WSDL should I use? http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ (2003). Visited: 2010-02-03
D’Agostino, R.B., Stephens, M.A. (eds.): Goodness-of-fit Techniques. Marcel Dekker, New York (1986)
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)
Dustdar, S., Schreiner, W.: A survey on web services composition. Int. J. Web Grid Serv. 1(1), 1–30 (2005)
Eclipse Foundation: Model Development Tools (MDT) (2011). http://www.eclipse.org/uml2
Erl, T.: Service-Oriented Architecture. Concepts, Technology, and Design. Prentice Hall, New York (2005)
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)
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)
Foster, I., Kesselman, C.: The Grid 2: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, San Francisco (2003)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
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)
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)
Leitner, P., Rosenberg, F., Dustdar, S.: DAIOS—efficient dynamic Web service invocation. IEEE Internet Comput. 13(3), 72–80 (2009)
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
Maximilien, E., Ranabahu, A., Gomadam, K.: An online platform for Web APIs and service mashups. IEEE Internet Comput. 12(5), 32–43 (2008)
Menasce, D.: Qos issues in web services. IEEE Internet Comput. 6(6), 72–75 (2002)
Newcomer, E., Lomow, G.: Understanding SOA with Web Services. Addison-Wesley Professional, Reading (2004)
Object Management Group: OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2. http://www.omg.org/spec/UML/2.1.2/Superstructure/PDF/
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)
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)
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)
Organization for the Advancement of Structured Information Standards (OASIS): Web Services Resource Framework. http://www.oasis-open.org/committees/wsrf (2006)
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)
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)
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)
Peltz, C.: Web services orchestration and choreography. Computer 36, 46–52 (2003)
Puhlmann, F., Weske, M.: Using the pi-calculus for formalizing workflow patterns. In: Business Process Management, pp. 153–168. (2005)
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)
Strembeck, M., Zdun, U.: An approach for the systematic development of domain-specific languages. Softw. Pract. Exp. 39(15), 1253–1292 (2009)
Sun Microsystems Inc.: JSR-000154 JavaTM Servlet 2.4 Specification. http://jcp.org/aboutJava/communityprocess/final/jsr154/
(W3C), W.W.W.C.: Web Services Conversation Language (WSCL) 1.0. http://www.w3.org/TR/wscl10/ (2002)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Amit Sheth.
Rights and permissions
About this article
Cite this article
Hummer, W., Leitner, P. & Dustdar, S. SEPL—a domain-specific language and execution environment for protocols of stateful Web services. Distrib Parallel Databases 29, 277–307 (2011). https://doi.org/10.1007/s10619-011-7079-6
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10619-011-7079-6