Mainframe Connector viene in genere implementato come applicazione Java. Poiché l' applicazione è autonoma, per implementare Mainframe Connector devi installare solo IBM JRE versione 8 o IBM JRE versione 17. Una procedura JCL (Job Control Language) è il frontend che puoi utilizzare per chiamare Mainframe Connector. L'immagine seguente fornisce una panoramica dell'architettura di Mainframe Connector.
Quando carichi i file di dati in Cloud Storage, Mainframe Connector comunica direttamente con l'API Storage utilizzando IBM z Integrated Information Processor (zIIP) o il processore generale (GP). Puoi anche implementare un servizio remoto per scaricare parte del calcolo Google Cloud.
Dopo aver caricato un file di dati in Cloud Storage, Mainframe Connector invia una chiamata di procedura remota (RPC) al servizio gRPC indicando la posizione del file, il layout dei record e la posizione di output. Il servizio gRPC legge il file da Cloud Storage, esegue la transcodifica dei dati e scrive un file ORC (Optimized Row Columnar) in più parti nella posizione di output di Cloud Storage. Mainframe Connector comunica quindi direttamente con l'API BigQuery per registrare il file ORC come tabella esterna o caricare il file ORC in una tabella.
In alternativa, puoi implementare un dispositivo hardware nel tuo data center per trasferire i dati direttamente dal sistema di archiviazione mainframe a Cloud Storage utilizzando una libreria di nastri virtuali (VTL). Questo approccio non utilizza zIIP o GP durante il trasferimento dei dati a Cloud Storage perché il dispositivo hardware riceve i dati direttamente dal sistema di archiviazione mainframe utilizzando una VTL e non utilizza affatto il mainframe. In questo modo, il mainframe è libero per le attività business critical.
Crittografia dei dati
IBM fornisce un'implementazione di Java Cryptography Extension (JCE) con la JVM denominata Java Cryptography Extension Common Cryptographic Architecture (IBMJCECCA) (Java 8 o Java 17) che utilizza il sistema di crittografia hardware su IBM z/OS. La connessione TLS (Transport Layer Security) tra la JVM e gli endpoint Google Cloud API utilizza JCE e la crittografia hardware per proteggere i dati durante le operazioni di estrazione, trasformazione e caricamento (ETL).
Procedura JCL
Per utilizzare le procedure JCL, devi installare un interprete della shell BQSH
nelle librerie delle procedure mainframe (PROCLIB). I dati dell'ambiente standard (STDENV) nella
procedura JCL vengono utilizzati per impostare le variabili di ambiente, gli argomenti JVM e il classpath Java
prima di avviare l'applicazione Java. Una procedura JCL
avvia la JVM e la classe principale com.google.cloud.bqsh.Bqsh utilizzando
il launcher JVM IBM JVMLDM86.
Interprete della shell BQSH
La classe principale BQSH funge da interprete della shell. Legge l'input di flusso da una procedura JCL, suddivide le righe di input e tenta di interpretare ogni riga come un comando.
Applicazione Java
Mainframe Connector utilizza le librerie client Java Cloud, Apache ORC, e altre librerie open source. Utilizza l'SDK JZOS proprietario di IBM per interagire con il sistema di archiviazione IBM z/OS ed è in esecuzione sulla JVM su IBM z/OS e OpenJDK su Linux.