AS/400 システムでは、 OS/400 オペレーティング・システムの重要な部分として DRDA アプリケーション・リクエスター・サポートを実装しています。アプリケーション・リクエスターは OS/400 オペレーティング・システムの一部であるため、オペレーティング・システムが活動中のときは常に活動中です。このことは DB2 ユニバーサル・データベース (AS/400 版) のアプリケーション・サーバーのサポートに関しても同様です。
DB2 ユニバーサル・データベース (AS/400 版) がアプリケーション・リクエスターとして機能するとき、これは DRDA をサポートするアプリケーション・サーバーには接続できません。 DB2 ユニバーサル・データベース (AS/400 版) アプリケーション・リクエスターが分散データベース・アクセスを提供するためには、以下の方法を知らなければなりません。
アプリケーション・リクエスターは、関係データベース名を受け入れ、それをネットワーク・パラメーターに変換できなければなりません。 AS/400 システムは、関係データベース・ディレクトリーを使用して、関係データベース名および対応するネットワーク・パラメーターを登録します。このディレクトリーにより、AS/400 アプリケーション・リクエスターは、分散データベース・ネットワークで通信を確立するのに必要なネットワーク情報を渡すことができます。
分散データベース環境の処理の大部分では、ネットワーク内の他の場所との間でメッセージを交換することが必要です。 SNA 環境でこのプロセスが正しく実行されるようにするには、以下のことを実行しなければなりません。
分散データベース・ネットワークのアプリケーション・リクエスターには、それぞれにローカル関係データベース用の関係データベース・ディレクトリー項目と、アプリケーション・リクエスターがアクセスする各リモート関係データベースの項目がなければなりません。分散データベース・ネットワークでアプリケーション・サーバーとしてのみ機能している AS/400 システムは、それぞれにローカル関係データベース用の関係データベース・ディレクトリー項目がなければなりません。関係データベース・ディレクトリーについての詳細は、 AS/400 分散データベース・プログラミング を参照してください。
ローカル・システムを定義するには、リモート・ロケーション名 *LOCAL を関係データベース・ディレクトリーに追加することにより、ローカル・データベースに命名します。これを行うには、関係データベース・ディレクトリー項目の追加 (ADDRDBDIRE) コマンドを使用します。 次に、ADDRDBDIRE コマンドの例を示します。ここで、アプリケーション・リクエスターの名前は ROCHESTERDB とします。
ADDRDBDIRE RDB(ROCHESTERDB) RMTLOCNAME(*LOCAL)
関係データベース・ディレクトリー・コマンドについての詳細は、 AS/400 分散データベース・プログラミング を参照してください。
注: | 最新バージョンの OS/400 では、ローカル RDB 名項目が必要なときにまだ作成されていなければ、自動的に作成されます。ネットワーク属性でのシステム名が、ローカル RDB 名として使用されます。 |
分散 DB ネットワーク内の各アプリケーション・サーバーの RDB ディレクトリー内には、ローカル項目がなければなりません。加えて、各リモート・データベースの項目が各アプリケーション・リクエスターの RDB ディレクトリーになければなりません。これらの項目を作成するには、以下のようにします。
ほとんどの場合、必要な情報はリモート・データベース名およびリモート・ロケーション名だけです。 4 リモート・ロケーション名だけが指定されていると、残りのパラメーターには省略時値が使用されます。システムは、リモート・ロケーション名を使用して装置の記述を選択します。
複数の装置記述に同一のリモート・ロケーション名が含まれていて、特定の装置記述が必要な場合、関係データベース・ディレクトリー項目のローカル・ロケーション名およびリモート・ネットワーク識別子の値が、装置記述の値と適合していなければなりません。複数の装置記述に同一のリモート・ロケーション名が使用されると、装置記述の選択が困難になることがあります。混乱を防ぐためには、各装置説明で固有のリモート・ロケーション名を使用してください。リモート・データベースのトランザクション・プログラム名の省略時値は、 DRDA の省略時値のトランザクション・プログラム名 X'07F6C4C2' になります。
関係データベース・ディレクトリー内の通信情報は、リモート・システムとの会話を確立するために使用されます。
TCP/IP 接続 (DB2 ユニバーサル・データベース (AS/400 版) バージョン 4.2 でサポートされている場合) には、リモート・データベース名および関連する IP アドレスだけが必要です。 TCP/IP を使用した DRDA ネットワークでの DB2 ユニバーサル・データベース (AS/400 版) の接続を参照してください。
この節では、拡張対等通信ネットワーキング機能 (APPN) を使用した、 AS/400 システムでの通信の構成を説明します。また、AS/400 システムは、拡張プログラム間通信 (APPC) 構成を許可します。これは、ネットワーク経路指定サポートを提供しません。 AS/400 分散データベースは、どちらの構成でも機能します。 APPC 構成の詳細については、 OS/400 通信構成 を参照してください。
AS/400 での AnyNet サポートの使用により、 APPC アプリケーションは伝送制御プロトコル / インターネット・プロトコル (TCP/IP) ネットワークでの実行ができるようになります。以下の節の例には、DDM、システム・ネットワーク体系 (SNA) 配布サービス、アラート、および 5250 表示ステーション・パススルーが含まれています。これらのアプリケーションは、DRDA と一緒に使用すれば、いくらかの構成を追加するだけで、変更なく TCP/IP ネットワークで実行できます。 AnyNet サポートを指定するには、 CRTCTLAPPC コマンドの LINKTYPE パラメーターに *ANYNW を指定します。
TCP/IP の APPC についての詳細は、 OS/400 通信構成 および OS/400 TCP/IP 構成および解説書 を参照してください。 (DB2 ユニバーサル・データベース (AS/400 版) バージョン 4.2 では、 DRDA 通信用のネイティブ TCP/IP サポートが備わっています。 TCP/IP を使用した DRDA ネットワークでの DB2 ユニバーサル・データベース (AS/400 版) の接続を参照してください)
APPN は、ネットワーク・サポートを提供します。これにより AS/400 システムは、従来メインフレームにより提供されていたネットワーク・サポートを必要とせずにシステムのネットワークに参加および制御できます。 AS/400 システムの APPN サポートを構成するには、以下のステップを実行します。
ネットワーク属性には以下のものが含まれています。
回線記述は、 AS/400 システムとネットワークとの間で使用される物理回線接続およびデータ・リンク・プロトコルについて記述します。以下のコマンドを使用して回線記述を作成してください。
制御装置の記述は、ネットワークでの隣接システムを記述します。制御装置の記述を作成するときには、APPN(*YES) を指定して、 APPN サポートを使用することを指示してください。以下のコマンドを使用して制御装置の記述を作成してください。
トークンリングまたは Ethernet 回線の記述の AUTOCRTCTL パラメーターが *YES に設定されている場合には、システムがトークンリングまたは Ethernet 回線でセッション開始要求を受信するときに、制御装置の記述が自動的に作成されます。
サービス・クラスの記述を使用して、通信経路 (伝送グループ) を選択し、伝送の優先順位を決めます。システムにより 5 つのサービス・クラスの記述が提供されます。
モード記述では、セッションの特性や、ローカル・セッションとリモート・セッションとの間で許可される値を折衝するために使用されるセッションの数が示されます。モード記述は、会話に使用されるサービス・クラスも指し示します。いくつかの定義済みモードがシステムに付属しています。
装置記述では、ローカル・システムとリモート・システムとの間の論理接続の特性が提供されます。 AS/400 システムが APPN を使用するホスト・システムに対して、独立論理単位 (LU) として稼働している場合には、手操作で装置記述を作成する必要はありません。 AS/400 システムは装置記述を自動的に作成し、セッションが確立されるときに適切な制御装置の記述に結び付けます。 AS/400 システムが従属 LU の場合には、装置記述の作成 (CRTDEVAPPC) コマンドを使用して、装置記述を手操作で作成しなければなりません。 装置記述では、 APPN が使用されていることを示すために APPN(*YES) を指定してください。
追加のローカル・ロケーション (他のシステムでは LU と呼ばれる) または APPN にリモート・ロケーションの特殊な特性が必要な場合には、 APPN ロケーション・リストを作成しなければなりません。ローカル・ロケーション名は、ネットワーク属性で指定される制御ポイント名です。 AS/400 システムに追加のロケーションが必要な場合には、 APPN ローカル・ロケーション・リストが必要です。リモート・ロケーションの特殊な特性の例は、ローカル・ロケーションのあるネットワークとは別のネットワークにリモート・ロケーションがある場合です。この状況の場合には、APPN リモート・ロケーション・リストが必要です。構成リストの作成 (CRTCFGL) コマンドを使用して APPN ロケーション・リストを作成してください。
構成の変更 (VRYCFG) コマンドまたは構成状況での作業 (WRKCFGSTS) コマンドを使用して、通信記述を活動化できます。 回線記述が活動化すると、その回線に接続する適切な制御装置およびデバイスも活動化します。各接続の状況を表示するには、WRKCFGSTS コマンドも利用できます。
RU サイズおよび歩調合わせは、モード記述で指定されている値により制御されます。モード記述を作成するとき、RU サイズと歩調合わせの両方に省略時値が提供されます。省略時値は、分散データベースを含むほとんどの環境の AS/400 見積値です。省略時値が RU サイズで採用されると、AS/400 システムは最善の値を使用するように見積もります。 AS/400 システムが適応歩調合わせをサポートしている他のシステムと通信している場合には、指定される歩調合わせ値は始点のみです。歩調合わせは、送信されるデータを処理するシステムの能力に従って、それぞれのシステムで調整されます。適応歩調合わせをサポートしないシステムでは、歩調合わせ値はセッション開始に折衝され、セッションの途中には変化しません。詳細については、 OS/400 通信構成 を参照してください。
注:
ネットワーク・サポートの構成およびロケーション・リストを使用した作業についての詳細は、 OS/400 通信構成 および APPN サポート を参照してください。システム構成を定義するための CL コマンドの使用についての例は、 AS/400 分散データベース・プログラミング を参照してください。
リモート・システムが SQL アプリケーションに代わって分散データベース処理を実行する場合には、アプリケーション・リクエスター、アプリケーション・サーバー、およびそれらに接続しているネットワークの機密保護要件を満たさなければなりません。これらの要件は、以下のカテゴリーの 1 つかそれ以上を含みます。
AS/400 システムでは、エンド・ユーザーはシステムに固有な 1〜10 文字のユーザー ID として割り当てられますが、ネットワークで固有である必要はありません。このユーザー ID は、接続が 2 つのデータベース間に確立されているときにリモート・システムに渡される ID です。ネットワーク内のシステムのユーザー ID 間の対立を避けるために、ネットワークに送信する前に衝突を解決するように、アウトバウンド名変換を使用してユーザー ID を変更します。しかし、サーバーでの潜在的な対立を解決するために、 AS/400 システムがアウトバウンド名変換を提供することはありません。これらの対立は、 AS/400 SQL CONNECT ステートメントに USER 文節および USING 文節を追加して使用する場合を除き、アプリケーション・サーバーで解決されなければなりません。 USER は、アプリケーション・サーバーの有効な ID であり、 USING はユーザーに対応するパスワードです。
アプリケーション・リクエスターがリモート・アプリケーションを示すエンド・ユーザー名を選択した後は、必要な LU 6.2 ネットワーク機密保護情報を提供しなければなりません。 LU 6.2 は、主に 3 つのネットワーク機密保護機能を提供します。
セッション・レベル機密保護が、LU 間検査を介して提供されます。各 LU には、リモート LU のキーに適合するキーがあります。キーは、CRTDEVAPPC コマンドの LOCPWD キーワードで指定します。
アプリケーション・サーバーの責任でデータベース資源を管理するため、アプリケーション・サーバーは、どのネットワーク機密保護にアプリケーション・リクエスターが必要かを指示します。 AS/400 機密保護管理者は、それぞれのアプリケーション・サーバーの機密保護要件を確認して、 AS/400 アプリケーション・リクエスター・サポート以外には何も必要でないようにしなければなりません。
以下に示すのは、指定できる SNA 会話機密保護オプションです。
AS/400 システムには、外部機密保護サブシステムがありません。すべての機密保護は、OS/400 オペレーティング・システムにより制御されています。これは次の節、システム機密保護で説明されています。
プログラム、パッケージ、表、視点、および集合を含むシステム上のすべてのオブジェクトの認可は、 OS/400 オペレーティング・システムが制御します。
アプリケーション・リクエスターはアプリケーション・リクエスターにあるオブジェクトへの許可を制御します。アプリケーション・サーバーでのオブジェクトの機密保護は、アプリケーション・リクエスターから送信されるユーザー ID に基づいて、アプリケーション・サーバーで制御されます。アプリケーション・サーバーに送信されるユーザー ID は、 AS/400 アプリケーション・リクエスターのユーザーまたは AS/400 SQL CONNECT ステートメントの USER 文節で与えられるユーザー ID と関連しています。たとえば、CONNECT TO rdbname USER userid USING password になります。
オブジェクトの機密保護は、オブジェクト権限 CL コマンドを使用するか、 SQL ステートメント GRANT および REVOKE を使用して管理できます。オブジェクト CL 権限コマンドには、オブジェクト権限の認可 (GRTOBJAUT) と、オブジェクト権限の取消 (RVKOBJAUT) が含まれています。これらのコマンドは、システムにあるどのオブジェクトにも実行できます。ステートメント GRANT および REVOKE は、 SQL オブジェクト、つまり表、視点、およびパッケージでのみ有効です。その他のオブジェクト (プログラムや集合など) の許可を変更する必要がある場合には、 GRTOBJAUT および RVKOBJAUT コマンドを使用してください。
プログラム PGMA でユーザー USER1 に *USE 権限を認可するには、 AS/400 システムで以下のコマンドを入力します。
GRTOBJAUT OBJ(PGMA) OBJTYPE(*PGM) USER(USER1) AUT(*USE)
この権限を取り消すには、以下のようにします。
RVKOBJAUT OBJ(PGMA) OBJTYPE(*PGM) USER(USER1) AUT(*USE)
*PGM は、この例ではオブジェクト・タイプを識別します。 *SQLPKG はパッケージでの操作に、*LIB は集合に、そして *FILE は表に使用されます。
GRTOBJAUT および RVKOBJAUT は、ユーザーがプログラムやパッケージを作成しないようにするためにも使用されます。プログラムを作成するために使用される CRTSQLxxx コマンド (ここで、 xxx = RPG、C、CBL、FTN、または PLI) から権限が取り消されると、ユーザーはプログラムを作成できません。権限が CRTSQLPKG コマンドに取り消される場合には、ユーザーはアプリケーション・リクエスターから、またはアプリケーション・サーバーでパッケージを作成できません。
たとえば、AS/400 システムに以下のコマンドを入力して、 CRTSQLPKG コマンドについてユーザー USER 1 に *USE 権限を認可します。
GRTOBJAUT OBJ(CRTSQLPKG) OBJTYPE(*CMD) USER(USER1) AUT(*USE)
これは、アプリケーション・リクエスターでの crtsqlpkg の実行に影響を与えます。アプリケーション・サーバーでは、このコマンドを使用するとパッケージを作成できます。
この権限を取り消すには、以下のようにします。
RVKOBJAUT OBJ(CRTSQLPKG) OBJTYPE(*CMD) USER(USER1) AUT(*USE)
オブジェクトが作成されると、省略時許可が与えられます。省略時には、表、視点、またはプログラムの作成者にはそれらのオブジェクトに対するすべての権限が与えられます。省略時に、それらのオブジェクトが入るライブラリーまたは集合に対する権限をパブリックが持っている場合、作成者がオブジェクトに対して持つのと同じ権限がパブリックにも与えられます。
システム機密保護についての詳細は、 AS/400 機密保護 解説書 を参照してください。
DRDA をサポートしている製品は、受信しているシステムでなんらかの変換が必要な場合に、これを自動的に実行します。これが実行されるには、アプリケーション・リクエスターの CCSID 値が、受信システムによる変換用にサポートされる値でなければなりません。
アプリケーション・リクエスターでは、以下のことに関連して CCSID を考慮しなければなりません。
OS/400 作業管理サポートは、ジョブ CCSID を、ユーザー・プロファイルで指定した CCSID に初期設定します。ユーザー・プロファイル CCSID の値が *SYSVAL の場合、作業管理サポートは QCCSID システム値から CCSID を取得します。システム値 QCCSID は、最初に CCSID 65535 に設定されます。 DB2 ユニバーサル・データベースからの接続要求を処理するジョブの CCSID に 65535 を設定した場合、その接続要求は失敗します。システム値 QCCSID を変更するとシステム全体が影響を受けるため、そのサーバー・ジョブが処理されているジョブ用のユーザー・プロファイルの CCSID を変更することをお勧めします。そのジョブ用のユーザー・プロファイルの CCSID を適切な値に設定してください。たとえば、US English の場合 CCSID は 37 に設定します。たいていの場合、接続先の AS/400 用の省略時のコード化文字セット識別子を使用するのが適切です。
ジョブ CCSID は、ジョブの変更 (CHGJOB) コマンドを使用して変更できます。また、後続のジョブについては、ユーザー・プロファイルの CCSID 値を変更するには、ユーザー・プロファイルの変更 (CHGUSRPRF) コマンドを使用してください。ジョブについて有効になっている CCSID を参照するには、CL プログラムでは、ジョブ属性の検索 (RTVJOBA) コマンドを使用して現行ジョブ CCSID を取得してください。対話式には、ジョブの処理 (WRKJOB) コマンドを使用して、ジョブでの作業の画面で、オプション 2「ジョブ定義属性の表示」を選択します。
物理ファイルの作成 (CRTPF) またはソース物理ファイルの作成 (CRTSRCPF) コマンドに CCSID が明示的に指定されていない場合には、データベース物理ファイルは、ファイル作成時にジョブ CCSID を省略時値にとります。この省略時値はジョブ CCSID とは異なる場合があります。 DB2 (AS/400 版) の V3R1 以前のものでは、この省略時値はジョブ CCSID でした。しかしジョブ CCSID の値は 65535 の場合が多かったので、 DRDA を使用するには不適切でした。それ以降のバージョンではジョブ CCSID が 65535 に設定されることはありません。そのため、DRDA を経由した物理ファイルの CCSID としてより適切になりました。
ファイルの CCSID を表示するにはファイル記述の表示 (DSPFD) コマンドを、またファイルのフィールドの CCSID を表示するにはファイル・フィールド記述の表示 (DSPFFD) コマンドを使用できます。
物理ファイルの CCSID を変更するには、物理ファイルの変更 (CHGPF) コマンドを使用します。以下のいずれかの状況が存在する場合には、物理ファイルは常に変更できるとは限りません。