このページでは、Mainframe Connector のアーキテクチャについて説明します。
通常、Mainframe Connector は Java アプリケーションとしてデプロイされます。このアプリケーションは自己完結しているため、Mainframe Connector をデプロイするには、IBM JRE バージョン 8 以降をインストールするだけで済みます。 ジョブ制御言語(JCL)プロシージャは、Mainframe Connector を呼び出すために使用できるフロントエンドです。次の図は、Mainframe Connector のアーキテクチャの概要を示しています。
データファイルを Cloud Storage にアップロードする際、Mainframe Connector は、IBM z Integrated Information Processor(zIIP)または汎用プロセッサ(GP)のいずれかを使用して、Cloud Storage API と直接通信します。リモート サービスをデプロイして、計算の一部を Google Cloud にオフロードすることもできます。
データファイルが Cloud Storage にアップロードされると、Mainframe Connector は、ファイルの場所、レコード レイアウト、出力場所を示すリモート プロシージャ コール(RPC)を gRPC サービスに送信します。gRPC サービスは、Cloud Storage からファイルを読み取り、データをコード変換して、マルチパートの Optimized Row Columnar(ORC)ファイルを Cloud Storage の出力場所に書き込みます。次に、Mainframe Connector は BigQuery API と直接通信して、ORC ファイルを外部テーブルとして登録するか、ORC ファイルをテーブルに読み込みます。
あるいは、データセンターにハードウェア デバイスをデプロイして、仮想テープ ライブラリ(VTL)を使用してメインフレーム ストレージ システムから Cloud Storage にデータを直接転送することもできます。この方法では、Cloud Storage へのデータ転送に zIIP や GP を使用しません。ハードウェア デバイスは、VTL を使用してメインフレームのストレージ システムから直接データを受信し、メインフレームをまったく使用しないためです。これにより、メインフレームをビジネス クリティカルなタスクに使えるようになります。
データ暗号化
IBM は、IBM z/OS でハードウェア暗号システムを使用する、Java Cryptography Extension Common Cryptographic Architecture(IBMJCECCA)と呼ばれる JVM を使用して Java Cryptography Extension(JCE)実装を提供しています。JVM と Google Cloud API エンドポイント間の Transport Layer Security(TLS)接続では、抽出、変換、読み込み(ELT)オペレーション中に JCE とハードウェア暗号化を使用してデータを保護します。
JCL プロシージャ
JCL プロシージャを使用するには、メインフレームのプロシージャ ライブラリ(PROCLIB)に BQSH シェル インタープリタをインストールする必要があります。JCL プロシージャのスタンダード環境(STDENV)データは、Java アプリケーションを起動する前に、環境変数、JVM 引数、Java クラスパスを設定するために使用されます。JCL プロシージャは、IBM JVMLDM86 JVM ランチャーを使用して、JVM とメインクラス com.google.cloud.bqsh.Bqsh
を起動します。
BQSH シェル インタープリタ
BQSH メインクラスはシェル インタープリタとして機能します。JCL プロシージャからストリーム入力を読み取り、入力行を分割して、各行をコマンドとして解釈します。
Java アプリケーション
Mainframe Connector では、Java Cloud クライアント ライブラリ、Apache ORC などのオープンソース ライブラリを使用します。IBM 独自の JZOS SDK を使用して、IBM z/OS ストレージ システムと通信し、IBM z/OS 上の JVM と Linux 上の OpenJDKを実行します。