Открыть сервис

WebSphere Liberty

WebSphere Liberty — это легковесный, модульный сервер приложений с открытой архитектурой, разработанный компанией IBM. Относится к классу серверов приложений Java Enterprise Edition (Java EE) и Jakarta EE, предназначенных для развёртывания и выполнения корпоративных веб-приложений, микросервисов и облачных решений. Основное отличие от традиционного сервера WebSphere Application Server (WAS) — минимальное потребление ресурсов, быстрый запуск и возможность динамического подключения только необходимых функций.

История

Первая публичная версия WebSphere Liberty была выпущена в 2012 году как часть линейки WebSphere Application Server V8.5. Продукт позиционировался как «профиль Liberty» (Liberty Profile) — облегчённая альтернатива полному серверу WebSphere. В 2014 году IBM переименовала его в WebSphere Liberty, а в 2015 году выпустила отдельную редакцию Liberty Core, ориентированную на небольшие проекты и разработку.

В 2018 году IBM объявила о переходе Liberty на полностью открытую модель разработки: исходный код был опубликован на GitHub под названием Open Liberty. Open Liberty — это свободная версия, распространяемая под лицензией Eclipse Public License 2.0. Коммерческая версия WebSphere Liberty включает дополнительные функции, такие как интеграция с IBM MQ, поддержка JMS (Java Message Service) и расширенная безопасность.

В 2020 году, после приобретения IBM компании Red Hat, Liberty стал частью стратегии гибридного облака IBM, поддерживая развёртывание в Kubernetes и OpenShift. В 2023 году вышла версия Liberty 23.0.0.1, полностью совместимая со спецификацией Jakarta EE 10.

Архитектура и принципы работы

Модульность

WebSphere Liberty построен по принципу «минимального ядра» (kernel). При запуске загружается только базовое ядро, а все функциональные возможности (сервлеты, EJB, JPA, WebSocket, JAX-RS и т.д.) подключаются как отдельные модули — «фичи» (features). Фичи активируются в конфигурационном файле server.xml и могут быть добавлены или удалены без перезапуска сервера.

Конфигурация

Настройка сервера осуществляется через XML-файл server.xml, который располагается в каталоге сервера. Файл содержит:

Пример минимальной конфигурации для веб-приложения: ``xml <server description="myServer"> <featureManager> <feature>servlet-4.0</feature> </featureManager> <httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080" httpsPort="9443" /> </server> ``

Запуск и управление

Liberty не требует установки в системный каталог — достаточно скопировать архив с дистрибутивом и запустить скрипт server из командной строки. Поддерживаются команды:

  • server start — запуск сервера;
  • server stop — остановка;
  • server status — проверка состояния;
  • server package — создание автономного пакета для развёртывания.

Сервер может работать в режиме разработчика (development mode), при котором автоматически перезагружает приложения при изменении файлов.

Версии и редакции

Open Liberty

Бесплатная версия с открытым исходным кодом. Поддерживает Jakarta EE 10, MicroProfile 6.0 и Java SE 17/21. Распространяется через Maven Central и Docker Hub. Используется для разработки, тестирования и небольших проектов.

WebSphere Liberty (коммерческая)

Включает все функции Open Liberty плюс:

  • интеграцию с IBM MQ и IBM CICS;
  • поддержку JMS (IBM MQ JMS);
  • расширенную безопасность (IBM Security Identity Manager, LDAP, Kerberos);
  • мониторинг через IBM Tivoli Composite Application Manager (ITCAM);
  • техническую поддержку IBM.

Liberty Core

Урезанная редакция для малых предприятий. Ограничена по числу процессоров (до 4 ядер) и не включает поддержку EJB, JMS и IBM MQ.

Поддержка стандартов

WebSphere Liberty поддерживает следующие спецификации:

  • Java EE / Jakarta EE: Servlet 6.0, JSP 3.1, JSF 4.0, EJB 4.0, JPA 3.1, JAX-RS 3.1, WebSocket 2.1, CDI 4.0, Bean Validation 3.0, Batch 2.1, Mail 2.1.
  • MicroProfile: Config 3.1, Fault Tolerance 4.1, Health 4.0, Metrics 5.1, OpenAPI 3.1, OpenTracing 3.0, Rest Client 3.1, JWT Propagation 2.1.
  • Java SE: версии 8, 11, 17, 21 (в зависимости от редакции).
  • Стандарты безопасности: SSL/TLS, OAuth 2.0, OpenID Connect, SAML 2.0, Kerberos, LDAP, JWT.

Применение

Микросервисы

Благодаря малому размеру (около 50 МБ) и быстрому запуску (менее 5 секунд), Liberty часто используется в качестве платформы для микросервисов. Поддерживает запуск в контейнерах Docker и оркестрацию через Kubernetes. Встроенная поддержка MicroProfile упрощает создание отказоустойчивых, масштабируемых сервисов.

Облачные решения

Liberty интегрирован с IBM Cloud, Red Hat OpenShift и другими облачными платформами. Поддерживает автоматическое масштабирование, балансировку нагрузки и мониторинг через Prometheus и Grafana. В 2022 году IBM выпустила образы Liberty для AWS, Azure и Google Cloud.

Корпоративные приложения

Используется в банковском секторе, страховании, логистике и государственных учреждениях. Например, в России Liberty применяется в системах дистанционного банковского обслуживания (ДБО) и платформах электронного документооборота.

Сравнение с другими серверами

ХарактеристикаWebSphere LibertyApache TomcatWildFly (JBoss)Payara Server
Размер дистрибутива~50 МБ~10 МБ~200 МБ~150 МБ
Время запуска2-5 сек1-2 сек10-20 сек8-15 сек
Поддержка Java EE / Jakarta EEПолнаяТолько сервлетыПолнаяПолная
Поддержка MicroProfileДаНетДаДа
ЛицензияКоммерческая / Open SourceApache 2.0LGPLCDDL / GPL
Управление через IDEEclipse, IntelliJ IDEA, VS CodeEclipse, IntelliJ IDEAEclipse, IntelliJ IDEANetBeans, IntelliJ IDEA

Инструменты разработки

IBM предоставляет плагины для интеграции Liberty с популярными средами разработки:

  • Liberty Tools for Eclipse — плагин для Eclipse IDE, позволяющий запускать, отлаживать и профилировать приложения на Liberty.
  • Liberty Maven Plugin — интеграция с Apache Maven для автоматизации сборки, тестирования и развёртывания.
  • Liberty Gradle Plugin — аналогичный плагин для Gradle.
  • Dev Mode — режим разработки, при котором сервер автоматически перезагружает приложения при изменении исходного кода.

Критика

Основные претензии к WebSphere Liberty связаны с:

  • Сложностью конфигурации — несмотря на модульность, настройка безопасности и интеграции с внешними системами (LDAP, MQ) требует глубоких знаний.
  • Зависимостью от экосистемы IBM — коммерческая версия тесно интегрирована с продуктами IBM, что может затруднить миграцию на другие платформы.
  • Производительностью — при большом количестве одновременно включённых фич Liberty может потреблять больше памяти, чем Apache Tomcat.
  • Документацией — часть документации устарела или неполна, особенно для Open Liberty.

Интересные факты

  • В 2019 году Open Liberty стал первым сервером приложений, полностью сертифицированным по спецификации Jakarta EE 8.
  • Liberty поддерживает запуск на Raspberry Pi (ARM-архитектура), что позволяет использовать его в IoT-проектах.
  • В 2021 году IBM выпустила «Liberty InstantOn» — технологию, позволяющую запускать сервер за 0,5 секунды на виртуальных машинах.

Источники

  • IBM Knowledge Center: WebSphere Liberty
  • Open Liberty GitHub Repository
  • Jakarta EE Specification
  • MicroProfile Specification
  • IBM Redbooks: WebSphere Liberty Architecture
  • Статья «WebSphere Liberty vs Tomcat: A Comparison» на DZone
  • Документация IBM Liberty Tools for Eclipse

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →