Enterprise JavaBeans: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Strututturazione in paragrafi ed aggiornamento dei contenuti della voce |
Chiarimenti sugli Entity Bean |
||
Riga 23:
Esistono tre tipi di EJB, di seguito descritti.
=== EJB di Entità ===▼
Vengono detti anche ''Entity EJB''. Il loro scopo è di inglobare gli oggetti sul lato server che memorizzano i dati. Gli entity bean forniscono la caratteristica della [[persistenza (informatica)|persistenza dei dati]]:▼
* '''Persistenza gestita dal contenitore''' (CMP): il contenitore si incarica della memorizzazione e del recupero dei dati relativi a un oggetto utilizzando una [[tabella (basi di dati)|tabella]] di una [[base di dati]].▼
* '''Persistenza gestita dal bean''' (BMP): in questo caso è il ''bean'' a occuparsi del salvataggio e recupero dei dati a cui fa riferimento, il salvataggio può avvenire in una base di dati o con qualsiasi altro meccanismo perché è il programmatore che si incarica di realizzare il meccanismo della persistenza dei dati.▼
=== EJB di sessione ===
Detti anche ''Session EJB''. Gestiscono l'[[elaborazione dati|elaborazione]] delle informazioni sul ''server''. Generalmente sono una [[interfaccia (informatica)|interfaccia]] tra i ''client'' e i servizi offerti dai componenti disponibili sul ''server''. Ne esistono di due tipi:
Riga 33 ⟶ 29:
=== EJB guidati da messaggi ===
Detti anche ''Message driven EJBs''. Sono gli unici ''bean'' con funzionamento asincrono. Tramite il ''Java Message Service'' (JMS), si iscrivono a un argomento (''topic'') o a una coda (''queue'') e si attivano alla ricezione di un messaggio inviato all'argomento o alla coda a cui sono iscritti. Non richiedono una istanziazione da parte dei ''client''.
▲=== EJB di Entità ===
Vengono detti anche ''Entity EJB''. Non sono più supportati, in quanto con la versione 2.0 e 2.1 dello standard EJB avevano delle prestazioni molto basse ed i programmatori preferivano utilizzare chiamate JDBC dirette o framework di persistenza come Hibernate o MyBatis. Per ovviare a questo problema, è stato intodotto [[Java Persistence API]].
▲
▲* '''Persistenza gestita dal contenitore''' (CMP): il contenitore si incarica della memorizzazione e del recupero dei dati relativi a un oggetto utilizzando una [[tabella (basi di dati)|tabella]] di una [[base di dati]].
▲* '''Persistenza gestita dal bean''' (BMP): in questo caso è il ''bean'' a occuparsi del salvataggio e recupero dei dati a cui fa riferimento, il salvataggio può avvenire in una base di dati o con qualsiasi altro meccanismo perché è il programmatore che si incarica di realizzare il meccanismo della persistenza dei dati.
== Versioni ==
* [http://www.jcp.org/en/jsr/detail?id=19 JSR 19: Enterprise JavaBeans 2.0]
* [http://www.jcp.org/en/jsr/detail?id=153 JSR 153: Enterprise JavaBeans 2.1]
* [http://www.jcp.org/en/jsr/detail?id=220 JSR 220: Enterprise JavaBeans 3.0] introduce la possibilità di dichiarare e configurare gli Enteprise JavaBeans mediante il meccanismo delle annotations. Da questa versione in poi, un EJB non deve più estendere alcuna classe specifica. Tale modifica viene spesso citata come Plain Old Java Object (POJO). Vengono introdotti i primi meccanismi di dependency injection.
* [https://jcp.org/en/jsr/detail?id=318 JSR 318: Enterprise JavaBeans 3.1] va nella direzione della semplificazione. Tale direzione è obbligata dalla fortissima diffusione dello Spring Framework. Introduce il cosiddetto Lite EJB, ovvero la possibilità di inserire degli Enterprise JavaBeans all'interno di un Web Archive, che finora poteva contenere unicamente servlet, ma non EJB. Ora è possibile invocare gli EJB da una applicazione Java SE, senza dover usare servlet container o application server. I session bean possono essere invocati in modo asincrono e c'è la possibilità di creare degli EJB Timer.
* [https://jcp.org/en/jsr/detail?id=345 JSR 345: Enterprise JavaBeans 3.2]
Riga 44 ⟶ 47:
<references/>
== Voci collegate ==
* [[Java Persistence API]]
* [[Java EE]]
* [[Application server]]
[[Categoria:Java EE]]
|