Introduzione
Questa linea guida si focalizza sulla progettazione di bean basati sui messaggi. Un'ulteriore guida su come
identificarli e modellarli è fornita da Linea guida del prodotto di lavoro: Bean basati sui messaggi. Una guida generale
sugli EJB viene fornita dalla Linea guida del prodotto di lavoro: EJB (Enterprise JavaBean)
Notare che, poiché i bean basati sui messaggi sono richiamati indirettamente mediante messaggi piuttosto che
direttamente mediante operazioni di interfaccia, la progettazione comporta l'elaborazione del formato del messaggio e
la descrizione del comportamento in risposta ai messaggi, ma non l'elaborazione di operazioni di interfaccia.
Una limitazione dell'uso della messaggistica consiste nel fatto che l'autore e l'utente di un messaggio (nel bean
basato sui messaggi) non possono partecipare alla stessa transazione. L'autore può utilizzare una transazione per
posizionare il messaggio nella coda e il bean basato sui messaggi può utilizzare una transazione separata per impegnare
i risultati della lettura del messaggio, ma deve trattarsi sempre di transazioni separate.
I bean basati sui messaggi possono utilizzare transazioni gestite dal contenitore o dal bean. In genere, quelle gestite
dal contenitore sono più semplici, perciò preferite. Per un'ulteriore guida, vedere Tecnica: Progettazione di EJB (Enterprise JavaBean).
Ogni bean basato sui messaggi è una classe attiva che può avere più istanze. Poiché ogni istanza di bean basato sui
messaggi viene eseguita simultaneamente, l'elaborazione di un messaggio ricevuto da un'istanza può essere completato
prima o dopo un messaggio elaborato da un'altra istanza.
Ne segue che i messaggi possono essere letti in un ordine diverso da quello in cui sono stati prodotti. La
progettazione di bean basati sui messaggi devono prendere in considerazione questa possibilità.
|