Компания IBM представила проект Open Liberty, в рамках которого открыты исходные тексты сервера приложений WebSphere Liberty c поддержкой создания микросервисов на языке Java и приложений на базе архитектуры Cloud-Native. Код открыт под лицензией EPL (Eclipse Public License). Вместе с открытым на прошлой неделе JVM OpenJ9, Open Liberty образует полный Java-стек IBM с открытой моделью лицензирования.

Доступны все базовые возможности, необходимые для создания Java-приложений и микросервисов. Open Liberty полностью совместим с Java EE 7 (используется реализация WebSphere Liberty) и включает поддержку дополнительных API, предложенных сообществом MicroProfile. Концепция микросервисов подразумевает разбиение сложных монолитных приложений на набор обособленных сервисов, каждый из которых берёт на себя определённую функциональность приложения. Микросервисы могут работать параллельно, адаптируясь к изменению нагрузки. Таким образом приложение реализуется в виде сети из связанных между собой микросервисов, каждый из которых запускается в отдельном облачном окружении.

После открытия кода, WebSphere Liberty продолжит своё существование как коммерческий продукт, обладающий некоторыми дополнительными возможностями и включающий контракт на услуги технической поддержки. При этом кодовая база Open Liberty будет использоваться в качестве основы для формирования выпусков WebSphere Liberty. Все приложения, работающие с Open Liberty смогут быть без изменений запущены в WebSphere Liberty.

По мнению IBM, комбинация из Java, открытых стандартов и открытого кода, образует лучший способ для вовлечения разработчиков в создание качественных приложений. Если в прошлом году совместно с Red Hat, Payara, Tomitribe и другими компаниями усилия были сосредоточены на развитии возможностей Java для создания микросервисов, то теперь настало время следующего шага – формирования открытого ПО из наработок в области MicroProfile runtime и Java EE.

Из отличительных особенностей Open Liberty называется:

  • Модульный runtime для запуска микросервисов – включаются только компоненты, необходимые для работы приложения;
  • Поставка runtime в форме zip-архива и готовых образов контейнеров в Docker Hub. Также предоставляется возможности сборки собственных образов, используя сборочные системы, такие как Maven и Gradle;
  • Встроенные возможности для обеспечения динамического обновления окружений – находящиеся в разработке прототипы или тестовый код можно размещать без перезапуска сервера;
  • Простое развёртывание приложений и перенос между окружениями. Сборка, изменение и сопровождение приложений производится с использованием одного простого XML-файла конфигурации и с явным разделением между кодом и настройками;
  • Разработчикам предоставлена возможность использования для разработки как привычного ему инструментария, так и специально предоставляемого полноценного IDE-окружения на базе Eclipse;