Читаем Изучаем Java EE 7 полностью

• Управление жизненным циклом компонентов — контейнер отвечает за управление жизненным циклом каждого компонента.

• Обмен сообщениями — контейнер позволяет EJB-компонентам, управляемым сообщениями, прослушивать пункты назначения и получать сообщения без чрезмерного использования JMS.

• Управление транзакциями — благодаря управлению декларативными транзакциями EJB-компонент может задействовать аннотации для информирования контейнера о том, какую политику тот должен использовать по отношению к транзакциям. Контейнер заботится о выполнении фиксации или отката.

• Безопасность — в случае с EJB-компонентами можно определить управление доступом на уровне класса или метода, чтобы форсировать авторизацию пользователей и ролей.

• Поддержка конкурентного доступа — за исключением одиночных EJB-компонентов, в случае с которыми требуется объявление конкурентного доступа, EJB-компоненты всех остальных типов потокобезопасны по своей природе. Вы можете разрабатывать высокопроизводительные приложения, не беспокоясь о проблемах, связанных с потоками.

• Перехватчики — в перехватчики можно заложить сквозную функциональность, которая будет автоматически вызываться контейнером.

• Асинхронные вызовы методов — начиная с EJB 3.1, теперь можно выполнять асинхронные вызовы без обмена сообщениями.

После того как будет произведено развертывание EJB-компонента, контейнер позаботится о применении описанных выше служб, позволив разработчику сосредоточиться на бизнес-логике, одновременно извлекая выгоду из этих служб без добавления какого-либо кода системного уровня.

EJB-компоненты являются управляемыми объектами. Фактически они считаются управляемыми MBean-компонентами (Managed Beans). Когда клиент вызывает EJB-компонент, он не работает непосредственно с экземпляром этого EJB-компонента, а взаимодействует с прокси, что наблюдается в случае с экземпляром. Каждый раз, когда клиент вызывает метод в EJB-компоненте, этот вызов на самом деле идет через прокси и перехватывается контейнером, который обеспечивает службы от имени экземпляра EJB-компонента. Разумеется, все это абсолютно прозрачно для клиента. С момента своего создания и до уничтожения корпоративный EJB-компонент располагается в контейнере.

В приложении Java EE EJB-контейнер обычно взаимодействует с другими контейнерами — контейнером сервлетов (отвечающим за управление выполнением сервлетов и применением JSF-страниц), контейнером клиентского приложения (Application Client Container — ACC) (для управления автономными приложениями), а также с брокером сообщений (для отправки, постановки в очередь и получения сообщений), поставщиком постоянства и т. д.

Контейнеры обеспечивают для EJB-компонентов набор служб. С другой стороны, EJB-компоненты не могут создавать потоки или управлять ими, осуществлять доступ к файлам с использованием java.io, генерировать ServerSocket, загружать «родные» библиотеки или применять библиотеку AWT (Abstract Window Toolkit) либо API-интерфейсы Swing для взаимодействия с пользователем.

<p>EJB Lite</p>

Корпоративные EJB-компоненты стали доминирующей компонентной моделью в Java EE 7, будучи самым простым средством обработки транзакций, а также безопасной обработки бизнес-данных. Однако EJB 3.2 все еще определяет сложные технологии, которые сегодня используются в меньшей степени, например интероперабельность IIOP (Internet InterOrb Protocol — Межброкерный протокол для Интернета), а это означает, что любому новому поставщику, реализующему спецификацию EJB 3.2, придется реализовать и эти технологии. При знакомстве с EJB-компонентами разработчики также оказались бы отягощенными многими технологиями, которые они в ином случае никогда бы не использовали.

По этим причинам спецификация определяет минимальное подмножество полной версии EJB API под названием EJB Lite. Сюда входит небольшая, но удачная подборка EJB-функций, подходящих для написания переносимой транзакционной и безопасной бизнес-логики. Любое приложение EJB Lite может быть развернуто в любом продукте Java EE, который реализует EJB 3.2. EJB Lite состоит из подмножества EJB API, приведенного в табл. 7.1.

Таблица 7.1. Сравнение EJB Lite и полной версии EJB
Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT