Mainframe Connector는 일반적으로 Java 애플리케이션으로 배포됩니다. 애플리케이션이 자체적으로 포함되어 있으므로 Mainframe Connector를 배포하려면 IBM JRE 버전 8 이상만 설치하면 됩니다.
작업 제어 언어(JCL) 프로시져는 Mainframe Connector를 호출하는 데 사용할 수 있는 프런트엔드입니다. 다음 이미지는 Mainframe Connector 아키텍처의 개요를 보여줍니다.
데이터 파일이 Cloud Storage에 업로드된 후 Mainframe Connector는 파일 위치, 레코드 레이아웃, 출력 위치를 나타내는 리모트 프로시져 콜(RPC)을 gRPC 서비스에 보냅니다. gRPC 서비스는 Cloud Storage에서 파일을 읽고, 데이터를 트랜스코딩하고, 멀티 파트로 구성된 최적화된 행 열 형식(ORC) 파일을 Cloud Storage 출력 위치에 씁니다. 그런 후 Mainframe Connector가 BigQuery API와 직접 통신하여 ORC 파일을 외부 테이블로 등록하거나 ORC 파일을 테이블에 로드합니다.
또는 가상 테이프 라이브러리(VTL)를 사용하여 데이터 센터에 하드웨어 기기를 배포하여 메인프레임 스토리지 시스템에서 Cloud Storage로 직접 데이터를 전송할 수 있습니다. 이 방식에서는 하드웨어 기기가 VTL을 사용하여 메인프레임 스토리지 시스템에서 직접 데이터를 수신하고 메인프레임을 전혀 사용하지 않으므로 Cloud Storage로 데이터를 전송할 때 zIIP나 GP를 모두 사용하지 않습니다. 따라서 비즈니스에 중요한 태스크를 위한 메인프레임이 확보됩니다.
JCL 프로시져를 사용하려면 메인프레임 프로시져 라이브러리(PROCLIB)에 BQSH 셸 인터프리터를 설치해야 합니다. JCL 프로시져의 표준 환경(STDENV) 데이터는 Java 애플리케이션을 시작하기 전에 환경 변수, JVM 인수, Java 클래스 경로를 설정하는 데 사용됩니다. JCL 프로시져에서는 IBM JVMLDM86 JVM 런처를 사용하여 JVM 및 기본 클래스 com.google.cloud.bqsh.Bqsh를 실행합니다.
BQSH 셸 인터프리터
BQSH 기본 클래스는 셸 인터프리터 역할을 합니다. JCL 프로시져에서 스트림 입력을 읽고, 입력 줄을 분할하고, 각 줄을 명령어로 해석하려고 시도합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-12-21(UTC)"],[],[],null,["# Mainframe Connector architecture\n\nThis page describes the architecture of Mainframe Connector.\n\nMainframe Connector is typically deployed as a Java application. As the\napplication is self contained, you need to only install [IBM JRE version 8](https://www.ibm.com/support/pages/java-sdk-downloads-version-80) or [IBM JRE version 17](https://www.ibm.com/support/pages/ibm-semeru-runtime-certified-edition-version-17-websphere-liberty-using-archives) to deploy Mainframe Connector.\nA [job control language (JCL)](#jcl-procedure) procedure is the frontend that\nyou can use to call Mainframe Connector. The following image gives an\noverview of Mainframe Connector architecture.\n\n\u003cbr /\u003e\n\nMainframe Connector architecture\n\n\u003cbr /\u003e\n\nWhen uploading data files to [Cloud Storage](/storage/docs),\nMainframe Connector communicates directly with the\n[Cloud Storage API](/storage/docs/apis) using either\n[IBM z Integrated Information Processor (zIIP)](https://www.ibm.com/products/z-integrated-information-processor) or general processor (GP). You can also\ndeploy a [remote service to offload some of the computation to Google Cloud](/mainframe-connector/docs/remote-transcoding).\n\nAfter a data file is uploaded to Cloud Storage, Mainframe Connector\nsends a remote procedure call (RPC) to the gRPC service indicating the location\nof the file, the record layout, and the output location. The gRPC service reads\nthe file from Cloud Storage, transcodes the data, and writes a multi-part\n[Optimized Row Columnar (ORC)](https://orc.apache.org/) file to the\nCloud Storage output location. Mainframe Connector then communicates\ndirectly with the [BigQuery API](/bigquery/docs/reference/libraries-overview)\nto register the ORC file as an external table or load the ORC file into a table.\n\nAlternately, you can deploy a hardware device in your data center to transfer\ndata directly from the mainframe storage system to Cloud Storage using a\nvirtual tape library (VTL). This approach uses neither [zIIP](https://www.ibm.com/products/z-integrated-information-processor) or GP during the data transfer to\nCloud Storage because the hardware device receives the data directly from the\nmainframe storage system using a VTL and does not use the mainframe at all. This\nfrees up the mainframe for business-critical tasks.\n\n### Data encryption\n\nIBM provides a [Java Cryptography Extension (JCE)](https://www.ibm.com/docs/en/i/7.6.0?topic=security-java-cryptography-extension) implementation with the JVM called\nJava Cryptography Extension Common Cryptographic Architecture (IBMJCECCA) ([Java 8](https://www.ibm.com/docs/en/sdk-java-technology/8?topic=components-ibmjcecca)\nor [Java 17](https://www.ibm.com/docs/en/semeru-runtime-ce-z/17.0.0?topic=guide-ibmjcecca)) that uses the hardware\ncryptography system on [IBM z/OS](https://www.ibm.com/products/zos). The\ntransport layer security (TLS) connection between the JVM and Google Cloud API\nendpoints use JCE and hardware cryptography to secure data during the extract,\ntransform, and load (ELT) operations.\n\n### JCL procedure\n\nTo use JCL procedures, you must install a [BQSH shell interpreter](#bqsh-interpreter)\nin your mainframe [procedure libraries (PROCLIB)](https://www.ibm.com/docs/en/zos/3.1.0?topic=libraries-procedure-proclib). The standard environment (STDENV) data in\nthe JCL procedure is used to set environment variables, JVM arguments, and Java\nclasspath before launching the [Java application](#java-app). A JCL procedure\nlaunches the JVM and main class `com.google.cloud.bqsh.Bqsh` using\n[IBM JVMLDM86 JVM launcher](https://public.dhe.ibm.com/software/Java/Java80/JZOS/jzos_users_guide_v8.pdf).\n\n### BQSH shell interpreter\n\nThe BQSH main class acts as a shell interpreter. It reads stream input from a\nJCL procedure, splits lines of input, and attempts to interpret each line as a\ncommand.\n\n### Java application\n\nThe Mainframe Connector uses [Java Cloud Client Libraries](/java/docs/reference),\n[Apache ORC](https://orc.apache.org/), and other open source libraries. It uses\n[IBM proprietary JZOS SDK](https://www.ibm.com/docs/en/semeru-runtime-ce-z/17?topic=sdk-user-guide)\nto interact with the IBM z/OS storage system and runs on the JVM on IBM z/OS and\n[OpenJDK on Linux](https://openjdk.org/).\n\nWhat's Next\n-----------\n\n- [Mainframe Connector configurations](/mainframe-connector/docs/configurations)"]]