Rational® Developer
for System z® バージョン 8.0 では、ユーザー提供の WSDL ファイルから、エンタープライズ・サービス・ツール・バッチ・プロセッサーを使用して新しいトップダウン PL/I IMS™ Enterprise Suite SOAP ゲートウェイ・サービス・プロバイダー MPP を作成するためのサポートが導入されました。この新しいサポートを使用可能にするために、RDz および IMS Connect のエンタープライズ・サービス・ツール・コンポーネントに、いくつかの機能拡張が行われました。
エンタープライズ・サービス・ツール・バッチ・プロセッサーの機能拡張
バッチ・プロセッサーの機能が拡張され、この文書の残りの部分で説明されている新機能を結合された反復可能な生成プロセスに統合することにより、トップダウンの IMS PL/I 成果物の生成がサポートされるようになりました。
WSDL2ELS (WSDL からエンタープライズ言語構造へ)
WSDL2ELS はエンタープライズ・サービス・ツール・バッチ・プロセッサーによって呼び出され、WSDL ファイルが入力として与えられた場合、以下の成果物を生成します。
- ユーザー提供の WSDL サービスおよびポートに対する各操作の入力および出力メッセージごとに、PL/I 言語構造が生成されます。
生成された言語構造に対し、可変でアンバウンドの疎配列とオプションのエレメントを支援するプログラミング・モデルが適用されます。
- ユーザー指定の WSDL サービスおよびポートに対する各操作の入力および出力メッセージごとに、XSD エレメントおよび属性宣言と PL/I 言語構造メンバーの間のマッピングを表現するために、マッピング・セッション・ファイルが生成されます。生成された言語構造メンバーがすべて、XSD エレメントまたは属性にマップされるわけではなく、一部のメンバーは、互いに注釈を使用して表現された関係を持ちます。
- ユーザー提供 WSDL と WSDL2ELS 生成成果物の間のハイレベルの関係を収集するために、WSDL2ELS メタデータが生成されます。このファイルは XML フォーマットになっており、エンタープライズ・サービス・ツール・バッチ・プロセッサーによって、XML コンバーター、IMS Enterprise SOAP ゲートウェイ相関関係子ファイル、およびテンプレート IMS Web サービス・プロバイダー MPP を生成するために、プログラマチックにコンシュームされます。
- 問題判別を支援するログ・ファイル。
与えられた WSDL 用の IMS PL/I プロバイダー MPP テンプレート・プログラム
テンプレート IMS PL/I プロバイダー MPP は、WSDL2ELS メタデータに基づいて生成されます。テンプレート・プログラムは WSDL2ELS によって生成された言語構造を含んでおり、サービス呼び出しコンテキストを取得するロジックで始まります。メッセージ・プロトコル・ヘッダーからサービス・コンテキストが取り出された後、テンプレートは、呼び出された操作に対応する操作処理プロシージャーに分岐します。それぞれの操作処理プロシージャーは RDz 提供 API の使用のデモンストレーションを行い、言語構造を取り出し、新しいメッセージ・プロトコルに従って IMS メッセージ・キューに保管します。
トップダウン・シナリオを使用して開発されたサービス・プロバイダー MPP および XML コンバーターによって必要とされる新しいメッセージ・プロトコルおよびセグメンテーション API (IRZPWSIO) は、ボトムアップ・シナリオを使用してサービス・プロバイダーとして使用可能にされた MPP からは使用できない、いくつかの拡張機能を提供します。
詳しくは、データ・セット FEK.SFEKSAMP 内の PL/I 組み込みメンバー IRZPWSH を参照してください。
REFER およびプログラミング・モデルをサポートするトップダウン IMS Connect PL/I
XML コンバーター
IMS Enterprise Suite SOAP ゲートウェイの RDz PL/I トップダウン・サポートは、拡張され自動化されたミート・イン・ザ・ミドルとして記述できます。アンバウンド配列、WSDL2ELS によって生成された言語構造に適用されたプログラミング・モデル、およびメッセージ・プロトコルとセグメンテーション API をサポートするために、トップダウン・シナリオ用にエンタープライズ・サービス・ツール・バッチ・プロセッサーによって生成される PL/I XML コンバーターは、他のシナリオ用に生成されるものとは大きく異なり、APAR PM11648 を介して配布される IMS Connect 機能拡張に依存します。
注: PL/I 組み込みメンバー FEK.SFEKSAMP(IRZPWSH) および PL/I ロード・モジュール FEK.SFEKLOAD(IRZPWSIO) は、トップダウン IMS PL/I XML コンバーターをビルドするために必要です。
IMS PL/I トップダウン・シナリオ用に生成された XML コンバーターは、以下の新しい Language Environment®の条件を発行する場合があります。
- IRZ0500S XML から言語構造への変換をプロシージャー PROCEDURE-NAME で完了できませんでした。言語構造 STRUCTURE-NAME を IMS Connect メッセージ出力バッファーに保管しようとして、API IRZXSETS から RETURN-CODE の戻りコードを受信したためです。(IRZ0500S XML to language structure conversion could not complete in procedure PROCEDURE-NAME because a return code of RETURN-CODE was received from the API IRZXSETS when attempting to store language structure STRUCTURE-NAME into the IMS Connect message output buffer.)
- IRZ0501S 言語構造から XML への変換をプロシージャー PROCEDURE-NAME で完了できませんでした。言語構造 STRUCTURE-NAME を IMS Connect メッセージ入力バッファーから取り出そうとして、API IRZXGETS から RETURN-CODE の戻りコードを受信したためです。 (IRZ0501S Language Structure to XML conversion could not complete in procedure PROCEDURE-NAME because a return code of RETURN-CODE was received from the API IRZXGETS when attempting to retrieve language structure STRUCTURE-NAME from the IMS Connect message input buffer.)
- IRZ0502S 言語構造から XML への変換をプロシージャー PROCEDURE-NAME で完了できませんでした。配列 ARRAY-NAME の配列カウンター変数 COUNTER-NAME が、ARRAY-LIMIT の配列の限度を超える COUNTER-VALUE の値を指定したためです。(IRZ0502S Language Structure to XML conversion could not complete in procedure PROCEDURE-NAME because the array counter variable COUNTER-NAME for array ARRAY-NAME specified a value of COUNTER-VALUE which exceeds the array's limit of ARRAY-LIMIT.)
IMS Enterprise Suite SOAP ゲートウェイ・マルチオペレーション相関関係子ファイル
エンタープライズ・サービス・ツール・バッチ・プロセッサーは、IMS PL/I トップダウン・シナリオで、提供された WSDL 内の各操作ごとに固有の XML コンバーターを生成します。したがって、バッチ・プロセッサーによって生成された SOAP ゲートウェイ相関関係子ファイルには、各操作ごとに、それぞれの XML コンバーター名を指定する項目が存在します。