Questa pagina descrive l'architettura di Mainframe Connector.
In genere, Mainframe Connector viene implementato come applicazione Java. Poiché l'applicazione è autonoma, per eseguire il deployment di Mainframe Connector devi installare solo IBM JRE versione 8 o successive. Una procedura Job Control Language (JCL) è il front-end che puoi utilizzare per chiamare Mainframe Connector. L'immagine seguente fornisce una panoramica dell'architettura di Mainframe Connector.
Quando carichi file di dati su Cloud Storage, Mainframe Connector comunica direttamente con l'API Cloud Storage utilizzando l'IBM z Integrated Information Processor (zIIP) o un processore generale (GP). Puoi anche eseguire il deployment di un servizio remoto per scaricare parte del calcolo su Google Cloud.
Dopo aver caricato un file di dati su Cloud Storage, Mainframe Connector invia una chiamata di procedura remota (RPC) al servizio gRPC che indica la posizione del file, il layout dei record e la posizione di output. Il servizio gRPC legge il file da Cloud Storage, transcodifica i 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 caricarlo 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 biblioteca di nastri virtuali (VTL). Questo approccio non utilizza né zIIP né GP durante il trasferimento dei dati in Cloud Storage perché il dispositivo hardware riceve i dati direttamente dal sistema di archiviazione del mainframe utilizzando un VTL e non utilizza affatto il mainframe. In questo modo, il mainframe viene liberato per le attività business-critical.
Crittografia dei dati
IBM fornisce un'implementazione di Java Cryptography Extension (JCE) con la JVM chiamata Java Cryptography Extension Common Cryptographic Architecture (IBMJCECCA) che utilizza il sistema di crittografia hardware su IBM z/OS. La connessione TLS (Transport Layer Security) tra gli endpoint JVM e dell'API Google Cloud utilizza JCE e crittografia hardware per proteggere i dati durante le operazioni di estrazione, trasformazione e caricamento (ELT).
Procedura JCL
Per utilizzare le procedure JCL, devi installare un interprete di shell BQSH nelle librerie di procedure (PROCLIB) del mainframe. I dati dell'ambiente standard (STDENV) nella procedura JCL vengono utilizzati per impostare le variabili di ambiente, gli argomenti JVM e il percorso di classe Java prima di avviare l'applicazione Java. Una procedura JCL avvia la JVM e la classe principale com.google.cloud.bqsh.Bqsh
utilizzando il JVMLDM86 JVM Launcher di IBM.
Interprete di shell BQSH
La classe principale BQSH funge da interprete di shell. Legge l'input dello stream da una procedura JCL, suddivide le righe di input e tenta di interpretare ciascuna riga come un comando.
Applicazione Java
Il connettore mainframe 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 è eseguito sulla JVM su IBM z/OS e su OpenJDK su Linux.