ヘッダーをスキップ
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
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

1 Oracle Database Gateway for APPCの概要

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モニターを介してアクセスすることができます。

この章では、ゲートウェイのアーキテクチャ、使用方法および機能について説明します。含まれる項は、次のとおりです。

1.1 ゲートウェイの概要

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ソフトウェアを必要としません。このため、ゲートウェイで既存のトランザクションを使用する場合、リモート・ホスト上でプログラミングする必要はほとんど、またはまったく不要です。


注意:

SNAのみを使用しているゲートウェイでは、汎用の標準プロトコルであるAPPCを使用することで、ゲートウェイから多数のシステムにアクセスできます。ゲートウェイは、あらゆるプラットフォーム上でのIBM社のCICS 、IBM社のIMSおよびAPPC/MVSなど、実質的にすべてのAPPC対応システムと通信することができます。これらのトランザクション・モニターを使用すると、ゲートウェイがVSAM、DB2(静的SQL)、IMSなど多くのデータストアにアクセスできるため、広範囲のシステムにアクセスできます。

ゲートウェイは、CPI-C APIを使用できる任意のアプリケーションに、直接、またはCICSなどのTPモニターを介してアクセスすることができます。

1.2 ゲートウェイの特長

Oracle Database Gateway for APPCには次の長所があります。

1.3 用語

このガイドを通じて、次の用語と定義を使用します。ゲートウェイ、そのコンポーネントおよびファンクションに関する用語と定義の一覧は、付録C「ゲートウェイ用語」を参照してください。

Oracleデータベース

これは、 RTPを実行するリモート・プロシージャ・コールを実行する目的でゲートウェイと通信する、任意のOracleデータベース・インスタンスです。Oracleデータベースはゲートウェイと同一のシステム上にあっても、異なるシステム上にあってもかまいません。異なるシステム上の場合は、両方のシステム上にOracle Netが必要です。ゲートウェイ・アーキテクチャの表示は、図1-2「ゲートウェイ・アーキテクチャ」を参照してください。

OLTP(オンライン・トランザクション・プロセッサ)

OLTPとは、CICS Transaction Server for z/OS、IMS/TMおよびz/OSなど、他のベンダーから入手できるオンライン・トランザクション・プロセッサです。

PGAU(プロシージャ・ゲートウェイ管理ユーティリティ)

PGAUは、 PL/SQLトランザクション・インタフェース・パッケージ(TIP)を定義および生成するために使用されるツールです。PGAUの詳細は、『Oracle Database Gateway for APPCユーザーズ・ガイド』の第2章「プロシージャ・ゲートウェイ管理ユーティリティ」を参照してください。

PG DD(データ・ディクショナリ)

このゲートウェイ・コンポーネントは、リモート・ホスト・トランザクション(RHT)定義とデータ定義のリポジトリです。PGAUは、TIPを生成する際にPG DDの定義にアクセスします。PG DDは、PGAUをサポートしますが、カスタマにより直接アクセスされることを想定していないため、データ・タイプに依存します。PG DD表の一覧は『Oracle Database Gateway for APPCユーザーズ・ガイド』の付録A「Procedural Gateway for APPCデータ・ディクショナリ」を参照してください。

RPC

RPCは、別のシステムからのリクエストに応答してシステム上でプログラム・ロジックを実行するプログラミング・コールです。詳細は「ゲートウェイ用語の定義」と『Oracle Database Gateway for APPCユーザーズ・ガイド』の付録B「ゲートウェイRPCインタフェース」を参照してください。

RTP

リモート・トランザクション・プログラムはOLTPの制御下で実行されているカスタマ作成トランザクションで、ユーザーはPL/SQLプロシージャを使用してリモートから呼び出します。ゲートウェイを介してリモート・トランザクション・プログラムを実行するには、RPCを使用して、ゲートウェイ関数を呼び出すPL/SQLプログラムを実行する必要があります。

TIP(トランザクション・インタフェース・パッケージ)

TIPは、アプリケーションとリモート・トランザクション・プログラムの中間にあるOracle PL/SQLパッケージです。TIPは、ゲートウェイを介してリモート・トランザクション・プログラムを呼び出す一連のPL/SQLストアド・プロシージャです。TIPは、PL/SQLファンクションとUTL_RAW/UTL_PGファンクションを使用して、リモート・ホスト・データの変換と再フォーマットを実行します。

図1-1は、ゲートウェイとOracleデータベースの関係を示しています。ゲートウェイのアーキテクチャでは、前の項で説明した用語が使用されています。

図1-1 ゲートウェイとOracleデータベースの関係

ゲートウェイの関係
「図1-1 ゲートウェイとOracleデータベースの関係」の説明

1.4 ゲートウェイのアーキテクチャ

Oracle Database Gateway for APPCのアーキテクチャはいくつかのコンポーネントで構成されています。


注意:

TCP/IP support for IMS Connectを使用するゲートウェイの場合、TCP/IPを介してサポートされているOLTPは、IMS Connectを介するIMSのみです。

OLTPは、TCP/IPプロトコルを使用するシステムにアクセスできる必要があります。多数のOracleデータベースが同一のゲートウェイにアクセスすることができます。システム・ゲートウェイを1つだけインストールして、複数のOLTPにアクセスするように構成することができます。IMS Connectから複数のIMSにアクセスすることができます。多数のIMS Connectシステムを利用できる場合、そのいずれも、複数のIMSシステムに接続している可能性があります。

図1-2は、前の項で説明した、SNAまたはTCP/IPを使用するOracle Database Gateway for APPCのアーキテクチャを示しています。

図1-2 ゲートウェイ・アーキテクチャ

図1-2の説明が続きます
「図1-2 ゲートウェイ・アーキテクチャ」の説明

1.5 ゲートウェイの実装

通信プロトコルがSNAとTCP/IP support for IMS Connectのいずれであるかに関係なく、ゲートウェイの基本的な構造は同一です。ゲートウェイのコンポーネントの一部は、UNIX上のOracleデータベース・インスタンスと同一です。この項では、次のコンポーネントについて説明します。

ゲートウェイには次のものはありません。

ゲートウェイにはバックグラウンド・プロセスがなく、Oracle Enterprise Managerなどの管理ユーティリティを必要としないため、ゲートウェイを起動する必要はありません。個別のゲートウェイにアクセスするOracleデータベースのユーザー・セッションは、独立したUNIX上のプロセスを作成します。そのプロセスがゲートウェイ・サーバーを実行し、SNAまたはTCP/IPの機能を実行してOLTPと通信します。

1.6 ゲートウェイとの通信

ユーザーまたはクライアント・プログラムとゲートウェイの間のすべての通信は、Oracleデータベース上で実行されるトランザクション・インタフェース・パッケージ(TIP)を介して処理されます。TIPは次の機能を提供する標準PL/SQLパッケージです。

ゲートウェイ付属のプロシージャ・ゲートウェイ管理ユーティリティ(PGAU)は、自動的にTIP仕様を生成します。

ゲートウェイはデータベース・リンクを使用してOracleデータベースに識別されます。データベース・リンクは他のOracleデータベースを識別するために使用される同一の構成要素です。ゲートウェイでのファンクションは、PL/SQLで次のように参照されます。

function_name@dblink_name

1.7 RPC関数

Oracle Database Gateway for APPCには、クライアントがRPCを介して呼び出す関数がひととおり用意されています。これらの関数は、ゲートウェイに対して、開始、データ転送、および別のシステム上のOLTPの下で実行されているリモート・トランザクション・プログラムの終了を指示します。

表1-1 に、リモート・プロシージャ・コール関数と、ゲートウェイとリモート・ホストで相互に連関して呼び出されるコマンドの一覧を示します。

表1-1 ゲートウェイとリモート・ホストのRPC関数とコマンド

アプリケーション Oracle TIP ゲートウェイ リモート・ホスト

call tip_init

tip_init

call pgainit@gateway

PGAINIT

プログラムの開始

call tip_main

tip_main

call pgaxfer@gateway

PGAXFER

データ交換

call tip_term

tip_term

call pgaterm@gateway

PGATERM

プログラムの終了


1.7.1 RPC関数の説明

次の項では、SNAまたはTCP/IP通信プロトコルを使用するゲートウェイ上で、RPC関数がどのように実行されるかを説明します。

1.7.1.1 リモート・トランザクションの開始

TIPは、ゲートウェイ関数の1つであるPGAINITを使用して、リモート・ホストシステムへの接続を開始します。

通信プロトコルがSNAの場合: PGAINITは、必須SNAパラメータを入力として提供し、ターゲット・トランザクション・プログラムとの対話を開始します。これらのパラメータはSNAネットワークを横断して送信され、PGAINITに対話IDが返されます。それ以降にターゲット・プログラムを呼び出す場合、INPUTパラメータとして対話IDが使用されます。

通信プロトコルがTCP/IPの場合: PGAINITは、必須TCP/IPパラメータを入力として提供します。pg4tcpmapツールを使用してパラメータをマップします。これらのパラメータはTCP/IPネットワークを横断して送信され、ターゲット・トランザクション・プログラムとの対話が開始されます。TCP/IPネットワークからPGAINITソケット・ファイル記述子が返されます。それ以降にPGAXFERPGATERMがターゲット・プログラムを呼び出す場合、入力パラメータとしてソケット・ファイル記述子が使用されます。

pg4tcpmapツールの関数と使用方法の詳細は、付録B「TCP/IP通信プロトコルでのゲートウェイ初期化パラメータ」と、『Oracle Database Gateway for APPCユーザーズ・ガイド』の第6章を参照してください。

1.7.1.2 データ交換

対話が確立されると、PGAXFERと呼ばれるデータベース・ゲートウェイ関数は、入力変数および出力変数の形態でデータを交換することができます。PGAXFERは、ターゲット・トランザクション・プログラムとの間でバッファを送受信します。ゲートウェイでは、バッファはバイトのRAWストリームとしてのみ認識されます。Oracleデータベース側のTIPは、アプリケーションのPL/SQLデータ型をRAWに変換してからゲートウェイにバッファを送信します。また、結果をアプリケーションに戻す前にも、RAWからPL/SQLデータ型に変換します。

1.7.1.3 リモート・トランザクションの終了

リモート・プログラムとの通信が完了すると、ゲートウェイ関数PGATERMがゲートウェイとリモート・ホストの対話を終了させます。

通信プロトコルがSNAの場合、PGATERMは、対話IDをINPUTパラメータに使用して、対話の終了をリクエストします。

通信プロトコルがTCP/IPの場合、PGATERMはTCP/IP用のソケット・ファイル記述子をINPUTパラメータに使用して、対話の終了をリクエストします。

1.8 SNAを使用するゲートウェイのトランザクション・タイプ

Oracle Database Gateway for APPCは、リモート・ホスト・システムとの間でデータの読み書きを行うトランザクションとして、次の3種類をサポートしています。

トランザクションの種類の詳細は、『Oracle Database Gateway for APPCユーザーズ・ガイド』の第4章「クライアント・アプリケーション開発」の、リモート・ホストのトランザクションの種類に関する説明を参照してください。

次に、Oracle Database Gateway for APPCの機能を示します。

1.9 TCP/IPを使用するゲートウェイのトランザクション・タイプ

TCP/IP for IMS Connectを使用するOracle Database Gateway for APPCは、次の3種類のトランザクション・ソケット接続をサポートしています。