機械翻訳について

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には次の長所があります。

  • IMS ConnectのTCP/IPサポート

    このリリースのゲートウェイには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章、およびこのガイドの「TCP/IP通信プロトコルを使用したゲートウェイ構成」を参照してください。

  • 高速インタフェース

    プログラムをリモート実行する場合、ゲートウェイは最小ネットワーク・トラフィックに最適化されます。 ゲートウェイへのインタフェースは、トランザクション・インタフェース・パッケージ(TIP)と呼ばれる最適化された PL/SQLストアド・プロシージャ仕様です。 この仕様はOracleデータベースでプリコンパイルされます。 リモート・ホスト・システム上に追加ソフトウェア・レイヤーがないため、プログラムが実行される場合のみオーバーヘッドが発生します。

  • プラットフォーム非依存

    クライアント・アプリケーションがオペレーティング・システム固有である必要はありません。 たとえば、アプリケーションからCICS Transaction Server for z/OS上のプログラムを呼び出すことができます。 プログラムをpSeries上のCICS領域に移動する場合も、アプリケーションを変更する必要はありません。

  • アプリケーションの透過性

    ユーザーがリモート・トランザクション・プログラムを実行するアプリケーションを呼び出す場合、リクエストがホストに送信されることは意識されません。

  • 柔軟なインタフェース

    ゲートウェイは、既存のプロシージャ・ロジックを使用するインタフェースとして使用することも、Oracleデータベース環境に新しいプロシージャ・ロジックを統合するために使用することもできます。

  • Oracleデータベース統合

    Oracleデータベースとゲートウェイを統合すると、既存の、および今後実装されるOracle機能を活用できます。 たとえば、ゲートウェイはOracleストアド・プロシージャまたはデータベース・トリガーから呼び出せます。

  • トランザクション・サポート

    ゲートウェイとOracleデータベースでは、リモート・トランザクション更新とOracleデータベース更新を協調して実行することができます。

  • 選択範囲の広いツール

    ゲートウェイは、PL/SQLをサポートするすべてのツールまたはアプリケーションをサポートします。

  • PL/SQLコード生成機能

    Oracle Database Gateway for APPCは、次のように強力な開発環境を備えています。

    • リモート・トランザクションに関する情報を格納するデータ・ディクショナリ

    • PL/SQLトランザクション・インタフェース・パッケージ(TIP)を生成するツール

    • ゲートウェイ・ディクショナリに格納された情報を表示するレポート・ユーティリティ

    • 完備されたトレースおよびデバッグ機能

    • DB2、IMSおよびCICSなどのデータストアに対して製品の使用方法を示す充実した一連のサンプル

  • サイトの自律性とセキュリティ

    ゲートウェイはサイト自律性を提供するため、ユーザー認証などのタスクを実行できます。 また、メインフレーム・コンピュータ上で稼働している任意のセキュリティ・パッケージと互換性がある、ロールに基づくセキュリティを提供します。

  • 自動変換

    TIPを介して次の変換が実行されます。

    • ASCIIとEBCDICの間

    • リモート・トランザクション・プログラムの各データ型とPL/SQLの各データ型の間

    • 多数の言語での各国語サポート

1.3 用語

このガイドを通じて、次の用語と定義を使用します。 ゲートウェイ、そのコンポーネントおよび関数に関連する用語および定義の完全なリストは、「ゲートウェイ用語」を参照してください。

Oracle Database

これは、 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 プロシージャ型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の説明が続きます
「図1-1 ゲートウェイとOracleデータベースの関係」の説明

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

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

  • Oracle Database

  • ゲートウェイ

    Oracle Database Gateway for APPCは、必要なバージョンのオペレーティング・システムを実行できるサーバー上にインストールされる必要があります。

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

    OLTPは、SNAまたはTCP/IP通信プロトコルを使用してゲートウェイからアクセス可能である必要があります。 多数のOracleデータベースが同一のゲートウェイにアクセスすることができます。 システム・ゲートウェイを1つだけインストールして、複数のOLTPにアクセスするように構成することができます。

ノート:

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インスタンスのORACLE_HOME環境変数に関連付けられているディレクトリと同様)

  • sidまたはORACLE_SIDとして識別されるシステム識別子

  • 初期化パラメータ・ファイル。Oracleデータベースの init sid.oraファイルに似ています。

ゲートウェイには、次のコンポーネントは含まれません。

  • 制御ファイル、REDOログ・ファイルまたはデータベース・ファイル

  • インストールされたOracleデータベースに関連付けられているサブディレクトリおよび付随ファイル一式

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

1.6 ゲートウェイとの通信

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

  • リモート・トランザクション・プログラムで交換されるPL/SQL変数を宣言します。

  • 通信における対話の開始、データの交換および対話の終了を処理するゲートウェイ・パッケージを呼び出します。

  • 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のヒント ゲートウェイ リモート・ホスト

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は、ゲートウェイ関数PGAINITのいずれかを使用して、リモート・ホスト・システムへの接続を開始します。

通信プロトコルがSNAの場合: PGAINIT は、入力として、ターゲット・トランザクション・プログラムとの会話を開始するために必要な SNAパラメータを提供します。 これらのパラメータは、会話識別子をPGAINITに戻すSNAネットワークを介して送信されます。 ターゲット・プログラムへの今後のコールでは、会話識別子がINPUTパラメータとして使用されます。

通信プロトコルがTCP/IPの場合: PGAINIT は、入力として必要なTCP/IPパラメータを提供します。 パラメータをマップするには、 pg4tcpmapツールを使用します。 これらのパラメータはTCP/IPネットワークを横断して送信され、ターゲット・トランザクション・プログラムとの対話が開始されます。 TCP/IPネットワークは、 ソケット・ファイル記述子をPGAINITに戻します。 PGAXFERおよびPGATERMによって実行されるターゲット・プログラムへの今後のコールでは、入力パラメータとしてソケット・ファイル記述子が使用されます。

pg4tcpmapツールの機能および使用の詳細は、「TCP/IP通信プロトコルのゲートウェイ初期化パラメータ」およびOracle Database Gateway for APPCユーザー・ガイドの第6章 を参照してください。

1.7.1.2 データ交換

会話が確立されると、 PGAXFERというデータベース・ゲートウェイ関数は、入力変数と出力変数の形式でデータを交換できます。 PGAXFER は、ターゲット・トランザクション・プログラムとの間でバッファを送受信します。 ゲートウェイは、バッファをバイトのRAWストリームとしてのみ認識します。 Oracleデータベースに存在するヒントは、バッファをゲートウェイに送信する前に、アプリケーションPの L/SQLデータ型をRAWに変換する役割を果たします。 また、RAW をPL/SQLデータ型に変換してから、結果をアプリケーションに戻します。

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

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

通信プロトコルがSNAの場合、PGATERMは、会話の終了をリクエストするためにINPUTパラメータとして会話識別子を使用します。

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

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

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

  • ワンショット

    ワンショット・トランザクションでは、アプリケーションは1回の呼出しで接続を初期化し、データを交換して、接続を終了します。

  • 永続

    永続トランザクションでは、対話を終了する前に、リモート・トランザクションとの間でデータを交換するための呼出しを複数回行うことができます。

  • 複数対話

    複数対話トランザクションでは、データベース・ゲートウェイ・サーバーを使用して、1回のリモート・トランザクション・プログラム呼出しで複数のレコードを交換することができます。

トランザクション・タイプの詳細は、Oracle Database Gateway for APPCユーザー・ガイドの第4章、クライアント・アプリケーション開発のリモート・ホスト・トランザクション・タイプを参照してください。

次のリストは、 Oracle Database Gateway for APPCのパワーを示しています:

  • メインフレーム上でCICSトランザクションを開始して、PCアプリケーション用のVSAMファイルからデータを取得することができます。

  • リモート・プロセス制御システムの動作を変更および監視できます。

  • 静的なSQLをDB2で実行するIMS/TMトランザクションを開始することができます。

  • 1回の呼出しで複数のレコードを戻すCICSトランザクションを開始することができます。

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

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

  • トランザクション・ソケット

    ソケット接続は1つのトランザクションの間だけ継続します。

  • 永続ソケット

    ソケット接続は複数のトランザクションを通じて継続します。

  • 非永続ソケット

    ソケット接続は、1つの入力と1つの出力で構成される1回の交換の間だけ継続します。

    ノート:

    対話トランザクションを実装する場合は非永続ソケットタイプを使用しないでください。接続と切断が何度も発生します。

    これらのパラメータの入力方法の詳細は、Oracle Database Gateway for APPCユーザー・ガイドの第6章 のpg4tcpmapツール・コマンド、およびこのガイドの「TCP/IP通信プロトコルを使用したゲートウェイ構成」を参照してください。

    静的なSQLをDB2で実行するIMS/TMトランザクションを開始できます。これは、TCP/IP for IMS ConnectをサポートするOracle Database Gateway for APPCの機能を示しています。