Enterprise JavaBeans
Enterprise JavaBeans |
---|
instantia de: component-based software engineering[*], technical specification[*] |
parte de: Jakarta EE[*] |
|
sito web official: https://projects.eclipse.org/projects/ee4j.ejb |
Enterprise JavaBeans (EJB) es un architectura de componentes de programmatura, al latere de servitor, pro le platteforma de disveloppamento Java EE.
Iste architectura propone un skeleto pro crear componentes distribuite (in altere parolas, displicate sur servitores remote) scribite in linguage de programmation Java albergate intra un servitor applicative permittente de representar datos (EJB nominate "entitate"), de proponer servicios con o sin conservation de stato inter le appellos (EJB nominate "session"), o ancora de complir labores de maniera asynchrone (EJB nominate "message"). Tote le EJBs pote evolver in un contexto transactional.
Del version 1.0 al version 2.1, un EJB era accompaniate de un o plure files de displicamento scribite in XML que permitteva al servitor applicative de displicar correctemente le objecto intra un container. Illo era particularmente in iste files de displicamento que le disveloppator habeva le possibilitate de precisar le skeleto transactional in le qual le objecto vadeva executar se. Desde le version 3.0, le modello EJB usa le principio de annotation java (meta-datos) pro specificar tote le configuration e le proprietates transactional del objecto. Le file de code source del EJB basta a se mesme.
Illo es le servitor applicative que es responsabile del creation, del destruction, del passivation o del activation de su componentes in function del besonios. Le cliente via un appello RMI (o un de su derivatives) va recercar un EJB per su nomine logic JNDI e appellar un o plure methodos de iste objecto.
Le EJB session
Le EJB sessiones (session beans) son objectos proponente servicios a lor appellante. Illos propone un certe numero de methodos scribite per le disveloppator. Il ha duo typos de EJB session: le EJB sessiones non conservante lor stato inter duo appellos (EJB nominate stateless), e les conservante lo (EJB nominate statefull). Il non ha alcun garantia que inter duo appellos al mesme EJB le instantia del objecto sia le mesme.
Stateless session bean
Le particularitate principal de un stateless session bean es de non conservar de stato inter le differente appellos.
@Stateless
public class StatelessSessionBeanImpl implements StatelessSessionBean
{
public String sayHello()
{
return ("Hello!");
}
}
Stateful session bean
Le particularitate principal de un stateful session bean es de conservar su stato inter differente appellos de methodos.
@Stateful
public class StatefulSessionBeanImpl implements StatefulSessionBean
{
private String user;
public void login(String user)
{
this.user = user;
}
public String sayHello()
{
if (user == null)
{
return ("Hello world!");
}
return ("Hello " + user + "!");
}
}
Le EJB entitate
Le EJB entitate son beans habente majoritarimente pro vocation de esser persistente, in altere parolas potente esser tenite sur un supporto physic inter duo sessiones.
Le EJB entitate pote esser de duo sortas: BMP (bean managed persistence) o CMP (container managed persistence).
Le BMP son beans cuje persistentia ha debite esser programmate per le disveloppator (iste ultime debe respectar un formato pro le classe e le methodos a implementar son imponite per le norma).
Le EJB CMP son les del beans cuje persistentia es directemente assecurate per le container de EJB; le mapping inter le objecto e su supporto de persistentia es indicate al container via le files descriptor de displicamento. Le disveloppator, post que le file de displicamento es realisate, non ha besonio de scriber le codice de persistentia.
Desde le version 3.0 del specification EJB, le notion de bean BMP/CMP non existe plus: le EJB entitate son directemente ligate al base de datos via un mapping inter objectos e relationes. Iste mapping es definite sia in un file de configuration XML, o directemente in le codice Java per usar des annotationes.
Iste nove interfacie de programmation del EJB entitate es appellate Java Persistance API.
Le EJB message
Del norma EJB 2.0, iste architectura propone un tertie typo de componente: le EJB message permittente de provocar un processo al latere de un servitor applicative al tempore del publication de un message asynchrone. Pro iste componentes, le cliente non se adressa directemente al componentes ma publica un message sur un receptaculo JMS (queue o topic) configurate sur le servitor applicative que va alora provocar le activation per iste servitor de un instantia del EJB concernite pro poter tractar iste message.
Vide anque
Ligamines externe
- (francese) Cursos e tutoriales del EJB