Lezione 2 – Tipi di bean Ingegneria del software Modulo 3 - Tecniche d’implementazione Unità didattica 2 - EJB Ernesto Damiani Università degli Studi di Milano 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