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,
-
better error messages and improved compatibility with the main operating systems,
-
support of for-loop construct to iterate over arrays without explicit indexes,
-
improved support for the HTTP protocol (and, by extension, web applications).