Oracle Database Gateway for APPCインストレーションおよび構成ガイド 11gリリース1(11.1) for AIX 5L Based Systems(64-Bit), HP-UX PA-RISC(64-Bit), Solaris Operating System(SPARC 64-Bit), and Linux x86 E05711-01 |
|
![]() 戻る |
![]() 次へ |
Oracle Database Gateway for APPC(ゲートウェイ)を使用すると、リモートのオンライン・トランザクション・プロセッサ(OLTP)上でトランザクション・プログラムの実行を開始できます。Oracle Database Gateway for APPCは、SNA通信プロトコルを使用して、OLTPとの接続を確立することができます。また、TCP/IP for IMS Connectを使用することで、TCP/IPを介してOLTPとの通信を確立することもできます。ゲートウェイを使用すると、OracleアプリケーションからIBMメインフレームのデータやサービスに、リモート・プロシージャ・コール(RPC)処理を介してシームレスにアクセスすることができます。ゲートウェイは、CPI-C APIを使用できる任意のアプリケーションに、直接、またはCICSなどのTPモニターを介してアクセスすることができます。
この章では、ゲートウェイのアーキテクチャ、使用方法および機能について説明します。含まれる項は、次のとおりです。
Oracle Database Gateway for APPCは、Oracleデータベースで使用できるRPCの機能を拡張します。ゲートウェイを使用すると、任意のクライアント・アプリケーションから、PL/SQLを使用して、ホスト上にあるリモート・トランザクション・プログラム(RTP)の実行をリクエストできます。ゲートウェイは、SNA APPC(Advanced Program-to-Program Communication)プロトコルを使用するシステム、およびTCP/IP for IMS Connectプロトコルを使用するシステムに、RPC処理を提供します。このアーキテクチャは、それぞれIBMメインフレームおよびIMS上で利用できるデータとトランザクションへの効率的アクセスを可能にします。
ゲートウェイは、リモート・ホスト・システム上にOracleソフトウェアを必要としません。このため、ゲートウェイで既存のトランザクションを使用する場合、リモート・ホスト上でプログラミングする必要はほとんど、またはまったく不要です。
ゲートウェイは、CPI-C APIを使用できる任意のアプリケーションに、直接、またはCICSなどのTPモニターを介してアクセスすることができます。
Oracle Database Gateway for APPCには次の長所があります。
TCP/IP support for IMS Connect
このリリースのゲートウェイにはTCP/IP support for IMS Connectが含まれているため、通信プロトコルはSNAとTCP/IPのどちらかを選択することができます。IMS ConnectはTCP/IPクライアントがIMSトランザクションの実行をトリガーできるようにするIBM製品です。ゲートウェイは、TCP/IP通信プロトコルを使用して、IMSトランザクションの実行をトリガーするIMS Connectにアクセスすることができます。TCP/IPの使用を選択した場合、その構成にSNAは関与しません。
ゲートウェイのこの新機能には、 pg4tcpmap
ツールが関連します。このリリースのゲートウェイには、サイド・プロファイル名からTCP/IPやIMS Connectに情報をマップすることを目的とするツールが含まれます。ゲートウェイ・マッピング・ツールの詳細は、『Oracle Database Gateway for APPCユーザーズ・ガイド』の第6章と、このガイドの第13章「TCP/IP通信プロトコルを使用したゲートウェイの構成」を参照してください。
プログラムをリモート実行する場合、ゲートウェイは最小ネットワーク・トラフィックに最適化されます。ゲートウェイへのインタフェースは、トランザクション・インタフェース・パッケージ(TIP)と呼ばれる、最適化されたPL/SQLストアド・プロシージャ仕様です。この仕様はOracleデータベースでプリコンパイルされます。リモート・ホスト・システム上に追加ソフトウェア・レイヤーがないため、プログラムが実行される場合のみオーバーヘッドが発生します。
クライアント・アプリケーションがオペレーティング・システム固有である必要はありません。たとえば、アプリケーションからCICS Transaction Server for z/OS上のプログラムを呼び出すことができます。プログラムをpSeries上のCICS領域に移動する場合も、アプリケーションを変更する必要はありません。
ユーザーがリモート・トランザクション・プログラムを実行するアプリケーションを呼び出す場合、リクエストがホストに送信されることは意識されません。
ゲートウェイは、既存のプロシージャ・ロジックを使用するインタフェースとして使用することも、Oracleデータベース環境に新しいプロシージャ・ロジックを統合するために使用することもできます。
Oracleデータベースとゲートウェイを統合すると、既存の、および今後実装されるOracle機能を活用できます。たとえば、ゲートウェイはOracleストアド・プロシージャまたはデータベース・トリガーから呼び出せます。
トランザクション・サポート
ゲートウェイとOracleデータベースでは、リモート・トランザクション更新とOracleデータベース更新を協調して実行することができます。
ゲートウェイは、PL/SQLをサポートするツールまたはアプリケーションであればすべてサポートします。
Oracle Database Gateway for APPCは、次のように強力な開発環境を備えています。
リモート・トランザクションに関する情報を格納するデータ・ディクショナリ
PL/SQLトランザクション・インタフェース・パッケージ(TIP)を生成するツール
ゲートウェイ・ディクショナリに格納された情報を表示するレポート・ユーティリティ
完備されたトレースおよびデバッグ機能
DB2、IMSおよびCICSなどのデータストアに対して製品の使用方法を示す充実した一連のサンプル
ゲートウェイはサイト自律性を提供するため、ユーザー認証などのタスクを実行できます。また、メインフレーム・コンピュータ上で稼働している任意のセキュリティ・パッケージと互換性がある、ロールに基づくセキュリティを提供します。
このガイドを通じて、次の用語と定義を使用します。ゲートウェイ、そのコンポーネントおよびファンクションに関する用語と定義の一覧は、付録C「ゲートウェイ用語」を参照してください。
これは、 RTPを実行するリモート・プロシージャ・コールを実行する目的でゲートウェイと通信する、任意のOracleデータベース・インスタンスです。Oracleデータベースはゲートウェイと同一のシステム上にあっても、異なるシステム上にあってもかまいません。異なるシステム上の場合は、両方のシステム上にOracle Netが必要です。ゲートウェイ・アーキテクチャの表示は、図1-2「ゲートウェイ・アーキテクチャ」を参照してください。
OLTPとは、CICS Transaction Server for z/OS、IMS/TMおよびz/OSなど、他のベンダーから入手できるオンライン・トランザクション・プロセッサです。
PGAUは、 PL/SQLトランザクション・インタフェース・パッケージ(TIP)を定義および生成するために使用されるツールです。PGAUの詳細は、『Oracle Database Gateway for APPCユーザーズ・ガイド』の第2章「プロシージャ・ゲートウェイ管理ユーティリティ」を参照してください。
このゲートウェイ・コンポーネントは、リモート・ホスト・トランザクション(RHT)定義とデータ定義のリポジトリです。PGAUは、TIPを生成する際にPG DDの定義にアクセスします。PG DDは、PGAUをサポートしますが、カスタマにより直接アクセスされることを想定していないため、データ・タイプに依存します。PG DD表の一覧は『Oracle Database Gateway for APPCユーザーズ・ガイド』の付録A「Procedural Gateway for APPCデータ・ディクショナリ」を参照してください。
RPCは、別のシステムからのリクエストに応答してシステム上でプログラム・ロジックを実行するプログラミング・コールです。詳細は「ゲートウェイ用語の定義」と『Oracle Database Gateway for APPCユーザーズ・ガイド』の付録B「ゲートウェイRPCインタフェース」を参照してください。
リモート・トランザクション・プログラムはOLTPの制御下で実行されているカスタマ作成トランザクションで、ユーザーはPL/SQLプロシージャを使用してリモートから呼び出します。ゲートウェイを介してリモート・トランザクション・プログラムを実行するには、RPCを使用して、ゲートウェイ関数を呼び出すPL/SQLプログラムを実行する必要があります。
TIPは、アプリケーションとリモート・トランザクション・プログラムの中間にあるOracle PL/SQLパッケージです。TIPは、ゲートウェイを介してリモート・トランザクション・プログラムを呼び出す一連のPL/SQLストアド・プロシージャです。TIPは、PL/SQLファンクションとUTL_RAW
/UTL_PG
ファンクションを使用して、リモート・ホスト・データの変換と再フォーマットを実行します。
図1-1は、ゲートウェイとOracleデータベースの関係を示しています。ゲートウェイのアーキテクチャでは、前の項で説明した用語が使用されています。
Oracle Database Gateway for APPCのアーキテクチャはいくつかのコンポーネントで構成されています。
ゲートウェイ
Oracle Database Gateway for APPCは、必要なバージョンのオペレーティング・システムを実行できるサーバー上にインストールされる必要があります。
OLTP(オンライン・トランザクション・プロセッサ)
OLTPは、SNAまたはTCP/IP通信プロトコルを使用してゲートウェイからアクセス可能である必要があります。多数のOracleデータベースが同一のゲートウェイにアクセスすることができます。システム・ゲートウェイを1つだけインストールして、複数のOLTPにアクセスするように構成することができます。
OLTPは、TCP/IPプロトコルを使用するシステムにアクセスできる必要があります。多数のOracleデータベースが同一のゲートウェイにアクセスすることができます。システム・ゲートウェイを1つだけインストールして、複数のOLTPにアクセスするように構成することができます。IMS Connectから複数のIMSにアクセスすることができます。多数のIMS Connectシステムを利用できる場合、そのいずれも、複数のIMSシステムに接続している可能性があります。
図1-2は、前の項で説明した、SNAまたはTCP/IPを使用するOracle Database Gateway for APPCのアーキテクチャを示しています。
通信プロトコルがSNAとTCP/IP support for IMS Connectのいずれであるかに関係なく、ゲートウェイの基本的な構造は同一です。ゲートウェイのコンポーネントの一部は、UNIX上のOracleデータベース・インスタンスと同一です。この項では、次のコンポーネントについて説明します。
ホーム・ディレクトリ。OracleインスタンスORACLE_HOME
環境変数に関連付けられているディレクトリに類似しています。
システム識別子。sid
またはORACLE_SID
です。
ゲートウェイには次のものはありません。
制御ファイル、REDOログ・ファイルまたはデータベース・ファイル
インストールされたOracleデータベースに関連付けられているサブディレクトリおよび付随ファイル一式
ゲートウェイにはバックグラウンド・プロセスがなく、Oracle Enterprise Managerなどの管理ユーティリティを必要としないため、ゲートウェイを起動する必要はありません。個別のゲートウェイにアクセスする各Oracleデータベースのユーザー・セッションは、独立したUNIX上のプロセスを作成します。そのプロセスがゲートウェイ・サーバーを実行し、SNAまたはTCP/IPの機能を実行してOLTPと通信します。
ユーザーまたはクライアント・プログラムとゲートウェイの間のすべての通信は、Oracleデータベース上で実行されるトランザクション・インタフェース・パッケージ(TIP)を介して処理されます。TIPは次の機能を提供する標準PL/SQLパッケージです。
リモート・トランザクション・プログラムで交換されるPL/SQL変数を宣言します。
通信における対話の開始、データの交換および対話の終了を処理するゲートウェイ・パッケージを呼び出します。
ゲートウェイ付属のプロシージャ・ゲートウェイ管理ユーティリティ(PGAU)は、自動的にTIP仕様を生成します。
ゲートウェイはデータベース・リンクを使用してOracleデータベースに識別されます。データベース・リンクは他のOracleデータベースを識別するために使用される同一の構成要素です。ゲートウェイでのファンクションは、PL/SQLで次のように参照されます。
function_name@dblink_name
Oracle Database Gateway for APPCには、クライアントがRPCを介して呼び出す関数がひととおり用意されています。これらの関数は、ゲートウェイに対して、開始、データ転送、および別のシステム上のOLTPの下で実行されているリモート・トランザクション・プログラムの終了を指示します。
表1-1 に、リモート・プロシージャ・コール関数と、ゲートウェイとリモート・ホストで相互に連関して呼び出されるコマンドの一覧を示します。
表1-1 ゲートウェイとリモート・ホストのRPC関数とコマンド
アプリケーション | Oracle TIP | ゲートウェイ | リモート・ホスト |
---|---|---|---|
|
|
|
プログラムの開始 |
|
|
|
データ交換 |
|
|
|
プログラムの終了 |
次の項では、SNAまたはTCP/IP通信プロトコルを使用するゲートウェイ上で、RPC関数がどのように実行されるかを説明します。
TIPは、ゲートウェイ関数の1つであるPGAINIT
を使用して、リモート・ホストシステムへの接続を開始します。
通信プロトコルがSNAの場合: PGAINIT
は、必須SNAパラメータを入力として提供し、ターゲット・トランザクション・プログラムとの対話を開始します。これらのパラメータはSNAネットワークを横断して送信され、PGAINIT
に対話IDが返されます。それ以降にターゲット・プログラムを呼び出す場合、INPUT
パラメータとして対話IDが使用されます。
通信プロトコルがTCP/IPの場合: PGAINIT
は、必須TCP/IPパラメータを入力として提供します。pg4tcpmap
ツールを使用してパラメータをマップします。これらのパラメータはTCP/IPネットワークを横断して送信され、ターゲット・トランザクション・プログラムとの対話が開始されます。TCP/IPネットワークからPGAINIT
にソケット・ファイル記述子が返されます。それ以降にPGAXFER
とPGATERM
がターゲット・プログラムを呼び出す場合、入力パラメータとしてソケット・ファイル記述子が使用されます。
pg4tcpmap
ツールの関数と使用方法の詳細は、付録B「TCP/IP通信プロトコルでのゲートウェイ初期化パラメータ」と、『Oracle Database Gateway for APPCユーザーズ・ガイド』の第6章を参照してください。
Oracle Database Gateway for APPCは、リモート・ホスト・システムとの間でデータの読み書きを行うトランザクションとして、次の3種類をサポートしています。
ワンショット
ワンショット・トランザクションでは、アプリケーションは1回の呼出しで接続を初期化し、データを交換して、接続を終了します。
永続
永続トランザクションでは、対話を終了する前に、リモート・トランザクションとの間でデータを交換するための呼出しを複数回行うことができます。
複数対話
複数対話トランザクションでは、データベース・ゲートウェイ・サーバーを使用して、1回のリモート・トランザクション・プログラム呼出しで複数のレコードを交換することができます。
トランザクションの種類の詳細は、『Oracle Database Gateway for APPCユーザーズ・ガイド』の第4章「クライアント・アプリケーション開発」の、リモート・ホストのトランザクションの種類に関する説明を参照してください。
TCP/IP for IMS Connectを使用するOracle Database Gateway for APPCは、次の3種類のトランザクション・ソケット接続をサポートしています。
ソケット接続は1つのトランザクションの間だけ継続します。
ソケット接続は複数のトランザクションを通じて継続します。
ソケット接続は、1つの入力と1つの出力で構成される1回の交換の間だけ継続します。
注意: 対話トランザクションを実装する場合は非永続ソケットタイプを使用しないでください。接続と切断が何度も発生します。 |
パラメータの入力方法の詳細は、『Oracle Database Gateway for APPCユーザーズ・ガイド』の第6章のpg4tcpmapツール・コマンドに関する説明と、このガイドの第13章「TCP/IP通信プロトコルを使用したゲートウェイの構成」を参照してください。
静的なSQLをDB2で実行するIMS/TMトランザクションを開始できます。これは、TCP/IP for IMS ConnectをサポートするOracle Database Gateway for APPCの機能を示しています。