l1
l2
l3

Transazioni in JEE – Concetti

Una è un’indivisibile unità di lavoro che deve completare con il successo di ogni singola operazione, se questo non avviene essa deve essere abbandonata e tutti gli elementi coinvolti devono tornare allo stato iniziale.

Normalmente, si parla di nel contesto dei dbms dove essa consiste in un insieme di istruzioni di update al database che vengono effettivamente eseguite tutte insieme () se nessuna di esse è fallita, in caso contrario il database viene riportato allo stato iniziale ().

Nel contesto , invece, le transazioni possono includere altre risorse dati, come una variabile di stato di uno stateful session ,  di un JMS messages e naturalmente di un’entity .

La propagazione delle transazioni attraverso gli è silente e automatica. Ogni avrà un identificatore oltre ad altre informazioni allegate.
Un metodo chiamato su un trasferirà automaticamente le informazioni di da un all’altro, ache se esso risiede in un altro container o addirittura su un altro server con supporto .
Il tutto è possibile grazie al protocollo (Internet Inter-ORB Protocol), ovvero un richiede un ogetto specificando un nome univoco a un altro server attraverso il protocollo , come di solito fa un client stand alone per richiamare un modulo su un server.

L’ ha un gestore delle transazioni (a volte chiamato monitor) che memorizza i dati di ogni oggetto coinvolto in una in modo da essere in grado di riportare tutto allo stato iniziale in caso di fallimento.

Attraverso l’ è possibile regolare vari livelli di isolamento delle transazioni a seconda del contesto in cui ci si trova, potrebbe infatti capitare di avere situazioni in cui più transazioni devono accedere agli stessi oggetti e in alcuni casi, se si è sicuri che questo non provochi inconsistenza, si può permettere l’accesso nonostante un’altra in corso.

Naturalmente le transazioni devono sempre rispettare le classiche e famose proprietà (Atomic,Consistent,Isolated,Durable) .

Come la persistenza anche le transazioni, in ,  possono essere gestite o dal container o dal .
Nel primo caso il programmatore non deve implementare manualmente il codice necessario alla gestione della ma essa viene definita dal descriptor xml e gestita dal server, nella maggior parte delle circostanze è utilizzabile questo tipo di .

In conclusione con la tecnologia Enterprise è possibile, grazie al completo controllo dell’, strutturare transazioni complesse e distribuite su tipi di dati diversi con un notevole risparmio in termini di complessità e tempo, sopratutto grazie all’utilizzo di IDE che automatizzano il building dei descrittori XML esonerando il programmatore da questa incombenza.

Post correlati

Tag: , , , , , , , , , , , ,

Lascia un Commento


b