Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In COM termwinology, una transazione è sempre un'unità di lavoro che è atomica, coerente, isolata e durevole (ACID). Nella terminologia del mainframe, una transazione può essere o meno una transazione ACID; nella terminologia del mainframe, una transazione è un set di operazioni o comandi in un programma di transazioni (TP). Questa differenza nella terminologia può generare confusione. La parola transazione utilizzata in TI Manager e TI Designer fa sempre riferimento a una transazione ACID.
Il commit a due fasi (2PC) è un protocollo che consente di eseguire il rollback o il commit completo di un insieme di operazioni o comandi di applicazione (o tra applicazioni) come un'unica unità transazionale.
Annotazioni
Se si richiama un server di automazione TI tramite il protocollo TCP/IP, non è disponibile alcun supporto per le transazioni di commit in due fasi. Il commit in due fasi funziona solo sul protocollo SNA APPC/LU 6.2.
Un componente TI ha quattro possibili proprietà transazionali:
Richiede transazione
Richiede una nuova transazione
Supporta le transazioni
Non supporta le transazioni
Le prime due opzioni richiedono che il TP del mainframe sia transazionale (ovvero soddisfi le proprietà ACID) e supporti il Livello di Sincronizzazione 2. Questo è trasparente per il TP del mainframe se si tratta di un collegamento CICS o IMS versione 6.0 o successiva. La terza scelta richiede che il TP del mainframe supporti le richieste di Sync Level 2 e gestisca correttamente la semantica delle transazioni. La quarta scelta è necessaria per i TP IMS precedenti alla versione 6.0 e per tutti i TP CICS che supportano solo il livello di sincronizzazione 0 (Sync Level 0) o il livello di sincronizzazione 1 (Sync Level 1).
Se viene richiamato un componente TI all'interno dell'ambito di una transazione COM+, TI stabilirà una conversazione di livello 2 di sincronizzazione con CICS (in caso contrario, viene usato il livello di sincronizzazione 0). Questa operazione è trasparente per il client del componente TI. Se il TP del mainframe è un programma CICS Link, la natura transazionale della conversazione è trasparente anche per il TP, poiché la transazione mirror di IBM in CICS (CSMI) gestisce il protocollo Sync Level 2 e il tp a cui è collegato non è a conoscenza se viene usato il livello di sincronizzazione 0 o il livello di sincronizzazione 2.
TI è conforme al modello di programmazione COM+ chiamando SetComplete o SetAbort al termine dell'operazione di ogni chiamata al metodo dal client. Se non sono stati rilevati errori, TI chiama SetComplete; in caso contrario, chiama SetAbort. TI chiama anche SetAbort se il TP del mainframe indica che la transazione non deve eseguire il commit impostando il flag DisableCommit nel blocco di errore dei metadati che viene restituito. Le applicazioni client di automazione TI possono anche scegliere di chiamare SetAbort se determinano che sono presenti problemi a livello di applicazione che devono impedire il commit della transazione.
Quando viene restituita la chiamata al metodo del client, il tp nel mainframe ha eseguito alcune unità di lavoro, ma non viene ancora eseguito il commit di tutte le modifiche apportate alle risorse protette in CICS. TI usa nuove interfacce DTC per integrare la conversazione sync level 2 nella transazione DTC. Quando DTC è pronto per il commit o l'interruzione della transazione, comunica con TI per guidare i flussi di commit in due fasi appropriati nella conversazione LU 6.2. Anche in questo caso, tutto il lavoro 2PC viene eseguito in modo trasparente da TI per conto del client.
Anche se l'oggetto TI può essere disattivato al termine del metodo, la conversazione deve essere mantenuta fino al commit o all'interruzione della transazione. Gli utenti possono influire negativamente sulle prestazioni e occupare le risorse di sistema se il codice dell'applicazione effettua una o più chiamate al metodo transazionale, ma non esegue il commit della transazione per un lungo periodo di tempo. Le conversazioni possono essere rapidamente consumate da codice utente strutturato in modo inefficace.
Quando una conversazione è in attesa di commit, verrà disconnessa dall'oggetto a cui è associata. TI gestisce un pool di queste conversazioni in attesa ed esegue le operazioni a livello di sincronizzazione necessarie quando le notifiche appropriate vengono ricevute da DTC. Quando possibile, TI riutilizza queste conversazioni per ridurre al minimo il sovraccarico.
TI fornisce anche un servizio di risincronizzazione (SNA LU 6.2 Resync TP). Questo servizio di Windows è configurato per essere il servizio invocabile avviato automaticamente per il TP di risincronizzazione definito da SNA (0x06f2). Il servizio Resync implementa le funzioni "Nomi log di Exchange" e "Confronta stati" di un gestore transazioni SNA. Consente a DTC (Distributed Transaction Coordinator) e CICS di avviare il processo di ripristino in base alle esigenze durante l'avvio del sistema o in seguito a un errore di sistema o di comunicazione.
Per informazioni sui flussi SNA SyncPoint o 2PC di IBM, SNA SyncPoint Services Architecture Reference (IBM SC31-8134-00). Tutti i flussi TI 2PC vengono implementati in conformità con questa architettura.
Annotazioni
Per informazioni su come usare i TP di collegamento CICS che usano comandi SYNCPOINT espliciti, vedere TP con comandi SYNCPOINT espliciti.
In sintesi, per usare il commit in due fasi, è necessario soddisfare tutti i requisiti seguenti:
Ogni LU locale e remota deve avere il supporto SyncPoint abilitato nel nodo Host Integration Server.
Le unità logiche locali e remote devono puntare al computer che esegue i servizi di risincronizzazione.
Per l'ambiente remoto (RE) deve essere abilitato il supporto per il livello di sincronizzazione 2. Per verificarlo, fare clic con il pulsante destro del mouse su RE in TI Manager, scegliere Proprietà e quindi fare clic sulla scheda LU 6.2.
Il componente TI deve avere il supporto delle transazioni impostato su Supportato, Obbligatorio o Richiede nuovo. Per controllare questa impostazione, fare clic con il pulsante destro del mouse sul componente TI in TI Manager, scegliere Proprietà e quindi fare clic sulla scheda Transazioni.
Il computer host remoto deve essere configurato per il supporto del livello di sincronizzazione 2.