ユーザー・ガイド

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを入手 - 新規ウィンドウ
コンテンツはここから始まります

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プログラムとして構成される必要があります。

ECI呼出しのCICS_ExternalCall (ECI_Parms)で、eci_program_nameパラメータを使用してプログラム名を指定し、eci_system_nameパラメータを使用してシステム名を指定します。

注: ART CICSのDPL構成の詳細は、「Distributed Program Link (DPL)の実装」を参照してください。

 


エンコードとデコード

ユーザー・アプリケーションのコード・ページがサーバーのものと異なる場合、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. ART CICS側でセキュリティを有効にする際、アプリケーション・パスワードを空に設定します。ECIエミュレータでは、ECIパラメータからユーザーIDとパスワードを読み取り、tpinit()の実行時に、アプリケーション・パスワードの空の文字列を入力することができます。
  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定義のリターン・コードは次のとおりです。
    • ECI_NO_ERROR
    • ECI_ERR_SYSTEM_ERROR
    • ECI_ERR_INVALID_EXTEND_MODE
    • ECI_ERR_INVALID_CALL_TYPE
  2. ECIエミュレータでは、カスタマの従来のECIプログラムと新規に作成されたECIクライアントの両方をサポートします。

  先頭に戻る       前  次