WebLogic Portal での WSRP の使用
![]() |
![]() |
![]() |
![]() |
WSRP (Web Services for Remote Portlets) は Web サービス規格で、これにより、ポータルまたは他の仲介 Web アプリケーションと、ユーザ インタフェースを持つビジュアルな Web アプリケーションを「プラグ アンド プレイ」することができます。WSRP を使用すると、ポートレットでアプリケーションを表示したり、エンタープライズから遠く離れた場所にある WSRP 準拠プロデューサのアプリケーションを実行したりする際に参照できるサービスのリポジトリを作成することができます。
BEA WebLogic Portal 8.1 SP4 には、フレームワークでの WSRP ポートレットの使用を可能にする WSRP の実装が組み込まれています。
BEA の WSRP の実装は、OASIS が作成した WSRP 1.0 標準に基づいています。BEA Systems は、OASIS の WSRP 1.0 技術グループの積極的なメンバーであり、将来の仕様の拡充に向けてこの標準化の取り組みの一端を担っています。
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrp
以下のポートレット タイプで WSRP 対応のポートレットを作成できます。
WSRP は、複雑なプロデューサにおいてバッキング ファイルもサポートします。
このバージョンの WebLogic Portal は、同種のポートレットのみをサポートします。このため、ポートレットのモードにポートレットとの互換性がなければなりません。次に例を示します。
WSRP は、以下の 3 つの理由から、Web 開発の魅力ある選択肢となっています。
リリースのスケジュール、およびコードが実際にデプロイされる時間や場所とは関係なく、ポータルに新しいアプリケーションを表示することができます。
たとえば、マシン X に 1 つのポータルがあり、マシン Y には別のポータルがあるとします。現在、マシン X からマシン Y にポートレットを持ってくる唯一の方法は、そのポートレットのコードや JSP などをマシン X から宛先のマシン (Y) にコピーすることです。WSRP を使用すると、プロデューサの WSDL (Web Service Description Language) 識別子を介してポートレットを参照するだけで、そのポートレットにアクセスし、マシン Y で表示することができます。
「ユーザ インタフェースを持つ」Web サービスとして、WSRP ポートレットはアプリケーションとプレゼンテーション ロジックの両方を提供します。これは、標準的な Web サービスやデータ指向の Web サービスとは異なる点です。これらの Web サービスの場合、ビジネス ロジックは組み込まれていても、プレゼンテーション ロジックがないため、すべてのクライアントがそれぞれにそのロジックを実装しなければなりません。
データ指向アプローチは多くの実装において効果を発揮しますが、ビジネス アプリケーションの動的な統合にはそれほど適していません。たとえば、注文ステータスの Web サービスをコマース ポータルに統合するには、ステータス サービスの結果をポータルに表示するコードを作成する必要があります。WSRP を使用すると、プレゼンテーション ロジックが Web サービスに組み込まれているため、アプリケーションとサービスの動的な集合が可能になります。これにより、統合用のプレゼンテーション ロジックを開発する必要はなくなり、注文ステータス サービスがポートレットとしてコマース ポータル内のあらかじめ決められた位置に表示されるように要求するだけで済みます。
ポートレットをリモートにする場合に、プログラミングはほとんど必要ありません。WSRP に準拠していない実装では、リモートのコンテンツとアプリケーション ロジックをエンドユーザのプレゼンテーションに統合する際に、通常はかなりのカスタム プログラミングが必要になります。一般に、ポータルなどの集約アプリケーション ベンダは、アプリケーションやコンテンツ プロバイダに対して、このようなプロバイダが使用するさまざまなインタフェースやプロトコルに対応する特殊なアダプタを作成しています。
WebLogic Workshop 8.1 SP4 には、この製品に準拠した多様なリモート コンテンツ プロバイダおよびアプリケーション プロバイダの中から選択したものを、マウスを数回クリックするだけで、コードを作成することなく統合できるツールが用意されています。さらに、WebLogic Workshop 8.1 SP4 で作成されたアプリケーションは、デフォルトで WSRP 準拠になっているため、これらのアプリケーションは、作成したユーザ側でほとんどまたはまったく追加のプログラミングを行わなくても、別のユーザのポートレットで利用することができます。
上記以外にも、WSRP は開発者にさらに以下のようなメリットをもたらします。
WSRP では、「プロデューサ」と「コンシューマ」という概念が導入されています。WSRP の使用により、WSRP 準拠のプロデューサをコンシューマとしての WebLogic Portal に統合し、アプリケーションの機能を集約することができます。そのため、エンド ユーザは、コンシューマとインタフェースをとることで統合されたアプリケーションを表示できるようになります。
図 1-1 プロデューサとコンシューマ間の Web サービス
プロデューサは、ポートレットをホストし、自己記述、マークアップ、登録、ポートレット管理などのサービスを提供します。プロデューサは、オプションでコンシューマの登録を管理し、コンシューマに対して、ポートレットとの対話の前に事前登録するように要求することもできます。登録により、コンシューマとプロデューサ間のリレーションシップが確立されます。
さらに、プロデューサは、単純なプロデューサと複雑なプロデューサのどちらかに分類されます。
単純なプロデューサとは、ポートレットを含む非ポータル Web アプリケーションです。単純なプロデューサは、ポータル機能 (カスタマイズなど) に依存しません。また、登録は不要で、コンシューマでの URL 書き換えのサポートや管理インタフェースのサポートも行いません。
単純なプロデューサを使用した場合の特徴は、以下のとおりです。
「基本的な WebLogic Server ドメインでの WSRP の使用」では、(非ポータル) WebLogic Server 環境を WSRP プロデューサとしてコンフィグレーションして、Struts または Java ページ フローに基づいてポートレットを公開できるようにする方法を説明しています。公開されたポートレットは、通常の WebLogic Portal ドメインで実行中のリモート ポートレットとして利用できます。
複雑なプロデューサは、登録を必要とし、コンシューマでの URL の書き換えと管理インタフェースをサポートします。デフォルトでは、WebLogic Workshop 8.1 SP4 で作成されるすべてのポータル Web プロジェクトは、複雑なプロデューサです。
複雑なプロデューサを使用した場合の特徴は、以下のとおりです。
表 1-1 に、複雑なプロデューサと単純なプロデューサで使用できる機能を示します。
コンシューマは、プロデューサからの情報を集約し、他のポータルに表示する Web アプリケーションです。コンシューマはユーザからのリクエストを適切なプロデューサに送付し、プロデューサはそのリクエストを処理してから結果をコンシューマに送り返します。コンシューマは、さまざまなプロデューサから戻ってくる結果を集約し、最終結果をユーザに送り返します。コンシューマは、コンシューマとプロデューサ間を流れるトラフィックを区切ります。また、コンシューマは、セッション中にすべての対話が必ずその特定のユーザにプライベートな状態を維持するようにします。
注意 : コンシューマは Web アプリケーションです。特定のコンシューマに複数のデスクトップを関連付けることができます。また、1 つのエンタープライズ アプリケーションに複数のコンシューマが存在できます。
WebLogic Portal Administration Console では、プロデューサ登録のスコープは個々のコンシューマ Web アプリケーションになっています。エンタープライズ アプリケーションに複数のコンシューマ Web アプリケーションが存在する可能性があるため、エンタープライズ アプリケーション内で特定のプロデューサを複数回登録 (つまり、使用するコンシューマ Web アプリケーションごとに登録) が必要になる場合があります。
BEA の WSRP の実装は、OASIS の WSRP 標準に準拠しているだけでなく、いくつかの追加機能によってリモート ポートレットの使用に関してさらに優れた制御を可能にしています。表 1-2 は、このような機能について説明したものです。
|
|
|
|
|
|
|
|
|
|
|
|
|
図 1-2 は、エンド ユーザからコンシューマ、プロデューサに要求が渡され、応答が戻されるしくみを含めた WSRP のプロセスを示しています。
WSRP 準拠のポートレットのライフサイクルには、開発時とデプロイ時の両方の機能が含まれます。
プロデューサ (複雑なプロデューサ) 側の開発者は、JPF、JSP、JSR 168、および Struts アプリケーションを利用して、リモート ポートレットに機能を提供することができます。開発者は、アプリケーションをポートレット化し、任意の関連するプロパティをコンフィグレーションできます。この WebLogic Workshop 8.1 のバージョンで作成されるすべてのポータル プロジェクトは、デフォルトでプロデューサであるため、開発者は WSRP を意識する必要はありません。
コンシューマ側の開発者は、アプリケーションで使用可能なプロデューサを宣言します。開発者は、WebLogic Workshop のポートレット ウィザードを使用することにより、プロデューサからサービス記述ファイルに基づいてリモート ポートレットを作成することができます。コンシューマ側の開発者は、以下を実行する必要があります。
このプロセスの詳細については、WebLogic Workshop オンライン ヘルプの「リモート ポートレットを構築する」を参照してください。
プロデューサ側の場合、このバージョンの WebLogic Portal で作成されていないアプリケーションでは、以下のようにいくつか変更しなければならない点があります。
WSRP がインストールされた後のアプリケーションは、自動的にコンフィグレーションされます。
リモート ポートレットはローカル ポートレットと似ているため、コンシューマ側のデプロイメントは現在の Administration Portal のデプロイメントと同様になります。
WebLogic Portal 8.1 Service Pack 4 では、リモート ポートレットのローカライズはできません。この機能は、製品の将来のリリースで使用可能になる予定です。
![]() ![]() |
![]() |
![]() |