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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
A Jolie program definition may even be retrieved from URLs or local memory.
- 2.
We observe, however, that Jolie trees are different from XML trees, as they are designed for performance. For example, Jolie tree nodes store typed values (strings, integers, ...), whereas XML does not: all XML node values are strings, and their type is just an optional annotation.
References
W3C. Web Services Architecture. http://www.w3.org/TR/ws-arch/
W3C. SOAP Specifications. http://www.w3.org/TR/soap/
K Desktop Environment. http://www.kde.org/
GNOME. http://www.gnome.org/
D-Bus website. http://www.freedesktop.org/wiki/Software/dbus/
OASIS. WS-BPEL Version 2.0. http://docs.oasis-open.org/wsbpel/
Chappell, D.A.: Enterprise Service Bus—Theory in Practice. O’Reilly, Sebastopol (2004)
Jolie website. http://www.jolie-lang.org/
SODEP protocol. http://www.jolie-lang.org/wiki.php?page=Sodep
Google Web Toolkit. http://code.google.com/webtoolkit/
JavaScript Object Notation. http://www.json.org/
Montesi, F., Guidi, C., Zavattaro, G.: Composing services with JOLIE. In: Proceedings of ECOWS 2007, pp. 13–22 (2007)
Montesi, F.: Jolie: a service-oriented programming language. Master’s thesis, Department of Computer Science, University of Bologna (2010)
Montesi, F., Carbone, M.: Programming services with correlation sets. In: ICSOC, pp. 125–141 (2011)
OpenID Specifications. http://openid.net/developers/specs/
OpenID implementation. http://www.jolie-lang.org/files/ws_handbook2012/openid.zip
Guidi, C., Lanese, I., Montesi, F., Zavattaro, G.: Dynamic error handling in service oriented applications. Fundamenta Informaticae 95(1), 73–102 (2009)
Guidi, C., Montesi, F.: Reasoning about a service-oriented programming paradigm. In: Proceedings of YR-SOC 2009, pp. 67–81 (2009)
Preda, M.D., Gabbrielli, M., Guidi, C., Mauro, J., Montesi, F.: Interface-based service composition with aggregation. In: ESOCC, pp. 48–63 (2012)
SENSORIA. Software Engineering for Service-Oriented Overlay Computers. http://www.sensoria-ist.eu/
Automotive example. http://www.jolie-lang.org/files/ws_handbook2012/automotive.zip
Lapadula, Alessandro, Pugliese, Rosario, Tiezzi, Francesco: Using formal methods to develop ws-bpel applications. Sci. Comput. Program. 77(3), 189–213 (2012)
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)
Carpineti, Samuele, Laneve, Cosimo, Padovani, Luca: Piduce—a project for experimenting web services technologies. Sci. Comput. Program. 74(10), 777–811 (2009)
Kitchin, D., Quark, A., Cook, W.R., Misra, J.: The Orc programming language. In: Proceedings of FMOODS/FORTE 2009, pp. 1–25 (2009)
Preda, M.D., Gabbrielli, M., Lanese, I., Mauro, J., Zavattaro, G.: Graceful interruption of request-response service interactions. In: ICSOC, pp. 590–600 (2011)
Sherif, M.H.: Handbook of Enterprise Integration. Auerbach Publishers, Boca Raton (2009)
Leonardo Web Server. http://www.sourceforge.net/projects/leonardo/
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)
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
Lanese, I., Vaz, C., Ferreira, C.: On the expressive power of primitives for compensation handling. In: ESOP, pp. 366–386 (2010)
Montesi, F., Sangiorgi, D.: A model of evolvable components. In: Proceedings of Fifth Symposium on Trustworthy Global Computing (TGC 2010) (2010)
Ivan L., Bucchiarone, A., Montesi, F.: A framework for rule-based dynamic adaptation. In: Proceedings of TGC, pp. 284–300 (2010)
Vision framework. https://jolie.svn.sourceforge.net/svnroot/jolie/trunk/playground/
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)
italianaSoftware s.r.l. italianaSoftware. http://www.italianasoftware.com/
W3C. Web Services Description Language. http://www.w3.org/TR/wsdl
jEye. A graphical designer for Jolie. http://sourceforge.net/projects/jeye/
Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Proceedings of POPL’08, vol. 43(1), pp. 273–284. ACM Press (2008)
Castagna, G., Gesbert, N., Padovani, L.: A theory of contracts for web services. ACM Trans. Program. Lang. Syst., 31(5), 1–61 (2009)
Lanese, I., Guidi, C., Montesi, F., Zavattaro, G.: Bridging the gap between interaction—and process-oriented choreographies. In: SEFM, pp. 323–332 (2008)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer Science+Business Media New York
About this chapter
Cite this chapter
Montesi, F., Guidi, C., Zavattaro, G. (2014). Service-Oriented Programming with Jolie . In: Bouguettaya, A., Sheng, Q., Daniel, F. (eds) Web Services Foundations. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-7518-7_4
Download citation
DOI: https://doi.org/10.1007/978-1-4614-7518-7_4
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-7517-0
Online ISBN: 978-1-4614-7518-7
eBook Packages: Computer ScienceComputer Science (R0)