En esta página, se describe la arquitectura de Mainframe Connector.
Por lo general, Mainframe Connector se implementa como una aplicación Java. Como la aplicación es independiente, solo debes instalar la versión 8 del JRE de IBM o una posterior para implementar Mainframe Connector. Un procedimiento de lenguaje de control de trabajos (JCL) es el frontend que puedes usar para llamar al conector de Mainframe. En la siguiente imagen, se proporciona una descripción general de la arquitectura del conector de Mainframe.
Cuando se suben archivos de datos a Cloud Storage, el conector de Mainframe se comunica directamente con la API de Cloud Storage a través del procesador de información integrado (zIIP) IBM z o el procesador general (GP). También puedes implementar un servicio remoto para transferir parte del procesamiento a Google Cloud.
Después de que se sube un archivo de datos a Cloud Storage, Mainframe Connector envía una llamada de procedimiento remoto (RPC) al servicio gRPC que indica la ubicación del archivo, el diseño del registro y la ubicación de salida. El servicio de gRPC lee el archivo de Cloud Storage, transcodifica los datos y escribe un archivo Optimized Row Columnar (ORC) de varias partes en la ubicación de salida de Cloud Storage. Luego, el conector de Mainframe se comunica directamente con la API de BigQuery para registrar el archivo ORC como una tabla externa o cargarlo en una tabla.
Como alternativa, puedes implementar un dispositivo de hardware en tu centro de datos para transferir datos directamente desde el sistema de almacenamiento de mainframe a Cloud Storage con una biblioteca de cintas virtuales (VTL). Este enfoque no usa zIIP ni GP durante la transferencia de datos a Cloud Storage, ya que el dispositivo de hardware recibe los datos directamente del sistema de almacenamiento de mainframe con un VTL y no usa el mainframe en absoluto. Esto libera el mainframe para las tareas fundamentales de la empresa.
Encriptación de datos
IBM proporciona una implementación de Java Cryptography Extension (JCE) con la JVM llamada Java Cryptography Extension Common Cryptographic Architecture (IBMJCECCA) que usa el sistema de criptografía de hardware en IBM z/OS. La conexión de seguridad de la capa de transporte (TLS) entre la JVM y los extremos de la API de Google Cloud usa JCE y criptografía de hardware para proteger los datos durante las operaciones de extracción, transformación y carga (ELT).
Procedimiento JCL
Para usar los procedimientos de JCL, debes instalar un intérprete de shell BQSH en las bibliotecas de procedimientos (PROCLIB) de tu mainframe. Los datos del entorno estándar (STDENV) en el procedimiento JCL se usan para establecer variables de entorno, argumentos de JVM y ruta de acceso de Java antes de iniciar la aplicación de Java. Un procedimiento JCL inicia la JVM y la clase principal com.google.cloud.bqsh.Bqsh
con el iniciador de JVM JVMLDM86 de IBM.
Intérprete de shell BQSH
La clase principal de BQSH actúa como un intérprete de shell. Lee la entrada de flujo de un procedimiento JCL, divide las líneas de entrada y, luego, intenta interpretar cada línea como un comando.
Aplicación Java
El conector de Mainframe usa bibliotecas cliente de Java Cloud, Apache ORC y otras bibliotecas de código abierto. Usa el SDK de JZOS propietario de IBM para interactuar con el sistema de almacenamiento IBM z/OS y se ejecuta en la JVM en IBM z/OS y OpenJDK en Linux.