18119

Вступ до технології Enterprise JavaBeans

Лекция

Информатика, кибернетика и программирование

Тема 4: Вступ до технології Enterprise JavaBeans Java Platform Enterprise Edition чи Java EE раніше відома як Java 2 Platform Enterprise Edition чи J2EE до версії 1.5 – це програмна платформа частина Javaплатформи для розробки і запуску розподілених Javaпрограм з багаторівневою архітектурою що базуються на ком

Украинкский

2013-07-06

50 KB

1 чел.

Тема 4: Вступ до технології Enterprise JavaBeans

Java Platform, Enterprise Edition чи Java EE (раніше відома як Java 2 Platform, Enterprise Edition чи J2EE (до версії 1.5)) – це програмна платформа, частина Java-платформи, для розробки і запуску розподілених Java-програм з багаторівневою архітектурою, що базуються на компонентній архітектурі і виконуються на сервері програм (application server).

Програмний компонент – це елемент системи, що пропонує для використання визначений сервіс і може взаємодіяти з іншими компонентами. З точки зору реалізації, можна сказати, що компонент є набором класів, об’єднаних в цілісний самодостатній модуль для реалізації певної функціональності.

Java EE програма складається з компонентів. Java EE компонент є самодостатньою функціональною програмною одиницею, зібраною в Java EE програму з відповідних класів і файлів, що взаємодіє з іншими компонентами.  Специфікація Java EE визначає наступні Java EE компоненти:

• Програмні клієнти та аплети є компонентами, що виконуються на клієнтській машині.

• Java Servlet, JavaServer Faces та JavaServer Pages (JSP) компоненти є web-компонентами, що виконуються на сервері.

• Enterprise JavaBean (EJB) компоненти є бізнес-компонентами, що виконуються на сервері.

Java EE компоненти пишуться на мові програмування Java і компілюються аналогічно іншим програмам на цій мові. Різницею між Java EE компонентами і “стандартними” Java класами є те, що Java EE компоненти збираються в Java EE програми, які перевіряються на правильність і відповідність Java EE специфікації, та встановлюються (деплояться – are deployed) на Java EE сервері, де вони запускаються і керуються.

Enterprise JavaBeans

Enterprise beans є Java EE класами, що реалізують технологію Enterprise JavaBeans (EJB). Enterprise beans виконуються в EJB-контейнері, runtime середовищі всередині Application Server. Будучи прозорим для розробника програм, EJB контейнер забезпечує сервіси системного рівня, такі, як транзакції і безпеку, для enterprise beans. Ці сервіси дозволяють швидко будувати і встановлювати enterprise beans, які складають основу транзакційної Java EE програми.

Написаний на мові Java, enterprise bean є серверним компонентом, який інкапсулює бізнес-логіку програми. Бізнес-логіка є кодом, що виконує дії, для яких призначена програма. З декількох причин, використання enterprise beans полегшує розробку великих розподілених програмних систем. По-перше, оскільки EJB контейнер забезпечує сервіси системного рівня для enterprise beans, розробник bean може сконцентруватись на розв’язанні бізнес-проблеми. По-друге, оскільки beans, а не клієнти, вміщують бізнес-логіку програми, розробник клієнта може сконцентруватись на презентаційних моментах; він не повинен розробляти модулі, що реалізують бізнес-логіку чи здійснюють доступ до БД, в результаті чого клієнт стає "тоншим", що є великою перевагою особливо для клієнтів, що виконуються на маленьких пристроях. По-третє, оскільки  enterprise beans є портованими (portable) компонентами, можна створювати нові програми з уже існуючих компонентів beans. Такі програми можуть виконуватись на будь-якому Java EE сумісному сервері, якщо вони використовують стандартні API.

В таблиці вказано типи enterprise beans.

Тип Enterprise Bean 

Призначення 

Session

Виконує певну задачу для клієнта; додатково може реалізовувати web service 

Message-Driven

Діє як listener для певного типу повідомлення, таких, як Java 

Message Service API

Session Bean

Session bean представляє одного клієнта всередині Application Server. Для доступу до програми задеплоєної на сервері, клієнт викликає методи session bean’а. Session bean виконує дії для клієнта, відділяючи клієнта від складності виконанням бізнес-задач всередині сервера. Як видно з ім’я, session bean схожий на інтерактивний сеанс. Session bean не може розділятись між клієнтами, він може мати лише одного клієнта так само, як інтерактивний сеанс може мати лише одного користувача. Session bean не є persistent (його дані не зберігаються в базі даних). Коли клієнт завершує свою роботу, пов’язаний з ним session bean, начебто, теж завершується і не асоціюється більше з клієнтом.

Є два типи session beans: stateful та stateless.

Стан об’єкта визначається значеннями йогo полів. В stateful session bean, поля визначають стан унікального сеансу клієнт-bean. Оскільки клієнт взаємодіє (“розмовляє”) з bean, цей стан часто називають "станом розмови". Стан зберігається впродовж сеансу клієнт-bean. Якщо клієнт видаляє bean чи закінчує свою роботу, сеанс закінчується і стан зникає. Така transient природа стану не є проблемою, оскільки коли взаємодія клієнта і bean закінчується, нема сенсу зберігати стан.

Stateless session bean не підтримує "стан розмови" з клієнтом. Коли клієнт викликає метод stateless bean’а, його поля можуть вміщувати інформацію про стан, але тільки впродовж виконання метода. Коли метод закінчився, стан більше не зберігається. Крім як в час виконання метода, всі екземпляри stateless bean’а однакові, що дозволяє EJB контейнеру призначати екземпляр будь-якому клієнту.

Внаслідок того, що stateless session bean може підтримувати багато клієнтів, вони дають більшу масштабованість для програми, число користувачів якої може зрости. Як-правило, програмі потрібно менше stateless session beans ніж stateful session beans для підтримки однакової кількості клієнтів.

За певних обставин, EJB контейнер може записати stateful session bean в сховище інформації. Stateless session beans ніколи не записуються в сховище інформації. Однак, stateless beans можуть показувати кращу продуктивність, ніж stateful beans, адже процес повернення stateful session bean зі сховища інформації дає додаткову затримку.

Stateless session bean може реалізувати web service, а інші типи enterprise beans не можуть.

Message-Driven Bean

Message-driven bean – це enterprise bean, який дозволяє Java EE програмам обробляти повідомлення асинхронно. Зазвичай, вони діють як JMS (Java Message Service) message listener, що схоже на event listener, за винятком того, що вони отримують JMS повідомлення замість events. Повідомлення (message) може бути відправлено будь-яким Java EE компонентом — програмним клієнтом, іншим enterprise bean’ом, web компонентом, чи JMS програмою чи системою, яка не використовує технологію Java EE. Message-driven beans можуть обробляти JMS повідомлення чи інші типи повідомлень.

Найочевиднішою відмінністю між message-driven beans та session beans є те, що клієнти не здійснюють доступ до message-driven beans через інтерфейси. На відміну від session bean, message-driven bean має тільки bean клас, без інтерфейса.

В деяких відношеннях message-driven bean схожий на stateless session bean.

• Екземпляри message-driven bean’ів не утримують даних чи "стану розмови" для певного клієнта.

• Всі екземпляри message-driven bean однакові, що дозволяє EJB контейнеру посилати повідомлення будь-якому екземпляру message-driven bean.

• Один екземпляр message-driven bean’а може обробляти повідомлення від багатьох клієнтів.

Клієнтські компоненти не шукають message-driven beans і не викликають методи напряму. Замість цього, клієнт звертається до message-driven bean через JMS, посилаючи повідомлення приймачу, для якого message-driven bean клас є MessageListener. Приймач для message-driven bean визначаяється під час deployment використовуючи ресурси Application Server. Коли приходить повідомлення, контейнер викликає метод onMessage message-driven bean’а. Метод onMessage зазвичай приводить повідомлення до одного з п’яти типів JMS повідомлень і обробляє його відповідно до бізнес-логіки програми. Метод onMessage може викликати допоміжні методи, або може використовувати session bean для обробки інформації чи збереження даних в базі даних.


 

А также другие работы, которые могут Вас заинтересовать

24052. Хронический гастрит, Классификация, этиология и патогенез, клиника, лечение 56.92 KB
  Гастрит типа А эндогенный аутоимунный гастрит. Гастрит типа Б. Доказано что в основе патогенеза хронического гастрита типа В лежит персистирующая инфекция HP что подтверждается тем что этот микроорганизм находят в пилорическом отделе у подавляющего большинства больных. Гастрит типа С реактивный химический гастрит рефлюксгастрит.
24053. Бронхиальная астма. Аллергологическая диагностика 35.85 KB
  самостоятельное хроническое рецидивирующее заболевание основным и обязательным патогенетическим механизмом которого является изменённая реактивность бронхов обусловленная специфическими иммунологическими сенсибилизация и аллергия или неспецифическими механизмами а основным обязательным клиническим признаком приступ удушья вследствие бронхоспазма гиперсекреции и отёка слизистой оболочки бронхов Исследование функции внешнего дыхания Для определения функции внешнего дыхания повсеместно у пациентов в возрасте старше 5 лет используются...
24054. Острая и хроническая недостаточность коры надпочечников. Методы неотложной терапии 22.74 KB
  Синдром раздраженного кишечника: клиника диагностика лечение. Синдром раздраженного кишечника это не самостоятельное заболевание а комплекс расстройств которые не связаны с непосредственным поражением самого кишечника. Причины возникновения синдрома раздраженного кишечника: нервнопсихические психоэмоциональные расстройства стрессы нарушение привычного режима питания недостаток клетчатки в пище малоподвижный образ жизни гинекологические заболевания вызывают рефлекторные нарушения функции кишечника кишечника эндокринные нарушения ...
24055. Врожденные пороки сердца. Дефект межпредсердной и межжелудочковой перегородок 25.5 KB
  Врожденные аномалии пищевода. полное отсутствие атрезия аплазия пищевода; 2 частичная атрезия пищевода; 3 врожденные стенозы; 4 трахеоэзофагеальные фистулы; 5 врожденный короткий пищевод с образованием грудного желудка см. главу Дивертикулы пищевода; 7 врожденное диффузное или частичное расширение пищевода; 8 полное или частичное удвоение пищевода; 9 врожденные кисты и аберрантные ткани в пищеводе. Атрезии пищевода есть заращение его просвета на какомлибо участке или по всей длине.
24056. Крупозная и очаговая пневмонии: клиника, диагностика, лечение 43.49 KB
  Вегетососудистая дистония ВСД синонимы: нейроциркуляторная дистония нейроциркуляторная астения психовегетативный синдром вегетоневроз синдром вегетативной дисфункции полиэтиологический синдром характеризующийся дисфункцией вегетативной автономной нервной системы ВНС и функциональными то есть не органическими нарушениями со стороны практически всех систем организма в основном сердечнососудистой. Клинические проявления Основной клинической особенностью больных ВСД является наличие у больных многочисленных жалоб многообразие...
24057. Острые и хронические эрозии желудка и двенадцатиперстной кишки 30.57 KB
  Санация очагов хронической инфекции Отек легких: диагностика клиника лечение. состояние при котором в результате застоя в малом круге кровообращения или токсического поражения сосудов легких серозногоморрагическая жидкость выпотевает в легочные альвеолы. Богатый белком транссудат при соприкосновении с воздухом дает энергичное вспенивание в реиультате чего объем его резко возрастает значительно сокращается дыхательная поверхность легких и возникает угроза асфиксии. Пониженное содержание белков плазмы может быть важной причиной...
24058. Пневмокониозы (силикоз, силикатозы, бериллиоз, смешанные). Клинико-морфологические формы и стадии 34.62 KB
  хронические заболевания легких вызываемые длительным вдыханием пыли и характеризующиеся развитием фиброза легочной ткани. Чем лучше происходит самоочищение легких от пыли тем меньшее ее количество остается в них и тем меньше риск возникновения П. заключается в образовании пылевого депо вследствие того что количество пыли задерживающейся в легких при дыхании превышает количество пылевых частиц удаляемых из них. Первичные механизмы фиброзного процесса развивающегося в легких под воздействием пыли во многом еще не ясны.
24059. Регуляция обмена белков 44.5 KB
  В регуляции обмена белков принимают участие СТГ инсулин тиреидные гормоны половые гормоны кортикостероиды. Главная роль в регуляции обмена белков принадлежит СТГ. Этапы действия СТГ. Эффекты вызываемые СТГ во времени можно разделить на 3 группы: Ранние эффекты – 2 ч.
24060. Регуляция водно-солевого обмена 59 KB
  Осморецепторы гипоталамуса при повышении осмотического давления тканевой жидкости стимулируют освобождение АДГ из секреторных гранул. АДГ увеличивает скорость реабсорбции воды из первичной мочи и тем самым уменьшает диурез. Так АДГ сохраняет необходимый объем жидкости в организме не влияя на количество выделяемого NaCl. ликвидируется стимул который вызвал выделение АДГ.