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

0 чел.

Тема 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 для обробки інформації чи збереження даних в базі даних.


 

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

62749. Топливная промышленность 20 KB
  Учащиеся высказывают собственное мнение. Учащиеся самостоятельно составляют план и сопоставляют с планом на слайде. Своими вопросами учитель добивается того чтобы учащиеся смогли схематично составить структуру.
62750. Работа с бумагой. Складывание «Рыбки» 18.68 KB
  Цель урока: познакомить с искусством складывания бумаги оригами на примере выполнения рыбки. Задачи: а образовательные: формировать навыки сгибания складывания бумаги дать понятие оригами...
62751. Аппликация ракета 17.34 KB
  У ракеты есть водитель Невесомости любитель. Детали ракеты лучше делать яркого цвета. Части ракеты лучше приклеивать на картон темного цвета. Сначала приклеим основную часть потом треугольникэто будет верх нашей ракеты а потом крылья ракеты и иллюминаторы.
62753. Конструирование и плетение из бумаги 12.33 KB
  Учитель объясняет как правильно выполнить корзинку Дети слушают. Учитель параллельно и показывает это всё на кавадрате. На доске висит инструкционная карта Учитель ходит помогает если у когото не получается.
62754. Ліплення овочів з пластеліну 19.43 KB
  Наочність: Малюнки та ілюстрації овочів виліплені овочі з пластиліну. Тип уроку: Практичний по виліпленню овочів з пластиліну. Цибуля Діти а як одним словом можна назвати слова відгадки Овочі Які ви ще знаєте овочі...
62755. Новогодняя игрушка «Собачка» 21.32 KB
  Прежде чем начать работу правильно приготовь рабочее место. Кончил работу аккуратно убери рабочее место. Составление плана С чего начнете работу Что будете делать потом Что дальше Пословица да доске.
62756. Практична політологія. Політичний менеджмент та політичний маркетинг 37.2 KB
  Річ у тім що постійне ускладнення процесів політичного розвитку зростання ролі засобів масової інформації в суспільному житті значно посилили суспільну увагу до практичних аспектів політологічних знань.