Advertisement

Service-Oriented Programming with Jolie

  • Fabrizio Montesi
  • Claudio Guidi
  • Gianluigi Zavattaro

Abstract

The wide adoption of service-oriented computing has led to a heterogeneous scenario formed by different technologies and specifications. Examples can be found both at the design level—the frameworks for defining services and those for defining their coordination feature fundamentally different primitives—and at the implementation level—different communication technologies are used depending on the context. In this chapter we present Jolie, a fully-fledged service-oriented programming language. Jolie addresses the aforementioned heterogeneity in two ways. On the one hand, it combines computation and composition primitives in an intuitive and concise syntax. On the other hand, the behaviour and deployment of a Jolie program are orthogonal: they can be independently defined and recombined as long as they have compatible typing.

Keywords

Output Port Input Port Communication Port Fault Handling Local Assistant 
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.

References

  1. 1.
    W3C. Web Services Architecture. http://www.w3.org/TR/ws-arch/
  2. 2.
    W3C. SOAP Specifications. http://www.w3.org/TR/soap/
  3. 3.
    K Desktop Environment. http://www.kde.org/
  4. 4.
  5. 5.
  6. 6.
    OASIS. WS-BPEL Version 2.0. http://docs.oasis-open.org/wsbpel/
  7. 7.
    Chappell, D.A.: Enterprise Service Bus—Theory in Practice. O’Reilly, Sebastopol (2004)Google Scholar
  8. 8.
  9. 9.
  10. 10.
  11. 11.
    JavaScript Object Notation. http://www.json.org/
  12. 12.
    Montesi, F., Guidi, C., Zavattaro, G.: Composing services with JOLIE. In: Proceedings of ECOWS 2007, pp. 13–22 (2007)Google Scholar
  13. 13.
    Montesi, F.: Jolie: a service-oriented programming language. Master’s thesis, Department of Computer Science, University of Bologna (2010)Google Scholar
  14. 14.
    Montesi, F., Carbone, M.: Programming services with correlation sets. In: ICSOC, pp. 125–141 (2011)Google Scholar
  15. 15.
    OpenID Specifications. http://openid.net/developers/specs/
  16. 16.
  17. 17.
    Guidi, C., Lanese, I., Montesi, F., Zavattaro, G.: Dynamic error handling in service oriented applications. Fundamenta Informaticae 95(1), 73–102 (2009)MathSciNetzbMATHGoogle Scholar
  18. 18.
    Guidi, C., Montesi, F.: Reasoning about a service-oriented programming paradigm. In: Proceedings of YR-SOC 2009, pp. 67–81 (2009)Google Scholar
  19. 19.
    Preda, M.D., Gabbrielli, M., Guidi, C., Mauro, J., Montesi, F.: Interface-based service composition with aggregation. In: ESOCC, pp. 48–63 (2012)Google Scholar
  20. 20.
    SENSORIA. Software Engineering for Service-Oriented Overlay Computers. http://www.sensoria-ist.eu/
  21. 21.
  22. 22.
    Lapadula, Alessandro, Pugliese, Rosario, Tiezzi, Francesco: Using formal methods to develop ws-bpel applications. Sci. Comput. Program. 77(3), 189–213 (2012)CrossRefGoogle Scholar
  23. 23.
    Bundgaard, M., Glenstrup, Hildebrandt, A.J., Højsgaard, T.T., Niss, H.: Formalizing higher-order mobile embedded business processes with binding bigraphs. In: Proceedings of COORDINATION 2008, pp. 83–99 (2008)Google Scholar
  24. 24.
    Carpineti, Samuele, Laneve, Cosimo, Padovani, Luca: Piduce—a project for experimenting web services technologies. Sci. Comput. Program. 74(10), 777–811 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Kitchin, D., Quark, A., Cook, W.R., Misra, J.: The Orc programming language. In: Proceedings of FMOODS/FORTE 2009, pp. 1–25 (2009)Google Scholar
  26. 26.
    Preda, M.D., Gabbrielli, M., Lanese, I., Mauro, J., Zavattaro, G.: Graceful interruption of request-response service interactions. In: ICSOC, pp. 590–600 (2011)Google Scholar
  27. 27.
    Sherif, M.H.: Handbook of Enterprise Integration. Auerbach Publishers, Boca Raton (2009)CrossRefGoogle Scholar
  28. 28.
  29. 29.
    Guidi, C., Lucchi, R., Gorrieri, R., Busi, N., Zavattaro, G.: SOCK: a calculus for service oriented computing. In: Proceedings of ICSOC 2006, pp. 327–338 (2006)Google Scholar
  30. 30.
    Guidi, C.: Formalizing languages for service oriented computing. Ph.D. thesis, University of Bologna (2007). http://www.cs.unibo.it/pub/TR/UBLCS/2007/2007-07.pdf
  31. 31.
    Lanese, I., Vaz, C., Ferreira, C.: On the expressive power of primitives for compensation handling. In: ESOP, pp. 366–386 (2010)Google Scholar
  32. 32.
    Montesi, F., Sangiorgi, D.: A model of evolvable components. In: Proceedings of Fifth Symposium on Trustworthy Global Computing (TGC 2010) (2010)Google Scholar
  33. 33.
    Ivan L., Bucchiarone, A., Montesi, F.: A framework for rule-based dynamic adaptation. In: Proceedings of TGC, pp. 284–300 (2010)Google Scholar
  34. 34.
  35. 35.
    Anedda, P., Gaggero, M., Manca, S., Schiaratura, O., Leo, S., Montesi, F., Zanetti, G.: A general service oriented approach for managing virtual machines allocation. In: Proceedings of ACM Symposium on Applied Computing (SAC) 2009, pp. 2154–2161 (2009)Google Scholar
  36. 36.
    italianaSoftware s.r.l. italianaSoftware. http://www.italianasoftware.com/
  37. 37.
    W3C. Web Services Description Language. http://www.w3.org/TR/wsdl
  38. 38.
    jEye. A graphical designer for Jolie. http://sourceforge.net/projects/jeye/
  39. 39.
    Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proceedings of POPL’08, vol. 43(1), pp. 273–284. ACM Press (2008)Google Scholar
  40. 40.
    Castagna, G., Gesbert, N., Padovani, L.: A theory of contracts for web services. ACM Trans. Program. Lang. Syst., 31(5), 1–61 (2009)Google Scholar
  41. 41.
    Lanese, I., Guidi, C., Montesi, F., Zavattaro, G.: Bridging the gap between interaction—and process-oriented choreographies. In: SEFM, pp. 323–332 (2008)Google Scholar
  42. 42.
    Baltazar, P., Caires, L., Vasconcelos, V.T., Vieira, H.T.: A type system for flexible role assignment in multiparty communicating systems. In TGC (2012, to appear)Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Fabrizio Montesi
    • 1
  • Claudio Guidi
    • 2
  • Gianluigi Zavattaro
    • 3
  1. 1.IT University of CopenhagenCopenhagen SDenmark
  2. 2.Dipartimento di MatematicaUniversity of PadovaPadovaItaly
  3. 3.INRIA Focus Research TeamUniversity of BolognaBolognaItaly

Personalised recommendations