|
ポートレットの実装計画の一環として、WebLogic Portal で利用できる各種ポートレットを確認し、実行するタスクに適したポートレットを判断することをお勧めします。たとえば、Java コントロールとのインタフェースを取り、Struts ベースのインフラストラクチャを使用し、豊富なナビゲーション要素を提供する方法を探している場合、Java ページ フローまたは Struts ポートレットを実装します。単純なポートレットが必要な場合、または既存の JSP ページをポートレットに変換する場合は、JSP ポートレットの使用を検討します。複数のポータル ベンダ間でのポータビリティを重視する独立ソフトウェア会社などの企業では、可能な限り JSR 168 準拠の Java ポートレットを選択する必要があります。ポータルでポートレットの非同期表示を実装する場合、この章で説明するほとんどのポートレット タイプを使用できます。
この章では、判断プロセスにおいて役立つよう、各種ポートレット タイプを明確に区別します。この章の内容は以下のとおりです。
JSP ポートレットおよび HTML ポートレットは、コンテンツとして JSP ファイルまたは HTML ファイルを参照します。これらのポートレットは簡単に実装およびデプロイでき、基本的な機能を速やかに提供できます。ただしこれらのポートレットは、ビジネス ロジックとプレゼンテーション層を強制的に分離しません。アプリケーションの規模が大きくなると、Web アプリケーションを更新してコードの共有を行うときにポートレットの管理が困難になることがあります。JSP ポートレットは、高度なポートレット ナビゲーションには適していません。
ページ フロー ポートレットの一部として JSP ページを使用する場合、リクエストが WebLogic Portal スコープ要件に準拠していることを確認する必要があります。JSP ポートレットおよびページ フロー スコープの詳細については、『ポータル開発ガイド』を参照してください。
JSP ポートレットの構築手順については、「JSP ポートレットと HTML ポートレット」を参照してください。
JSR 168 (Java ポートレット) は、ポートレットとポータル間のポータビリティを確立するための Java 仕様です。仕様の主な目標の 1 つは、ポータル ベンダおよびポートレット ベンダが使用できる標準 Java API セットを定義することにあります。API は、プレゼンテーション、集約、セキュリティ、およびポートレットのライフサイクルといった領域を網羅します。
Java ポートレットは、Java クラスで指定します。このタイプのポートレットは、プラットフォーム間のポータビリティに対応していて、ポータル サーバ固有の JSP タグを必要としません。動作はサーブレットに似ています。WebLogic Portal を使用して生成される Java ポートレットは、JSR 168 をサポートする他のベンダのアプリケーション サーバ コンテナで幅広く使用できます。
Java ポートレットの構築手順については、「Java ポートレット」を参照してください。
Java ページ フロー ポートレットは、Apache Beehive ページ フローを使用してコンテンツを取得します。このポートレット タイプは、ユーザ インタフェース コードをナビゲーション コントロールや他のビジネス ロジックから分離して、単純または高度なポートレット ナビゲーションを実装できるようにします。
ポートレット アプリケーション開発で推奨されるページ フロー フレームワークは、Struts アプリケーション フレームワークの上に構築されます。Struts フレームワークは、堅牢でナビゲーション可能な Web アプリケーションを速やかに作成するために幅広く使用されている、一般的で信頼性の高い標準です。ページ フロー フレームワークは、重要なデータ バインド機能を Struts 標準に追加します。ポータル フレームワークは、ページ フロー ポートレットにスコープ機能を提供し、複数のページ フローを 1 つのポータルでサポートできるようにします。Java コントロールおよび Web サービスなどの他のリソースも使用できます。
Java ページ フロー ポートレットは、より高度な機能が必要な環境に適しています。単一ビューの静的なポートレットには適していません。
Java ページ フロー ポートレットの構築手順については、「Java ページ フロー ポートレット」を参照してください。
Struts ポートレットは、Struts フレームワークに基づいています。Struts フレームワークは、MVC (Model-View-Controller) アーキテクチャの実装です。MVC アーキテクチャは、アプリケーション ロジックの各種コンポーネントおよびロールを分離するモデルを提供します。この開発フレームワークによって、長期にわたり管理しやすいポートレットを作成できます。
通常、ネイティブの Struts 開発を行う場合は、各アクションに関連する複数のファイル、フォーム Bean、および Struts コンフィグレーション ファイルの管理および同期が必要です。これらのファイルの編集を支援するツールを使用しても、開発者は基本となる構造、オブジェクト、およびコンフィグレーションの詳細を調整する必要があります。ページ フローの実装は、より簡単な単一ファイルのプログラミング モデルを提供します。これにより開発者は、重要なコードに集中したり、全体的なアプリケーション フローの視覚的な表現を確認したり、ページ、アクション、およびフォーム Bean 間でナビゲーションを行うことができます。
新規のポータル アプリケーションを開発する場合、ページ フロー実装を使用することをお勧めします。既存の Struts アプリケーションを集約する場合は、Struts ポートレットの使用をお勧めします。
Struts ポートレットの構築手順については、「Struts ポートレット」を参照してください。
JSF (Java Server Faces) 仕様 (JSR 127) は、サーバ上で実行されてクライアントで表示および使用される Java アプリケーションの開発と保守を簡略化する、ユーザ インタフェース フレームワークを定義します。
Java Community Process Web サイトで入手できる JSF 仕様によると、JSF には以下の特徴があります。
JSF のコア アーキテクチャは特定のプロトコルおよびマークアップから独立しています。ただし JSF は、サーブレットおよび JSP (JavaServer Pages) ベースのアプリケーションをサポートする Java アプリケーション サーバと HTTP を介して通信する、HTML クライアントのアプリケーションを構築する際の一般的な問題の多くを解決することも目的としています。これらのアプリケーションは通常フォームベースで、ユーザがタスクを実行するために対話する 1 つ以上の HTML ページから構成されます。JSF は、これらのアプリケーションで発生する問題に以下のように対処します。
JSF ポートレットの構築手順については、「JSF ポートレット」を参照してください。
ブラウザ ポートレットは、外部 URL からの HTML コンテンツを表示します。ポータル プロジェクト内に含まれるデータの表示だけに限定されている他のポートレットのタイプとは違って、ブラウザ ポートレットは、ポータル プロジェクトの外部にある URL コンテンツを表示することができます。
ブラウザ ポートレットの利点は、Workshop for WebLogic ワークベンチまたは WebLogic Portal Administration Console のいずれで実装する際にも開発タスクが不要であるということです。ただし、WebLogic Portal ではこのタイプのポートレット用のコンテンツを開発するメカニズムが提供されていない点に注意してください。ポートレットの定義には、表示する外部 URL のみが含まれます。たとえば、外部コンテンツの URL を動的に変更するメカニズムは存在しません。また、ポートレット プリファレンスやポートレット モードなどもサポートされません。ブラウザ ポートレットは、リモート コンテンツとのユーザの対話を通じて URL を追跡しません。ページ更新によってポートレット定義で指定した URL のコンテンツが表示されます。
WebLogic Portal は、IFRAME を使用してブラウザ ポートレットを実装します。より高度な開発手法を使用してデフォルトの実装メカニズムをオーバーライドできます。これらの手法については、将来的に dev2dev の記事で詳しく説明します。
ブラウザ ポートレットのコンテンツはポータルから完全に接続解除されます。組み込みアプリケーションは、ポートレットのナビゲーション状態を管理する必要があります。
ブラウザ ポートレットの構築手順については、「ブラウザ ポートレット」を参照してください。
WebLogic Portal は、WSRP (Web Services for Remote Portlets) 標準をサポートしています。WSRP は、OASIS 標準機関により承認されています。この標準に準拠するように記述されたポートレットには、WSDL ポートレットの記述が含まれます。このポートレットをプロデューサ アプリケーション内でホストして、コンシューマ アプリケーションで表示できます。また、WebLogic Portal Administration Console はローカル ポータルで WSRP プロデューサ アプリケーションへのアクセスを提供します。
WebLogic Portal は WSRP リモート プロデューサまたはコンシューマとして機能します。コンシューマとして機能する場合、WebLogic Portal のリモート (プロキシ) ポートレットは WSRP 準拠となります。これらのポートレットは、WSRP 準拠のプロデューサから収集したコンテンツを表示します。これにより、ポートレット コンテンツとしてコンテンツや構造を独自に作成することなく、外部ソースを使用できます。
リモート ポートレットの設定は、結合されたポートレット環境を作成する際の基本的なタスクです。リモート ポートレットの作成タスクは、『連合ポータル ガイド』で詳しく説明されています。
表 3-1 には、各ポートレット タイプの特徴をまとめています。これによって、各タイプの長所および短所をすばやく把握できます。
|