Джоли (язык программирования) - Jolie (programming language)

Джоли
ПарадигмыМикросервисы, SOA
Разработано
  • Клаудио Гуиди
  • Фабрицио Монтези
РазработчикФабрицио Монтези
Впервые появился31 июля 2006 г.; 14 лет назад (2006-07-31)
Стабильный выпуск
1.9.0 / 16 апреля 2020 г.; 7 месяцев назад (2020-04-16)
Язык реализацииЯва
ПлатформаЯва
ЛицензияLGPLv2
Расширения имени файла.ol, .iol, .jap
Интернет сайтДжоли-Лэнг.org

Джоли (Механизм интерпретатора языка оркестрации Java[1]) является Открытый исходный код[2] язык программирования для развития распределенные приложения на основе микросервисы. в парадигма программирования предложенная Джоли, каждая программа представляет собой службу, которая может взаимодействовать с другими программами, отправляя и получая сообщения по сети. Джоли поддерживает уровень абстракции, который позволяет сервисам обмениваться данными с использованием различных сред, от TCP / IP Розетки к локальному обмену данными в памяти между процессы.[3][4]

Джоли в настоящее время поддерживает устный переводчик реализовано в Ява язык, который может работать в нескольких операционных системах, включая На базе Linux операционные системы, OS X, и Windows.[5] Язык идет с формальная семантика, что означает, что выполнение программ Джоли определяется математически. По этой причине Джоли используется в исследованиях для изучения основанных на языке методов разработки распределенных систем.[6] и он также используется для обучения в некоторых университетах.[7]

Проект с открытым исходным кодом Jolie был начат Фабрицио Монтези в 2006 г. в рамках учебы в Болонский университет. Первоначально проект начинался как реализация SOCK процесс исчисления, формальная модель, предложенная Клаудио Гуиди и др. в Болонском университете[8][9] вдохновленный CCS процесс исчисления и WS-BPEL язык программирования. Джоли расширяет SOCK за счет поддержки, например, древовидных структур данных (вдохновленных XML, но с синтаксисом, похожим на синтаксис C и Ява ), типы сообщений, типизированное программирование сеансов, интеграция с Ява и JavaScript, мобильность кода, сдерживание приложений, и веб-программирование.[5][10][11] Полный список участников проекта доступен по адресу.[12]

Проект в настоящее время поддерживается Фабрицио Монтези, а движущей силой его развития являются Фабрицио Монтези и Клаудио Гуиди.

Поскольку он поддерживает оркестровку веб-сервисы, Jolie - альтернатива языкам оркестровки на основе XML, таким как WS-BPEL поскольку он предлагает краткий (C-подобный) синтаксис для доступа к XML-подобным структурам данных.

Рекомендации

  1. ^ Монтези, Фабрицио; Гуиди, Клаудио; Лучки, Роберто; Заваттаро, Джанлуиджи (2007). ДЖОЛИ: механизм интерпретатора языка оркестровки Java (PDF). ENTCS. 181. С. 19–33. CiteSeerX  10.1.1.408.2052. Дои:10.1016 / j.entcs.2007.01.051. ISSN  1571-0661.
  2. ^ "Проект Джоли". SourceForge.
  3. ^ Монтези, Фабрицио (2010). Джоли: сервис-ориентированный язык программирования (Тезис). Болонский университет.
  4. ^ Монтези, Фабрицио; Гуиди, Клаудио; Заваттаро, Джанлуиджи (2014). «Сервисно-ориентированное программирование с Джоли». В Бугеттайе, Атман; Sheng, Quan Z .; Даниэль, Флориан (ред.). Основы веб-сервисов. С. 81–107. Дои:10.1007/978-1-4614-7518-7_4. ISBN  978-1-4614-7517-0.
  5. ^ а б "Язык программирования Джоли".
  6. ^ "Язык программирования Chor".
  7. ^ "Язык программирования Джоли - Академия".
  8. ^ Гуиди, Клаудио; Лучки, Роберто; Горриери, Роберто; Буси, Надя; Заваттаро, Джанлуиджи (2006). SOCK: расчет для сервис-ориентированных вычислений. ICSOC '06. LNCS. 4294. С. 327–338. CiteSeerX  10.1.1.102.6297. Дои:10.1007/11948148_27. ISSN  0302-9743.
  9. ^ Гуиди, Клаудио (2007). Формализация языков для сервис-ориентированных вычислений (Тезис). Дои:10.6092 / unibo / amsdottorato / 373.
  10. ^ Монтези, Фабрицио (2013). Веб-программирование с учетом процессов с Джоли. SAC '13. С. 761–763. arXiv:1410.3712. Дои:10.1145/2480362.2480507.
  11. ^ Монтези, Фабрицио (2016). «Веб-программирование с учетом процессов с Джоли». Наука компьютерного программирования. arXiv:1410.3712. Дои:10.1016 / j.scico.2016.05.002.
  12. ^ "Язык программирования Джоли - О Джоли".

внешняя ссылка