ベスト・プラクティス: 外部サービスを中断なく変更

システムを設計したりモジュールを開発しているとき、 モジュールとそのモジュールが起動する外部サービスとの間に中継モジュールを置くことで利点を得る場合があります。 ここで説明する方法を使用できるのは、SCA バインディングを使用している場合だけです。

中継モジュールを使用する利点の 1 つは、アプリケーションが起動している外部サービスまたはアプリケーションを、中断せずに変更できることです。ここでは、この概念を説明する例として、Web サービスのインポートを使用します。

下に示す最初の図は、直接接続を通じてリモート・サービスを起動するインポートを持つ、モジュール A を表しています。モジュール A に別のリモート・サービスを起動させたい場合、論理を更新する必要があります。次に、モジュールの古いバージョンを停止して、それをサーバーからアンインストールする必要があります。その後、モジュールの新しいバージョンをインストールして始動できるようになります。このプロセスの間、 モジュール A へのサービスは中断します。


この図は、
Web サービスに直接接続されたモジュールを表しています。

アプリケーションで中継モジュールを使用し、それを SCA バインディングでモジュール A に接続すれば、より柔軟性が高まります。下の図は、その構成を表しています。モジュール A は、中継モジュールつまりメディエーション・モジュールであるモジュール B のエクスポートにワイヤリングされたインポートを持っています。これらのモジュールは、マッチング・インターフェースを持っていなければなりません。 このトピックで説明しているシナリオでは、SCA バインディングを持つ必要があります。モジュール B はサービスを起動します。モジュール B はファサードで、モジュール A は実際のビジネス・ロジックを含みます。

この図には、リモート Web サービス 2 という別のサービスも示されています。そのサービスを使用する準備として、モジュール C とその Web サービス・インポートは作成済みで、WebSphere テスト環境を使用してテスト済みです。


2 番目の図
は、中継モジュールのモジュール B を通じてサービスに接続されたモジュール A を表しています。

新規モジュールをデプロイする準備ができたら、WebSphere Process Server 管理コンソールを使用して、モジュール A の SCA インポート を、古いターゲット・モジュール (モジュール B) から新規ターゲット・モジュール (モジュール C) の SCA エクスポートにポイントして、更新されたサービスへのシームレスな遷移を行なうことができます。下の図は、 新しいデプロイメントを表しています。この方法を使用すれば、サービスを中断することなく、アプリケーションの更新ができます。


3 番目の図は、新規の中継モジュールを通じて新規サービスに接続された新規モジュールを表しています。

上のパターンは、外部エクスポートにも使用できます。たとえば、 モジュールは Web サービス・エクスポートを通じてサービスを公開できます。通常、 モジュールの論理を更新する必要がある場合、サービスは中断されます。 しかし、ファサード・モジュールを Web サービス・エクスポートに対して使用すれば、 サービスを中断することなくビジネス・ロジックを更新できます。

この設計の原理は、WebSphere Process Server のドキュメンテーションで詳しく説明されています。モジュールとターゲットの分離、およびターゲットの変更についての指示を参照してください。

Feedback
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.
(C) Copyright IBM Japan 2006