目次 前 次 PDF


ECIクライアントのサポート

ECIクライアントのサポート
この章には次のトピックが含まれます:
概要
目的
外部インタフェースを使用することで、非CICSアプリケーションでCICSプログラムを呼び出してCICSリソースへのアクセスおよび更新を実行できます。CICSと通信しているとき、非CICSプログラムでは、外部インタフェースを使用して、すべてのCICSシステム上のリソースにアクセスし、更新できます。この外部インタフェースの使用方法により、CICSアプリケーション用のグラフィカル・ユーザー・インタフェース(GUI)フロント・エンドの開発などのアクティビティがサポートされ、CICSシステムと非CICSシステムとの統合が可能になります。
Oracle Tuxedo Application Runtime for CICS and Batchは、メインフレーム・アプリケーションのIBM z/OSからOracle Tuxedoを実行するオープン・システム・アプリケーション・グリッドへの移行のためのターゲット環境を提供します。
カスタマがOracle Tuxedo Application Runtime for CICSの使用を選択した場合、ECIエミュレータによりカスタマは、コード変更なしで既存のプログラムを使用し続けることができます。
はじめに
CICS Transaction GatewayおよびCICS Universal Clientでは、C、C++、COBOL、COM、.NETおよびJAVA用のECIプログラミング・インタフェースを提供します。プログラミング・インタフェースの実装を動的ロード・ライブラリ(DLL)で実行することに関して、ECIエミュレータの基本的な考えは、ライブラリを置換することです。これによりユーザーは、まるで何も変わらなかったかのように、自分のアプリケーションを使用し続けることができます。DLLでは、ECIリクエストはTuxedoにルーティングされ、Tuxedoで提供されるすべての利点を活用します。
次の図は、ECIエミュレータがどのように機能するかを示しています。このドキュメントでは、ECI C APIに重点を置いています。
注意:
ECI C APIでは、ECI v1 API CICS_ExternalCall (ECI_Parms)のみがサポートされています。
詳細は、「CICSコマンドとパラメータの範囲」サポートされているECI C APIパラメータに関する項を参照してください。
プラットフォーム
サポートされているプラットフォームは、サポート対象のプラットフォームに関する項にリストされています。
インストールと設定
インストール
ECIエミュレータの配信はZIPパッケージで、1つのcclapi32.dllファイルとその他のTuxedo依存性ファイルが含まれています。ECIエミュレータを使用するには、ユーザーはCICS Transaction GatewayまたはCICS Universal Clientをインストールし、元のcclapi32.dllが置かれているディレクトリの下でパッケージを解凍し、元のDLLを配信されたものに置き換えます。
ART CICSへのECI接続
典型的な例では、ユーザー・アプリケーションはWindowsで実行されるのに対し、ART CICSはLinuxで実行されます。ECIクライアントとART CICSの間の接続は、Tuxedo /WSを使用して構築されます。
ユーザーは、ECIクライアント・アプリケーションを呼び出す前に、環境変数を設定する必要があります。例:
TUXDIRを設定=<配信されたパッケージの解凍先>
WSNADDRの設定=//<マシン>:<ポート>
ART CICSでの構成
ECIリクエストによって起動されるCICSプログラムは、次に示すように、ART CICS RuntimeでDPLプログラムとして構成される必要があります。
programs.descでプログラムを構成し、REMOTESYSTEMフィールドにシステム名を指定します。
ubbconfigでARTDPLサーバーを構成し、ARTDPL -sオプションを使用してシステム名を指定します。
ECI呼出しのCICS_ExternalCall (ECI_Parms)で、eci_program_nameパラメータを使用してプログラム名を指定し、eci_system_nameパラメータを使用してシステム名を指定します。
注意:
エンコードとデコード
ユーザー・アプリケーションのコード・ページがサーバーのものと異なる場合、COMMAREAでのデータ変換を実行する必要があり、従来のユーザー・アプリケーションと新規作成ユーザー・アプリケーションの2つのケースを処理する必要があります。
従来のアプリケーションの場合、COMMAREAのデータは、従来のアプリケーションがサーバーに接続する前に、EBCDICに変換できます。ただし、ART CICS上のデータ・フローがASCII形式であることに関しては、ECIエミュレータは、ECIリクエストがART CICSにルーティングされる前に、COMMAREAをEBCDICからASCIIに変換する必要があり、戻された情報を元のEBCDICに変換する必要もあります。
新規作成アプリケーションの場合、ユーザーは変換操作の必要なくASCIIを直接使用できます。このことを行うために、環境変数CTG_CLIENT_CHARSETが導入されています。値がEBCDICに設定されている場合、ECIエミュレータでは、EBCDICとASCIIの間でCOMMAREAのデータ変換を実行します。これに対して、この環境が設定されていないか、その値がEBCDICでない場合、変換は行われません。
セキュリティ
ECIパラメータ・ブロック・フィールドでは、指定されたユーザーIDとパスワードが、サーバーでその後のセキュリティ・チェックに使用されます。通常、eci_userideci_passwordが使用されますが、これらは8文字のフィールドです。したがって、8文字を超えるユーザーIDまたはパスワードが必要な場合、ユーザーはeci_userideci_passwordをNULLに設定し、かわりにフィールドeci_userid2eci_password2を使用する必要があります。
ART CICSのセキュリティ・メカニズムがECIリクエストでのセキュリティ・メカニズムと異なることに関しては、セキュリティがユーザーID、パスワードおよびアプリケーション・パスワードを必要とするART CICSで有効であるのに対し、ECIパラメータではアプリケーション・パスワードが定義されていない場合、問題が発生します。この問題の解決策として、ECIエミュレータではユーザーのために2つの代替方法が用意されています。
1.
2.
環境変数CTG_APP_PWDでアプリケーション・パスワードを指定します。これが定義されると、この変数のコンテンツが、アプリケーション・パスワードとして使用されます。
セキュリティがART CICSで有効になっていない場合、ECIパラメータにユーザーIDとパスワードが指定されても、セキュリティ・チェックは行われません。
フェイルオーバー
Tuxedo /WSを使用すると、/WSリモート・クライアントに接続する代替ネットワーク・アドレスを構成できます。この機能は、ECIエミュレータでフェイルオーバーの実装に使用されます。より正確には、この機能により、ユーザーは、UBBCONFIGで複数のWSLサーバーを構成し、すべての代替ネットワーク・アドレスをクライアント側にして環境変数WSNADDRを設定できます。
たとえば、ユーザーは、最初のアドレスが使用できない場合、環境変数を“set WSNADDR=//bjlinux16:46249, //bjlinux16:46246”として設定できます。すると、次のアドレスは自動的に取得されます。
診断
このエミュレータには、発生した問題をユーザーが診断するメカニズムが用意されています。エミュレータ・ログを有効にするために、ユーザーは、環境変数CTG_CLIENT_TRACE_FILEを設定してログ・ファイル名を指定し、CTG_CLIENT_TRACE_LEVELでログ・レベルを設定できます。
ログ・レベルは、0 (ログなし)、1 (エラー)、2 (警告)、3 (情報)および4 (デバッグ)の0から4までの範囲です。
環境変数CTG_CLIENT_TRACE_FILEが設定されていない場合は、userlogが使用されます。
環境変数CTG_CLIENT_TRACE_LEVELが設定されていない場合、デフォルトのログ・レベルはエラーに設定され、エラー・ログのみが出力されます。CTG_CLIENT_TRACE_LEVELが無効なログ・レベル(負の数字など)に設定されている場合、デバッグ・レベルが使用されます。
制限と互換性
制限事項
ASCIIとEBCDICの間のeci_commarea全体では、エンコード/デコードのみがサポートされ、MBCSはサポートされません。
互換性
1.
大分部のECIリターン・コードは、Tuxedoのエラー・コードには一致しません。ECI呼出しに失敗し、一致するTuxedoエラー・コードがない場合、このエミュレータでは、汎用エラー・コードECI_ERR_SYSTEM_ERRORのみを返し、ユーザーは、ログ出力を有効にすることにより、詳細なエラー情報を表示し、問題を診断できます。サポートされているECI定義のリターン・コードは次のとおりです。
2.

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