Ingegneria del software Modulo 3 -Tecniche d’implementazione Unità didattica 2 -EJB Ernesto Damiani Università degli Studi di Milano Lezione 2 – Tipi di bean
Approfondimenti sull’esempio Il bean server dell’applicazione gira all’interno del container Tengah EJB, però, consente – più istanze dello stesso bean – a più bean di funzionare insieme nel container – a più container di girare su un server I programmatori di bean non devono preoccuparsi del numero di client che attivano un bean
Bean di sessione (1) I bean di sessione vengono usati da un solo client: due client non possono accedere alla stessa istanza di un bean di sessione I bean di sessione vengono persi nel caso di crash del server
Bean di sessione (2) Bean di sessione senza stato (stateless) – Un bean stateless appare sempre uguale a un client prima e dopo l’invocazione dei suoi metodi Bean di sessione con stato (stateful) – Un bean stateful è semipersistente – Lo sviluppatore può trasferire lo stato del bean sul disco, sospendere il bean e poi in seguito riattivarlo
Bean di entità I bean di entità sopravvivono se il server va in crash Più client possono accedere a un singolo bean di entità tramite più istanze Il container si assicura che ogni istanza sia legata ai dati correnti e passi informazioni al client corretto
Architettura EJB
Tipi di EJB (1) Bean di sessione – Rispondono alle richieste per conto di un singolo client (non condiviso) – Aggiornano i dati condivisi in un database sottostante – Vengono eliminati quando il server EJB va in crash
Tipi di EJB (2) Bean di entità – Rappresentano i dati nel database – Sono transazionali – Consentono l’accesso condiviso da più utenti – Hanno lunga vita – Sopravvivono al blocco del server EJB FINE