WebSphere Enterprise Service Bus for z/OS バージョン 6.2.0 オペレーティング・システム: z/OS


モジュールとターゲットの分離の概要

モジュールを開発する際、複数のモジュールが使用できるサービスを識別します。 このようにしてサービスにてこ入れすることにより、開発サイクルとコストを最小化します。 多数のモジュールによって使用されるサービスがある場合は、 ターゲットがアップグレードされた場合に新規サービスへの切り替えが呼び出しモジュールに対して透過的になるように、呼び出しモジュールをターゲットから分離する必要があります。 このトピックでは、単純な呼び出しモデルと分離された呼び出しモデルを対比して、 分離がどのように役立つかを示す例を提供します。 特定の例について説明しますが、これが、ターゲットからモジュールを分離する唯一の方法というわけではありません。

単純な呼び出しモデル

モジュールを開発する際、その他のモジュールにあるサービスを使用することができます。 これは、モジュールにサービスをインポートしてからそのサービスを呼び出すことによって実行します。 インポートされたサービスは、WebSphere® Integration Developer で、 または管理コンソール内のサービスをバインディングすることによって、 その他のモジュールによってエクスポートされたサービスに「関連付け」られます。『単純な呼び出しモデル』は、このモデルを示しています。

図 1. 単純な呼び出しモデルMyModule はサービス、ServiceA を呼び出します。
この呼び出しが指す MyModule のインポート・インターフェースは、ServiceA のエクスポート・インターフェースに接続されます。

分離された呼び出しモデル

呼び出しモジュールを停止せずに呼び出しのターゲットを変更するには、 呼び出しのターゲットから呼び出しモジュールを分離します。 この場合、モジュールそのものではなくダウンストリーム・ターゲットを変更しているので、 ターゲットの変更中もモジュールが処理を続行できます。 『アプリケーションの分離の例』は、分離によって、 呼び出しモジュールの状況に影響を与えずにターゲットを変更する方法を示します。

アプリケーションの分離の例

単純な呼び出しモデルを使用した場合、 同一のサービスを呼び出す複数のモジュールは、 『単一のサービスを呼び出す複数のアプリケーション』のようになります。 MODA、MODB、および MODC はすべて CalculateFinalCost を呼び出します。

図 2. 単一のサービスを呼び出す複数のアプリケーション次の図は、CalculateFinalCost を直接呼び出す複数のモジュールを示しています。
CalculateFinalCost によって提供されるサービスは、 そのサービスを使用するすべてのモジュールに新規コストが反映されるように、 更新する必要があります。 開発チームは、新規サービス UpdatedCalculateFinal を構築およびテストして、 変更を取り込みます。 新規サービスは実動に移す準備ができています。 分離を使用しない場合は、UpdateCalculateFinal を呼び出すために、 CalculateFinalCost を呼び出すモジュールをすべて更新する必要があります。 分離を使用した場合、実行する必要があるのは、バッファー・モジュールをターゲットに 接続するバインディングを変更することだけです。
注: このようにサービスを変更することにより、オリジナルのサービスを、それを必要とするその他のモジュールに提供し続けることができます。

分離を使用して、アプリケーションとターゲットの間でバッファー・モジュールを作成します (『UpdateCalculateFinal を呼び出す分離された呼び出しモデル』を参照してください)。

図 3. UpdateCalculateFinal を呼び出す分離された呼び出しモデル3 つのモジュールが CalculateFinalCost を呼び出します。
呼び出しはアプリケーション BufferMod で解決され、それによってアプリケーション ActualMod の CalculateFinalCost が指定されます。

このモデルで、呼び出しモジュールは変わりません。 実行する必要があるのは、バインディングをバッファー・モジュール・インポートからターゲットへ変更することだけです (『UpdatedCalculateFinal を呼び出す分離された呼び出しモデル』を参照してください)。

図 4. UpdatedCalculateFinal を呼び出す分離された呼び出しモデルこの図は、UpdateFinalCost を指す BufferMod 内の
CalculateFinalCost からのバインディングを示している前の図と似ています。

バッファー・モジュールがターゲットを同期で呼び出す場合、 元のアプリケーションに戻される結果は、 バッファー・モジュール (メディエーション・モジュール、 またはビジネス・モジュール用のサービス) を再始動したときに、 新規ターゲットから送信されます。 バッファー・モジュールがターゲットを非同期で呼び出す場合、 元のアプリケーションに戻される結果は、次の呼び出し時に新規ターゲットから送信されます。


concept 概念トピック

ご利用条件 | フィードバック


タイムスタンプ・アイコン 最終更新: 2010/07/05


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.zseries.doc/doc/cdev_ovwisolatingapplsandtargs.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています (http://www.eclipse.org)。