You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
una classe: annotata con @Stateless, @Stateful o @Singleton
interfaccia di business: locale, remota o nessuna (accesso locale - invocando la classe bean stessa, client ed EJB nello stesso package)
Caratteristiche della classe Bean
Una classe session Bean è una classe Java standard che implementa la logica di business:
I requirements per implementare un session bean sono i seguenti:
annotata con @Stateless, @Stateful o @Singleton o equivalente descriptor nell'XML
Implementare i metodi delle interfacce (se esistono)
Essere Public e non Final o Abstract
Costruttore pubblico senza parametri
Nessun metodo finalize()
I metodi non possono iniziare per ejb e non possono essere final o static
Argomenti e valori di ritorno devono essere tipi legali per RMI
Remote, Local e No-Interface Views
A seconda di dove un client invoca un session bean il bean deve implementare un'interfaccia remota locale o una no-interface view
Se l'architettura ha client che risiedono all'esterno dell'EJB container's JVM Instance, deve usare l'interfaccia remota.
Si verifica per client in esecuzione:
su una JVM separata (o rich client)
in un application client container (ACC)
in un external web o EJB container
In questo caso i client invocheranno i metodi del bean attraverso Remote Method Invocation (RMI)
Si possono usare invocazioni locali quando i bean sono in esecuzione nella stessa JVM
Un EJB che invoca un altro EJB o una web component (Servlet, JSF) in esecuzione in un web container nella stessa JVM
È possibile usare sia chiamate locali che remote sullo stesso session bean
Un session bean può implementare diverse interfacce o nessuna
Le annotazioni:
@Remote: denota una remote business interface
Method parameters passati per valori e serializzati essendo parte del protocollo RMI
@Local: denota una classe local business interface
Method parameters passati per riferimento dal client al bean
No-Interface view
La vista senza interfaccia è una variante della vista locale (Local Interface) che espone tutti i metodi pubblici di business della classe bean localmente, senza l'utilizzo di un'interfaccia separata