Jolie (Java Orchestration Language Interpreter Engine [1] ) - это язык программирования с открытым исходным кодом [2] для разработки распределенных приложений на основе микросервисов . В парадигме программирования, предложенной Джоли, каждая программа представляет собой службу, которая может взаимодействовать с другими программами, отправляя и получая сообщения по сети. Джоли поддерживает уровень абстракции, который позволяет службам обмениваться данными с использованием различных сред, от сокетов TCP / IP до локальной связи между процессами в памяти . [3] [4]
Парадигмы | Микросервисы , SOA |
---|---|
Разработано |
|
Разработчик | Фабрицио Монтези |
Впервые появился | 31 июля 2006 г . |
Стабильный выпуск | 1.9.0 / 16 апреля 2020 г . |
Язык реализации | Ява |
Платформа | Ява |
Лицензия | LGPLv2 |
Расширения имени файла | .ol, .iol, .jap |
Веб-сайт | джоли-Ланг |
В настоящее время Jolie поддерживается интерпретатором, реализованным на языке Java , который может работать в нескольких операционных системах, включая операционные системы на основе Linux , OS X и Windows . [5] Язык имеет формальную семантику , что означает, что выполнение программ Джоли определяется математически. По этой причине Jolie используется в исследованиях для изучения основанных на языке методов разработки распределенных систем [6], а также используется для обучения в некоторых университетах. [7]
Проект с открытым исходным кодом Jolie был запущен Фабрицио Монтези в 2006 году в рамках его обучения в Болонском университете . Первоначально проект начинался как реализация исчисления процесса SOCK , формальной модели, предложенной Клаудио Гуиди и др. в Болонском университете [8] [9], вдохновленный исчислением процессов CCS и языком программирования WS-BPEL . Джоли расширяет SOCK за счет поддержки, например, древовидных структур данных (вдохновленных XML , но с синтаксисом, напоминающим синтаксис C и Java ), типов сообщений, типизированного программирования сеансов, интеграции с Java и JavaScript , мобильности кода , сдерживания приложений , и веб-программирование. [5] [10] [11] Полный список участников проекта доступен по адресу. [12]
В настоящее время проект поддерживается Фабрицио Монтези, а его развитие осуществляется Фабрицио Монтези и Клаудио Гуиди.
Поскольку он поддерживает оркестровку веб-сервисов , Jolie является альтернативой основанным на XML языкам оркестровки, таким как WS-BPEL, поскольку он предлагает краткий (C-подобный) синтаксис для доступа к структурам данных, подобным XML.
Рекомендации
- ^ Монтези, Фабрицио; Гуиди, Клаудио; Лучки, Роберто; Заваттаро, Джанлуиджи (2007). ДЖОЛИ: механизм интерпретации языка оркестровки Java (PDF) . ENTCS . 181 . С. 19–33. CiteSeerX 10.1.1.408.2052 . DOI : 10.1016 / j.entcs.2007.01.051 . ISSN 1571-0661 .
- ^ «Проект Джоли» . SourceForge .
- ^ Монтези, Фабрицио (2010). Джоли: сервис-ориентированный язык программирования (тезис). Болонский университет .
- ^ Монтези, Фабрицио; Гуиди, Клаудио; Заваттаро, Джанлуиджи (2014). «Сервисно-ориентированное программирование с Джоли». В Бугеттайе, Атман; Sheng, Quan Z .; Даниэль, Флориан (ред.). Основы веб-сервисов . С. 81–107. DOI : 10.1007 / 978-1-4614-7518-7_4 . ISBN 978-1-4614-7517-0.
- ^ а б «Язык программирования Джоли» .
- ^ «Язык программирования Чор» .
- ^ "Язык программирования Джоли - Академия" .
- ^ Гуиди, Клаудио; Лучки, Роберто; Горриери, Роберто; Буси, Надя; Заваттаро, Джанлуиджи (2006). СОК: расчет для сервис-ориентированных вычислений . ICSOC '06. LNCS . 4294 . С. 327–338. CiteSeerX 10.1.1.102.6297 . DOI : 10.1007 / 11948148_27 . ISSN 0302-9743 .
- ^ Гуиди, Клаудио (2007). Формализация языков для сервис-ориентированных вычислений (Диссертация). DOI : 10.6092 / unibo / amsdottorato / 373 .
- ^ Монтези, Фабрицио (2013). Веб-программирование с учетом процессов с Джоли . SAC '13. С. 761–763. arXiv : 1410.3712 . DOI : 10.1145 / 2480362.2480507 .
- ^ Монтези, Фабрицио (2016). «Веб-программирование с учетом процессов с Джоли». Наука компьютерного программирования . arXiv : 1410.3712 . DOI : 10.1016 / j.scico.2016.05.002 .
- ^ «Язык программирования Джоли - О Джоли» .
Внешние ссылки
- Официальный веб-сайт
- Джоли на GitHub