5 Обязанностей Enterprise JavaBean Container

5 Обязанностей Enterprise JavaBean Container - манекены

Часть корпоративных JavaBeans для чайников Шпаргалка

Контейнер Enterprise JavaBeans (EJB) отвечает за предоставление ряда услуг вашим программам EJB. Услуги, которые должен предоставить контейнер EJB, перечислены Спецификацией Enterprise JavaBean Specification. Это означает, что вы можете развернуть свой EJB в любом контейнере, соответствующем спецификации, и получить выгоду от всех утвержденных услуг. Эти услуги включают в себя следующие ключевые функции:

  • Контейнеры EJB обеспечивают поддержку удаленной и локальной связи между компонентами EJB и клиентскими приложениями. Это достигается таким образом, что это практически прозрачно для вас, поэтому вам не нужно беспокоиться о том, как он реализован при разработке компонентов EJB.

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

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

  • Контейнеры EJB должны предоставлять транзакционные услуги для программ EJB. Транзакции определяют единицы работы, которые должны быть успешными или все сбой в качестве набора. Транзакции могут содержать множество программ EJB, включая программы EJB, находящиеся на удаленных компьютерах. Транзакционные характеристики контейнера EJB могут быть настроены при развертывании вашего приложения EJB, но для вас не требуется специального программирования, как разработчика EJB.

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

Контейнер EJB предоставляет эти и другие функции в соответствии с правилами, которые вы определяете. Это называется декларативное программирование . Декларативное программирование - это механизм, который позволяет объявлять службы, которые вы хотите, в документе, отформатированном в формате XML.Этот XML-документ называется дескриптором развертывания , , который развертывается с вашим приложением EJB. Сервер считывает дескриптор развертывания и автоматически реализует запрашиваемые вами службы в соответствии с правилами, которые вы объявляете. Таким образом, сложность реализации этих сервисов полностью скрыта, в то время как вы сохраняете возможность настройки приложения EJB в соответствии с вашими потребностями.

Хотя спецификация EJB определяет многие параметры, которые вы можете изменить в дескрипторе развертывания, она не запрещает поставщикам контейнеров EJB создавать собственные дескрипторы развертывания для расширения существующих параметров конфигурации или добавления новых параметров. Все поставщики контейнеров предоставляют расширения для дескриптора развертывания; они используют эти расширения для соединения родового дескриптора развертывания EJB с конкретными службами. Хотя эти расширения часто необходимы, они не являются стандартными и не переносимыми. Разработчики компонентов EJB не несут ответственности за работу с расширениями, специфичными для контейнера, для дескриптора развертывания. Служба обычно резервируется для тех, кто обладает специальными знаниями по администрированию контейнера EJB.