Arquitetura do conetor de mainframe

Esta página descreve a arquitetura do Mainframe Connector.

Normalmente, o Mainframe Connector é implementado como uma aplicação Java. Como a aplicação é autónoma, só tem de instalar a versão 8 do IBM JRE ou a versão 17 do IBM JRE para implementar o Mainframe Connector. Um procedimento de linguagem de controlo de tarefas (JCL) é o front-end que pode usar para chamar o Mainframe Connector. A imagem seguinte dá uma vista geral da arquitetura do conetor de mainframe.

Arquitetura do conetor de mainframe
Arquitetura do conetor de mainframe

Quando carrega ficheiros de dados para o Cloud Storage, o conetor do mainframe comunica diretamente com a API Cloud Storage através do IBM z Integrated Information Processor (zIIP) ou do processador geral (GP). Também pode implementar um serviço remoto para transferir parte dos cálculos para Google Cloud.

Depois de um ficheiro de dados ser carregado para o Cloud Storage, o Mainframe Connector envia uma chamada de procedimento remoto (RPC) para o serviço gRPC a indicar a localização do ficheiro, o esquema de registo e a localização de saída. O serviço gRPC lê o ficheiro do Cloud Storage, transcodifica os dados e escreve um ficheiro Optimized Row Columnar (ORC) multipartes na localização de saída do Cloud Storage. Em seguida, o conetor do mainframe comunica diretamente com a API BigQuery para registar o ficheiro ORC como uma tabela externa ou carregar o ficheiro ORC para uma tabela.

Em alternativa, pode implementar um dispositivo de hardware no seu centro de dados para transferir dados diretamente do sistema de armazenamento do mainframe para o Cloud Storage através de uma biblioteca de fitas virtual (VTL). Esta abordagem não usa zIIP nem GP durante a transferência de dados para o Cloud Storage, porque o dispositivo de hardware recebe os dados diretamente do sistema de armazenamento do mainframe através de uma VTL e não usa o mainframe. Isto liberta o mainframe para tarefas críticas para a empresa.

Encriptação de dados

A IBM fornece uma implementação da Java Cryptography Extension (JCE) com a JVM denominada Java Cryptography Extension Common Cryptographic Architecture (IBMJCECCA) (Java 8 ou Java 17) que usa o sistema de criptografia de hardware no IBM z/OS. A ligação de segurança da camada de transporte (TLS) entre a JVM e os pontos finais da Google Cloud API usa a JCE e a criptografia de hardware para proteger os dados durante as operações de extração, transformação e carregamento (ELT).

Procedimento JCL

Para usar procedimentos JCL, tem de instalar um intérprete de comandos BQSH nas bibliotecas de procedimentos (PROCLIB) do mainframe. Os dados do ambiente padrão (STDENV) no procedimento JCL são usados para definir variáveis de ambiente, argumentos da JVM e classpath Java antes de iniciar a aplicação Java. Um procedimento JCL inicia a JVM e a classe principal com.google.cloud.bqsh.Bqsh usando o launcher de JVM IBM JVMLDM86.

Intérprete de shell BQSH

A classe principal BQSH funciona como um intérprete de shell. Lê a entrada de stream de um procedimento JCL, divide as linhas de entrada e tenta interpretar cada linha como um comando.

Aplicação Java

O conetor de mainframe usa bibliotecas cliente do Google Cloud Java, Apache ORC e outras bibliotecas de código aberto. Usa o SDK JZOS proprietário da IBM para interagir com o sistema de armazenamento IBM z/OS e é executado na JVM no IBM z/OS e no OpenJDK no Linux.

O que se segue