Компания 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



Источник: http://www.opennet.ru/opennews/art.shtml?num=39073