目次 前 次 PDF


Oracle Tuxedo Application Runtime for IMSユーザーズ・ガイド

Oracle Tuxedo Application Runtime for IMSユーザーズ・ガイド
この章には次のトピックが含まれます:
概要
Oracle Tuxedo Application Runtime for IMS Users (Tuxedo ART for IMS)は、オープン・プラットフォーム(たとえば、OS/390またはMVS/ESA環境上のIBM IMS/TM)上で同じ関数をエミュレートするために使用されます。
このガイドには、UNIX/Linuxプラットフォーム上でOn Line Transaction Processing (OLTP)アプリケーションを開発および実行する場合に、Tuxedo ART for IMSを構成および使用するための説明と手順が記載されています。
このガイドは、次の作業の参考になります。
z/OS上のIMSへの導入
IMSは、次の3つのコンポーネントで構成されています。
IMS Transaction Managerを使用すると、IMSで実行されているアプリケーションへのアクセスが可能になります。このことは、同じOS/390システム、他のOS/390システムまたは他の非OS/390プラットフォーム上の端末やワークステーション、あるいはその他のアプリケーション・プログラムから実行できます。IMSデータベース・マネージャ・コンポーネントでは、IMS階層データベース・モデルを使用したデータベースがサポートされています。これらのデータベースには、IMS Transaction Managerで実行されているアプリケーションからアクセスできます。IMSには、制御リージョンと従属リージョン(メッセージ処理リージョン、バッチ・メッセージ処理(BMP)リージョンなど)があります。
IMS制御リージョンは、IMSサブシステムの中心的なポイントになります。ここには、Transaction Managerの機能を使用するためのSNAネットワークへのインタフェース以外に、非SNAネットワークへのアクセスのためのTransaction Manager OTMAインタフェースが備えられています。また、IMSサブシステムの操作用にOS/390へのインタフェースも用意されています。ここでは、様々な従属リージョンで実行されているアプリケーション・プログラムが制御され、ディスパッチされます。IMS MPPリージョンは、IMS Transaction Managerコンポーネント(つまり、オンライン・プログラム)への入力メッセージを処理するために使用されます。アドレス空間にアプリケーション・プログラムが自動的にロードされることはなく、作業を開始できるようになるまでに待機が発生します。BMPリージョンは2つのサブタイプで構成されます。1つは、IMSメッセージ・キューからメッセージを読み取って処理するメッセージ・ドリブンBMP (トランザクション指向BMPとも呼ばれる)で、もう1つは、IMS DBにはアクセスできるものの、IMSメッセージの処理は行わない非メッセージBMP (バッチ指向)です。
z/OS上のIMSからUNIX上のOracle Tuxedo Application Runtime for IMS Usersへ
z/OS上のIMSの機能をエミュレートするために、Tuxedo ART for IMSは、Oracle Tuxedoの制御の下で実行されるサーバーのグループを提供します(必須サーバーとオプションのサーバーを含む)。必須サーバーには、ARTICTLARTIMPPおよびARTIBMPがあります。オプション・サーバーには、ARTIADMおよびARTITERMがあります。さらに、Tuxedo ART for IMSは、サーバーを支援するDLLとユーティリティのグループを提供します。z/OS上のIMSからTuxedo ART for IMSへのマッピング・リストは、次のとおりです。
IMS言語ユーティリティDFSUPAA0: MFSGENユーティリティ
BMPユーティリティDFSRRC00: Oracle TuxedoクライアントDFSRRC00
MPPリージョン: Oracle TuxedoサーバーARTIMPP、MPPを実行するコンテナ
BMPリージョン: Oracle TuxedoサーバーARTIBMP、BMPを実行するコンテナ
DLIアドレス空間: ARTのDLIに専用のアドレス空間はありません。DL/I APIを実装し、ARTIMPP/ARTIBMPアドレス空間で実行するライブラリを指定します
Tuxedo ART for IMSのアーキテクチャ全体を次の図に示します。
図1 Tuxedo ART for IMSのアーキテクチャ
Tuxedo ART for IMSは次のもので構成されます。
Tuxedo ART for IMSでは作業リクエストを受信します。そのリクエストはリモート端末で入力されます。通常、その内容はトランザクション・コードとなり、これによって実行する作業の種類と使用するデータをIMSに示します。これらはすべて、ARTICTLのART MFS言語ユーティリティを経由してメインフレーム上の元のファイルから解析された、MFS制御ブロックの定義に従う必要があります。
ARTICTLによって、リモート端末接続が処理され、3270データ・ストリームがEBCDICからASCIIに変換されます。その後、DIFに従ってデータ・ストリームからの情報が解析され、ARTIMPPのMIDに従ってメモリーにメッセージ・セグメントが保存されます。
ARTIMPPによって特定のプログラム(COBOLのもの)が起動されて制御されます。それによって、リクエスト・データが使用されてリモート・オペレータ・リクエストが実行されます。また、作業リクエストに応じてリモート・オペレータに対するデータも準備されます(たとえば、作業の完了の確認、問合せへの応答など)。
最後に、プログラムによって準備されたデータが、最初に作業を要求した端末に送り返されます。このプロセスは前述のワーク・フローのちょうど反対です。
ARTIMPPとは異なり、ARTIBMPは、リモート端末によってではなく、ARTIBMPに固有のOracle Tuxedoクライアント(たとえば、DFSRRC00)によってアクティブ化されます。
Oracle Tuxedo Application Runtime for IMS Usersサーバー
Tuxedo ART for IMSサーバーは次のとおりです。
詳細は、『Oracle Tuxedo Application Runtime for IMSリファレンス・ガイド』のサーバー構成に関する項を参照してください。
ARTICTL
図2に、ARTICTLが、デバイスまたはリモート・プログラムからの入力データをIMSへのプレゼンテーション用に書式設定し、アプリケーション・プログラム・データを出力デバイスまたはリモート・プログラムへのプレゼンテーション用に書式設定することで、アプリケーション・プログラムをどのようにデバイス非依存にできるのかを示します。
図2 デバイス非依存アプリケーション・プログラム
MS/MFSは、次の3つのコンポーネントで構成されています。
各部分の機能を詳細に説明する前に、もう1つのオフライン・ユーティリティであるART MFS言語ユーティリティMFSGENについて説明する必要があります。MFSGENは、メインフレーム上の4つのタイプのMFS制御ブロックを、オープン・プラットフォーム上のバイナリ・ファイルに転送し、そのファイルをフォーマット・サービス・ライブラリによって読み取れるようにするために使用されます。MFSGENもTuxedo ART for IMSの重要な機能です。
アプリケーション・プログラムおよび端末またはリモート・プログラム用に入力および出力を書式設定するために指定する必要があるMFS制御ブロックには、4つのタイプがあります。
注意:
端末制御リスナー
端末制御リスナー(CTLL)プロセスは、ARTICTLサブシステムで実行される標準Oracle Tuxedoサーバーです。これは、ARTICTLが開始されたときに起動します。
CTLLは、端末リスナー・サーバーの役割を果たします。アプリケーションと3270の接続に使用されるパブリック・アドレスがリスニングされます。着信接続リクエストがあるたびに、その接続がハンドラ・プロセスのいずれかに送信されます。次に機能の詳細を示します。
端末制御ハンドラ
端末制御ハンドラ(CTLH)プロセスは、端末I/O、ユーザー認証、およびユーザーのかわりに行うリクエストされたトランザクションの呼出しなど複数の接続を管理します。ユーザーがトランザクションをリクエストするたびに、このトランザクション・リクエストをCTLHが(tpacall()を介して)メッセージ処理リージョン(ARTIMPP)に送信します。詳細な機能は次のとおりです。
端末I/O
接続リクエストが端末エミュレータから着信すると、それはCTLHプロセスの1つによって受け入れられ、処理されます。これらのプロセスでは、ARTICTLサブシステムの入出力が管理されます。端末がARTICTLサブシステムに接続すると、ARTCTLHが、端末のかわりにOracle Tuxedoクライアントとして機能します。端末からトランザクションIDを入力すると、ARTCTLHによってそのトランザクションIDがOracle Tuxedoサービス識別子に変換され、tpacall()が呼び出されます。その後、Oracle Tuxedoによって、そのトランザクションが端末3270データ・ストリームとともにMPPサーバーにルーティングされてトランザクションが実行されます。
セッション管理
CTLHではセッション管理が行われます。端末を使用してARTICTLサブシステムに接続すると、CTLHによって新しいユーザー・セッションがその接続に対して確立され、その端末に対するすべての後続の画面I/Oが処理されます。パフォーマンス拡張として、各CTLHプロセスは、複数のセッションを同時に管理できます。ポートからエミュレータを切断すると、CTLHはセッションを終了します。
3270データ・ストリームの変換
CTLHは、ASCIIとEBCDICの間の変換を実行します。CTLHは、3270データ・ストリームを端末との間で送受信する前または後に、ASCIIとEBCDICの間のデータ変換を実行します。
IMSメッセージの書式設定
CTLHは、メッセージ・フォーマット・サービス・ライブラリ(LIBMFS)を呼び出すことでメッセージ書式設定を実行します。CTLHは、端末からデータを受信すると、そのデータ・ストリームを分割し、DIF制御ブロックに従って有用な情報を抽出し、MID制御ブロックに従ってアプリケーション・プログラムによって使用されるメッセージを作成します。CTLHは、アプリケーション・プログラムから返されたメッセージを受信すると、そのメッセージを分割し、MOD制御ブロックに従って有用なセグメントを抽出します。その後、それが、DOF制御ブロックに従ってデータ・ストリームを作成し、端末に送信します。
各MID/MOD MSG文には3つのタイプのメッセージ書式設定が定義されています(OPT=1/2/3)。メッセージ書式設定の各タイプは、ARTICTLおよびARTIMPPによって処理される様々なMSG定義を定義します(パフォーマンスのためにMSGのいくつかのフィールドまたはセグメントは削除されます)。各MSGタイプの利点と詳細は、IMS/TMのプログラミングに関する項を参照してください。
アプリケーション・プログラムでは、ARTICTLARTIMPPの間で使用されるMSGタイプに関して考慮する必要はありません。ARTIMPPによって、MSGはアプリケーション・プログラムに送信される前にそのI/O領域で調整されます。ARTICTLおよびARTIMPPは、OPTをサポートしていません。それらはアプリケーション・プログラムが認識可能な一般的なタイプ(MSGのフィールドもセグメントも削除しない)を使用してMSGを処理します。
端末タイプのサポート
ARTICTLサブシステムは、次の6つの端末タイプをサポートしています。
3270              Size(24, 80)
3270,2           Size(24, 80)
3270 - A2      Size(24, 80)
ARTICTLサブシステムがブートするときに、CTLHがTN3270Eプロトコル・ネゴシエーションを実行し、端末のタイプとIDがネゴシエーションを介して判別され(IBM-3278-2-Eなど)、CTLHがその端末のタイプに対応する3270データ・ストリームを処理します。
制御ブロック・ライブラリ管理
メッセージ・フォーマット・サービス・ライブラリ(LIBMFS)は、CTLHによってリンクされたライブラリとして提供され、各CTLHプロセスで実行されます。制御ブロックの管理もこれによって処理されます。これはリクエストに基づいて正しい制御ブロックを検索してキャッシュにロードし、それらをキャッシュ内に維持します。リクエストが終了した時点で、制御ブロックはキャッシュからクリアされます。
IMSシステム・コマンドのサポート
IMSシステム・コマンド(/FORMAT/SIGN/EXITなど)も、TCPハンドラで処理されます。
IMSセキュリティのサポート
Tuxedo ART for IMSは、4つのタイプのOracle Tuxedoセキュリティ・メカニズムをサポートしています(セキュリティなし、APP_PW、ユーザー・レベル認証(USER_AUTH)およびアクセス制御リスト(ACLまたは必須ACL))。
メインフレームIMSにアプリケーション・パスワードはないため、Tuxedo ART for IMSセキュリティのアプリケーション・パスワードは削除します。
注意:
tmloadcfを使用している場合、アプリケーション・パスワード文字を入力しないでください。[Enter]キーを押すことでそれをNULLのままにします。
tpgrpaddtpusraddおよびtpacladdを介して、ユーザー・リストおよびアクセス制御リストを追加します。
端末がTuxedo ART for IMSランタイムに接続したときの最初の画面は、IMSサインオン画面です。セキュリティが構成されていない場合は、ユーザー名を入力する必要があります(nullにはできません)。
認証の場合:
認証に失敗した場合、端末にエラー・メッセージが表示されますが、端末をクリアして他のトランザクションを実行できます。
システム・コマンド/Sign offを使用して、現在のユーザーをサインオフします。
ユーザーがTuxedo ART for IMSランタイムからサインオフすると、サインオン画面が表示され、ユーザーはそれを使用して直接再度サインオンできます。ユーザーはその画面をクリアして、システム・コマンド/Sign/Sign on/Sign on username passwordを使用してTuxedo ART for IMSランタイムに再度サインオンすることもできます。
ユーザー名とパスワードの最大長はメインフレームと同じ8(文字)です。
詳細は、『Oracle Tuxedoユーザーズ・ガイド』のATMIアプリケーションでのセキュリティの使用方法に関する項を参照してください。
ARTICTLは、TCP/IPおよびメッセージ書式サービスを介して3270端末へのアクセスを提供します。ARTICTLは、ユーザー入力に基づいて画面を書式設定し、3270端末から入力を受信し、3270端末から受信したメッセージをOracle Tuxedoリクエストに変換し、リクエストを処理のためにARTIMPPに送信し、ARTIMPPから応答を受信し、応答を書式設定し、元の端末に送り返します。
Tuxedo ART for IMSでは、ARTICTLハンドラと3270端末との間のネットワーク・リンクでの暗号化と証明書認証もサポートされています。現在クライアントでサポートされているSSLのバージョンは、SSL 2.0、SSL 3.0および3.1(TLS 1.0)です。
ARTIMPP
標準モード(CLOPT-pオプションの指定なし)のARTIMPPは、サービス・コンテナとして機能するように設計されたOracle Tuxedoサーバーです。これは、初期化中に構成ファイルに基づいて、サービスのセットを公開し、それが公開したサービスへのリクエストを受信する一方で、対応するCOBOL/Cアプリケーション・プログラムを呼び出し、応答をリクエスタ(通常はARTICTLサーバー)に送り返します。サービスは、UNIX上で、メインフレームのトランザクション・コードに相当するものです。
永続モード(CLOPT-pオプションを指定)のARTIMPPは、すべての永続TPトランザクション(imsresource.descで定義されたトランザクション)の/Qをモニターします。1つの永続トランザクションの1つの/Qにメッセージが発生したら、そのメッセージを/Qから取得して、対応するCOBOL/Cアプリケーション・プログラムを呼び出してから、リクエスタにレスポンスを返します。
動的サービス公開
標準モードのARTIMPPは、起動中に一連の構成ファイルに基づいてサービスのセットを動的に公開します。ARTIMPPサーバーに含められるすべてのサービス(トランザクション・コード)はimstrans.descで定義されており、その中で定義されている各トランザクション・コードは、公開される同じ名前を持つサービスに対応しています。imsapps.descには、ARTIMPPによって呼び出されるCOBOL/Cアプリケーション・プログラムがすべて定義されています。各$appname.psbは、そのアプリケーションによって必要とされる代替PCBを定義します。詳細は、「Oracle Tuxedo Application Runtime for IMS Usersの構成」を参照してください。構成ファイルが変更されている場合、ARTIMPPは、再起動中に変更のみを受け入れることができます。さらに、ARTIMPPは、TPタイプのアプリケーションのみをサポートしています。
動的COBOLプログラム起動
ARTIMPPによって公開される各サービス(トランザクション・コード)には、サービスを処理する定義済COBOLアプリケーション名があります。ARTIMPPは、サービスに対するリクエストを受信する一方で、ARTIMPPリクエストされたサービスに対応するCOBOLアプリケーション名を検索し、対応するCOBOLプログラムを呼び出します。各COBOLアプリケーションは、.gntファイルにコンパイルされ、ディレクトリにCOBOL検索順序で格納されます。Micro Focus COBOL環境では、プログラムの検索順序は、環境変数$COBPATHによって定義されます。COBOL-IT COBOL環境では、プログラム検索順序は、$COB_LIBRARY_PATHによって定義されます。
トランザクション・クラスの区別
ARTIMPPサーバーの各インスタンスは、トランザクション・コードのどのクラスがそれによって公開されるのかを指定できます。このメカニズムは、デプロイメントの調整に使用できます。
暗黙的なトランザクションのコミットメント
サービスのために呼び出されたCOBOLアプリケーション・プログラムが、トランザクションを明示的にコミットまたはロールバックしない場合、ARTIMPPサーバーがトランザクションを暗黙的にコミットします。
プログラムの切替え
ARTIMPPでは、1つのリクエストが、1つのトランザクション・コードによって、別のトランザクション・コードに転送されること、つまり、プログラムの切替えがサポートされています。プログラムの切替えは、非会話型トランザクション・コードから別の非会話型トランザクション・コードへ、会話型トランザクション・コードから別の会話型トランザクション・コードまたは非会話型トランザクション・コードへの場合に実行できます。1つの会話コードと別の会話コードとの間のプログラム切替えは、遅延および即時切替えがサポートされています。遅延プログラム切替えは、元のトランザクション・コードが、SPAに含まれている別のトランザクション・コードを持つ端末(切替えターゲット)に返されることを意味し、端末がメッセージを再度送信すると、そのメッセージはその切替えターゲットにルーティングされます。即時プログラム切替えは、元のものがメッセージを別のトランザクション・コードに転送し、それが端末に応答することを意味します。非会話型トランザクション・コード間のプログラム切替えは、即時切替えのみがサポートされています。応答モード・トランザクション・コードから非応答モード・トランザクション・コードへのプログラム切替えの場合、ARTIMPPでは、それに制限を設けていませんが、ユーザーは、このようなプログラム切替えの設計には注意する必要があります。それは、応答モード・トランザクションには、応答が必要ですが、非応答モード・トランザクションでは、端末に応答しない場合があるためです。
ALT PCBによる即時のプログラム切替えでは、ターゲット・トランザクションが永続トランザクション(imsresource.descで定義されたトランザクション)の場合、そのターゲット・トランザクションに関するメッセージは/Qに格納されます。永続モードのARTIMPPがこのトランザクションを処理します。ターゲット・トランザクションが非永続トランザクションの場合、ARTIMPPがトランザクション・サービスを呼び出し、標準モードのARTIMPPがこのトランザクションを処理します。
注意:
ARTIMPP_ORA
ARTIMPP_ORAは、ARTIMPPのすべての機能を備えています。外部リソース・マネージャ(RM)として使用されるOracle Databaseもサポートできます。これは、Oracle Databaseによって提供されるいくつかのライブラリを必要とします。Oracle DatabaseでARTIMPP_ORAを使用するには、RMセクションをUBBCONFIGファイルで適切に構成する必要があります。
ARTIBMP
ARTIBMPは、固定サービスARTIBMP_SVCを公開するOracle Tuxedoサーバーであり、BMPクライアントは、このサービスをリクエストして、COBOLで記述された指定されたBMPプログラムを呼び出すことができます。
動的COBOLプログラム起動
ARTIBMP_SVCは、ARTIBMPクライアントから渡されたメッセージから指定されたBMPプログラム名および関連付けられたPSB名を取得し、リクエストされたプログラムが有効なバッチ・プログラム(BATCHタイプを持ち、imsapps.descで構成されている)であり、指定されたPSBも有効であることを確認して、プログラムを呼び出し、結果または完了通知を同期的にクライアントに返します。
ARTIBMPT
ARTIBMPTはトランザクション指向BMPサーバーです。INが割り当てられた状態でDFSRRC00が呼び出された場合、トランザクション・コードは他のパラメータとともにARTIBMPTに渡されます。ARTIBMPTは、COBOL/Cで記述された指定のBMPを呼び出すことでトランザクションを処理します。BATCHアプリケーションのみがサポートされています。ARTIBMPTは、トランザクション指向BMPアプリケーションのみを処理できます。トランザクション指向BMPアプリケーションは、パラメータ・リストの$MBRで定義され、imsapps.descでもTYPE=BATCHによって定義されているアプリケーションです。
注意:
現時点で、ARTIBMPTはクライアント端末のメッセージはサポートしていません。トランザクション指向BMPアプリケーション/トランザクションは永続トランザクションにする必要があり、そのためにはimsresources.descで定義する必要があります。
ARTIBMP_ORA
ARTIBMP_ORAは、ARTIBMPのすべての機能を備えています。外部リソース・マネージャ(RM)として使用されるOracle Databaseもサポートできます。これは、Oracle Databaseによって提供されるいくつかのライブラリを必要とします。Oracle DatabaseでARTIBMP_ORAを使用するには、RMセクションをUBBCONFIGファイルで適切に構成する必要があります。
ARTIADM
MPモードでは、ARTIADMは、選択内容に基づいてブートでき、マスターからスレーブ・ノードに構成ファイルをダウンロードします。それは、Oracle Tuxedoサーバーであり、各ノードは、最大1つのARTIADMをデプロイする必要があります。ARTIADMをブートする場合、ARTICTLより前にブートする必要があり、ART_IMS_CONFIG環境変数を各ノードに設定する必要があります。
ARTITERM
クロスドメイン・モードでは、ARTICTLおよびARTIMPPが同じドメインにない場合、ARTITERMが使用されて、ARTIMPPからARTICTLに応答が返されます。つまり、ARTITERMは、ARTIMPPからARTICTLへの仲介者として機能します。
ARTIGW
ARTIGWは、非端末クライアントとARTIMPPサーバーの間のブリッジとして機能するOracle Tuxedoサーバーです。主な機能は次のとおりです。
MQアプリケーションのリクエスト・メッセージの場合、MQメッセージを、ARTIMPPで使用可能な形式に変換します。応答メッセージの場合は、ARTIMPPの応答メッセージをMQメッセージに変換します。
非端末Oracle Tuxedoクライアント・リクエスト・メッセージの場合、ARTIGWは、クライアントのFML32バッファをプログラムが必要とするメッセージ形式に転送する役割を果たし、そのメッセージをMPPに送信します。次にMPPメッセージをデコードして、標準のFML32バッファをクライアントに送信します。
セッション管理を使用して、非同期のARTIMPP応答と元のARTIGWクライアント・リクエストを関連付けます。
Oracle Tuxedo Application Runtime for IMS Usersのデプロイメント
注意:
COBOLアプリケーション・プログラムはARTIMPPサーバーおよびARTIBMPサーバーによって呼び出されるため、Tuxedo ART for IMSは、同機種のマシン間のみでデプロイできます。Tuxedo ART for IMSサーバー間で渡されるメッセージはCOBOLプログラムによって入力されますが、Tuxedo ART for IMSサーバーでは、COBOLプログラムで定義されたメッセージのコピーブックが認識されません。
Tuxedo ART for IMSのデプロイメント環境には、SHM、MPおよびドメインの3種類があります。SHMは、単一のマシンにすべてのTuxedo ART for IMSサーバーがデプロイされることを意味し、MPは、単一のTuxedoドメインに属する複数のマシンにTuxedo ART for IMSサーバーがデプロイされることを意味し、ドメインは、複数のTuxedoドメインにTuxedo ART for IMSサーバーがデプロイされることを意味します。
SHMモードでは、ARTICTLおよびARTIMPPが必要であり、ユーザーがBATCHプログラムを実行する必要がある場合はARTIBMPも必要です。MPモードでは、(SHMモードで必要なサーバーのほかに)ARTIADMも必要です。MPモードでは、1つのマシンにARTICTLARTIMPP/ARTIBMPのどのような組合せも含めることができます。ドメインでは、MPモードで必要なサーバーのほかに、ARTITERMも、ARTICTLが配置されるすべてのドメインに必要です。ドメイン・モードのデプロイメントは特別に記述します。
注意:
ドメイン・モードではMPのARTIADMは必要ありません。
ARTITERMは、ドメインのUBBCONFIGファイルで構成されているドメインIDとハードコードされた文字列RPLYSVCからなる名前(つまり${DOMAINID}_RPLYSVC)を持つサービスをエクスポートします。前述のサービス名は、すべてのリモート・ドメインのDMCONFIGファイルの*DM_REMOTE_SERVICESセクションで構成されている必要があります。
さらに、ARTITERMが配置されている各ドメインによって適切なサービス名がエクスポートされるようにするため、およびそのようなサービス間で競合がないようにするために、ドメインIDフィールドがすべてのドメインに対してUBBCONFIGで一意になるように構成および保持される必要があります。
たとえば、デプロイするドメインが3つあり、それらのUBBCONFIGファイルで構成されているドメインIDがそれぞれDOM1DOM2、およびDOM3であるとします。ARTITERMサーバーはDOM1DOM2に存在します。上述のデプロイメント・ルールに従うと、DOM3に対するDMCONFIGファイルではDOM1_RPLYSVCおよびDOM2_RPLYSVCを宣言し、DOM2に対するDMCONFIGファイルではDOM1_RPLYSVCを宣言し、DOM1に対するDMCONFIGファイルではDOM2_RPLYSVCを宣言する必要があります。
Oracle Tuxedo Application Runtime for IMS Usersの構成
一般的な制限事項
DL/I呼出しCHKPは、IMSの最後のチェック・ポイント以降に作成されたメッセージを送信したり、最後のチェック・ポイント以降に加えられた変更をコミットするために使用します。DL/I呼出しROLBは、最後のチェック・ポイント以降に加えられたすべての変更と、最後のチェック・ポイント以降に作成されてまだ送信されていないすべてのメッセージを中断するために使用します。Tuxedo ART for IMSのARTIMPPまたはARTIBMPでは、2つのチェック・ポイント間の間隔をトランザクションとして処理する必要があります。さらに、リソース・マネージャが将来追加される可能性があります。
注意:
NO_XAオプションは、ARTIMPPまたはARTIBMPが常駐している各ドメインでは構成できません。
環境変数
Tuxedo ART for IMSを有効化するには、サーバーを起動する前に次の環境変数を設定する必要があります。
IMSDIRをTuxedo ART for IMS製品のインストール・ルートを指すように設定し、ART_IMS_CONFIGを構成ファイルの場所を指定するように設定し、ART_IMS_FMTを制御ブロック・ファイルの場所を指定するように設定し、ART_IMS_DBをGSAMファイルの場所を指定するように設定し、COBPATHをCOBOL .gntファイルの場所を指定するように設定する必要があります。
マルチバイト・キャラクタ・セット(MBCS)のサポートを有効化するには、サーバーを起動する前にARTICTLの次の環境変数を設定する必要があります。
INTERCODEをオープン・プラットフォームで使用するエンコーディング・タイプに設定し、EXTERCODEをz/OSプラットフォームで使用するEBCDICエンコーディング・タイプに設定します。
詳細は、『Oracle Tuxedo Application Runtime for IMSリファレンス・ガイド』を参照してください。
構成ファイル
この項のすべての構成ファイルで、キーおよび非リテラル値について大文字と小文字が区別されません(例: bool (yes|no)およびenum)。リテラル値とそれらの大文字小文字は保持されます。コメント行には、前に"*"を付ける必要があります。
構成ファイルは次のとおりです。
imstrans.desc: IMSトランザクション・コードを定義します
imsapps.desc: IMSアプリケーションを定義します
imsresource.desc: 永続トランザクションを定義します
imsdbs.desc: IMSデータベースを定義します
$appname.psb: PSBを定義します
リスト1に、構成ファイルの一般的な形式を示します。
リスト1 一般的な構成ファイルの形式
[section name]
Field1=value1
Field2=value2
….
[section name]
….
[section name]
 
詳細は、『Oracle Tuxedo Application Runtime for IMSリファレンス・ガイド』を参照してください。
セキュリティ構成
Tuxedo ART for IMSは、アプリケーション・パスワード(APP_PW)、ユーザー・レベル認証(USER_AUTH)、およびACL/必須ACLの3種類のTuxedoセキュリティ・メカニズムをサポートしています。
認証構成
Oracle Tuxedoでは、セキュリティ・メカニズムのどのタイプでも、Oracle Tuxedo ATMIアプリケーションに参加するためのプロセスの一部として、すべてのユーザーにアプリケーション・パスワードの入力が要求されますが、Tuxedo ART for IMSでは、IMSがz/OS上に配置されている場合と同じ動作を保つために、それは削除されました。ユーザーは、アプリケーション・パスワードをNULLとして維持する必要があります。詳細は、『Oracle Tuxedoユーザーズ・ガイド』のATMIアプリケーションでのセキュリティの使用方法に関する項を参照してください。
USER_AUTHおよびACL/必須ACLセキュリティ・メカニズムでは、ユーザーはTuxedo ART for IMSランタイムに参加するために有効なユーザー名とパスワードを入力することを要求されます。ユーザーごとのパスワードは、tpusrという名前のファイルに格納されたユーザー名に関連付けられているパスワードと一致する必要があります。クライアント名は、使用されません。tpusrのパスワードおよびユーザー名に対するユーザーごとのパスワードの照合は、Oracle Tuxedo認証サーバーAUTHSVRによって提供される、Oracle Tuxedo認証サービスAUTHSVCによって行われます。
詳細は、『Oracle Tuxedoユーザーズ・ガイド』のATMIアプリケーションでのセキュリティの使用方法に関する項を参照してください。
SSL構成
Tuxedo ART for IMSでは、次の既存のUBBCONFIGファイル・パラメータを使用して、SSL識別文字列およびSSL証明書の暗号化パスワードの場所に関する情報が構成されます。
詳細は、『Oracle Tuxedoユーザーズ・ガイド』のATMIアプリケーションでのセキュリティの使用方法に関する項を参照してください
SIGNコマンド
Tuxedo ART for IMSは3種類のSIGNコマンドをサポートしています。
Oracle Tuxedo Application Runtime for IMS Usersのユーティリティ
Tuxedo ART for IMSは、次のユーティリティを使用します。
詳細は、『Oracle Tuxedo Application Runtime for IMSリファレンス・ガイド』を参照してください。
図3 MFSGENユーティリティ
chgcobol.sh
Micro Focus COBOLとCOBOL-ITの両方が存在している場合に、それらの間でCOBOLランタイムを切り替えるために使用されます。また、引数を付けずに現在使用されているCOBOLランタイムも表示できます。詳細は、Oracle Tuxedo Application Runtime for IMSリファレンス・ガイドを参照してください。
DFSRRC00
DFSRRC00からの入力を常に待機しているARTIBMPサーバーをアクティブ化するために使用されます。DFSRRC00パラメータは、ワークベンチによってJCLから変換されたスクリプトから渡された文字列です。
MFSGEN
このユーティリティはART MFS開発で使用します。ユーザーが記述した制御文をMFSバイナリ制御ブロックに変換します。
図3に、MFSGENワークフローを示します。詳細は、Oracle Tuxedo Application Runtime for IMSリファレンス・ガイドを参照してください。
odbactl
z/OS上のODBAプロキシを停止したり、z/OS上のODBAプロキシのステータスをチェックしたり、既存の接続を表示したり、PSBが適切に定義されているかどうかをチェックするために使用されるオープン・システム・ツール。
odbastop
z/OS上のODBAプロキシを停止するために使用されるオープン・システム・ツール。
prepro-ims.pl
z/OS上のCプログラムをTuxedo ART for IMSから呼び出せる適切なCプログラム形式に変換するために使用されます。詳細は、Oracle Tuxedo Application Runtime for IMSリファレンス・ガイドを参照してください。
RUNPROXY
z/OS上のODBAプロキシを開始するために使用されるz/OSコマンド。
STOPROXY
z/OS上のODBAプロキシを停止するために使用されるz/OSコマンド。
z/OS上のIMSからUNIX上のOracle Tuxedo Application Runtime for IMS UsersへのCOBOLアプリケーションの移行
z/OS上のIMSの制御の下に実行されているCOBOLアプリケーションを移行するには、次の手順を実行する必要があります。
1.
ART Workbenchを使用してCOBOLソース・コードを変換します
2.
3.
COBOLプログラムの変換
z/OS上のIMSからのCOBOLソース・プログラムは、ART Workbenchによって事前に変換する必要があります。変換後、変換されたソース・プログラムはMicro Focus COBOLまたはCOBOL-ITコンパイラでgntファイルにコンパイルできます。COBOLソース・プログラムの変換の詳細は、ART Workbenchのドキュメントを参照してください。COBOLソース・プログラムのコンパイルの詳細は、Micro Focus COBOLまたはCOBOL-ITのドキュメントを参照してください。
たとえば、2つのCOBOLソース・プログラムが変換され、コンパイルされます。
DFSIVAP1.cbl (DFSIVAP1.gntにコンパイル)は、MPPプログラムです
DFSIVAP2.cbl (DFSIVAP2.gntにコンパイル)は、BMPプログラムです
.gntファイルは、$COBPATH (Micro Focus COBOL)または$COB_LIBRARY_PATH (COBOL-IT)の下に置く必要があります。
IMSランタイムでのCOBOLプログラム・デバッグの実装
ユースケース1:
2人のユーザーが2つのMF BMP COBOLプログラムをそれぞれデバッグします。
ユーザーAがCOBOL Program1をデバッグし、ユーザーBがCOBOL Program2をデバッグする場合、次の手順を実行します。
1.
COBOLデバッグ情報を次のようにimsdebug.desc構成ファイルに追加します。
[cobol]
USER=A
APPNAME=program1
DEBUGID=myDebugID1
[cobol]
USER=B
APPNAME=program2
DEBUGID=myDebugID2
2.
ユーザーAおよびBは、animユーティリティを起動する同じLinuxアカウントで独自のART IMSサーバーを起動します。animユーティリティで指定されたDEBUGIDのみがデバッグされます。
3.
ユーザーAは、端末からanim %XmyDebugID1というコマンドラインを入力します。
ユーザーBは、端末からanim %XmyDebugID2というコマンドラインを入力します。
4.
ユースケース2:
1人のユーザーが1つのトランザクション内のすべてのCIT COBOLプログラムをデバッグします。
ユーザーCがトランザクションtranACOBOL Program1およびProgram2をデバッグする場合、次の手順を実行します。
1.
COBOLデバッグ情報を次のようにimsdebug.desc構成ファイルに追加します。
[cobol]
USER=C
TRANNAME=tranA
DEBUGID = 111
2.
3.
deetコマンドラインを入力します。
ユーザーCは、端末からDeet -p 111というコマンドラインを入力し、デバッグします。
注意:
構成ファイルのカスタマイズ
Tuxedo ART for IMSでz/OS上のIMSから移行されたCOBOLアプリケーションを実行するには、いくつかの重要な構成ファイルを、そのCOBOLアプリケーションに関連するIMSマクロに基づいてカスタマイズする必要があります。
MPPプログラムを実行するには、リスト1に示すプログラムに対応するトランザクション・コードが必要です。
リスト1 imstrans.descの例
[imstran]
name=TRAN1
response=no
edit=ULC
appname=DFSIVAP1
class=1
 
トランザクション・コードTRAN1は、アプリケーションDFSIVAP1に対応しています。
各COBOLアプリケーションは、それがMPPとBMP (BMPT)のどちらのプログラム(TPまたはBATCH)であるかを識別するそれ自体の定義を持っている必要があります。リスト2に、2つのアプリケーションを定義するimsapps.descの例を示します。
リスト2 2つのアプリケーションを定義するimsapps.desc
[imsapp]
name=DFSIVAP1
type=TP

[imsapp]
name=DFSIVAP2
type=BATCH
 
IMSでいずれのアプリケーションを実行する場合も、PSBが1つ必要になります。Tuxedo ART for IMSでは、アプリケーションのPSBマクロは.psb構成ファイルにマップされます。MPPプログラムの場合、その.psbファイルの接頭辞はアプリケーション名、つまり、$appname.psbである必要があります。BMPおよびBMPTプログラムの場合、その.psbファイルの接頭辞はIMSアプリケーションのネーミング・ルールに従った任意の名前にすることができます。DFSIVAP1およびDFSIVAP2.psbファイルを、次に示します。1つのI/O PCBおよび.psbに定義されているPCBは、COBOLプログラムが起動されたときにそのパラメータとしてそのプログラムに渡されます。
リスト3 DFSIVAP1およびDFSIVAP2 .psbの例
DFSIVAP1.psb
[imspcb]
modify=yes
express=no

[imspcb]
modify=yes
express=no
 
DFSIVAP1.psbから、アプリケーションDFSIVAP1には、1つのI/O PCBと2つの代替PCBがその引数として必要であることがわかります。
リスト4 2つの代替PCBを持つDFSIVAP1
DFSIVAPX.psb
[imspcb]
type=GSAM
name=DFSIVD5I
procopt=G

[imspcb]
type=GSAM
name=DFSIVD5O
procopt=LS

[imspcb]
type=GSAM
name=TSTIVD5O
procopt=LS
 
DFSIVAPX.psbから、アプリケーションDFSIVAP2には、1つのI/O PCBと3つのGSAM PCBが必要であることがわかります。
詳細は、『Oracle Tuxedo Application Runtime for IMSリファレンス・ガイド』を参照してください。
Oracle Tuxedoアプリケーションの定義
Tuxedo ART for IMSでIMS COBOLアプリケーションを実行するには、次のサーバーをTuxedoアプリケーションで起動する必要があります。
ARTICTL - 3270端末との接続を担当するサーバー
ARTIMPP - MPPアプリケーションの実行を担当するサーバー
ARTIBMP - BMPアプリケーションの実行を担当するサーバー
詳細は、Oracle Tuxedoドキュメントのファイル形式、データ記述方法、MIBおよびシステム・プロセスのリファレンスのUBBCONFIG(5)に関する項および『Oracle Tuxedo Application Runtime for IMSリファレンス・ガイド』のTuxedo ART for IMSサーバー・パラメータに関する項を参照してください。
MPP COBOLプログラムの実行
MPPプログラムDFSIVAP1を実行するには、3270端末を開き、UBBCONFIGファイルで定義されているホスト名およびポートを使用してARTICTLサーバーに接続し、画面を書式設定して、トランザクション・コードTRAN1を入力します。DFSIVAP1.gntがARTIMPPサーバーによって起動されます。
BMP COBOLプログラムの実行
BMPプログラムDFSIVAP2を実行するには、ユーザーは、ART Workbenchによってz/OS上の対応するJCLをシェル・スクリプトに変換し、それをJOBとしてARTバッチ・ランタイムによって実行できるようにする必要があります。そのJOBによって、ユーティリティDFSRRC00が起動され、ARTIBMPサーバーによって公開されている特定のサーバーが起動され、それによってリクエストされたCOBOLアプリケーションが起動されます。詳細は、ART Workbenchのドキュメントを参照してください。
z/OS上のIMSからUNIX上のOracle Tuxedo Application Runtime for IMS UsersへのCアプリケーションの移行
z/OS上のIMSの制御の下に実行されているCアプリケーションを移行するには、次の手順を実行する必要があります。
1.
prepro-ims.plを使用してCソース・コードを変換します。
2.
3.
a.
たとえば、2つのCソース・プログラムおよびims.hがダウンロードされます。
testmpp1.cはMPPプログラムです
testbmp1.cはBMPプログラムです
ims.hは、IBM IMSでサポートされているヘッダー・ファイルです。
b.
prepro-ims.pl -i source-file -o dest-file [-m yourmakefile]
メインフレームのims.hも、prepro-ims.plで処理できます。"??="または"#pragma"で始まる行はコメントアウトされます。
c.
MPPプログラムを実行するには、リスト5に示すプログラムに対応するトランザクション・コードが必要です。
リスト5 imstrans.descの例
[imstran]
name=TRAN3
response=no
edit=ULC
appname=TESTMPP1
class=1
 
ファイルimsapps.descでLANGを構成します。LANGは、次のように、実行するプログラムがCOBOLまたはCタイプであることを示します。
リスト6 2つのアプリケーションを定義するimsapps.desc
[imsapp]
name=TESTMPP1
type=TP
LANG=C

[imsapp]
name=TESTBMP1
type=BATCH
LANG=C
 
IMSでいずれのアプリケーションを実行する場合も、PSBが1つ必要になります。Tuxedo ART for IMSでは、アプリケーションのPSBマクロは.psb構成ファイルにマップされます。MPPプログラムの場合、その.psbファイルの接頭辞はアプリケーション名、つまり、$appname.psbである必要があります。BMPプログラムの場合、その.psbファイルの接頭辞はIMSアプリケーションのネーミング・ルールに従った任意の名前にすることができます。TESTMPP1およびTESTBMP1.psbファイルは、次のとおりです。1つのI/O PCBおよび.psbに定義されているPCBは、Cプログラムが起動されたときにそのパラメータとしてそのプログラムに渡されます。
リスト7 TESTMPP1.psbの例
TESTMPP1.psb
[imspcb]
modify=yes
express=no

[imspcb]
modify=yes
express=no
 
リスト8 2つの代替PCBを持つTESTBMP1.psb
TESTBMP1.psb
[imspcb]
type=GSAM
name=DFSIVD6I
procopt=G

[imspcb]
type=GSAM
name=DFSIVD6O
procopt=LS

[imspcb]
type=GSAM
name=TSTIVD6O
procopt=LS
 
4.
makefileを変更し、gmakeを実行します
ZOSINC=-I/path/containing/ims/header/from/mainframeを設定することでmakefileを変更します
1つのプログラムに複数のソース・ファイルが必要であるため、makefileを変更します。
例:
testmpp.cは、libartimstestmpp.soにコンパイルされます
testbmp.cは、compiled to libartimstestbmp.soにコンパイルされます
構成ファイルのAPPNAMEは、プリプロセッサによって変換されたアプリケーション名と同じであることが必要です。
つまり、<filename> corresponds libartims<filename>.soとなります。
5.
環境変数LD_LIBRARY_PATHは、その元のリストの最初にこれらのライブラリ・ファイルが含まれているディレクトリを追加することで再定義する必要があります。
ただし、LD_LIBRARY_PATHはLinuxおよびSolarisのみに対応しています。AIXでは、かわりにLIBPATHが使用されます。
例: libartimstestmpp.soおよびlibartimstestbmp.soは、LD_LIBRARY_PATH (Linux/Solaris)またはLIBPATH (AIX)の下に配置されている必要があります。
MPP Cプログラムの実行
MPPプログラムtestmppを実行するには、3270端末を開き、UBBCONFIGファイルで定義されているホスト名およびポートを使用してARTICTLサーバーに接続し、画面を書式設定して、トランザクション・コードTRAN3を入力します。testmppARTIMPPサーバーによって起動されます。
BMP Cプログラムの実行
BMPプログラムtestbmpを実行するには、ユーザーは、ART Workbenchによってz/OS上の対応するJCLをシェル・スクリプトに変換し、それをJOBとしてARTバッチ・ランタイムによって実行できるようにする必要があります。そのJOBによって、ユーティリティDFSRRC00が起動され、ARTIBMPサーバーによって公開されている特定のサーバーが起動され、それによってリクエストされたCアプリケーションが起動されます。詳細は、ART Workbenchのドキュメントを参照してください。
imsgenconfを使用したTuxedo ART for IMSの構成の生成
imsgenconfツールを使用して、z/OSの定義からTuxedo ART for IMSの構成を生成できます。imsgenconfを使用する前に、次のファイルを含むディレクトリ(定義ディレクトリ)を作成する必要があります。
APPLCTNおよびTRANSACTマクロを含む1つのデータセット。1つのデータセットのみ保持できます。
PSBGENマクロを含むデータセット。複数のデータセットを保持できます。
DBDマクロを含むデータセット。複数のデータセットを保持できます。
特定のトランザクション/バッチ・アプリケーション用のTuxedo ART for IMS構成のみを生成する場合は、定義ディレクトリの最上位の下にホワイト・リスト(IMS.WHITE)またはブラック・リスト(IMS.BLACK)を作成できます。
IMS.WHITEが定義ディレクトリの最上位の下に存在する場合、imsgenconfにより、ホワイト・リストに定義されているトランザクション/バッチ・アプリケーション用の構成のみが生成されます。
IMS.BLACKが定義ディレクトリの最上位の下に存在する場合、imsgenconfにより、ブラック・リストに定義されていないトランザクション/バッチ・アプリケーション用の構成のみが生成されます。
IMS.WHITEおよびIMS.BLACKの両方が定義ディレクトリの最上位の下に存在する場合、IMS.WHITEがデフォルトです。
IMS.WHITEおよびIMS.BLACKのいずれも定義ディレクトリの最上位の下に存在しない場合、imsgenconfにより、すべてのトランザクション/バッチ・アプリケーションの構成が生成されます。
詳細は、『Tuxedo ART for IMSリファレンス・ガイド』構成ファイルに関する項を参照してください。
imsdbs.desc内のDB関連の構成については、imsgenconfにより、トランザクション/バッチ・アプリケーションで実際に使用されるDBの構成のみが生成されます。
注意:
バッチまたはトランザクション指向のバッチ・プログラムでは、プログラム名がPSBNAMEと等しくない場合は、imsapps.desc内のNAME=programを手動で変更する必要があります。
次のものは、手動で構成する必要があります。
imsresources.desc: 永続トランザクション定義の構成。
$ART_IMS_CONFIG/$dbname/segments.desc : 1つのODBA IMS/DBソリューション用のセグメント記述ファイル。
$ART_IMS_CONFIG/$dbname/$segments.desc : 1つのODBA IMS/DBソリューション用の1つのセグメントの記述ファイル。
IMS/DBに対するOracleソリューション
Tuxedo ART for IMSは、IMS/TMの機能の大部分をシミュレートできますが、IMS/DBの実装を備えていません。それは、IMS/DBが、特別に設計された階層型データベースであるためです。Tuxedo ART for IMSの制御下で実行されるCOBOL/CプログラムからIMS/DBにアクセスできるように、Tuxedo ART for IMSではOpen Database Access (ODBA)がサポートされています。
ODBAを使用すると、Tuxedo ART for IMSで実行されているプログラムが、z/OS上に配置されているIMS/DBに透過的に接続できます。COBOL/Cプログラムが、IMS/DBにアクセスするためのDL/I呼出しを発行するたびに、基盤となっているライブラリによってそのDL/I呼出しがリクエスト・メッセージに変換されて、IMS/DBと同じz/OSイメージ上に配置されているプロキシに送信されます。プロキシは受信したリクエストに応じてデータベース処理を実行し、Tuxedo ART for IMSで実行されているプログラムに結果を返送します。
コンポーネント
データベース・ソリューション統合の原則は、Tuxedo ART for IMSに接続すると即座に有効に動作するプラグインとして設計および開発することです。基本的に、プラグインは共有ライブラリとして設計し、Tuxedo ART for IMSサーバーによる実行時の呼出しに応じて、要求された一連のAPIをエクスポートするようにします。プラグインのすべての実装は定義に従う必要があります。詳細は、『Oracle Tuxedo Application Runtime for IMSリファレンス・ガイド』を参照してください。
プラグイン・ライブラリ
リファレンス・ガイドのプラグイン定義として、ODBAを介したIMS/DBのサポートも定義に基づいた共有ライブラリとして実装され、単にTuxedo ART for IMSインストールにバンドルされているデフォルト・バージョンに置き換えて使用できます。
IMS/DBのOracleプラグインのサポート・リストは次のとおりです。
IMS/DB用のOracleプラグインでは、GSAMデータベース、データ・エントリ・データベース、および他の完全な機能を備えたデータベースがサポートされています。つまり、MSDB (Main Storage DB) を除くすべての種類のIMS/DBデータベースです。
この実装内では、GSAM DBは、UNIXファイル・システム上の実装であり、他のものはIMSシステムによって提供されているODBAプロトコルを介してサポートされています。
ODBAプロキシの使用方法
z/OS上のIMS/DBへのOracle IMS/DB接続を実現するには、オープン・システムとz/OS上のTuxedo ART for IMS制御の下で実行されているプログラムの間に通信が必要です。ODBAプロトコルの要件に従い、IMS/DBと同じz/OSイメージ上で実行されている別のアドレス空間が、Tuxedo ART for IMS内のプログラムと通信するように開発され、これらのプログラムのかわりにデータベース処理を実行します。
この項には次のトピックが含まれます:
機能
Oracle IMS/DBでは(COBOL/Cプログラムで発行される)次のDL/I呼出しがサポートされています。
IMS/DBの構成
ARTIMPP/ARTIBMPの構成
ARTIMPP/ARTIMBPに対してIMS/DB用のOracleプラグインで必要とされるパラメータを構成する必要があります。例:
ARTIMPP SRVGRP=GROUP1
SRVID=5
CLOPT="-A -- -l 1 -x -o zoshost:port:BEA1"
詳細は、『Oracle Tuxedo Application Runtime for IMSリファレンス・ガイド』を参照してください。
IMS/DBの構成
各データベースは各種セグメントで構成され、各セグメントは各種フィールドで構成されます。したがって、データベースの構成は、セグメント定義とフィールド定義の2種類のファイルで構成されます。
imsdbs.descは、$ART_IMS_CONFIGの下にあります。imsdbs.desc構成のいくつかのフィールドは、z/OS上のIMSのいくつかのDBD文からマッピングされています。
segments.descはデータベース内のセグメントを定義し、$segname.descはセグメント内のフィールドを定義します。それらは$ART_IMS_CONFIG/db/$dbnameの下に配置されています。
$segname.descは、アクセス・タイプがimsdbs.descで定義されたGSAMでもMSDBでもないデータベースに対してのみ存在します。
$appname.psbで関連するフィールドを構成することも必要です。詳細は、『Tuxedo ART for IMSリファレンス・ガイド』を参照してください。
ODBAプロキシのインストール
IMS/DBのサポートはODBAを介して提供されます。このサポートは次の2つの部分で構成されます。
注意:
z/OS (Tuxedo ART for IMSが$IMSDIRディレクトリにインストールされていると想定)。
z/OSのコンポーネントは$IMSDIR/odbaproxy/mvsディレクトリの下にあります。これらには、次のものが含まれます。
ORACLE.ODBA.BACK.XMI - z/OS上で実行される実行可能ファイルで構成されているXMIファイル
./jclの下にあるJCLジョブのグループであり、パッケージのインストールおよびz/OS上のODBAプロキシの実行に使用できます
Linux 64ビット(OEL/RHEL)、AIX 64ビットおよびSolaris (Sparc) 64ビットがサポートされています。$IMSDIR/binの下にあるodbastopは、MVS上で実行されているODBAプロキシを停止するために使用されるユーティリティです。$IMSDIR/libの下にあるlibdlidb.soは、IMS/DBへのTuxedo ART for IMSランタイム接続のためのOracleプラグインです。
z/OS上でのOracle Tuxedo Application Runtime for IMS Users ODBAプロキシのインストール
z/OS上にTuxedo ART for IMS ODBAプロキシをインストールするには、次の手順を実行します。
1.
a.
JCLファイル(たとえばUSER.ODBA.JCL)をアップロードするためのPDS (LRECL=80, RECFM=FB)をz/OS上に作成します。
b.
mvs/jclの下のすべてのJCLをこのPDSに別のメンバーとしてアップロードします(ftpテキスト・モード)。
2.
a.
USER.ODBA.JCL(CREDS)を変更して、それをユーザーの環境に合ったものにします(特にVOL=SERパラメータ)。ユーザーは、作成するデータセット名を、たとえばUSER.ODBA.XMIなどに変更することもできます。
b.
3.
ローカル・ファイルORACLE.ODBA.BACK.XMIを、z/OS上のデータセットUSER.ODBA.XMIにアップロードします(ftpバイナリ・モード)。
4.
a.
USER.ODBA.JCL(RECEIVE)を変更し、それをユーザーの環境に合ったものにします。INDSNAMEは、このJCLの入力データセットを指定し、それはXMIデータセットと同一(つまり、手順2のUSER.ODBA.XMI)である必要があります。DSNAMEは、このJCLの出力ファイルであり、それがUSER.ODBA.BAKに変更されていると想定しています。
b.
5.
a.
USER.ODBA.JCL(RESTORE)を変更して、それをユーザーの環境に合ったものにします。VOL=SERを、実行可能ファイルで構成されたターゲットPDSが作成されるボリュームに変更する必要があります。RENAMEUは、ソース名とターゲット名を指定します。ソース名は保持する必要があり、ユーザーはターゲット名を、たとえばUSER.ODBASERV.LOADなどに変更できます。DSNを、手順4で設定したDSNAME値に設定します(それがUSER.ODBA.BAKに設定されていると想定します)。
b.
RESTOREジョブを送信し、それが正常に完了したことを確認します。これで実行可能ファイルがUSER.ODBASERV.LOADという名前のPDSに抽出されました。
z/OS上のODBAに対するDRA構成のベスト・プラクティス
z/OS ODBAのベスト・プラクティス・ドキュメントによると、アプリケーション・プログラムの実行中にスレッドの作成と破棄を頻繁に行うと、タイミング関連のエラーが発生する可能性があります。DRA起動パラメータでMINTHREADSMAXTHREADSを同じに設定することをお薦めします。
Oracle Tuxedo Oracle Tuxedo Application Runtime for IMS UsersサーバーとODBAプロキシ
Tuxedo ART for IMSサーバーとともにODBAプロキシを使用するには、次の4つの手順を実行する必要があります。
1.
a.
USER.ODBA.JCL (RUNPROXY)をユーザーの環境に合ったものに(特にSTEPLIBのDDが適切にUSER.ODBASERV.LOADおよび依存DDを指定するように)変更します
b.
RUNPROXYジョブを送信し、プロキシを起動します。プロキシを起動する前に、IMS ODBA環境が設定されていることを確認します。
2.
詳細は、『Oracle Tuxedo Application Runtime for IMSリファレンス・ガイド』を参照してください。
UBBCONFIGおよびTuxedo ART for IMSリソースを定義した後、UBBCONFIGをコンパイルし、tmbootコマンドまたはOracle Enterprise Manager TSAMPlusプラグインで提供されるコントロールを使用してそのOracle Tuxedoドメインを起動することで、Tuxedo ART for IMSを実行します。
3.
Tuxedo ART for IMSを停止してから、z/OS上のODBAプロキシを停止する必要があります。tmshutdownコマンド、またはOracle Enterprise Manager TSAMPlusプラグインで提供されているコントロールを使用します。
4.
a.
メインフレームから、USER.ODBA.JCL(STOPROXY) JCLを変更し、それを送信してODBAプロキシを停止します
b.
オープン・システムから、odbastopまたはodbactlコマンドを実行します。それによってメッセージがODBAプロキシに送信され、停止がトリガーされます。
5.
オープン・システムから、odbactlコマンドを実行して、ODBAプロキシへのアクセス可否を確認します。
6.
オープン・システムから、odbactlコマンドを実行して、既存のODBA接続に関する情報(サーバー・アドレスやピア・アドレスなど)を表示します。
IMS/DBに対するOracleソリューションの使用方法
IMS/DBを使用するには、次の4つの手順を実行する必要があります。
1.
Oracleプラグインを適用する前に、最初にODBAプロキシを起動し、Tuxedo ART for IMSサーバーからの接続リクエストをリスニングする必要があります。ODBAプロキシは、JCLによってバッチ・モードで起動する必要があります。ODBAプロキシの起動方法は、『ODBAプロキシ・インストレーション・ガイド』を参照してください。
2.
関連する構成ファイル$appname.psbimsdbs.desc (必要に応じてsegments.desc/$segname.desc)などを変更します。
3.
構成の変更およびARTIMPP/ARTIBMPの起動
ARTIMPP/ARTIBMP構成のODBAパラメータをプットします。UBBCONFIGの再ロードおよびARTIMPP/ARTIBMPの開始。
4.
Tuxedo ART for IMSサーバーが適切に起動した後、ユーザーはトランザクション処理プログラムまたはバッチ・プログラムを実行できます。
動的BMPの使用
動的BMPを使用すると、BMPプログラムの実行後BMPサーバーは終了し、Oracle Tuxedoフレームワークによって再起動されます。動的BMPを使用するには、次の手順を実行する必要があります。
1.
環境変数ARTIMS_DYNAMIC_BMPYに設定します。
2.
UBBCONFIGファイルで、BMPサーバーごとにRESTART=YおよびGRACE=0を構成し、Oracle Tuxedoフレームワークで停止しているサーバーを何度でも再起動できるようにします。
3.
UBBCONFIGファイルで、SCANUNIT*SANITYSCANを小さい値(2秒など)に構成し、Tuxedoフレームワークで停止しているサーバーを短い間隔で再起動できるようにします。
ヒント:
Linuxでは、開いているファイルの最大数を小さくすると(ulimit -n)、BMPサーバーの再起動にかかる時間が短縮されます。これは、負荷が高い場合に有用です。
パフォーマンス分析
ARTIMPP/ARTIBMP/ARTIGWのトランザクション/アプリケーションのパフォーマンス・データおよび分析を開始するには、次を実行します。
ARTIMPP/ARTIBMP/ARTIGWUBBCONFIGファイルに-Vオプションを追加してサーバーのパフォーマンス・トレースを有効にするか、またはパフォーマンス・トレースのグローバル・スイッチとしてIMS_PERF_ENABLE環境変数を使用します。
IMS_PERF_ENABLEが設定されている場合、それがUBBCONFIGファイルの設定に優先します。
注意:
IMS_TRACE_PATHが定義されている場合、パフォーマンス・トレースは$IMS_TRACE_PATHに置かれます。IMS_TRACE_PATH が定義されていない場合は、パフォーマンス・トレースは$APPDIR/logに置かれます。
パフォーマンス・トレースの名前は次のように定義されます。
ヒント:
ファイル・システムでは、データはトレース・ファイルに書き込まれる前にしばらくの間キャッシュされます。大量のデータで、完全なトレースを取得する場合は、ファイル・システムによりトレース・ファイルにデータがフラッシュされるように、しばらく待ってからOracle Tuxedoドメイン(またはIMSサーバーのみ)を停止する必要があります。
IMS_RT/binにあるimsperfツールを次のように使用して、トランザクション/アプリケーションのパフォーマンス・レポートを取得します。
imsperf [-d path]
pathは、パフォーマンス・トレースが置かれている場所です。
その出力は、パフォーマンス分析の結果(tranname.csvappname.csv)であり、直接開くことのできるCSV形式です。
関連項目

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