Jolie (lenguaje de programación)


Jolie (Java Orchestration Language Interpreter Engine [1] ) es un lenguaje de programación de código abierto [2] para desarrollar aplicaciones distribuidas basadas en microservicios . En el paradigma de programación propuesto con Jolie, cada programa es un servicio que puede comunicarse con otros programas enviando y recibiendo mensajes a través de una red. Jolie admite una capa de abstracción que permite que los servicios se comuniquen utilizando diferentes medios, que van desde sockets TCP / IP hasta comunicaciones locales en memoria entre procesos . [3] [4]

Actualmente, Jolie cuenta con un intérprete implementado en el lenguaje Java , que se puede ejecutar en varios sistemas operativos, incluidos los sistemas operativos basados ​​en Linux , OS X y Windows . [5] El lenguaje viene con semántica formal , lo que significa que la ejecución de los programas de Jolie se define matemáticamente. Por esta razón, Jolie se utiliza en la investigación para la investigación de técnicas basadas en el lenguaje para el desarrollo de sistemas distribuidos, [6] y también se utiliza para la docencia en algunas universidades. [7]

El proyecto de código abierto Jolie fue iniciado por Fabrizio Montesi en 2006, como parte de sus estudios en la Universidad de Bolonia . El proyecto comenzó inicialmente como una implementación del cálculo del proceso SOCK , un modelo formal propuesto por Claudio Guidi et al. en la Universidad de Bolonia [8] [9] inspirado en el cálculo del proceso CCS y el lenguaje de programación WS-BPEL . Jolie extiende SOCK con soporte para, por ejemplo, estructuras de datos en forma de árbol (inspiradas en XML , pero con una sintaxis parecida a la de C y Java ), tipos de mensajes, programación de sesiones con tipo, integración con Java yJavaScript , movilidad de código , contención de aplicaciones y programación web. [5] [10] [11] Una lista completa de los contribuyentes del proyecto está disponible en. [12]

Actualmente el proyecto es mantenido por Fabrizio Montesi y su evolución está impulsada por Fabrizio Montesi y Claudio Guidi.

Dado que admite la orquestación de servicios web , Jolie es una alternativa a los lenguajes de orquestación basados ​​en XML como WS-BPEL, ya que ofrece una sintaxis concisa (similar a C) para acceder a estructuras de datos similares a XML.