Разработчики: | IBM |
Дата последнего релиза: | 2017/09/25 |
Технологии: | Серверные платформы, Средства разработки приложений |
IBM WebSphere Liberty — сервер приложений следующего поколения.
Особенности
- Архитектура на базе ядра — архитектура на базе ядра подразумевает, что изначально размер исполняющего кода крайне мал, и сам код выполняется быстро, а затем его размер постепенно увеличивается по мере необходимости. Как правило, сервер Liberty занимает примерно 50 МБ в оперативной памяти и запускается менее, чем за 3 секунды.
- Диспетчер функциональных групп — сервер приложений реализован в виде совокупности функциональных групп, которые диспетчер подгружает только по мере необходимости, это позволяет поддерживать размер сервера на минимально возможном уровне.
- Репозиторий WebSphere Liberty — функциональные группы подгружаются по мере необходимости непосредственно с сайта IBM.
- Динамические обновления — установка новых функциональных групп не требует перезапуска сервера.
- Поддержка Java EE 7 — Liberty поддерживает полноценные приложения Java EE 7 .
- Простота установки — чтобы установить исполняющий код, достаточно просто распаковать файл архива. Полный размер скачиваемого дистрибутива Java EE 7 составляет всего 94 МБ (без учета Java Runtime Environment).
- Простота развертывания — приложение достаточно поместить в нужный каталог, и сервер его запустит.
- Простота настройки — для настройки основных параметров каждого сервера используется один простой XML-файл.
- Высокая масштабируемость — модель администрирования поддерживает работу с тысячами серверов. Число участников кластера может исчисляться сотнями.
- Упаковка сервера — система позволяет создавать компактные архивы приложений, которые включают в себя настройки серверов для удобства развертывания в промышленной инфраструктуре.
Сценарии применения
Liberty обеспечивает широкие возможности для использования промышленных приложений Java в различных сценариях:
- Постоянные обновления — IBM выпускает новые версии каждой функциональной группы по отдельности.
- Среда разработки — благодаря простоте установки, настройки и обновления два и более тестовых серверов Liberty можно легко запускать на одном компьютере параллельно с другими приложениями.
- Одноплатные компьютеры — приложения Liberty могут работать на микрокомпьютерах следующего поколения, таких как Raspberry Pi.
- Интернет устройств — приложения могут работать на небольших распределенных устройствах (таких как одноплатные компьютеры).
- Каждое приложение обслуживает свой сервер — возможность развертывания каждого приложения на собственном сервере обеспечивает более высокую изоляцию и управляемость.
- Микрослужбы — каждый экземпляр каждой микрослужбы можно запускать на собственном сервере.
- Контейнеры — полноценный сервер приложений можно запускать в небольшом легком контейнере.
- Облако — большое количество серверов может работать на виртуализированных аппаратных ресурсах.
- Эластичность — масштабирование кластеров осуществляется автоматически: число участников кластера увеличивается или уменьшается в зависимости от уровня нагрузки.
- Высокая производительность — топологии могут обрабатывать миллиарды вызовов API в сутки.
Сервер и профиль
- Сервер Liberty — это сервер приложений, который позволяет выполнять приложения Java, как правило, приложения, написанные в соответствии со спецификациями Java Enterprise Edition. В Liberty сервер обычно настраивают в виде реализации Java EE-совместимого контейнера, например, Java EE 7.
- Профиль Liberty — это среда времени выполнения сервера приложений, которую устанавливают в локальной файловой системе компьютера. Профиль сам по себе не запускается, но может выступать в качестве среды для выполнения одного или нескольких серверов.[1]
Ресурсы и репозитории
Сервер сможет загрузить функциональную группу только при выполнении двух условий: во-первых, данная функциональная группа должна быть включена в настройках сервера, а во-вторых, соответствующий ресурс для данной функциональной группы должен быть установлен в профиле для данного сервера.
- Ресурс Liberty — это набор артефактов кода, который можно добавить в профиль, например, библиотека Java, которая реализует функциональность сервера.
- Репозиторий Liberty — это онлайн-ресурс, который содержит ресурс, доступные для загрузки профилям Liberty.
IBM WebSphere Liberty Repository — это основной репозиторий IBM для ресурсов Liberty. По умолчанию профиль выполняет поиск компонентов для скачивания именно в этом репозитории. Утилиты управления ресурсами в профиле осуществляют доступ к репозиторию на программном уровне.
2017: Открытие исходного кода
25 сентября 2017 года компания IBM представила проект Open Liberty, в рамках которого открыты исходные тексты сервера приложений WebSphere Liberty c поддержкой создания микросервисов на языке Java и приложений на основе архитектуры Cloud-Native. Код открыт под лицензией EPL (Eclipse Public License)[2].
Открыт доступ ко всем основным возможностям для создания Java-приложений и микросервисов. Open Liberty совместим с Java EE 7 (используется реализация WebSphere Liberty) и включает поддержку дополнительных API, предложенных сообществом MicroProfile. Концепция микросервисов подразумевает разбиение сложных монолитных приложений на набор обособленных сервисов, каждый из которых берёт на себя определённую функциональность приложения. Микросервисы могут работать параллельно, адаптируясь к изменению нагрузки. Таким образом приложение реализуется в виде сети из связанных между собой микросервисов, каждый из которых запускается в отдельном облачном окружении.
После открытия кода WebSphere Liberty продолжит своё существование как коммерческий продукт с дополнительными возможностями и контрактом на услуги технической поддержки. Кодовая база Open Liberty будет использоваться в качестве основы для формирования выпусков WebSphere Liberty. Все приложения, работающие с Open Liberty смогут без изменений запускаться в WebSphere Liberty.
Среди особенностей Open Liberty:
- Модульный runtime для запуска микросервисов - включаются только компоненты, необходимые для работы приложения;
- Поставка runtime в форме zip-архива и готовых образов контейнеров в Docker Hub. Также предоставляется возможности сборки собственных образов, используя сборочные системы вроде Maven и Gradle;
- Встроенные возможности для динамического обновления окружения - прототипы в разработке или тестовый код можно разместить без перезапуска сервера;
- Простая инсталляция приложений и перенос между окружениями. Сборка, изменение и сопровождение приложений производится с использованием одного простого XML-файла конфигурации и с явным разделением между кодом и настройками;
- Разработчикам предоставлена возможность использования для разработки как привычного ему инструментария, так и специально предоставляемого полноценного IDE-окружения на базе Eclipse.
Примечания
Подрядчики-лидеры по количеству проектов
Softline (Софтлайн) (89)
X-Com (Икс ком) (57)
Крок (35)
Инфосистемы Джет (34)
Астерос (34)
Другие (1091)
X-Com (Икс ком) (10)
Softline (Софтлайн) (6)
Крикунов и Партнеры Бизнес Системы (КПБС, KPBS, Krikunov & Partners Business Systems) (5)
Крок (4)
Инфоматика (3)
Другие (53)
Крикунов и Партнеры Бизнес Системы (КПБС, KPBS, Krikunov & Partners Business Systems) (3)
Мобильные ТелеСистемы (МТС) (3)
Почта России (2)
Селектел (Selectel) (2)
ОБИТ (1)
Другие (24)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Lenovo (1, 6)
Lenovo Data Center Group (1, 6)
SOTI (1, 3)
КНС Групп (Yadro) (1, 3)
Bull (Atos IT Solutions And Services) (2, 2)
Другие (18, 20)
Селектел (Selectel) (1, 2)
Delta Computers (Дельта Компьютерс) (1, 1)
Hewlett Packard Enterprise (HPE) (1, 1)
Lenovo Data Center Group (1, 1)
Базальт СПО (BaseALT) ранее ALT Linux (1, 1)
Другие (7, 7)
Аладдин Р.Д. (Aladdin R.D.) (1, 2)
Delta Computers (Дельта Компьютерс) (1, 1)
DEPO Computers (Депо Электроникс) (1, 1)
Lenovo (1, 1)
Red Hat (1, 1)
Другие (8, 8)
Content AI (Контент ИИ) (1, 2)
КНС Групп (Yadro) (1, 2)
TrueConf (Труконф) (1, 2)
Селектел (Selectel) (1, 1)
AirBit (АирБит) (1, 1)
Другие (1, 1)
Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)
IBM Power Systems - 35 (13, 22)
Microsoft Active Directory - 32 (32, 0)
Dell EMC PowerEdge - 23 (11, 12)
Oracle Exadata Database Machine - 21 (21, 0)
Oracle WebLogic Server - 20 (20, 0)
Другие 275
Lenovo ThinkSystem - 6 (6, 0)
IBM Power8 - 3 (0, 3)
Soti Mobicontrol - 3 (3, 0)
Ngenix Облачная платформа - 2 (2, 0)
Dell EMC PowerEdge - 2 (2, 0)
Другие 9
Selectel Выделенные серверы - 2 (2, 0)
Lenovo ThinkSystem - 1 (1, 0)
Gagarin Серверы - 1 (1, 0)
Aerodisk Machine Серверы - 1 (1, 0)
Softline HaaS: оборудование как сервис - 1 (1, 0)
Другие 4
JaCarta Authentication Server (JAS) - 2 (2, 0)
Dell EMC PowerEdge - 2 (0, 2)
Depo Storm - 1 (1, 0)
IBM Power8 - 1 (0, 1)
Lenovo ThinkSystem - 1 (1, 0)
Другие 1
Trueconf MCU (Multipoint Control Unit) - 2 (2, 0)
ContentReader Server - 2 (2, 0)
IBM Power8 - 2 (0, 2)
СберТех: Platform V SynGX - 1 (1, 0)
Selectel Выделенные серверы - 1 (1, 0)
Другие -2
Подрядчики-лидеры по количеству проектов
Солар (ранее Ростелеком-Солар) (46)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (15)
Форсайт (11)
Axiom JDK (БеллСофт) ранее Bellsoft (10)
Бипиум (Bpium) (10)
Другие (387)
Солар (ранее Ростелеком-Солар) (8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (4)
Консом групп, Konsom Group (КонсОМ СКС) (2)
IFellow (АйФэлл) (2)
ЛАНИТ - Би Пи Эм (Lanit BPM) (2)
Другие (30)
Солар (ранее Ростелеком-Солар) (10)
Форсайт (3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (3)
Cloud.ru (Облачные технологии) ранее SberCloud (2)
КРИТ (KRIT) (2)
Другие (13)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Солар (ранее Ростелеком-Солар) (2, 48)
Microsoft (41, 47)
Oracle (49, 26)
Hyperledger (Open Ledger Project) (1, 23)
IBM (33, 18)
Другие (588, 302)
Солар (ранее Ростелеком-Солар) (1, 8)
Финансовые Информационные Системы (ФИС, FIS, Финсофт) (1, 4)
Microsoft (4, 3)
Oracle (2, 3)
SAP SE (2, 2)
Другие (16, 19)
Солар (ранее Ростелеком-Солар) (1, 11)
Форсайт (1, 3)
Banks Soft Systems, BSS (Бэнкс Софт Системс, БСС) (1, 3)
Сбербанк (1, 2)
Cloud.ru (Облачные технологии) ранее SberCloud (1, 2)
Другие (9, 9)
Солар (ранее Ростелеком-Солар) (1, 6)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 6)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 4)
Мобильные ТелеСистемы (МТС) (1, 4)
Форсайт (1, 3)
Другие (14, 24)
Мобильные ТелеСистемы (МТС) (2, 3)
Солар (ранее Ростелеком-Солар) (1, 3)
Unlimited Production (Анлимитед Продакшен, eXpress) (1, 3)
МТС Exolve (Межрегиональный ТранзитТелеком, МТТ) (1, 2)
Сбербанк (1, 1)
Другие (11, 11)
Распределение базовых систем по количеству проектов, включая партнерские решения (проекты, партнерские проекты)
Solar appScreener (ранее Solar inCode) - 48 (48, 0)
Hyperledger Fabric - 23 (23, 0)
Windows Azure - 20 (20, 0)
FIS Platform - 15 (15, 0)
Форсайт. Мобильная платформа (ранее HyperHive) - 12 (12, 0)
Другие 309
Solar appScreener (ранее Solar inCode) - 8 (8, 0)
FIS Platform - 4 (4, 0)
Siemens Xcelerator - 2 (2, 0)
Парадокс: MES Builder - 2 (2, 0)
Турбо X - 2 (2, 0)
Другие 21
Solar appScreener (ранее Solar inCode) - 11 (11, 0)
Форсайт. Мобильная платформа (ранее HyperHive) - 3 (3, 0)
BSS Digital2Go - 3 (3, 0)
Cloud ML Space - 2 (2, 0)
Nexign Microservices Framework - 1 (1, 0)
Другие 7
Solar appScreener (ранее Solar inCode) - 6 (6, 0)
EXpress Защищенный корпоративный мессенджер - 6 (6, 0)
МТС Exolve - 4 (4, 0)
РЖД и Робин: Облачная фабрика программных роботов - 3 (3, 0)
Форсайт. Мобильная платформа (ранее HyperHive) - 3 (3, 0)
Другие 12
Solar appScreener (ранее Solar inCode) - 3 (3, 0)
EXpress Защищенный корпоративный мессенджер - 3 (3, 0)
МТС Exolve - 2 (2, 0)
GreenData Платформа - 1 (1, 0)
ФинПлатформа Т1 - 1 (1, 0)
Другие 7