Service Oriented Computing and Applications

, Volume 8, Issue 4, pp 277–297 | Cite as

Orchestrating web services using Reo: from circuits and behaviors to automatically generated code

  • Sung-Shik T. Q. JongmansEmail author
  • Francesco Santini
  • Mahdi Sargolzaei
  • Farhad Arbab
  • Hamideh Afsarmanesh
Special Issue Paper


We present a compositional construction of web services, using Reo and constraint automata as the main “glue” ingredients. Reo is a graphical and exogenous coordination language based on channels. We propose a framework that, taking as input the behavioral description of services (as constraint automata), their WSDL interfaces, and the description of their interaction in Reo, generates all the necessary Java code to orchestrate the services in practice. For each web service, we automatically generate a proxy that manages the communication between this service and the Reo circuit. Although we focus on web services, we can compose different kinds of service-oriented and component technologies at the same time (e.g., CORBA, RPC, WCF), by generating different proxies and connecting them to the same coordinator.


Web service composition Orchestration  Reo coordination language Code generation 


  1. 1.
    Arbab F (2004) Reo: a channel-based coordination model for component composition. Math Struct Comput Sci 14(3):329–366. doi: 10.1017/S0960129504004153 CrossRefzbMATHMathSciNetGoogle Scholar
  2. 2.
    Arbab F (2006) Composition of interacting computations. In: Goldin D, Smolka S, Wegner P (eds) Interactive computation, pp 277–321. Springer, Berlin. doi: 10.1007/3-540-34874-3_12
  3. 3.
    Arbab F (2011) Puff, the magic protocol. In: Agha G, Danvy O, Meseguer J (eds) Talcott Festschrift, LNCS, vol 7000, pp 169–206. Springer, Berlin. doi: 10.1007/978-3-642-24933-4_9
  4. 4.
    Arbab F, Santini F (2013) Preference and similarity-based behavioral discovery of services. In: ter Beek M, Lohmann N (eds) Proceedings of WS-FM 2012, LNCS, vol 7843, pp 118–133. Springer, Berlin. doi: 10.1007/978-3-642-38230-7_8
  5. 5.
    Baier C, Blechmann T, Klein J, Klüppelholz S (2009) A uniform framework for modeling and verifying components and connectors. In: Field J, Vasconcelos V (eds) Proceedings of COORDINATION 2009, LNCS, vol 5521, pp 247–267. Springer, Berlin. doi: 10.1007/978-3-642-02053-7_13
  6. 6.
    Baier C, Sirjani M, Arbab F, Rutten J (2006) Modeling component connectors in Reo by constraint automata. Sci Comput Program 61(2):75–113. doi: 10.1016/j.scico.2005.10.008 CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    ter Beek M, Bucchiarone A, Gnesi S (2007) Web service composition approaches: from industrial standards to formal methods. In: Galizia S, Emig C, Martens A, Roman D, Wombacher A (eds) Proceedings of ICIW 2007, pp 224–233. IEEE doi: 10.1109/ICIW.2007.71
  8. 8.
    Blechmann T, Klein J, Klüppelholz S Vereofy V1.1—user manual. Technical University of DresdenGoogle Scholar
  9. 9.
    Boreale M, Bruni R, de Nicola R, Loreti M (2008) Sessions and pipelines for structured service programming. In: Barthe G, de Boer F (eds) Proceedings of FMOODS 2008, LNCS, vol 5051, pp 19–38. Springer, Berlin. doi: 10.1007/978-3-540-68863-1_3
  10. 10.
    Büchi R (1962) Symposium on decision problems: on a decision method in restricted second order arithmetic. Stud Logic Found Math 44:1–11. doi: 10.1016/S0049-237X(09)70564-6 CrossRefGoogle Scholar
  11. 11.
    Cesari L, Pugliese R, Tiezzi F (2010) A tool for rapid development of WS-BPEL applications. ACM SIGAPP Appl Comput Rev 11(1):27–40. doi: 10.1145/1869687.1869690 CrossRefGoogle Scholar
  12. 12.
    Changizi B (2014) Model based analysis of business process models. Ph.D. Thesis, Leiden University (2014, expected). (in preparation)Google Scholar
  13. 13.
    Changizi B, Kokash N, Arbab F (2010) A unified toolset for business process model formalization. In: Preproceedings of FESCA 2010Google Scholar
  14. 14.
    Decker G, Kopp O, Leymann F, Pfitzner K, Weske M (2008) Modeling service choreographies using BPMN and BPEL4Chor. In: Bellahsène Z, Léonard M (eds) Proceedings of CAiSE 2008, LNCS, vol 5074, pp 79–93. Springer, Berlin. doi: 10.1007/978-3-540-69534-9_6
  15. 15.
    Fielding R (2000) Architectural styles and the design of network-based software architectures. PhD Thesis, University of California, IrvineGoogle Scholar
  16. 16.
    Hull R, Benedikt M, Christophides V, Su J (2003) E-services: a look behind the curtain. In: Beeri C, Milo T, Neven F (eds) Proceedings of PODS 2003, pp 1–14. ACM. doi: 10.1145/773153.773154
  17. 17.
    Izadi M (2011) Model checking of component connectors. Ph.D. thesis, Leiden University
  18. 18.
    Jongmans SS, Arbab F (2012) Overview of thirty semantic formalisms for Reo. Sci Ann Comput Sci 22(1):201–251. doi: 10.7561/SACS.2012.1.201 CrossRefMathSciNetGoogle Scholar
  19. 19.
    Jongmans SS, Arbab F (2013) Global consensus through local synchronization. In: Canal C, Villari M (eds) Proceedings of FOCLASA 2013, CCIS, vol 393, pp 174–188. SpringerGoogle Scholar
  20. 20.
    Jongmans SS, Arbab F (2013) Modularizing and specifying protocols among threads. In: Gay S, Kelly P (eds) Proceedings of PLACES 2012, EPTCS, vol 109, pp 34–45. CoRR. doi: 10.4204/EPTCS.109.6
  21. 21.
    Jongmans SS, Clarke D, Proença J (2012) A procedure for splitting processes and its application to coordination. In: Kokash N, Ravara A (eds) Proceedings of FOCLASA 2012, EPTCS, vol 91, pp 79–96. CoRR. doi: 10.4204/EPTCS.91.6
  22. 22.
    Kokash N, Krause C, de Vink E (2012) Reo+mCRL2: a framework for model-checking dataflow in service compositions. Formal Aspects Comput 24(2):187–216. doi: 10.1007/s00165-011-0191-6 CrossRefzbMATHGoogle Scholar
  23. 23.
    Meng S, Arbab F (2007) Web services choreography and orchestration in Reo and constraint automata. In: Ricci A, Angerer B, Schumacher M (eds) Proceedings of SAC 2007, pp 346–353. ACM. doi: 10.1145/1244002.1244085
  24. 24.
    Meng S (2009) Arbab F QoS-driven service selection and composition using quantitative constraint automata. Fundamenta Informaticae 95(1):103–128. doi: 10.3233/FI-2009-144 zbMATHMathSciNetGoogle Scholar
  25. 25.
    Meng S, Arbab F (2010) A model for web service coordination in long-running transactions. In: Bai X, Li Y (eds) Proceedings of SOSE 2010, pp 121–128. IEEE. doi: 10.1109/SOSE.2010.51
  26. 26.
    Montesi F, Guidi C, Lucchi R, Zavattaro G (2007) JOLIE: a java orchestration language interpreter engine. In: Boella G, Dastani M, Omicini A, van der Torre L (eds) Proceedings of CoOrg 2006, ENTCS, vol 181, pp 19–33. Elsevier, Amsterdam. doi: 10.1016/j.entcs.2007.01.051
  27. 27.
    Parr T (2004) Enforcing strict model-view separation in template engines. In: Feldman S, Uretsky M, Najork M, Wills C (eds) Proceedings of WWW 2004, pp 224–233. ACM. doi: 10.1145/988672.988703
  28. 28.
    Pautasso C (2009) RESTful web service composition with BPEL for REST. Data Knowl Eng 68(9):851–866. doi: 10.1016/j.datak.2009.02.016 Google Scholar
  29. 29.
    Peltz C (2003) Web services orchestration and choreography. Computer 36(10):46–52. doi: 10.1109/MC.2003.1236471 CrossRefGoogle Scholar
  30. 30.
    Proença J, Clarke D, Vink, de, E, Arbab F (2011) Decoupled execution of synchronous coordination models via behavioural automata. In: Mousavi MR, Ravara A (eds) Proceedings of FOCLASA 2011, EPTCS, vol 58, pp 65–79. CoRR. doi: 10.4204/EPTCS.58.5
  31. 31.
    Sargolzaei M, Santini F, Arbab F, Afsarmanesh H (2013) A tool for behaviour-based discovery of approximately matching web services. In: Hierons R, Merayo M, Bravetti M (eds) Proceedings of SEFM 2013, LNCS, vol 8137, pp 152–166. Springer, Berlin. doi: 10.1007/978-3-642-40561-7_11
  32. 32.
    Simple Object Access Protocol (2000)
  33. 33.
    Talcott C, Sirjani M (2011) Ren S comparing three coordination models: Reo, ARC, and PBRD. Sci Comput Program 76(1):3–22. doi: 10.1016/j.scico.2009.11.006 CrossRefzbMATHGoogle Scholar
  34. 34.
    Vajjhala S, Fialli J (2006) The java architecture for XML binding (JAXB) 2.0Google Scholar
  35. 35.
    Web services business process execution language (2007)
  36. 36.
    Web Service Description Language (2001)
  37. 37.
    Web Service Choreography Interface (2002)
  38. 38.
    Web Services Choreography Description Language (2005)
  39. 39.
    Zhang J, Chung JY, Chang C, Kim S (2004) WS-Net: a petri-net based specification model for web services. In: Zhang LJ, Jain H, Liu L (eds) Proceedings of ICWS 2004, pp 420–427. IEEE. doi: 10.1109/ICWS.2004.1314766

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  • Sung-Shik T. Q. Jongmans
    • 1
    Email author
  • Francesco Santini
    • 1
  • Mahdi Sargolzaei
    • 2
  • Farhad Arbab
    • 1
  • Hamideh Afsarmanesh
    • 2
  1. 1.Centrum Wiskunde and InformaticaAmsterdamThe Netherlands
  2. 2.University of AmsterdamAmsterdamThe Netherlands

Personalised recommendations