2014-02-13

Red Hat выпустил сервер приложений WildFly, пришедший на смену JBoss AS


Компания Red Hat представила свободный сервер приложений WildFly 8, пришедший на смену продукту JBoss Application Server 7. Кроме смены бренда WildFly 8 отличаться поддержкой Java EE 7, модульной структурой, ориентацией на высокую производительность и реализацией современных методов разработки. Код WildFly доступен под лицензией LGPL.
В качестве причины смени имени с JBoss AS на WildFly называется желание избежать путаницы, возникшей в связи с использованием бренда JBoss не только для свободного сервера приложений, но и для коммерческого продукта JBoss Enterprise Application Platform и сообщества JBoss Community, которое не ограничивается разработкой сервера приложений и развивает около 100 различных проектов. Таким образом на смену свободному продукту JBoss Application Server пришёл WildFly, а JBoss Enterprise и JBoss Community по-прежнему останутся под своими именами.
Кроме смены имени, корректировке подверглись цели и задачи проекта: WildFly сфокусирован на быстром внедрении инноваций и продвижении новых технологий, в то время как коммерческий продукт JBoss Enterprise Application Platform позиционируется как интегрированная, полностью протестированная и сертифицированная платформа Java EE. В качестве основной области использования WildFly рассматривается разработка и быстрое внедрение прототипов. Принципы разработки и распространения сервера приложений остались неизменны, продукт как и раньше является полностью свободным, бесплатным и общедоступным, а также выступает в роли upstream-проекта для коммерческого продукта JBoss Enterprise.
Основные особенности WildFly 8:
  • Обеспечение поддержки Java EE 7. Реализация сертифицирована на соответствие Full- и Web-профилям Java EE7. В том числе добавлена поддержка Java API for WebSocket и Java API for JSON Processing (JSON-P), улучшена поддежка CDI (Contexts and Dependency Injection), в JavaServer Faces встроена поддержка HTML5, представлены новые возможности Java API for RESTful Web Services 2.0, Concurrency Utilities for Java EE 1.0 и Servlet 3.1 для создания эффективных серверных приложения для параллельной обработки запросов, значительно улучшены средства доступа к ресурсам контейнеров, добавлены возможности для организации работы приложений в пакетном режиме;
  • Интегрирован новый высокопроизводительный http-сервер Undertow.io, работающий в неблокирующем режиме и нацеленный на обеспечение максимальной пропускной способности и масштабируемости. Undertow.io пригоден для использования в окружениях, обрабатывающих миллионы сетевых соединений. Undertow.io поддерживает выполнение традиционных и асинхронных сервлетов, позволяет создавать обработчики JSR-356 web socket, предоставляет гибкие средства для создания собственных обработчиков любых стадий запроса, в том числе с возможностью реализации поддержи собственных протоколов;
  • Сокращение числа используемых сетевых портов: почти все поддерживаемые протоколы теперь мультиплексированы за двумя портами: порт 9990 для управления (HTTP/JSON, HTTP Upgraded Remoting (Native Management & JMX) и Web Administration Console) и порт 8080 для приложений (Servlet, JAX-RS, JAX-WS, Web Sockets, HTTP Upgraded Remoting (EJB Invocation, Remote JNDI)). Указанное изменение позволяет значительно упростить использование WildFly в облачных системах, в которых на одном сервере выполняются сотни и тысячи экземпляров;
  • Поддержка управления доступом на основе ролей (RBAC), позволяющая установить разный набор прав для отдельных действий, таких как выполнение операций и изменений различных областей конфигурации. Также реализованы возможности для аудита вносимых изменений и настройки прав пользователей. Улучшены средства для интеграции с LDAP, в частности, добавлена поддержка привязки групп к ролям и определение стратегии кэширования. Реализован режим безопасного ведения лога аудита на внешнем syslog-сервере;
  • Добавлен специализированный менеджер безопасности Java (Security Manager), позволяющий определить права доступа в привязке к отдельным экземплярам (deployment) и отличающийся от штатного менеджера безопасности Java более высокой производительностью и поддержкой более гибкой конфигурации jboss-permissions.xml в дополнение к permissions.xml из Java EE;
  • Расширение средств для работы с логами через управляющий API. Добавлена поддержка вывода списка и просмотра файлов с логами на сервере. Реализована возможность определения собственной системы форматирования лога;
  • Поддержка реализации DistributedWorkManager на основе наработок проекта JGroups, улучшение менеджера соединений JCA. Подсистемы источников данных и адаптеров ресурсов теперь поддерживают определение правил размещения и стратегий сброса (flush);
  • Проведён рефакторинг поддержки кластеризации, реализованы новые API для выполнения команд на разных узлах, просмотра топологии кластера, создания одиночных сервисов;
  • Улучшение CLI-интерфейса: поддержка определения алиасов для быстрого доступа к часто используемым серверам, режим explore для изучения любого узла в дереве.
  • Подготовлена инфраструктура для применения патчей к существующим установкам, например, позволяющая удалённым клиентам установить (или отменить установку) модули и бинарные файлы c использованием управляющего протокола WildFly;
  • Улучшение совместимости с JDK8;
  • Новая модульная система, решающая проблемы с иерархической загрузкой классов из JAR. Модульная система позволяет абстрагировать серверную реализацию классов от приложений и загружать только необходимые для работы приложения классы, обеспечивая при этом полноценную изоляцию. Модуль оформляется как коллекция классов, которая может связывать зависимости с другими модулями и загружаться по мере необходимости;
  • Подготовка для загрузки минималистичного базового (core) дистрибутива, оптимального для использования авторами фреймворков, которые желают сформировать собственный набор runtime-компонентов на базе архитектуры WildFly 8. В состав входят: инструментарий, средства управления, контейнер для параллельного запуска сервисов, модульная система загрузки классов, прослойка для развёртывания приложений, встроенный http-сервер;
  • Включение в поставку RESTEasy 3, поддерживающего как стандартые Java EE REST API (JAX-RS 2.0), так и такие расширения, как JSON Web Encryption, Jackson, Yaml, JSON-P и Jettison;
  • Проведена адаптация для мобильных и облачных сценариев использования, в том числе для работы на портативных и мобильных устройствах, а также в гибридных облачных окружениях;
  • Проведена работа по увеличению скорости запуска, сокращению потребления памяти, задействованию новых механизмов кэширования. По скорости запуска WildFly в 10 раз выигрывает у JBoss Application Server, и также опережает Jetty и Tomcat;
  • Подготовлены средства для миграции Java EE приложений из GlassFish в WildFly;
  • Обновлены версии компонентов:
    • Mojarras 2.2.5-jbossorg-3
    • Groovy 2.2.1
    • Netty 4.0.15.Final
    • Undertow 1.0.0.Final
    • Jastow 1.0.0.Final
    • Santuario 1.5.6
    • Jackson 1.9.13
    • Eclipse JDT Core Compiler 4.3.1
    • Hibernate 4.3.1.Final
    • Hibernate Validator 5.0.3.Final
    • Hibernate Search 4.5.0.Final
    • Hornetq 2.4.1.Final
    • JBeret 1.0.0.Final
    • Arquillian 1.1.2.Final-wildfly-1
    • Hal 2.1.1.Final
    • Byteman 2.1.4
    • EJB Client 2.0.0.Final
    • Invocation 1.2.1.Final
    • Ironjacamar 1.1.3.Final
    • Narayana 5.0.0.Final
    • JBoss Logging 3.1.4.GA
    • JBoss Logmanager 1.5.2.Final
    • Log4j JBoss LogManager 1.1.0.Final
    • JBoss Marshalling 1.4.3.Final
    • Metadata 8.0.0.Final
    • Mod_cluster 1.3.0.Final
    • Msc 1.2.0.Final
    • Netty-xnio-transport 0.1.1.Final
    • Remote naming 2.0.0.Final
    • Remoting 4.0.0.Final
    • Remoting JMX 2.0.0.Final
    • SASL 1.0.4.Final
    • Weld 2.1.2.Final
    • XNIO 3.2.0.Final
    • JGroups 3.4.2.Final
    • Jipijapa 1.0.1.Final
    • PicketBox 4.0.20.Final
    • PicketLink 2.5.2.Final
    • Wildfly Security Manager 1.0.0.Final


source1
source2

Комментариев нет:

Отправить комментарий