Oracle WebLogic
Oracle WebLogic — это сервер приложений (application server) для создания, развёртывания и управления корпоративными Java-приложениями, разрабатываемый корпорацией Oracle. WebLogic Server является частью платформы Oracle Fusion Middleware и поддерживает полный спектр стандартов Java EE (Jakarta EE), включая Enterprise JavaBeans (EJB), JavaServer Pages (JSP), сервлеты, веб-сервисы и Java Message Service (JMS). Продукт позиционируется как решение для высоконагруженных, критически важных систем, требующих высокой доступности, масштабируемости и безопасности.
История
Ранние годы (BEA Systems)
Первоначально WebLogic был разработан компанией WebLogic, Inc., основанной в 1995 году. В 1998 году компания была приобретена BEA Systems, которая выпустила первую коммерческую версию — BEA WebLogic Server 4.0. В начале 2000-х годов WebLogic стал одним из доминирующих серверов приложений на рынке Java, конкурируя с IBM WebSphere и JBoss (ныне WildFly). Ключевым преимуществом считалась глубокая интеграция с продуктами BEA (Tuxedo, AquaLogic) и поддержка кластеризации.
Эпоха Oracle
В 2008 году корпорация Oracle приобрела BEA Systems за 8,5 миллиардов долларов США. После слияния WebLogic был интегрирован в линейку Oracle Fusion Middleware. В 2010 году вышла версия 11g (10.3.x), которая стала одной из самых массовых. В 2014 году была выпущена версия 12c (12.1.x), а в 2018 году — 12.2.x. В 2021 году Oracle представила версию 14c (14.1.1), которая получила поддержку Jakarta EE 8 (ранее Java EE 8) и улучшенную совместимость с облачными развёртываниями (Oracle Cloud Infrastructure, OCI).
Архитектура и компоненты
Основные элементы
- Административный сервер (Admin Server) — центральный узел управления, отвечающий за конфигурацию, мониторинг и развёртывание приложений. Доступ к нему осуществляется через веб-консоль (WebLogic Administration Console) или командную строку (WLST — WebLogic Scripting Tool).
- Управляемые серверы (Managed Servers) — рабочие экземпляры, на которых выполняются приложения. Каждый управляемый сервер может быть настроен на обработку определённых типов запросов (например, HTTP, JMS, EJB).
- Кластеры (Clusters) — группа управляемых серверов, объединённых для обеспечения отказоустойчивости и масштабирования. Кластеры поддерживают репликацию сессий, распределённую обработку транзакций и балансировку нагрузки.
- Домены (Domains) — логическая единица управления, объединяющая административный сервер, один или несколько управляемых серверов и кластеров. Домен имеет единую конфигурацию, хранящуюся в файле
config.xml.
Службы и модули
- Web-контейнер — поддержка сервлетов, JSP, JSF, веб-сокетов.
- EJB-контейнер — выполнение Enterprise JavaBeans (Session Beans, Message-Driven Beans).
- JMS-сервер — реализация очередей и топиков для асинхронного обмена сообщениями.
- Java Transaction Service (JTS) — управление распределёнными транзакциями (X/Open XA).
- Веб-сервисы — поддержка SOAP, REST, JAX-WS, JAX-RS.
- Безопасность — аутентификация, авторизация, аудит; интеграция с LDAP, Kerberos, SAML.
Ключевые возможности
Масштабируемость и отказоустойчивость
WebLogic позволяет горизонтально масштабировать приложения путём добавления новых управляемых серверов в кластер. Балансировка нагрузки может осуществляться как встроенными средствами (WebLogic HTTP Proxy), так и внешними балансировщиками (F5, NGINX). Отказоустойчивость обеспечивается репликацией HTTP-сессий, JMS-сообщений и транзакций между узлами кластера.
Интеграция с Oracle Cloud
Начиная с версии 12c, WebLogic оптимизирован для работы в Oracle Cloud Infrastructure (OCI). Предусмотрены готовые образы для быстрого развёртывания, автоматизированное масштабирование (Auto Scaling) и интеграция с сервисами OCI (базы данных Autonomous Database, хранилища Object Storage, сервисы безопасности). Также доступен WebLogic Server for OCI — полностью управляемый сервис (PaaS), где Oracle берёт на себя администрирование сервера.
Средства управления
- WebLogic Administration Console — веб-интерфейс для управления доменами, серверами, приложениями, источниками данных (JDBC), JMS-ресурсами.
- WLST (WebLogic Scripting Tool) — скриптовый интерфейс на основе Jython для автоматизации задач (развёртывание, мониторинг, настройка).
- REST API — управление через HTTP-запросы (доступен с версии 12.2.1).
- Fusion Middleware Control — консоль для управления всеми продуктами Oracle Fusion Middleware, включая WebLogic.
Применение
Корпоративные системы
WebLogic традиционно используется в крупных организациях для развёртывания ERP-систем (Oracle E-Business Suite, JD Edwards, PeopleSoft), CRM-систем (Oracle Siebel), систем управления контентом (Oracle WebCenter) и бизнес-процессов (Oracle SOA Suite). Благодаря поддержке Java EE, на WebLogic также работают многие заказные приложения в банковском, страховом и телекоммуникационном секторах.
Облачные и гибридные сценарии
Современные версии WebLogic поддерживают развёртывание в контейнерах (Docker, Kubernetes) с помощью официальных образов Oracle. В 2020 году Oracle выпустила WebLogic Kubernetes Operator — инструмент для автоматизации развёртывания и управления кластерами WebLogic в Kubernetes. Это позволяет использовать WebLogic в гибридных архитектурах (on-premises + облако).
Критика и уязвимости
Сложность администрирования
WebLogic считается одним из наиболее сложных в настройке серверов приложений. Конфигурация домена требует глубоких знаний Java EE, сетевых протоколов и безопасности. Критики отмечают, что для типовых задач (например, настройка кластера) требуется значительно больше ручных операций, чем в альтернативных решениях (WildFly, Payara).
Безопасность
В 2019–2022 годах в WebLogic было обнаружено несколько критических уязвимостей (CVE-2019-2725, CVE-2020-14825, CVE-2021-2394), позволяющих удалённое выполнение кода без аутентификации. Oracle оперативно выпускала патчи, но инциденты привели к тому, что WebLogic часто становится целью атак (например, эксплуатация уязвимости CVE-2020-14882 в 2020 году). Рекомендуется своевременно устанавливать обновления безопасности (Critical Patch Updates, CPU).
Лицензирование
Oracle WebLogic распространяется по коммерческой лицензии. Стоимость лицензии зависит от количества процессорных ядер (Processor License) или числа пользователей (Named User Plus). Для небольших проектов затраты могут быть высокими, хотя существует бесплатная версия — Oracle WebLogic Server for Developers, предназначенная для разработки и тестирования.
Интересные факты
- WebLogic был одним из первых серверов приложений, реализовавших поддержку EJB 2.0 (2001 год) и Java EE 5 (2006 год).
- Версия 12c (12.1.2) стала первой, в которой появилась поддержка Java 8.
- В 2021 году Oracle объявила о прекращении поддержки WebLogic 12c (12.1.3) и рекомендовала переход на версию 14c.
- Согласно отчётам Gartner и Forrester, WebLogic входит в тройку лидеров рынка серверов приложений наряду с IBM WebSphere и Red Hat JBoss (WildFly).
Источники
- Oracle WebLogic Server Documentation (14c, 12c, 11g)
- Oracle Critical Patch Update Advisories (2019–2024)
- BEA Systems History: The Rise and Fall of an Enterprise Software Company (компьютерная литература)
- CVE Database (Common Vulnerabilities and Exposures) — записи по WebLogic
- Gartner Magic Quadrant for Application Infrastructure (2020–2023)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →