Jolie (programming language)
|First appeared||July 31, 2006|
1.6.2 / November 6, 2017
Jolie (Java Orchestration Language Interpreter Engine) is an open-source programming language for developing distributed applications based on microservices. In the programming paradigm proposed with Jolie, each program is a service that can communicate with other programs by sending and receiving messages over a network. Jolie supports an abstraction layer that allows services to communicate using different mediums, ranging from TCP/IP sockets to local in-memory communications between processes.
Jolie is currently supported by an interpreter implemented in the Java language, which can be run in multiple operating systems including Linux-based operating systems, OS X, and Windows. The language comes with formal semantics, meaning that the execution of Jolie programs is mathematically defined. For this reason, Jolie is used in research for the investigation of language-based techniques for the development of distributed systems, and it is also used for teaching at some universities.
The project is currently maintained by Fabrizio Montesi and its evolution is driven by Fabrizio Montesi and Claudio Guidi.
Since it supports the orchestration of web services, Jolie is an alternative to XML-based orchestration languages such as WS-BPEL as it offers a concise (C-like) syntax for accessing XML-like data structures.
- Montesi, Fabrizio; Guidi, Claudio; Lucchi, Roberto; Zavattaro, Gianluigi (2007). JOLIE: a Java Orchestration Language Interpreter Engine (PDF). ENTCS. 181. pp. 19–33. CiteSeerX 10.1.1.408.2052. doi:10.1016/j.entcs.2007.01.051. ISSN 1571-0661.
- "Jolie Project". SourceForge.
- Montesi, Fabrizio (2010). Jolie: a Service-oriented Programming Language (Thesis). University of Bologna.
- Montesi, Fabrizio; Guidi, Claudio; Zavattaro, Gianluigi (2014). "Service-Oriented Programming with Jolie". In Bouguettaya, Athman; Sheng, Quan Z.; Daniel, Florian (eds.). Web Services Foundations. pp. 81–107. doi:10.1007/978-1-4614-7518-7_4. ISBN 978-1-4614-7517-0.
- "Jolie Programming Language".
- "Chor Programming Language".
- "Jolie Programming Language - Academia".
- Guidi, Claudio; Lucchi, Roberto; Gorrieri, Roberto; Busi, Nadia; Zavattaro, Gianluigi (2006). SOCK: A Calculus for Service Oriented Computing. ICSOC'06. LNCS. 4294. pp. 327–338. CiteSeerX 10.1.1.102.6297. doi:10.1007/11948148_27. ISSN 0302-9743.
- Guidi, Claudio (2007). Formalizing languages for service oriented computing (Thesis). doi:10.6092/unibo/amsdottorato/373.
- Montesi, Fabrizio (2013). Process-aware web programming with Jolie. SAC'13. pp. 761–763. arXiv:1410.3712. doi:10.1145/2480362.2480507.
- Montesi, Fabrizio (2016). "Process-aware Web Programming with Jolie". Science of Computer Programming. arXiv:1410.3712. doi:10.1016/j.scico.2016.05.002.
- "Jolie Programming Language - About Jolie".