Raincode IMSql を使用してAzureで IMS データベースと IMS データ通信をリホストする

Azure Virtual Machine Scale Sets
Azure Logic Apps
Azure SQL Managed Instance
Azure Virtual Network
Azure ExpressRoute

ソリューションのアイデア

この記事ではソリューションのアイデアについて説明します。 クラウド アーキテクトは、このガイダンスを使用して、このアーキテクチャの一般的な実装の主要なコンポーネントを視覚化できます。 ワークロードの特定の要件に適合する、適切に設計されたソリューションを設計するための出発点として、この記事を使用してください。

このアーキテクチャでは、Raincode IMSql を使用して、Azureに Information Management System (IMS) メインフレーム アプリケーション ワークロードを実装する方法について説明します。 リレーショナル データベース アプリケーションを移行するよりも、IMS Database (DB) アプリケーションをクラウドネイティブ ソリューションに移行する方が複雑です。 この記事では、重要な IMS の機能と機能性を備えたメインフレーム IMS ワークロードを Azure にリホストする方法について説明します。 既存のアプリケーションを移動または変更する必要はありません。

移行前の IMS DB および IMS データ通信のワークロード・アーキテクチャ

事前移行 IMS DB とデータ通信ワークロード アーキテクチャを示す図。

データ フロー

次のデータ フローは、前の図に対応しています。

  1. ユーザーは、TN3270 や HTTPS などの標準的なメインフレーム プロトコルを使用して、TCP/IP 経由でメインフレームに接続します。

  2. トランザクション・マネージャーは、ユーザーと対話し、アプリケーションを呼び出してユーザーの要求を満たします。

  3. ユーザーは、アプリケーション層フロントエンドの IMS 画面または Web ページと対話します。

  4. アプリケーション・コードは、階層 IMS DB バックエンド・データ層のストレージ機能を使用します。

  5. バッチ ジョブは、オフラインのビッグ データ操作を実行します。

  6. トランザクション処理に加えて、他のサービスでは、認証、セキュリティ、管理、監視、およびレポート作成が提供されます。 これらのサービスは、他のシステム サービスとやり取りします。

Azure の IMSql アーキテクチャ

Azure の IMSql アーキテクチャを示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

Workflow

次のワークフローは、上記のダイアグラムに対応しています。

  1. IMSql ターミナル・サーバー

    従来、オンプレミス ユーザーは、IBM の社内ターミナルを使用するか、ターミナル エミュレーション ソフトウェアを使用してメインフレームの z/OS インターフェイスにアクセスします。 何千人ものユーザーが存在する地理的に分散したネットワークを持つアプリケーションは、ターミナルを使用してメインフレームに接続します。 分散クラウドベース システムで IMS Data Communications (DC) アプリケーションをリホストする場合は、アプリケーションとリソースを一元的にホストし、リモート クライアント デバイス用に発行する必要があります。 Azureでアプリケーションとリソースをホストして発行するには、IMSql ターミナル サーバーを使用します。

  2. SQL Server サービス ブローカー

    メインフレームでは、IMS DC は制御領域内のメッセージを送信および処理して、ユーザー端末とアプリケーション・プログラムの間の通信層を調整します。 再ホスト後、SQL Server Service Broker はこの非同期通信層を調整します。 このサービス ブローカーは、メッセージ配信フレームワークを介した通信をサポートし、メッセージを個別の処理サーバー、現在のユーザー、およびトランザクション処理にスケールアウトします。

  3. IMSql 処理サーバ

    処理サーバーは、.NET Framework または .NET で IMS プログラムの Raincode 再コンパイルコードを実行します。 サーバーには基になるインフラストラクチャが含まれているため、再コンパイルされたプログラムは効果的かつ適切な機能等価性で実行されます。 IMSql 処理サーバーは、動的クエリを生成し、データ言語/1 (DL/I) 呼び出しの再コンパイル中に作成されたSQL Serverでストアド プロシージャを呼び出すことができます。

  4. 階層データ ストアとしての SQL Server

    データは IMS に階層的に格納されます。 IMSql は、SQL Server で同じモデルを使用します。 このモデルでは、高パフォーマンスのリレーショナル・データベースを使用して、IMS からの階層セグメントを論理的に実装します。 このモデルでは、セグメントを使用した独立したスケーリングがサポートされています。 セグメント データは、アプリケーションの変換を必要としないように、生の EBCDIC 形式で格納されます。 SQL サービスとしてのプラットフォーム (PaaS) を使用することで、IMSql は Azure が提供する基本的な高可用性とディザスター リカバリー機能を利用できます。

  5. DL/I 呼び出し API

    IMSql API は、COBOL IMS DL/I 呼び出しを同等の SQL クエリに変換します。 API はデータをフェッチし、想定される形式でアプリケーション プログラムに返します。 IMSql は、階層データベースなどの作成、読み取り、更新、および削除操作を実行するために、テーブル レコード上のプログラムの位置を追跡します。 パフォーマンスが高い DL/I 呼び出しに応答するために、IMSql はコンパイル時にSQL Serverでストアド プロシージャを作成できます。

  6. レインコードJCL

    Raincode ジョブ制御言語 (JCL) は、z/OS JCL 互換インタープリターです。 Raincode JCL は、JCL に組み込まれている複雑なビジネス ロジックからAzureおよび.NET プラットフォームへの移行をスムーズにします。 Raincode JCL は、Raincode COBOL、PL/I、および ASM370 コンパイラーによってコンパイルされたコードを実行します。 Raincode JCL は、ほとんどの言語で記述されたステップを実行します。 ユーザーが作成したコードを実装して、カスタム バッチ スケジューリング用に構成および調整します。

  7. IMSql データ・ビュー

    IMSql は、コピーブックまたはレコード レイアウトに基づいてリレーショナル SQL ビューを定義するため、Azureサービスと新しいアプリケーションはプレーン SQL ステートメントを使用して IMS セグメントにアクセスできます。 IMSql ビューは書き込み可能であるため、最新のアプリケーションでは、SQL Serverを介して IMS に対する読み取りと書き込みの両方を行うことができます。

IMSql によるデータ移行

IMSql によるデータ移行を示す図。

データベース オブジェクトの移行

  • IMSql は、メインフレームから元の IMS データベース記述 (DBD) を抽出して転送します。 IMSql は DBD 情報を使用して SQL スクリプトを生成し、Azure SQLでターゲット データベースとテーブルを生成します。

  • IMS DBD の各セグメントは、Azure のテーブルとして変換されます。

  • 表には、EBCDIC で表されるキー・フィールド、検索フィールド、および IMS セグメント・データが含まれます。

  • Azure SQL表では、IMS セグメント・ツリー構造と、主キーと外部キーの関係が保持されます。

初期データロード

  • IMS DB からのデータはメインフレーム ジョブを介して抽出され、DFSRRC00やDFSURGL0などのユーティリティをダウンロードします。

  • 抽出されたバイナリ ファイルをAzureに転送するには、FTP や Secure FTP (SFTP) などのAzure Data Factory コネクタと、Unix Subsystem Services で実行されるJavaベースのソリューションを使用します。

  • IMSql には、初期データの読み込みを完了するための組み込みの読み込みユーティリティがあります。 このツールは、SQL Server 一括コピー プログラム (bcp) ユーティリティを使用します。 このツールにより、bcp が確実に実行され、テーブル間の参照整合性が予想される階層構造と一致することが確認されます。

  • この移行では、IMS DB からの 1 回限りのデータ負荷に対処しますが、共存および関連するデータ同期には対応しません。

データ フロー

次のデータ フローは、前の図に対応しています。

  1. IMS DB には、DBD とセグメント・データが含まれています。

  2. IBM ユーティリティーは IMS DB 情報を抽出およびアンロードします。

  3. DBD ファイルと対応するバイナリ・データ・ファイルは別々に生成されます。

  4. 次の手順では、データ インジェスト プロセスについて説明します。

    1. Azure Data Factory FTP コネクタは、メインフレームの IMS データセットを Azure データ ストレージにコピーします。

    2. メインフレーム IMS データ ファイルは、SFTP 経由で Azure Blob Storage にコピーされます。

    3. メインフレーム JCL は、メインフレーム システムと SFTP Blob Storageの間でデータを移動するカスタム Java ソリューションを実行します。

  5. IMSql は、DBD ファイルを使用してターゲット データベースとテーブルを作成し、参照整合性を維持します。

  6. IMSql は、作成されたデータ オブジェクトを対応するテーブルに順番に読み込みます。

  7. Azure SQL Managed Instance は、移行された IMS データをホストしています。

  8. アプリケーション・データベースには、オンライン IMS 処理およびバッチ処理に使用される生セグメント・データが含まれています。

  9. IMS の読み取りビューと書き込みビューには、コピーブック・レイアウトに基づいて拡張されるセグメント・データが含まれます。

Raincode zBridge を使用した IMS DB データの移行

Raincode zBridge は、IMS DB セグメントからのデータを含む、Azure上のメインフレームの非リレーショナル データへのアクセスを容易にします。 分散アプリケーションやレポートおよび分析の目的で、Azure SQL データベース内のこのデータにアクセスできます。

一致する COBOL コピーブックまたは PL/I インクルードを使用して、IMS セグメント・データ・ファイルを zBridge にインポートします。 データは、メインフレームの数値型を SQL 型に変換し、必要に応じて文字列を ASCII に変換する SQL 行として表示されます。 zBridge は、複雑なデータ構造もサポートしています。

コンポーネント

  • Azure Logic Appsは、強力な統合ソリューションのためのクラウド プラットフォームです。 3270 ターミナルとオンプレミス接続に慣れているメインフレーム ユーザーは、Logic Apps IBM 3270 コネクタ を使用して、IBM メインフレーム アプリにアクセスして実行できます。 このアーキテクチャでは、Logic Apps は、パブリック インターネットまたは認証にMicrosoft Entra IDを使用するAzure ExpressRouteプライベート接続を使用して、移行されたAzure アプリケーションとのメインフレーム対話をサポートします。

  • Azure Virtual Machine Scale Sets は、アプリケーション管理を簡素化し、可用性を向上させる、自動化された負荷分散された仮想マシン (VM) スケーリングを提供するコンピューティング サービスです。 このアーキテクチャでは、Virtual Machine Scale Setsは、IMSql ワークロードのミッション クリティカルなオンラインおよびバッチ処理のニーズに十分な VM を提供します。

  • Azure Virtual Networkでは、Azure VM などのAzure リソース間、およびインターネットおよびオンプレミス ネットワークとの間のセキュリティで保護された通信がサポートされます。 Virtual Networkは、独自のデータセンターで動作する従来のネットワークに似ていますが、Azureインフラストラクチャのスケール、可用性、分離を提供します。 このアーキテクチャでは、Virtual Networkは、IMSql コンポーネント間の効果的な通信のためのセキュリティで保護されたネットワーク基盤を提供します。

  • ExpressRoute は、接続プロバイダーによって促進されるプライベート接続経由で、オンプレミスネットワークをMicrosoft Cloudに拡張する接続サービスです。 ExpressRoute を使用して、Azure や Microsoft 365 などの Microsoft Cloud サービスへの接続を確立できます。 このアーキテクチャでは、ExpressRoute は、オンプレミスのメインフレーム環境と、Azure で実行される移行された IMS アプリケーションとの間に、セキュリティで保護された高帯域幅の接続を提供します。

  • Microsoft Entra ID は、クラウドベースのエンタープライズ ID およびアクセス管理サービスです。 このアーキテクチャでは、Microsoft Entra IDはサイバーセキュリティ攻撃から保護し、ユーザーがサインインしてリソースにアクセスするのに役立つシングル サインオンと多要素認証を提供します。

  • SQL Managed Instanceは、Azureのフル マネージド SQL Server インスタンスを提供します。 このアーキテクチャでは、SQL Managed Instanceは、高可用性とAzureサービス統合を使用して、変換された階層型 IMS DB データ構造用のリレーショナル データベース プラットフォームを提供します。

選択肢

  • SQL Managed Instanceではなく、Azure VM でSQL Serverを使用できます。 高可用性、Azure サービスとの統合、セキュリティ パッチとメンテナンスの管理のため、SQL Managed Instanceすることをお勧めします。

  • Virtual Machine Scale Setsではなく、Azureの単一 VM アーキテクチャを使用できます。 負荷とパフォーマンスの需要が一定であり、スケーリングを必要としないワークロードには、単一の VM を検討してください。 このアーキテクチャでは、Virtual Machine Scale Sets を使用して一般的な IMS ワークロードを処理します。

シナリオの詳細

メインフレーム オンライン トランザクション処理 (OLTP) システムは、多くのユーザーに対して数百万のトランザクションを処理できます。 IBM IMS は OLTP 用の従来のメインフレーム・トランザクション・マネージャーです。 IBM IMS は、基になる階層データベース管理システム (DBMS) である IMS DC、トランザクション・マネージャー、および IMS DB で構成されます。

IMSql は、AzureおよびオンプレミスのSQL Serverベースの分散実装での IMS ベースのワークロード ホスティングを提供します。 IMSql は、アプリ、データ、ミドルウェア コンポーネントなど、IMS ワークロードの包括的なソリューションを提供します。 IMSql は、階層型 IMS DB データ構造を、SQL Server、SQL Server on Azure Virtual Machines、およびSQL Managed Instanceのリレーショナル データ モデルに取り込むことができます。 IMS アプリケーション プログラム DL/I 呼び出し用の API が組み込まれており、階層型ワークロードを超えてデータ層をリレーショナル データ用のクラウドネイティブ アプリに拡張します。

このソリューションの内容:

  • インフラストラクチャを最新化し、モノリシック メインフレーム IMS ワークロードの高コスト、制限、柔軟性を削減します。

  • 技術的負債を削減するために、クラウドネイティブ ソリューションと DevOps を実装します。

  • AI や分析アプリケーションなど、メインフレームを使用しないクラウドベースのアプリケーションに IMS DB データを送信します。

考えられるユース ケース

このソリューションは、次の場合に役立つ場合があります。

  • 銀行、金融、保険、政府、小売業界では、メインフレームIMSを使用しています。 これらの組織の多くは、IMS DB および IMS DC でプライマリ OLTP およびバッチ・アプリケーションを実行します。

  • ビジネスクリティカルなアプリケーションを移行する必要がある IBM zSeries メインフレームのお客様。 これらのお客様は、多くの場合、他のオンプレミス アプリケーションとの継続性を維持し、完全な再開発の影響を回避したいと考えています。

貢献者達

Microsoft では、この記事を保持しています。 次の共同作成者がこの記事を書きました。

主要な著者:

公開されていない LinkedIn プロフィールを見るには、LinkedIn にサインインしてください。

次のステップ