logo

Какво е EJB

EJB е акроним за корпоративен java bean . Това е спецификация, предоставена от Sun Microsystems за разработване на защитени, стабилни и мащабируеми разпределени приложения.

За да получите информация за разпределени приложения, посетете RMI Урок първи.

За да стартирате EJB приложение, имате нужда от сървър за приложения (EJB контейнер) като Jboss, Glassfish, Weblogic, Websphere и др. Изпълнява:

  1. управление на жизнения цикъл,
  2. сигурност,
  3. управление на транзакции и
  4. обединяване на обекти.

Приложението EJB е разположено на сървъра, така че също се нарича компонент от страна на сървъра.

EJB е като COM ( Модел на компонентен обект ), предоставени от Microsoft. Но той е различен от Java Bean, RMI и уеб услуги.


Кога се използва Enterprise Java Bean?

  1. Приложението се нуждае от отдалечен достъп . С други думи, той се разпространява.
  2. Приложението трябва да бъде мащабируемо . EJB приложенията поддържат балансиране на натоварването, групиране и отказ.
  3. Приложението се нуждае от капсулирана бизнес логика . EJB приложението е отделено от презентационния и постоянния слой.

Типове Enterprise Java Bean

В java има 3 вида корпоративни компоненти.

Session Bean

Session bean съдържа бизнес логика, която може да бъде извикана от локален, отдалечен клиент или клиент на уеб услуга.

Управление на съобщения Bean

Подобно на Session Bean, той съдържа бизнес логиката, но се извиква чрез предаване на съобщение.

Entity Bean

Той капсулира състоянието, което може да се запази в базата данни. Той е отхвърлен. Сега той е заменен с JPA (Java Persistent API).


Разлика между RMI и EJB

И RMI, и EJB предоставят услуги за достъп до обект, работещ в друга JVM (известен като отдалечен обект) от друга JVM. Разликите между RMI и EJB са дадени по-долу:

RMIEJB
В RMI мидълуерните услуги като сигурност, управление на транзакции, групиране на обекти и т.н. трябва да се извършват от Java програмиста.В EJB мидълуерните услуги се предоставят автоматично от EJB контейнера.
RMI не е компонент от страната на сървъра. Не е необходимо да бъде разположен на сървъра.EJB е компонент от страната на сървъра, той трябва да бъде внедрен на сървъра.
RMI е изграден на върха на програмирането на сокета.EJB технологията е изградена върху RMI.

EJB и уеб услуга

В EJB и компонентът на bean, и клиентът на bean трябва да бъдат написани на език java.

Ако клиентът на bean трябва да бъде написан на друг език, като напр .net , php и т.н., трябва да отидем с уеб услуги (SOAP или REST). Така че EJB с уеб услуга ще бъде по-добър вариант.


Недостатъци на EJB

  1. Изисква сървър за приложения
  2. Изисква само java клиент. За клиент на друг език трябва да изберете уеб услуга.
  3. Комплекс за разбиране и разработване на ejb приложения.