Medley: An Event-Driven Lightweight Platform for Service Composition

  • Elyas Ben Hadj Yahia
  • Laurent Réveillère
  • Yérom-David Bromberg
  • Raphaël Chevalier
  • Alain Cadot
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9671)

Abstract

Distributed applications are evolving at a frantic pace, critically relying on each other to offer a host of new functionalities. The emergence of the service-oriented paradigm has made it possible to build complex applications as a set of self-contained and loosely coupled services that work altogether in concert. However, the traditional vision of Service-Oriented Architectures (SOA) based on web service specifications does not meet the trend of many major service providers. Instead, they promote microservices, a refinement of SOA focusing on lightweight communication mechanisms such as HTTP. Therefore, existing approaches for orchestrating the composition of various services become unusable in practice.

In this paper, we introduce Medley, an event-driven lightweight platform for service composition. Medley is based on a domain-specific language for describing orchestration and a compiler that produces efficient code. We have used Medley to develop various compositions, involving a large number of existing services. Our evaluation shows that it scales both on a mainstream server and an embedded device while consuming a reasonable amount of resources.

Keywords

Web composition Domain-specific languages Services orchestration Event-driven programming Microservices 

References

  1. 1.
    Alonso, G., Casati, F., Kuno, H., Machiraju, V.: Web Services: Concepts, Architectures and Applications. Data-Centric Systems and Applications. Springer, Heidelberg (2004)CrossRefMATHGoogle Scholar
  2. 2.
    Biswas, P., Patwa, F., Sandhu, R.: Content level access control for openstack swift storage. In: Proceedings of the 5th ACM Conference on Data and Application Security and Privacy, pp. 123–126. ACM (2015)Google Scholar
  3. 3.
    Bonetta, D., Peternier, A., Pautasso, C., Binder, W.: S: a scripting language for high-performance RESTful web services. ACM SIGPLAN Not. 47(8), 97–106 (2012)CrossRefGoogle Scholar
  4. 4.
    Christensen, E., Curbera, F., Meredith, G., Weerawarana, S., et al.: Web services description language (WSDL) 1.1 (2001)Google Scholar
  5. 5.
    Curbera, F., Duftler, M., Khalaf, R., Lovell, D.: Bite: workflow composition for the web. In: Krämer, B.J., Lin, K.-J., Narasimhan, P. (eds.) ICSOC 2007. LNCS, vol. 4749, pp. 94–106. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    Ferrara, A.: Web services: a process algebra approach. In: Proceedings of the 2nd International Conference on Service Oriented Computing, pp. 242–251. ACM (2004)Google Scholar
  7. 7.
    Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis, University of California, Irvine (2000)Google Scholar
  8. 8.
    Foster, H., Uchitel, S., Magee, J., Kramer, J.: Tool support for model-based engineering of web service compositions. In: Proceedings of the 2005 IEEE International Conference on Web Services, ICWS 2005, pp. 95–102. IEEE (2005)Google Scholar
  9. 9.
    Franks, J., Hallam-Baker, P., Hostetler, J., Lawrence, S., Leach, P., Luotonen, A., Stewart, L.: Rfc 2617: Http authentication: Basic and digest access authentication (1999). https://tools.ietf.org/html/rfc2617
  10. 10.
    Fuchs, A., Gürgens, S.: Preserving confidentiality in component compositions. In: Binder, W., Bodden, E., Löwe, W. (eds.) SC 2013. LNCS, vol. 8088, pp. 33–48. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  11. 11.
    Hadley, M.J.: Web application description language (wadl) (2006)Google Scholar
  12. 12.
    JSONPath. http://goessner.net/articles/JsonPath/. Accessed 05 September 2015
  13. 13.
    Klusch, M., Gerber, A.: Fast composition planning of owl-s services and application. In: 4th European Conference on Web Services, ECOWS 2006, pp. 181–190. IEEE (2006)Google Scholar
  14. 14.
    Magee, J., Kramer, J., Giannakopoulou, D.: Behaviour analysis of software architectures. In: Donohoe, P. (ed.) Software Architecture. IFIP, vol. 12, pp. 35–49. Springer, New York (1999)CrossRefGoogle Scholar
  15. 15.
    Maximilien, E.M., Wilkinson, H., Desai, N., Tai, S.: A domain-specific language for web APIs and services mashups. In: Krämer, B.J., Lin, K.-J., Narasimhan, P. (eds.) ICSOC 2007. LNCS, vol. 4749, pp. 13–26. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  16. 16.
    Mayer, S., Inhelder, N., Verborgh, R., Van de Walle, R., Mattern, F.: Configuration of smart environments made simple: combining visual modeling with semantic metadata and reasoning. In: 2014 International Conference on the Internet of Things (IOT), pp. 61–66. IEEE (2014)Google Scholar
  17. 17.
    Morrison, J.P.: Flow-Based Programming: A new approach to application development. CreateSpace (2010)Google Scholar
  18. 18.
    Na, S.H., Park, J.Y., Huh, E.N.: Personal cloud computing security framework. In: 2010 IEEE Asia-Pacific Services Computing Conference (APSCC), pp. 671–675. IEEE (2010)Google Scholar
  19. 19.
    Newman, S.: Building Microservices: Designing Fine-Grained Systems, 1st edn. O’Reilly Media, Sebastopol (2015)Google Scholar
  20. 20.
    OASIS: Web services business execution language version 2.0 (2007)Google Scholar
  21. 21.
    OpenAPI. https://openapis.org/. Accessed 14 January 2016
  22. 22.
    Pautasso, C.: BPEL for REST. In: Dumas, M., Reichert, M., Shan, M.-C. (eds.) BPM 2008. LNCS, vol. 5240, pp. 278–293. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  23. 23.
    Pautasso, C.: On composing RESTful services. Software Service Engineering (09021) (2009)Google Scholar
  24. 24.
    Pautasso, C.: RESTful web service composition with BPEL for REST. Data Knowl. Eng. 68(9), 851–866 (2009)CrossRefGoogle Scholar
  25. 25.
    Pautasso, C., Alonso, G.: Flexible binding for reusable composition of web services. In: Gschwind, T., Aßmann, U., Wang, J. (eds.) SC 2005. LNCS, vol. 3628, pp. 151–166. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  26. 26.
    RAML. http://raml.org/. Accessed 05 September 2015
  27. 27.
    Rosenberg, F., Curbera, F., Duftler, M.J., Khalaf, R.: Composing restful services and collaborative workflows: a lightweight approach. IEEE Internet Comput. 12(5), 24–31 (2008)CrossRefGoogle Scholar
  28. 28.
    Sheng, Q.Z., Qiao, X., Vasilakos, A.V., Szabo, C., Bourne, S., Xu, X.: Web services composition: a decade’s overview. Inf. Sci. 280, 218–238 (2014)CrossRefGoogle Scholar
  29. 29.
    Swagger. http://swagger.io/. Accessed 05 September 2015
  30. 30.
    Urpalainen, J.: An Extensible Markup Language (XML) Patch Operations Framework Utilizing XML Path Language (XPath) Selectors (2008)Google Scholar
  31. 31.
    Zhao, H., Doshi, P.: Towards automated restful web service composition. In: IEEE International Conference on Web Services, ICWS 2009, pp. 189–196. IEEE (2009)Google Scholar
  32. 32.
    Zur Muehlen, M., Nickerson, J.V., Swenson, K.D.: Developing web services choreography standards—the case of rest vs. soap. Decis. Support Syst. 40(1), 9–29 (2005)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Elyas Ben Hadj Yahia
    • 1
    • 3
  • Laurent Réveillère
    • 1
  • Yérom-David Bromberg
    • 2
  • Raphaël Chevalier
    • 3
  • Alain Cadot
    • 3
  1. 1.LaBRIUniversité de BordeauxTalenceFrance
  2. 2.IRISAUniversité de RennesRennesFrance
  3. 3.CProDirectMérignacFrance

Personalised recommendations