Поддержи Openmeetings

воскресенье, 16 марта 2014 г.

Разработка на JBoss EAP: что это?

Представляем вашему вниманию серию статей по разработке на JBoss EAP. В первой сегодняшней статье будут даны основные вводные понятия и термины, а далее будет пошаговые статьи о каждом аспекте разработки.

Red Hat JBoss Enterprise Application Platform 6 (JBoss EAP 6) — это быстрая, безопасная и мощная связующая платформа (middleware platform), построенная на открытых стандартах и совместимая cо спецификацией Java Enterprise Edition 6. Новая модульная структура позволяет запускать сервисы по запросу только тогда, когда в них есть необходимость, что существенно увеличивает начальную скорость. Консоль управления и интерфейс управления командной строки убирает необходимость редактирования конфигурационных XML файлов вручную, добавляя возможность «скриптовых» и автоматических задач. Также здесь есть API и фреймворки разработчика, которые могут использоваться для быстрого создания безопасных, мощных и масштабируемых Java EE приложений.

Спецификация Java Enterprise Edition 6 (JEE 6) определяет только два профиля: полный профиль (включает все API и спецификации, содержащиеся в спецификациях EE 6) и веб профиль (включает подмножества API, полезных для веб-разработчиков). JBoss EAP — это сертифицированная реализация спецификаций Java Enterprise Edition 6 полного профиля и веб профиля.

Требования веб профиля Java EE 6
  • платформа Java для предприятий, 6 редакция (Enterprise Edition 6);
  • Веб технологии Java
    • сервлет 3.0 (JSR 315);
    • JSP 2.2 и язык выражений (Expression Language) EL 1.2;
    • JavaServer Faces (JSF) 2.0 (JSP 1.2);
    • Java библиотека стандартных тегов (Java Standard Tag Library) для JSP 1.2;
    • поддержка отладки на других языках (Debugging Support for Other Languages) 1.0 (JSR 45);
  • Технологии корпоративных приложений
    • внедрение контекстов и зависимостей (Contexts and dependency injections, CDI) (JSR 299);
    • внедрение зависимостей в Java (Dependency injections for Java) (JSR 330);
    • Enterprise JavaBeans 3.1 Lite (JSR 318);
    • Java Persistence API 2.0 (JSR 317);
    • общие аннотации к платформе Java 1.1 (JSR 250);
    • Bean Validation (JSR 303).
В состав полного профиля EE 6 входят:
  • EJB 3.1 (не версия Lite) (JSR 318);
  • архитектура коннектора Java EE (Java EE Connector Architecture) 1.6 (JSR 322);
  • сервис сообщений Java (Java Message Service, JMS) API 1.1 (JSR 914);
  • JavaMail 1.4 (JSR 919);
  • Технологии веб сервиса
    • веб сервисы Jax-RS RESTful 1.1 (JSR 311);
    • внедрение Enterprise Web Services 1.3 (JSR 109);
    • JAX-WS Java API для веб сервисов, основанных на XML 2.2 (JSR 224);
    • архитектура Java для привязки XML (XML Binding) (JAXB) 2.2 (JSR 222);
    • мета данные веб сервисов для платформы Java (Web Services Metadata for the Java Platform) (JSR 181);
    • Java APIs для основанного на XML RPC 1.1 (JSR 101);
    • Java APIs для сообщений XML (XML Messaging) 1.3 (JSR 67);
    • Java API для реестров XML (XML Registries) (JAXR) 1.0 (JSR 93);
  • Технологии управления и безопасности
  • механизм безопасности Java, управляемый контейнерами (Java Authentication Service Provider Interface for Containers) 1.0 (JSR 196);
  • контракт аутентификации для контейнеров (Java Authentication Contract for Containers) 1.3 (JSR 115);
  • развертывание Java EE Application 1.2 (JSR 88);
  • управление J2EE 1.1 (JSR 77).

Еще один важный термин — Модуль — логическая группировка классов, используемая для загрузки классов и управления зависимостями. JBoss EAP 6 отличает два различных типа классов — статические и динамические — хотя единственное различие между ними это то, как они упакованы. Все модули обеспечивают одинаковую функциональность.

Статические модули предопределяются директорией сервера приложений EAP_HOME/modules/. Каждая поддериктория представляет один модуль и содержит один или более JAR файлов и файл конфигурации (module.xml). Имя модуля определяется в файле module.xml. Все сервера приложений, которые предоставляют API, предлагают статические модули, включающие несколько Java EE API и также другие API, например, JBoss Logging. Создание специальных статических модулей может быть полезно в случае, когда несколько приложений развернуто на одном и том же сервере, где используются третьи библиотеки. Модуль, содержащий эти библиотеки, создается и устанавливается администратором JBoss.

В свою очередь динамические модули создаются и загружаются сервером приложений при каждом развертывании JAR или WAR (или подразвертывания в EAR). Имя динамического модуля извлекается из имени развертываемого архива. Из-за того, что развертывания загружаются как модули, они могут настраивать зависимости и сами использоваться в качестве зависимостей другими развертываниями. Модули загружаются по запросу и обычно возникают тогда, когда развертывается приложение, содержащее явные или скрытые зависимости.

Для контроля за путями класса развертываемых приложений JBoss EAP 6 использует новую модульную систему загрузки классов (modular class loading system ). Эта система предлагает больше гибкости и контроля, по сравнению с традиционной системой с иерархическими загрузками классов. Модульный загрузчик классов подразделяет все Java классы на логические группы, которые зовутся модулями. Каждый модуль может определить зависимости от других модулей так, чтобы классы из этого модуля добавлялись в свой собственный путь класса. Так как с каждым развертываемым JAR или WAR файлом работают также, как с модулем, разработчик (через добавление конфигурации моделей к путям классов) может контролировать содержание путей классов своих приложений.

В следующей статье будет показано как установить среду разработчика и запустить первое приложение. Если у вас будут вопросы или дополнения, оставляйте комментарии. Мы обязательно отвечаем на каждый из них!

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

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