Компания 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
Комментариев нет:
Отправить комментарий