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


 

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

32480. ТЕХНОЛОГИЯ РАБОТЫ С ТЕКСТОВЫМ РЕДАКТОРОМ 76.5 KB
  Теория и методика обучения информатики ТЕХНОЛОГИЯ РАБОТЫ С ТЕКСТОВЫМ РЕДАКТОРОМ Данная тема является как правило первой изучаемой в базовом курсе относящейся к содержательной линии Информационные технологии. К теоретическим основам компьютерных технологий работы с текстом относятся вопросы кодирования текстовой информации. В рамках данной темы ученики должны не только развить практические навыки работы с различными аппаратными компонентами ЭВМ но и углубить свои знания об их устройстве о принципах их работы. Компьютер на котором...
32481. ТЕХНОЛОГИЯ РАБОТЫ С ГРАФИЧЕСКОЙ ИНФОРМАЦИЕЙ 59.5 KB
  Режимы ГР определяют возможные действия пользователя а также команды которые пользователь может отдавать редактору в данном режиме. В этом режиме можно выполнять команды записи рисунка на диск считывания рисунка с диска вывода рисунка на печать работы со сканером. В систему команд входят: команды выбора инструмента; команды настройки инструмента ширина линий шрифт букв; команды выбора цветов; команды масштабирования рисунка; команды работы с буфером обмена вырезать копировать вставить; команды манипулирования с...
32482. ТЕХНОЛОГИИ РАБОТЫ С ЭЛЕКТРОННЫМИ ТАБЛИЦАМИ 91.5 KB
  Использование электронной таблицы в качестве базы данных. Важным элементом электронной таблицы является табличный курсор прямоугольник выделенный цветом или рамкой. Ячейка таблицы которую в данный момент занимает курсор называется текущей ячейкой. Строка подсказки используется для вывода сообщений подсказывающих пользователю возможные действия при данном состоянии таблицы.
32483. ТЕХНОЛОГИЯ РАБОТЫ С БАЗАМИ ДАННЫХ 67.5 KB
  Теория и методика обучения информатики ТЕХНОЛОГИЯ РАБОТЫ С БАЗАМИ ДАННЫХ Области применения. Классификация баз данных. Классификация по способу хранения данных делит БД на централизованные и распределенные. По структуре организации данных говорят о трех способах организации данных: табличном иерархическом и сетевом.
32484. Особенности предпрофильной подготовки и профильного обучения информатике 115.5 KB
  В 9 классе познавательные способности учащихся дифференцируются начинается профилизация. Это позволило бы объективно оценить уровень готовности учащихся к продолжению образования по тому или иному профилю а также создать основу для внедрения в массовую практику механизмов рационального и прозрачного конкурсного набора в старшую профильную школу...
32486. ПРОФИЛЬНЫЕ КУРСЫ, ОРИЕНТИРОВАННЫЕ НА ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ 109 KB
  Существенно донести до учащихся что информация в таких файлах представлена лишь символами кодовой таблицы и немногими управляющими символами. создать таблицу содержащую заданное число строк и столбцов; перемещаться по таблице; устанавливать ширину столбца; заполнять таблицу текстом; создавать желаемое обрамление и заливку ячеек таблицы; удалять таблицу. Методика обучения обработке числовой информации Тема Введение в электронные таблицы Основные вопросы: Круг задач решаемых с использованием программ класса электронные...
32487. ПРЕПОДАВАНИЕ ПРОФИЛЬНЫХ КУРСОВ ИНФОРМАТИКИ ОРИЕНТИРОВАННЫХ НА ПРОГРАММИРОВАНИЕ 250 KB
  Каждый объект можно использовать для решения задачи не вникая во внутренние механизмы его функционирования C Delphi Visul Bsic. Delphi является системой объектного программирования созданной на базе Паскаля; по оценке специалистов ее профессиональный уровень очень высок. Поурочное планирование курса Учимся программировать на Delphi Курс 10 класса 34 часа N п п Название темы Кол. Основные понятия среды Delphi.
32488. ПРОФИЛЬНЫЕ КУРСЫ ИНФОРМАТИКИ ОРИЕНТИРОВАННЫЕ НА МОДЕЛИРОВАНИЕ 89.5 KB
  Ряд профильных курсов информатики включает в свое название слово моделирование или использует элементы моделирования в содержании поскольку моделирование является неотъемлемым компонентом общечеловеческой культуры и мощным методом познания окружающего мира природы и общества. Курсы ориентированные на моделирование должны выполнять развивающую функцию поскольку при их изучении учащиеся продолжают знакомство еще с одним методом познания окружающей действительности методом компьютерного моделирования. Выработка практических...