EN FR
EN FR


Section: New Software and Platforms

JOLIE

Java Orchestration Language Interpreter Engine

Keyword: Microservices

Scientific Description

Jolie is a service-oriented programming language. Jolie can be used to program services that interact over the Internet using different communication protocols.

Differently from other Web Services programming languages such as WS-BPEL, Jolie is based on a user-friendly C/Java-like syntax (more readable than the verbose XML syntax of WS-BPEL) and, moreover, the language is equipped with a formal operational semantics. This language is used for the proof of concepts developed around Focus activities. For instance, contract theories can be exploited for checking the conformance of a Jolie program with respect to a given contract.

Developments in 2016

Jolie has transitioned from version 1.4.1 to version 1.6. The last version of Jolie that supports Java 1.6 is Jolie 1.5. Jolie 1.6 transitions from Java 1.6 to Java 1.8 and makes use of the new features and libraries found in the new version of Java. Version 1.6 of Jolie features:

  • general performance improvements and bug fixes, in particular regarding concurrent data structures using Java lambdas,

  • improvements of the standard library of the language,

  • better error messages and improved compatibility with the main operating systems,

  • support for type choices (AKA type sums),

  • support of for-loop construct to iterate over arrays without explicit indexes,

  • improved support for the HTTP protocol (and, by extension, web applications).

  • Participants: Claudio Guidi, Fabrizio Montesi, Saverio Giallorenzo and Maurizio Gabbrielli

  • Contact: Fabrizio Montesi

  • URL: http://www.jolie-lang.org/