skip to main content
research-article

Control-Flow Patterns for Decentralized RESTful Service Composition

Published:01 December 2013Publication History
Skip Abstract Section

Abstract

The REST architectural style has attracted a lot of interest from industry due to the nonfunctional properties it contributes to Web-based solutions. SOAP/WSDL-based services, on the other hand, provide tools and methodologies that allow the design and development of software supporting complex service arrangements, enabling complex business processes which make use of well-known control-flow patterns. It is not clear if and how such patterns should be modeled, considering RESTful Web services that comply with the statelessness, uniform interface and hypermedia constraints. In this article, we analyze a set of fundamental control-flow patterns in the context of stateless compositions of RESTful services. We propose a means of enabling their implementation using the HTTP protocol and discuss the impact of our design choices according to key REST architectural principles. We hope to shed new light on the design of basic building blocks for RESTful business processes.

References

  1. Alarcón, R. and Wilde, E. 2010. RESTler: Crawling RESTful services. In Proceedings of the 19th International Conference on World Wide Web (WWW’10). ACM, New York, NY, 1051--1052. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Alarcón, R., Wilde, E., and Bellido, J. 2010. Hypermedia-driven RESTful service composition. In Proceedings of the 6th Workshop on Engineering Service-Oriented Applications (WESOA’10). Lecture Notes in Computer Science, vol. 6568, Springer, Berlin, Heidelberg, 111--120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Alrifai, M. and Risse, T. 2009. Combining global optimization with local selection for efficient QoS-aware service composition. In Proceedings of the 18th International Conference on World Wide Web (WWW’09). ACM, New York, NY, 881--890. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Alrifai, M., Risse, T., and Nejdl, W. 2012. A hybrid approach for efficient Web service composition with end-to-end QoS constraints. Trans. Web 6, 2, 7:1--7:31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Beckett, D. and McBride, B. 2004. RDF/XML syntax specification (revised). http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/.Google ScholarGoogle Scholar
  6. Bellido, J., Alarcon, R., and Sepulveda, C. 2011. Web linking-based protocols for guiding RESTful M2M interaction. In Proceedings of the 3rd International Workshop on Lightweight Composition on the Web (ComposableWeb’11). Lecture Notes in Computer Science, vol. 7059, Springer, Berlin, Heidelberg, 74--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Benatallah, B., Sheng, Q. Z., and Dumas, M. 2003. The self-serv environment for Web services composition. IEEE Int. Comput. 7, 40--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Canfora, G., Di Penta, M., Esposito, R., and Villani, M. L. 2005. QoS-aware replanning of composite Web services. In Proceedings of the IEEE International Conference on Web Services (ICWS’05). IEEE Computer Society, 121--129. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cardoso, J., Sheth, A., Miller, J., Arnold, J., and Kochut, K. 2004. Quality of service for workflows and Web service processes. Web Semantics: Sci. Serv. Agents WWW 1, 3, 281--308.Google ScholarGoogle ScholarCross RefCross Ref
  10. Chinnici, R., Moreau, J., Ryman, A., and Weerawarana, S. 2009. Web services description language (WSDL) version 2.0, part 1: Core language, W3C recommendation, 16 June 2007.Google ScholarGoogle Scholar
  11. Dayal, U., Hsu, M., and Ladin, R. 2001. Business process coordination: State of the art, trends, and open issues. In Proceedings of the 27th International Conference on Very Large Data Bases (VLDB’01), P. M. G. Apers, P. Atzeni, S. Ceri, S. Paraboschi, K. Ramamohanarao, and R. T. Snodgrass Eds., Morgan Kaufmann, San Francisco, CA, 3--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Decker, G., Lüders, A., Overdick, H., Schlichting, K., and Weske, M. 2009. RESTful petri net execution. In Proceedings of the International Workshop on Web Services and Formal Methods, R. Bruni and K. Wolf Eds., Lecture Notes in Computer Science, vol. 5387, Springer-Verlag, Berlin, Heidelberg, 73--87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Fielding, R. T. 2000. Architectural styles and the design of network-based software architectures. Ph.D. dissertation, University of California, Irvine. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Fielding, R. T., Gettys, J., Mogul, J. C., Frystyk Nielsen, H., Masinter, L., Leach, P. J., and Berners-Lee, T. 1999. Hypertext transfer protocol --- HTTP/1.1. Internet RFC 2616. http://www.w3.org/Protocols/rfc2616/rfc2616.html. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Hadley, M. 2009. Web application description language (WADL). World Wide Web Consortium, Member Submission SUBM-wadl-20090831.Google ScholarGoogle Scholar
  16. Halili, E. H. 2008. Apache JMeter: A Practical Beginner’s Guide to Automated Testing and Performance Measurement for Your Websites. Packt Publishing Ltd, Birmingham, U.K. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Hamadi, R. and Benatallah, B. 2003. A petri net-based model for Web service composition. In Proceedings of the 14th Australasian Database Conference (ADC’03), K.-D. Schewe and X. Zhou Eds., Conferences in Research and Practice in Information Technology, vol. 17. ACS, Adelaide, Australia, 191--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. He, J., Zhang, Y., Huang, G., and Cao, J. 2012. A smart Web service based on the context of things. ACM Trans. Internet Technol. (TOIT) 11, 3, 13:1--13:23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Hernández, A. G. and García, M. N. M. 2010. A formal definition of restful semantic Web services. In Proceedings of the 1st International Workshop on RESTful Design (WS-REST’10), C. Pautasso, E. Wilde, and A. Marinos Eds., ACM, New York, NY, 39--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Mitra, N. and Lafon, Y. 2010. SOAP version 1.2 part 0: Primer. W3C Recommendation. http://www.W3C.org/TR/soap1/part0/. 27 April 2007.Google ScholarGoogle Scholar
  21. Narayanan, S., Marucheck, A. S., and Handfield, R. B. 2009. Electronic data interchange: Research review and future directions. Decision Sci. 40, 1, 121--163.Google ScholarGoogle ScholarCross RefCross Ref
  22. Nierstrasz, O. and Meijler, T. D. 1995. Requirements for a composition language. In Object-Based Models and Languages for Concurrent Systems. Lecture Notes in Computer Science, vol. 924, Springer, Berlin Heidelberg, 147--161. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Nottingham, M. 2010. Web linking. Internet RFC 5988. http://www.ietf.org/rfc/rfc5988.txt.Google ScholarGoogle Scholar
  24. Oreizy, P. 2000. Open architecture software: A flexible approach to decentralized software evolution. Ph.D. dissertation, University of California, Irvine. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Pautasso, C. 2009a. Composing RESTful services with JOpera. In Proceedings of the 8th International Symposium on Software Composition, A. Bergel and J. Fabry Eds., Lecture Notes in Computer Science, vol. 5634. Springer-Verlag, Berlin, Heidelberg, 142--159. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Pautasso, C. 2009b. On composing RESTful services. In Software Service Engineering, F. Leymann, T. Shan, W.-J. van den Heuvel, and O. Zimmermann Eds., Number 09021 in Dagstuhl Seminar Proceedings. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany.Google ScholarGoogle Scholar
  27. Pautasso, C. 2009c. RESTful Web service composition with BPEL for REST. Data Knowl. Eng. 68, 9, 851--866. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Pautasso, C. and Wilde, E. 2009. Why is the Web loosely coupled?: A multi-faceted metric for service design. In Proceedings of the 18th International Conference on World Wide Web (WWW’09). ACM, New York, NY, 911--920. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Peltz, C. 2003. Web services orchestration and choreography. Computer 36, 10, 46--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Richardson, L. and Ruby, S. 2007. RESTful Web Services. O’Reilly & Associates, Sebastopol, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Rosenberg, F., Curbera, F., Duftler, M. J., and Khalaf, R. 2008. Composing RESTful services and collaborative workflows: A lightweight approach. IEEE Internet Comput. 12, 5, 24--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Russell, N., ter Hofstede, A. H. M., van der Aalst, W. M. P., and Mulyar, N. 2006. Workflow control-flow patterns: A revised view. Tech. rep. BPM-06-22. BPMcenter.org.Google ScholarGoogle Scholar
  33. Taylor, R. N., Medvidovic, N., and Dashofy, E. M. 2009. Software Architecture: Foundations, Theory, and Practice 1st Ed. John Wiley & Sons, Hoboken, NJ. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. van der Aalst, W. M. P., ter Hofstede, A. H. M., Kiepuszewski, B., and Barros, A. P. 2003. Workflow patterns. Distrib. Parallel Datab. 14, 1, 5--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Verborgh, R., Steiner, T., Van Deursen, D., Coppens, S., Vallés, J. G., and Van de Walle, R. 2012. Functional descriptions as the bridge between hypermedia APIs and the Semantic Web. In Proceedings of the 3rd International Workshop on RESTful Design (WS-REST’12). ACM, New York, NY, 33--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Zeng, L., Benatallah, B., Ngu, A. H. H., Dumas, M., Kalagnanam, J., and Chang, H. 2004. QoS-aware middleware for Web services composition. IEEE Trans. Softw. Eng. 30, 5, 311--327. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Zhao, X., Liu, E., and Clapworthy, G. 2011. A two-stage restful Web service composition method based on linear logic. In Proceedings of the 9th IEEE European Conference on Web Services (ECOWS). IEEE Computer Society, 39--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Zuzak, I., Budiselic, I., and Delac, G. 2011. A finite-state machine approach for modeling and analyzing RESTful systems. Web Eng. 10, 4, 353--390. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Control-Flow Patterns for Decentralized RESTful Service Composition

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!