Condividi tramite


Transazioni di Windows e transazioni mainframe

Nella Guida di Host Integration Server, una transazione nell'ambiente Microsoft Windows .NET Framework non significa la stessa cosa di una transazione nell'ambiente mainframe.

  • Una transazione nell'ambiente Windows è un set di azioni coordinate da Microsoft Distributed Transaction Coordinator (DTC) come unità atomica di lavoro che soddisfa il test ACID; in altre parole, una transazione è untomic, consistent, isolated e durable. Tutte le azioni nella transazione vengono completate o nessuna di esse viene completata.

  • Una transazione nell'ambiente host mainframe (CICS o IMS) è una sezione di codice in un programma di transazione strutturato (TP) e un tp è un singolo file di programma COBOL che contiene una o più transazioni mainframe. Pertanto, una transazione mainframe può o non soddisfare il test ACID.

    Un server di automazione TI è un componente TI distribuito in un'applicazione .NET Framework. Un singolo metodo in un server di automazione TI richiama un singolo tp basato su mainframe. Qualsiasi metodo TI nel server di automazione TI può richiamare qualsiasi transazione nel tp, ma è il tp che determina quale delle relative transazioni eseguire. Il mainframe TP prende questa decisione in base alle informazioni inviate dal server di automazione TI. Un TP CICS o IMS può fornire qualsiasi tipo di servizio, ad esempio l'interazione del terminale, il trasferimento dei dati, la query di database e gli aggiornamenti del database. Un tp può contenere anche una o più transazioni.

    Un tp del mainframe ha anche un significato specializzato nell'ambiente IBM CICS. Qualsiasi programma che usa Advanced Program-to-Program Communications (APPC) con un altro programma viene definito programma transazionale (TP). APPC è un set di protocolli sviluppati da IBM specificamente per la rete peer-to-peer tra mainframe, IBM è, 3174 controller del cluster e altri dispositivi intelligenti. Affinché un TP comunichi direttamente con un altro TP usando APPC, i due programmi devono prima stabilire una sessione LU 6.2 e una conversazione tra loro.

    LU 6.2 è il protocollo standard de facto per l'elaborazione delle transazioni distribuite nell'ambiente mainframe. Viene usato dai sottosistemi CICS e IMS. Un programma può interagire con un altro programma a uno dei tre livelli di sincronizzazione:

  • Il livello di sincronizzazione 0 non ha integrità dei messaggi oltre i numeri di sequenza per rilevare i messaggi persi o duplicati.

  • Il livello di sincronizzazione 1 supporta i verbi CONFIRM-CONFIRMED che consentono il riconoscimento end-to-end per client e server.

  • Il livello di sincronizzazione 2 supporta il verbo SYNCPT che fornisce proprietà ACID (atomicità, coerenza, isolamento, durabilità) tra transazioni distribuite tramite commit in due fasi (2PC).

    Dei tre livelli di sincronizzazione, solo il livello di sincronizzazione 2 offre le stesse garanzie fornite da una transazione di Windows, COM, COM+ o .NET Framework.

Nota

Il protocollo TCP/IP non è progettato per l'elaborazione delle transazioni distribuite, pertanto TCP/IP non fornisce la garanzia ACID che 2PC in LU 6.2 Sync Level 2 fornisce. Di conseguenza, si tratta del protocollo di rete (LU 6.2 o TCP/IP) che determina se è possibile garantire che una transazione in un tp funzioni come unità atomica, coerente, isolata e durevole.

Pertanto, nell'ambiente CICS e IMS, il termine programma di transazione (TP) può o meno implicare l'uso di 2PC. Il termine programma di transazione si riferisce al programma stesso. È solo quando il termine transazione è qualificato aggiungendo il termine Livello di sincronizzazione 2 che lo sviluppatore di Windows e lo sviluppatore mainframe possono essere sicuri che facciano riferimento alla stessa cosa.

TI supporta sia le conversazioni di livello di sincronizzazione 0 che di sincronizzazione 2 su LU 6.2 nelle reti SNA. Se una chiamata al metodo fa parte di una transazione coordinata DTC, TI usa il livello di sincronizzazione 2 per comunicare con CICS o IMS versione 6.0 con Servizi di ripristino delle risorse. Se una chiamata al metodo non fa parte di una transazione coordinata da DTC, TI usa il livello di sincronizzazione 0.

Vedere anche

Supporto per transazioni e commit in due fasi
Elaborazione delle transazioni online