目次 前 次 PDF


Oracle Tuxedo Mainframe Adapter for TCP (CICS)の基本知識

Oracle Tuxedo Mainframe Adapter for TCP (CICS)の基本知識
Oracle Tuxedo Mainframe Adapter for TCP (CICS)(以後TMA TCP for CICSと呼ぶ)は、ゲートウェイ接続という特性を持つ製品で、Oracle Tuxedoリージョン側のトランザクション型でない処理と、CICSアプリケーション・プログラムで作成されたサービスとの間の相互アクセスを実現します。Oracle Tuxedoリージョン(つまり管理ドメイン)は、コンピュータ1台でも、同じOracle Tuxedo構成を共有するコンピュータの集まりでもかまいません。
TMA TCP for CICSソフトウェアは、Oracle TuxedoドメインからCICSプログラムに透過的にアクセスし、CICSリージョンからOracle Tuxedoに透過的にアクセスできるように設計されています。
次の情報に沿って、TMA TCP for CICS製品の基本知識について説明します。
基礎的な知識
このドキュメントが対象としている読者は主に、TMA TCPの構成と管理を担当するCICSシステム管理者です。さらに、プログラマ向けに、リモートのTMA TCP Gatewayにデータを送信するクライアント・プログラムやサービス・ルーチンを開発する際に役に立つ情報も記載しています。
TMA TCPを扱うプログラマにはCICSアプリケーションの開発に関する知識が必要になります。
TMA TCPを扱うシステム管理者には、次の概念、ツールおよび手順に関する知識が必要になります。
Oracle TMA TCP for CICSのアーキテクチャ
Oracle TMA TCP for CICSは、CICSリージョンで実行される4つのCICSプログラムで構成されます。
それは、IBM TCP/IP for CICS TSソケット・インタフェースに付属しているソケット・インタフェースとSockets for CICSリスナーを使用します。知っておく必要がある処理の流れが2つあります。
Oracle TMA TCPの機能
TMA TCP製品には次の機能が備わっています。
ドメイン・ペースのゲートウェイ接続
TMA TCP製品にはドメイン・ベースのアーキテクチャが採用されており、双方向通信、リクエスト/レスポンスのサポート、およびCICSインタフェースの同時サポートが実現されています。
セキュリティ
TMA TCP製品は、CICSから渡されるユーザー名に基づいて、Tuxedoサービスに対するアクセス権限を付与します。
TMA TCP for CICS製品からCICSトランザクションを開始したり、プログラムにリンクできます。Oracle TuxedoからTMA TCP製品にユーザーIDが渡されて、トランザクションの開始前にセキュリティが適切かどうかチェックされます。
ドメイン・ネーム・サーバーのサポート
TMA TCP製品では、ドメイン・ネーム・サーバー(DNS)によるIPアドレスの解決がサポートされています。つまり、ドメイン・ネーム・サーバー側でIPアドレスを変更するため、TMA TCP Gatewayを再構成せずにアドレスを変更できます。
動的な構成
TMA TCP製品では、一部のTMA TCP構成パラメータの動的な構成を更新できます。TMA TCP製品を停止し再起動しなくても、構成を変更できます。動的な構成の詳細は、TMA TCP for CICSの動的な構成の項を参照してください。
リクエスタの負荷分散
TMA TCP for CICSでは、リクエスタの負荷を分散できます。複数のサービスに同じ名前を付与する構成が可能であり、サービスごとに別々の一意のLMIDを関連付けることができます。この構成を活用して、リクエスタの負荷を分散できます。
LMIDの自動有効化
TMA TCP for CICSでは、すでに無効になっている特定のリクエスタを自動的に有効にできます。リクエスタの構成で、AUTO ENABLE LMIDオプションを指定できます。このオプションをE(有効)に設定すると、前処理リクエスタによって、LMIDが自動的に有効になり、リクエスタが起動され、リクエストが処理されます。
Oracle TMA TCP for CICSのコンポーネント
リモートでリクエストが処理される際と、ローカルでリクエストが開始される際に、4つのプログラムが使用されます。
この他にも次の2つの管理ツールを使用できます。
TMA TCP for CICSのハンドラ
TMA TCPのハンドラは、TCP/IPを介してTMA TCP Gatewayと通信するCICSプログラムです。具体的には、ハンドラはOracle Tuxedo側のリクエストをCICSリージョンに送信します。Oracle TuxedoがCICSリージョン宛てに最初のサービス・リクエストを発行するときに、ハンドラがそのCICSリージョンで自動的に起動されます。
ハンドラの役割は、接続リクエストを受け取ること、ソケット接続を制御すること、ソケット接続の存続期間中にOracle Tuxedoドメインのリクエスタとの通信を継続することです。ハンドラは、必要に応じて、TMA TCP Gatewayのリクエスタから送信されてくるサービス・リクエストを処理するアプリケーション・ハンドラとのインタフェースを行います。リクエストの同時処理またはセキュリティが有効な場合、ハンドラはアプリケーション・ハンドラを起動し、次のサービス・リクエストを待機します。ハンドラは、リクエストの処理が完了したかどうかを定期的にチェックします。リクエストの処理が完了すると、ハンドラはアプリケーション・ハンドラからレスポンス・データを受け取り、リクエスタにそのデータを戻します。また、アクティブなサービス・リクエストがタイムアウトになっていないかどうかのチェックも、ハンドラが定期的に行います。
リクエストの同時処理数が1で、セキュリティが無効になっている場合、またはバージョン3.0よりも前のTMA TCP Gatewayがサービス・リクエストの送信元である場合は、ハンドラは目的のユーザー・アプリケーションを実行し、そのアプリケーションからデータが戻されるまで待機し、データを受け取ったらTMA TCP Gatewayに戻し、TMA TCP Gatewayが別のサービス・リクエストを送信してくるまで待機します。
TMA TCP for CICSのアプリケーション・ハンドラ
アプリケーション・ハンドラは起動されると、ハンドラからリクエスト情報を受け取ります。アプリケーション・ハンドラは、目的のユーザー・アプリケーションを実行し、アプリケーションからデータが戻されるまで待機し、データを受け取ったら、ハンドラにデータを戻します。
TMA TCP for CICSの前処理リクエスタ
前処理リクエスタ・プログラムは、CICSクライアント・プログラムとTMA TCP for CICSのリクエスタとの間のインタフェースとして使用されます。CICSリクエスタ(次の項を参照)は、リモートのOracle Tuxedoドメインとの相互のやり取りを行うプログラムです。CICSクライアント・プログラムから前処理リクエスタを呼び出すには、EXEC CICS LINKを発行します。
TMA TCP for CICSのリクエスタ
リクエスタ・プログラムの役割は、リモートのOracle Tuxedoリージョンとのソケット接続を作成し維持することです。前処理リクエスタからリクエスト情報を受け取り、その情報をOracle Tuxedoに送信します。リクエスタは、Oracle Tuxedoからのレスポンス・データがあれば受け取り、前処理リクエスタに送信し、前処理リクエスタはその情報を呼出し元のクライアント・プログラムに戻します。
IBM TCP/IPソケット・インタフェース
TMA TCP for CICSがTCP/IPを介して通信できるように、ソケット・インタフェースを有効にする必要があります。ソケットAPIを使用するCICSプログラムがある場合は必ず、この手順に従ってください。IBM TCP/IPソケット・インタフェースは、オラクル社からは提供されておらず、直接IBM社から購入できます。IBM TCP/IP Sockets for CICS製品に付属しているトランザクションを使用して、CICS環境でソケット・インタフェースを有効にできます。ドキュメント一式はIBM製品に同梱されています。
サポートされているその他のTCP/IPソケット製品を使用している場合
このドキュメントではIBM TCP/IPソケット・インタフェース製品について説明しています。サポートされているその他のTCP/IP製品を使用している場合は、製品ドキュメントの同等のコンポーネントに関する記載を確認してください。
IBM TCP/IP Sockets for CICSに付属のリスナー
IBM TCP/IP Sockets for CICSに付属のリスナーの役割は、最初の接続リクエストを受信し、そのリクエストをTMA TCP for CICSのハンドラに渡すことです。IBM TCP/IP Sockets for CICS製品の一部であり、製品自体を直接IBM社から購入する必要があります。製品に付属のマニュアルの説明に従って、リスナーをインストールし構成してください。
IBMのユーザー保守表(UMT)
接続ファイル(BEAVCON)のデフォルトは、ユーザー保守表(UMT)です。このファイルをVSAMファイルに変更する場合は、トランザクションBDWNPLTSIに追加して、CICSに対応させる必要があります。このトランザクションの用途は、主にアクティブなリクエスタをすべて停止することですが、接続ファイルからすべてのエントリを削除する用途でも使用できます。アクティビティの初期化の前に、接続ファイルを空にする必要があります。
処理の一連の流れ
この項では、TMA TCP for CICSの処理の流れについて説明します。
Oracle Tuxedoドメインからのリクエスト
Oracle Tuxedoがサービスをサーバーにマップする処理、リモートのOracle Tuxedoリージョンからのサービス・リクエストをTMA TCPにマップする処理は、ユーザー、Oracle Tuxedo開発者およぴCICSプログラマにとって透過的に行われます。
図1-1に示すように、TMA TCP for CICSでは、この透過的なアクセスの範囲が広がるように、CICSプログラムのサービスに対するOracle TuxedoのリクエストをTCP/IPネットワーク・ソフトウェアを介してルーティングするようになっています。
図1-1 Oracle TuxedoからTMA TCP for CICSへのルーティング
As 図1-1に示すように、TMA TCP for CICSはCICSユーザー・アプリケーションとTCP/IPの間に組み込まれた形になっています。
Oracle Tuxedoのクライアント・プログラムがリクエストをリモート・システム(この場合はCICS)に送信し、TMA TCP Gatewayがそのリクエストをリモート・システムへの転送に適したフォーマットのメッセージに変換します。リモート・システムからレスポンスが戻されるときにも、TMA TCP Gatewayがこれらのレスポンスを、ローカルのクライアント・プログラムで処理可能な応答に変換します。
TMA TCP for CICSソフトウェアは、ソケット・インタフェースと通信する通常のCICSプログラムとして実装されます。TMA TCP Gatewayから接続リクエストを受け取り、標準的な応答を戻します。
1つのTMA TCP for CICSゲートウェイ(単一のCICSリージョン内のTMAハンドラ群)と、リモートのTMA TCP Gatewayの全リクエスタとの間には、複数のソケット接続を同時に確立できます。Oracle Tuxedoドメイン内のTMA TCP Gatewayのリクエスタが、TMA TCP for CICSゲートウェイとの間に通信を新しく確立するときに、各ソケット接続が自動的に確立されます。
CICSからのリクエスト
CICSプログラムからリモートのOracle Tuxedoドメインにリクエストが送信される際の処理がどのようになっているかは、ユーザーからは見えないようになっており、CICSプログラマにとっては高度に抽象化されます。企業のCICSプログラムからは、EXEC CICS LINKコマンドをOracle TMAゲートウェイに発行することになります。プログラマは、EXEC CICS LINKコマンドとともに渡すデータの中に、サービスの名前と、そのサービスに対する入力として使用するデータを設定します。EXEC CICS LINKコマンドが応答を戻すときに、同じデータ領域内にリクエストに対する応答が格納されます。サービス・リクエストを実行する上で問題が発生した場合は、意味を持つ戻りコードが戻されます。
図1-2 Oracle TMAクライアント・ゲートウェイの構成
図1-2に、Oracle TMAクライアント・ゲートウェイの構成を示します。クライアント・プログラム(CICSプログラム)が、EXEC CICS LINKコマンドを前処理リクエスタに発行します。前処理リクエスタは、サービス名が有効かどうかを検証し、リクエストの送り先にするリクエスタを特定します。前処理リクエスタは、構成されているリモート・エンドポイントごとに別々のリクエスタを起動します。リクエスタは、リクエストをリモートのOracle Tuxedoドメインに送信し、レスポンスが戻されるまで待機します。レスポンスが戻されると、リクエスタは前処理リクエスタにその旨を通知し、前処理リクエスタにレスポンスを渡し、前処理リクエスタはクライアント・プログラムにレスポンスを戻します。
TMA TCP for CICSスタート・ガイド
次の箇条書きは、TMA TCP for CICSを使用する前に必要な準備作業です。
Oracle TMA TCPインストレーション・ガイド』に記載されているTMA TCPのインストール手順に従います。
管理ツール(「Oracle TMA TCP for CICSの構成および管理」に記載)を使用して、TMA TCPが使用するサービスとリモート・エンドポイントを定義します。このとき、Oracle Tuxedo管理者と相談して、サービスを1つに絞ることをお薦めします。すべてのサービスを1回で設定しようとすると作業が複雑になりますが、サービスを1つに絞って設定方法に慣れておけば、その他のサービスを設定する際に手間がかかりません。
「Oracle TMA TCP for CICSの処理の仕組みの理解」の説明に従って、CICSプログラムのいずれかにEXEC LINK文を追加し、データ領域を設定します。

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved