Automatic Code Generation for the Orchestration of Web Services with Reo

  • Sung-Shik T. Q. Jongmans
  • Francesco Santini
  • Mahdi Sargolzaei
  • Farhad Arbab
  • Hamideh Afsarmanesh
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7592)


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.


Data Item Service Composition Simple Object Access Protocol Business Process Execution Language Java Class 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arbab, F.: Reo: a channel-based coordination model for component composition. MSCS 14(3), 329–366 (2004)MathSciNetzbMATHGoogle Scholar
  2. 2.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling component connectors in Reo by constraint automata. SCP 61(2), 75–113 (2006)MathSciNetzbMATHGoogle Scholar
  3. 3.
    Boreale, M., Bruni, R., De Nicola, R., Loreti, M.: Sessions and Pipelines for Structured Service Programming. In: Barthe, G., de Boer, F.S. (eds.) FMOODS 2008. LNCS, vol. 5051, pp. 19–38. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  4. 4.
    Cesari, L., Pugliese, R., Tiezzi, F.: A tool for rapid development of ws-bpel applications. SIGAPP Appl. Comput. Rev. 11(1), 27–40 (2010)CrossRefGoogle Scholar
  5. 5.
    Changizi, B., Kokash, N., Arbab, F.: A Unified Toolset for Business Process Model Formalization. In: Proceedings of FESCA 2010 (2010)Google Scholar
  6. 6.
    Decker, G., Kopp, O., Leymann, F., Pfitzner, K., Weske, M.: Modeling Service Choreographies Using BPMN and BPEL4Chor. In: Bellahsène, Z., Léonard, M. (eds.) CAiSE 2008. LNCS, vol. 5074, pp. 79–93. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Hull, R., Benedikt, M., Christophides, V., Su, J.: E-services: a look behind the curtain. In: PODS, pp. 1–14. ACM (2003)Google Scholar
  8. 8.
    Jayasinghe, D., Azeez, A.: Apache Axis2 Web Services. Packt Publishing (2011)Google Scholar
  9. 9.
    Jongmans, S.S., Arbab, F.: Overview of Thirty Semantic Formalisms for Reo. SACS 22(1), 201–251 (2012)CrossRefGoogle Scholar
  10. 10.
    Kokash, N., Krause, C., de Vink, E.: Reo+mCRL2: A framework for model-checking dataflow in service compositions. FAC 24(2), 187–216 (2012)Google Scholar
  11. 11.
    Meng, S., Arbab, F.: Web Services Choreography and Orchestration in Reo and Constraint Automata. In: Proceedings of SAC 2007, pp. 346–353 (2007)Google Scholar
  12. 12.
    Meng, S., Arbab, F.: QoS-Driven Service Selection and Composition Using Quantitative Constraint Automata. FI 95(1), 103–128 (2009)MathSciNetzbMATHGoogle Scholar
  13. 13.
    Meng, S., Arbab, F.: A Model for Web Service Coordination in Long-Running Transactions. In: Proceedings of SOSE 2010, pp. 121–128 (2010)Google Scholar
  14. 14.
    Montesi, F., Guidi, C., Lucchi, R., Zavattaro, G.: JOLIE: a Java Orchestration Language Interpreter Engine. ENTCS 181, 19–33 (2007)Google Scholar
  15. 15.
    Web services business process execution language (2007),
  16. 16.
    Peltz, C.: Web Services Orchestration and Choreography. IEEE Computer 36(10), 46–52 (2003)CrossRefGoogle Scholar
  17. 17.
    Simple Object Access Protocol (2000),
  18. 18.
    Web Service Description Language (2001),
  19. 19.
    Web Service Choreography Interface (2002),
  20. 20.
    Web Services Choreography Description Language (2005),
  21. 21.
    Zhang, J., Chung, J.-Y., Chang, C., Kim, S.: WS-Net: A Petri-net Based Specification Model for Web Services. In: Proceedings of ICWS 2004, pp. 420–427 (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sung-Shik T. Q. Jongmans
    • 1
  • Francesco Santini
    • 1
  • Mahdi Sargolzaei
    • 2
  • Farhad Arbab
    • 1
  • Hamideh Afsarmanesh
    • 2
  1. 1.Centrum Wiskunde & InformaticaAmsterdamNetherlands
  2. 2.Universiteit van AmsterdamAmsterdamNetherlands

Personalised recommendations