Interfaccia CICS esterna

L'interfaccia esterna CICS® (EXCI) è parte integrante di CICS Transaction Server for z/OS®. EXCI consente ai programmi applicativi nonCICS (programmi client) in esecuzione in z/OS di richiamare i programmi (programmi server) in esecuzione in una regione CICS e di trasmettere e ricevere i dati mediante un'area di comunicazione o mediante canali e contenitori. Il programma applicativo CICS viene richiamato come se fosse collegato da un altro programma applicativo CICS .

Panoramica del progetto

L'interfaccia di programmazione EXCI consente a un utente di allocare e aprire sessioni (o pipe) in una regione CICS e di passare su di esse le richieste DPL (distributed program link). La funzione MRO (multiregion operation) della funzione IRC (interregion communication) CICS supporta queste richieste e ogni pipe. (Un pipe è un percorso di comunicazione unidirezionale tra un processo di invio e un processo di ricezione. In un'implementazione dell'interfaccia CICS esterna, ogni pipe si associa su una sessione MRO, dove il programma client rappresenta il processo di invio e l'area server CICS rappresenta il processo di ricezione.)

Un programma client che utilizza l'interfaccia esterna CICS può gestire più sessioni per utenti differenti (sotto lo stesso TCB o in TCB separati) tutti coesistenti nello stesso spazio di indirizzo z/OS senza conoscere o interferire l'uno con l'altro.

Quando un programma client collega un altro programma client, il programma collegato viene eseguito con il proprio TCB.

L'interfaccia esterna CICS fornisce due forme di interfaccia di programmazione: l'interfaccia EXCI CALL e l'interfaccia EXEC CICS .

Interfaccia EXCI CALL
Questa interfaccia è composta da sei comandi che consentono di:
  • Allocare e aprire sessioni a un sistema CICS da programmi non CICS in esecuzione sotto MVS
  • Emettere richieste DPL su queste sessioni dai programmi nonCICS
  • Chiudere e deassegnare le sessioni al completamento delle richieste DPL.
I sei comandi EXCI sono:
  1. Utente_Inizializzazione
  2. Alloca pipe
  3. Aprire_tubo
  4. Chiamata DPL
  5. Chiudi_pipe
  6. Disalloca pipe

L'elaborazione di un comando di livello EXCI CALL viene mostrata nella Figura 1.

Figura 1. Interfaccia CICS esterna, API a livello CALL
Diagramma che mostra l'elaborazione di un comando a livello di EXCI CALL
  1. Viene emessa una richiesta API EXCI CALL e richiama il punto di ingresso DFHXCIS nello stub EXCI, DFHXCSTB.
  2. DFHXCSTB individua DFHXCPRH e lo richiama per elaborare la richiesta EXCI. Se DFHXCPRH non viene trovato, DFHXCSTB carica DFHXCPRH prima di richiamarlo.
  3. DFHXCPRH imposta i blocchi di controllo necessari per la richiesta EXCI. Per una richiesta DPL, DFHXCPRH richiama DFHIRP per passare il controllo a CICS.
Interfaccia EXEC CICS
L'interfaccia esterna CICS fornisce un singolo comando composito -EXEC CICS LINK PROGRAM- che esegue tutti e sei i comandi dell'interfaccia EXCI CALL in un unico richiamo. L'elaborazione di un comando EXEC CICS LINK viene mostrata nella Figura 2.

Questo comando ha la stessa forma del comando Distributed Program Link dell'interfaccia di programmazione dell'applicazione a livello di comando CICS .

Figura 2. Interfaccia esterna di CICS , API a livello EXEC
Diagramma che mostra l'elaborazione di un comando EXEC CICS LINK
  1. Viene emessa una richiesta EXCI EXEC API che richiama il punto di ingresso DFHXCEI nello stub EXCI, DFHXCSTB.
  2. DFHXCSTB individua DFHXCEIP e lo richiama per elaborare la richiesta EXCI. Se DFHXCEIP non viene trovato, DFHXCSTB carica DFHXCEIP prima di richiamarlo.
  3. DFHXCEIP converte la richiesta EXCI livello EXEC in una serie di richieste EXCI livello CALL.
  4. Le richieste a livello CALL risultano in chiamate allo stub EXCI, DFHXCSTB (come nella Figura 1).
Limitazioni API per i programmi server

Un programma server CICS richiamato da una richiesta di interfaccia CICS esterna è limitato al sottoinsieme DPL dell'interfaccia di programmazione dell'applicazione CICS . Questo sottoinsieme (il sottoinsieme DPL) dei comandi API è lo stesso di un programma server CICSaCICS .

Per informazioni dettagliate sul sottoinsieme DPL per i programmi server, consultare DPL (Distributed Program Link).

Moduli

Modulo Funzione
DFHXCALL Macro API a livello EXEC. Richiamato dal programma di conversione CICS durante l'elaborazione delle richieste EXCI EXEC.
DFHXCDMP dump. Richiama l'SVC CICS per emettere richieste macro SDUMP, per ottenere un SDUMP dello spazio di indirizzo EXCI.
DFHXCSTB link stub - modificato con applicazioni che desiderano utilizzare EXCI.
DFHXCEIP Gestore API a livello EXEC. Il modulo EXCI principale che elabora le richieste EXCI a livello EXEC.
DFHXCO macro options per generare la tabella delle opzioni DFHXCOPT.
DFHXCOPT per personalizzare l'ambiente EXCI.
DFHXCPLD Definizioni di elenco parametri linguaggio Assembler. Copybook che definisce i parametri da utilizzare con le API EXCI.
DFHXCPLH Definizioni dell'elenco dei parametri C®. Copybook che definisce i parametri da utilizzare con le API EXCI.
DFHXCPLL PL/I definizioni di elenchi di parametri. Copybook che definisce i parametri da utilizzare con le API EXCI.
DFHXCPLO COBOL definizioni di elenchi di parametri. Copybook che definisce i parametri da utilizzare con le API EXCI.
DFHXCPRH Il modulo principale EXCI che elabora le richieste di livello EXCI CALL.
DFHXCRCD Definizioni codice di ritorno linguaggio Assembler. Copybook che definisce i codici di ritorno da utilizzare con le API EXCI.
DFHXCRCH Definizioni del codice di ritorno C. Copybook che definisce i codici di ritorno da utilizzare con le API EXCI.
DFHXCRCL PL/I definizioni dei codici di ritorno. Copybook che definisce i codici di ritorno da utilizzare con le API EXCI.
DFHXCRCO COBOL definizioni dei codici di ritorno. Copybook che definisce i codici di ritorno da utilizzare con le API EXCI.
DFHXCSVC Servizi SVC. Richiamato dall'SVC CICS per emettere una macro SDUMP per prendere un SDUMP dello spazio di indirizzo EXCI.
DFHXCTAB tabella lingua. Copybook che definisce la sintassi del linguaggio EXCI EXEC per l'utilizzo da parte del traduttore CICS .
DFHXCTRA programma trap globale. L'equivalente EXCI del modulo DFHTRAP, che fornisce il servizio con la possibilità di raccogliere ulteriori informazioni diagnostiche.
DFHXCTRD definizione elenco parametri trap locale. Definisce l'elenco di parametri passato a DFHXCTRA e tutti i punti di traccia EXCI utilizzati da DFHXCTRA.
DFHXCTRP servizi di traccia. Scrive le voci di traccia EXCI nella tabella di traccia interna EXCI.
DFHXCTRI inizializzazione traccia. Inizializza i servizi di traccia EXCI.
DFHXCURM Programma sostituibile dall'utente che consente all'utente di modificare l'applid della region CICS in cui deve essere emessa la richiesta EXCI.

Uscite

Non ci sono punti di uscita per EXCI.

Traccia

EXCI ha la propria tabella di traccia interna nello spazio di indirizzo EXCI in cui è in esecuzione il programma client. Le voci di traccia EXCI possono essere scritte anche nel data set di traccia GTF z/OS .

Gli ID punto di traccia EXCI sono EXxxxx, con un livello di traccia di 1, 2 o Exc.

Per ulteriori informazioni sulla traccia EXCI, consultare Risoluzione dei problemi EXCI.