Esta página descreve a arquitetura do Mainframe Connector.
O Mainframe Connector geralmente é implantado como um aplicativo Java. Como o aplicativo é independente, você só precisa instalar o IBM JRE versão 8 ou mais recente para implantar o Mainframe Connector. Uma linguagem de controle de job (JCL) é o front-end que pode ser usado para chamar o Mainframe Connector. A imagem a seguir mostra uma visão geral da arquitetura do Conector de mainframe.
Ao fazer upload de arquivos de dados para o Cloud Storage, o Mainframe Connector se comunica diretamente com a API Cloud Storage usando o IBM z Integrated Information Processor (zIIP) ou o processador geral (GP). Também é possível implantar um serviço remoto para transferir parte da computação para o Google Cloud.
Depois que um arquivo de dados é enviado para o Cloud Storage, o Mainframe Connector envia uma chamada de procedimento remoto (RPC) para o serviço gRPC indicando o local do arquivo, o layout do registro e o local de saída. O serviço gRPC lê o arquivo do Cloud Storage, transcodifica os dados e grava um arquivo ORC (Optimized Row Columnar) de várias partes no local de saída do Cloud Storage. O conector de mainframe se comunica diretamente com a API BigQuery para registrar o arquivo ORC como uma tabela externa ou carregar o arquivo ORC em uma tabela.
Como alternativa, é possível implantar um dispositivo de hardware no data center para transferir dados diretamente do sistema de armazenamento de mainframe para o Cloud Storage usando uma biblioteca de fitas virtual (VTL, na sigla em inglês). Essa abordagem não usa zIIP ou GP durante a transferência de dados para o Cloud Storage, porque o dispositivo de hardware recebe os dados diretamente do sistema de armazenamento de mainframe usando um VTL e não usa o mainframe. Isso libera o mainframe para tarefas essenciais.
Criptografia de dados
A IBM fornece uma implementação de Java Cryptography Extension (JCE) com a JVM chamada Java Cryptography Extension Common Cryptographic Architecture (IBMJCECCA), que usa o sistema de criptografia de hardware no IBM z/OS. A conexão de segurança da camada de transporte (TLS) entre a JVM e os endpoints da API Google Cloud usam a JCE e a criptografia de hardware para proteger dados durante as operações de extração, transformação e carregamento (ELT).
Procedimento JCL
Para usar procedimentos JCL, é necessário instalar um intérprete de shell BQSH
nas bibliotecas de procedimentos (PROCLIB) do mainframe. Os dados do ambiente padrão (STDENV) na
procedura JCL são usados para definir variáveis de ambiente, argumentos da JVM e caminho
de classe Java antes de iniciar o aplicativo Java. Um procedimento JCL
inicializa a JVM e a classe principal com.google.cloud.bqsh.Bqsh
usando o
IBM JVMLDM86 JVM launcher.
Intérprete de shell BQSH
A classe principal BQSH atua como um intérprete de shell. Ele lê a entrada de fluxo de uma procedura JCL, divide as linhas de entrada e tenta interpretar cada linha como um comando.
Aplicativo Java
O conector de mainframe usa as bibliotecas de cliente do Java Cloud, o Apache ORC e outras bibliotecas de código aberto. Ele 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.