ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド
11g リリース1 (11.1.1.6.0)
B72084-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

58 ポートレットの概要

この章では、ポートレットの概要を説明します。また、例を示して、ポートレットの使用方法を説明します。この章では、ポートレットの構造およびポートレットを作成するためのリソースを説明します。また、ニーズに最適なポートレット作成テクノロジの決定に役立つ機能、技術およびツールも説明します。

この章の内容は、次のとおりです。

58.1 ポートレットの概要

ポートレットは再利用可能なWebコンポーネントで、多数の異なるソースからコンテンツを描画できます。図58-1に、ショッピングWebサイトで利用可能な製品を示すポートレットである、製品ポートレットを示します。

図58-1 製品ポートレット

SR Demoのサービス・リクエスト・ポートレット
「図58-1 製品ポートレット」の説明

ポートレットは、複数のソースからのデータを意味のある関連した方法で提示する手段を提供します。ポートレットでは、他のWebサイトからの抜粋の表示、主要情報のサマリーの生成、検索の実行および多様なデータソースの情報を収集したコレクションへのアクセスなどを実行できます。共通のページに様々なポートレットを配置できるため、ユーザーは単一のソースとして利用できます。実際には、コンテンツは複数のソースから導出されています。

1つのポートレットが1つのインライン・フレーム(IFRAME)にレンダリングされることも、されないこともあります。インライン・フレームの場合、ドキュメントをスクロールバーと境界線を含む長方形のリージョン内に配置できます。


注意:

ポートレットとインライン・フレームの詳細は、第64.4.12項「IFRAMEに関する必要な知識」を参照してください。


このIFRAME内で、ポートレットには、HTML、書式設定したテキスト、イメージ、HTMLフォームの要素など、多くの種類のコンテンツを表示できます。

この項の内容は、次のとおりです。

58.1.1 ポートレットの構造

ポートレットの構造とは、ページ上でのポートレットの視覚的な表現です。図58-2に、Frameworkアプリケーションのページ上での典型的なポートレットの構造を示します。異なるアプリケーションに表示されたポートレットは、同一のものでも見かけが異なる可能性があることに注意してください。

図58-2 サンプルの宝くじポートレット

ポートレットの構造
「図58-2 サンプルの宝くじポートレット」の説明

ページにレンダリングされるものは、ポートレット独自のロジックばかりではなく、ポートレットをページにバインドするポートレット・タグの属性によっても制御されます。これらの属性の値は、ポートレット独自のロジックによってではなく、ポートレットを使用するアプリケーションの設計時に指定します。


注意:

adfp:portletタグの属性の詳細は、第64.4項「ポートレット・タグの属性値の設定」を参照してください。


たとえば、アプリケーションの設計時に、ポートレット・タグ属性によって、ランタイム・ポートレットにヘッダーが表示され、境界線が指定した太さと色になるように指定できます。ヘッダーには、ポートレット・タイトルと「処理」メニュー・アイコンを含めることができます。「処理」メニュー・アイコンは、ポートレット・ヘッダーが表示された場合にのみポートレット上に表示されます。ヘッダーを表示しない場合、「処理」メニューは、マウスのロールオーバーによりレンダリングされるフェードインフェードアウト・ツールバーに表示されます。

これらの要素は、ポートレット・クロムと呼ばれることがあります。ポートレット・クロムの外観は、スタイル・シートおよびadfp:portletタグのスタイル関連の属性によって制御できます。スタイル関連の属性の値は、スタイル・シート(スキン)で指定したスタイルよりも優先されます。


注意:

スキンおよびスタイル関連の属性の詳細は、第22.10項「コンポーネントへのスタイルの適用」を参照してください。


ポートレット・タグ属性により、「処理」メニューで表示コマンドを含めることも、省略することもできます。ポートレット・タグ属性によって制御される「処理」メニュー項目には、「最大化」「リストア」があります。「最大化」により、最大化されたポートレットが、表示されている他のすべてのポートレットに置き換わって表示されます。見えなくなったポートレットは、ユーザーが「リストア」を選択すれば、再び表示されます。


注意:

「最大化」属性は、ポートレットがPanelCustomizableコア・カスタマイズ可能コンポーネント内に配置される場合にのみ、ポートレットにとって意味があります。


ポートレット・タグ属性によって制御されるその他の「処理」メニュー項目には、ポートレットの開発時に指定されたモード設定の表示または省略があります。ポートレットが追加のモードを含めずに構築された場合、これらのコマンドは、ポートレット・タグ属性で表示されるように指定しても、「処理」メニューには表示されません。つまり、ポートレット・タグ属性は、ポートレット自身の組込み機能を有効または無効にする、切替えスイッチの場合があります。

「処理」メニューに表示されるモード設定には、「情報」および「ヘルプ」などのモードがあります。

ユーザーは、ポートレットの個人用ビューを変更する場合に「パーソナライズ」アイコンをクリックします。「パーソナライズ」アイコンは、認証されたユーザー(つまり、ログインしたユーザー)に対してのみ、ポートレット・ヘッダーに表示されます。パブリック・ユーザーまたは認証されていないユーザーには表示されません。ユーザーがポートレット・ビューをパーソナライズできるようにするには、なんらかの形のアプリケーション・セキュリティを実装する必要があります。


注意:

ポートレットを作成する開発者が、アプリケーション用の完全なセキュリティ・モデルを作成せずに「パーソナライズ」モードをテストする場合は、第69.12項「ポートレット・パーソナライズをテストするための基本認証の構成」を参照してください。


カスタマイズにより、アプリケーション管理者はポートレットのデフォルト設定を実行時に編集できます。ユーザー全員が、カスタマイズの結果を見ることになります。


注意:

典型的なカスタマイズ設定は「ポートレット・タイトル」です。実行時に、ポートレット管理者は、ポートレット・ヘッダーに表示するタイトルを決定できます。ポートレット・タイトルは、adfp:portletタグのtext属性を使用して、ポートレット・プロパティにより設計時に設定することもできます。ただし、設計時にtext属性に値を指定すると、実行時に「ポートレット・タイトル」のカスタマイズができないことに注意してください。

ポートレット・タグ属性の詳細は、第64.4項「ポートレット・タグの属性値の設定」を参照してください。


58.1.2 ポートレット・リソース

ポートレット・リソースには、構築済のポートレットが多数含まれています。これらのポートレットは、Oracle Portal、Oracle E-Business Suiteおよびサード・パーティのソースなどの多くのソースから、そのまますぐに使用できます。ポートレット・リソースには、WebCenter Portal: FrameworkのJSR 286 (標準準拠)やOracle PDK-Javaウィザード、その他のポートレット構築ツールを使用して構築されたプログラム的なポートレットも含まれます。これらの各ツールには、開発者の様々な役割向けの各種製品機能が用意されています。

各ツールとその利点の詳細は、第58.2項「ポートレット・テクノロジのマトリックス」を参照してください。

この項の内容は、次のとおりです。

58.1.2.1 JSFポートレット

概要

JSFポートレットは、Oracle JSF Portlet Bridgeを使用して作成されます。Oracle JSF Portlet Bridgeを使用すると、アプリケーション開発者は、既存のJSFアプリケーションおよびタスク・フローをJSR 286ポートレットとして公開できます。Oracle JSF Portlet Bridgeを使用すると、JSFアプリケーションと、Oracle PortalなどのWSRPポートレット・コンシューマの統合が簡略化されます。JSFポートレットは、「新規ギャラリ」から起動する「JSR 286 Javaポートレット・ウィザード」を使用して作成できます。

JSFポートレットには、JSFアプリケーションとは別のソース・コードは必要ありません。これらのポートレットはOracle JSF Portlet Bridgeを使用して作成されるため、メンテナンスする必要があるのは、アプリケーションとポートレットの両方に対して1つのソースのみです。同様に、JSFアプリケーションをデプロイする際には、JSFポートレットも一緒にデプロイされます。そのため、ブリッジを使用すると、アプリケーションとは別にポートレットを保存、メンテナンスおよびデプロイする必要がなくなります。

対象ユーザー

FacesおよびWSRPの知識があるアプリケーション開発者。

使用する場合

JSFポートレットは、アプリケーション開発者が、アプリケーション全体をホスティングせずに、または同様のポートレットを個別に作成せずに、JSFアプリケーションのコンテンツをポートレットとして表示する際に便利です。ポートレット化した場合、そのポートレットの消費は、プロバイダURLを使用したWSRPプロデューサの登録と同様になります。タスク・フローであるADFコンポーネントは、Oracle JSF Portlet Bridgeを使用して公開することもできます。図58-3に、2つのポートレットを示します。1つはユーザーが部門番号を入力できるもの、もう1つは指定された部門に対する従業員情報を表示するものです。これらのポートレットは、Oracle JSF Portlet Bridgeを使用したADFタスク・フローにより作成されたものです。

図58-3 JSFポートレット

図58-3の説明が続きます
「図58-3 JSFポートレット」の説明

58.1.2.2 構築済ポートレット

概要

構築済ポートレットは、オラクル社と、主要なシステム・インテグレータ、ソフトウェア・ベンダーおよびコンテンツ・プロバイダとの提携によって提供されます。これらのポートレットには、Oracle PartnerNetwork Solutions Catalog (http://solutions.oracle.comで使用可能)を検索する際に、キーワードportalまたはportletを使用することでアクセスできます。たとえば、次の目的に使用されるポートレットがあります。

  • Point-to-Point運転方向の生成

  • 広範囲なソースからのインフォメーション・テクノロジ(IT)情報へのアクセス

  • ニュース、株式および天気に関するサマリー情報の表示

対象ユーザー

開発済の、ダウンロード可能なポートレットは、WebCenter Portal: Frameworkにプロデューサをダウンロード、インストールおよび登録する方法を理解しているアプリケーション開発者に最適です。これらのポートレットは、すべての経験レベルで使用可能です。

使用する場合

構築済ポートレットは、そのポートレットが提供する機能でニーズが満たされる場合や、すぐに利用できるパーソナライズのレベルで目的のタスクを十分に完了できる場合に使用します。

異なるユーザー・インタフェースが必要な場合や希望する機能のために複雑な設定が必要な場合など、ポートレットの拡張やパーソナライズが必要なときには、別の方法を検討してください。

58.1.2.3 パラメータ・フォーム・ポートレットおよびパラメータ表示ポートレット

概要

パラメータ・フォーム・ポートレットおよびパラメータ表示ポートレットは、コンポーネント間で素早く簡単に値を渡す手段を提供します。これらはWSRPツール・プロデューサにより提供されます。

パラメータ・フォーム・ポートレットには3つの出力パラメータがあり、ポートレット内のフォームで値が送信されるときに設定されます。その後、パラメータを使用して他のポートレットのコンテンツを動作できるようになります。パラメータ・フォーム・ポートレットをカスタマイズして、要求するパラメータの数により、3つのフィールドのうち何個をフォーム上に表示させるか決定できます。

パラメータ表示ポートレットにより、パラメータ・フォーム・ポートレットからのワイヤリングを素早くテストできます。ただし、パラメータ・フォーム・ポートレットから渡された値は、たとえば天気ポートレットに郵便番号を渡したり、株価表示ポートレットに株式表示記号を渡したりするなど、通常はその他のポートレットのコンテンツを動作させるために使用します。

図58-4 パラメータ・フォーム・ポートレットおよびパラメータ表示ポートレット

図58-4の説明が続きます
「図58-4 パラメータ・フォーム・ポートレットおよびパラメータ表示ポートレット」の説明

対象ユーザー

パラメータ・フォーム・ポートレットおよびパラメータ表示ポートレットは、ページ上のポートレット間のコンテキスト・リンクを提供するアプリケーション開発者に最適です。適切な権限を持つユーザーであれば誰でも、これらのポートレットをページに追加できます。

使用する場合

パラメータ・フォーム・ポートレットおよびパラメータ表示ポートレットは、そのポートレットが提供する機能でニーズが満たされる場合や、すぐに利用できるパーソナライズのレベルで目的のタスクを十分に完了できる場合に使用します。

異なるユーザー・インタフェースが必要な場合や希望する機能のために複雑な設定が必要な場合など、ポートレットの拡張やパーソナライズが必要なときには、別の方法を検討してください。

58.1.2.4 Webクリッピング

概要

Webクリッピングは、ブラウザ・ベースの宣言型ツールで、これを使用すると、WebアプリケーションとFrameworkアプリケーションを統合できます。Webクリッピングは、Webアプリケーションの既存のユーザー・インタフェースを利用して迅速に統合できるように設計されています。Webクリッピングは、これまではPDK-Javaプロデューサとして実装されていました。

Webクリッピング・ポートレットを作成するため、Frameworkアプリケーション開発者は、Webブラウザを使用して必要なコンテンツを含むWebページにナビゲートします。アプリケーション開発者は、Webクリッピング・スタジオを使用して、ターゲット・ページのビジュアル・レンダリングをドリルダウンし、必要なコンテンツを選択できます。

Webクリッピングは次の機能をサポートします。

  • 様々なスタイルのログイン・メカニズムを介したナビゲーション。これには、フォーム・ベースとJavaScriptベースの送信、およびCookieベースのセッション管理を使用したHTTPのBasic認証とDigest認証が含まれます。

  • クリッピングのファジー・マッチング。ソース・ページ内部でのWebクリッピングの順序変更、または文字のフォント、サイズまたはスタイルの変更が行われた場合でも、Webクリッピング・エンジンでは正確に識別され、ポートレット・コンテンツとして配信されます。

  • 広範囲なWebコンテンツの再利用。これには、HTTPのGETとPOST (フォーム送信)を使用して取得された、HTML 4.0.1、JavaScript、アプレットおよびプラグイン対応コンテンツで作成されたページの基本サポートが含まれます。

  • パーソナライズ。アプリケーション開発者は、ユーザーがポートレットのパーソナライズ時に変更できる入力パラメータを公開できます。これらのパラメータは、アプリケーション開発者がページのパラメータとしてマップできるパブリック・パラメータとして公開できます。この機能により、ユーザーはパーソナライズされたクリッピングを取得できます。

  • シングル・サインオンを使用した認証済Webコンテンツの統合。これには、外部アプリケーションとの統合が含まれます。この統合によって、Oracle Single Sign-Onの利用や、認証済外部Webサイトのコンテンツのクリップが可能になります。

  • インライン・レンダリング。このレンダリングによって、Webクリッピング・ポートレットは、ポートレットのコンテキスト内にリンクを表示するように設定できます。その結果、ユーザーがWebクリッピング・ポートレット内でリンクをクリックすると、同じポートレット内に結果が表示されます。この機能は、内部および外部のWebサイトで使用できます。

  • プロキシ認証。これには、グローバルなプロキシ認証やユーザーごとの認証のサポートも含まれます。プロキシ・サーバーのレルムを指定し、すべてのユーザーが指定されたユーザー名とパスワードで自動的にログインするか、各ユーザーが個別のユーザー名とパスワードでログインするか、またはすべてのユーザーが指定されたユーザー名とパスワードでログインするかを指定できます。

  • リソース・トンネリング。イメージが対象です。

  • オープン・トランスポートAPI。クリップされたサイトに対する認証メカニズムをカスタマイズするためのAPIです。

対象ユーザー

Webクリッピングは、既存のWebページを利用してポートレットを迅速に開発するアプリケーション開発者およびコンポーネント開発者に最適です。適切な権限を持つユーザーであれば誰でも、このポートレットをページに追加できます。

使用する場合

Webクリッピングは、既存のWebページのライブ・コンテンツおよび機能に再度目的を持たせ、Frameworkアプリケーションでポートレットとして公開する場合に使用します。クリップしたポートレット内で情報の表示方法を変更する場合は、別の方法を検討してください。つまり、ユーザー・インタフェース(UI)やアプリケーション・フローを制御せずに、Webベースのアプリケーションにアクセスします。より高いレベルの制御が必要な場合は、WebクリッピングのかわりにOmniPortletのWebページ・データソースを使用してください。(詳細は、第58.1.2.5項「OmniPortlet」を参照してください。)

Webクリッピング・ポートレットの使用は、次の例のような場合に検討します。

  • 株式チャート・ポートレット。 株式市場の日次実績チャートを、自社の財務顧問のWebサイトから表示するポートレットを作成する場合。この情報は、自社でプロキシを使用している場合でも、外部Webサイトからクリップできます。

  • Webメール・ポートレット。 ユーザーがそれぞれの機密Webメール・アカウントにポートレット経由でアクセスし、そのポートレット内に表示する受信ボックスにアクセスする場合。

Webクリッピングの使用方法は、第66章「Webクリッピングを使用したコンテンツ・ベースのポートレットの作成」を参照してください。

58.1.2.5 OmniPortlet

概要

OmniPortletは、宣言型のポートレット構築ツールです。これを使用すると、XMLファイル、特定文字で値を区切ったファイル(スプレッドシートなどのCSVファイル)、Webサービス、データベース、Webページなどの多様なデータソースに対してポートレットを構築できます。OmniPortletのユーザーは、データに対して事前に作成されたレイアウトを選択することもできます。事前作成レイアウトには、表形式、ニュース、箇条書き、フォーム、チャート、HTMLがあります。HTMLレイアウトにより、OmniPortletのユーザーは独自のHTMLを作成し、データをHTMLに挿入できます。図58-5に、OmniPortletで作成されたポートレットを示します。

図58-5 製品情報ポートレット

表形式を使用したOmniPortletを表示。
「図58-5 製品情報ポートレット」の説明

Webクリッピングと同様に、OmniPortletでは、グローバルなプロキシ認証やユーザーごとの認証などのプロキシ認証をサポートします。すべてのユーザーが指定されたユーザー名とパスワードで自動的にログインするか、各ユーザーが個別のユーザー名とパスワードでログインするか、またはすべてのユーザーが指定されたユーザー名とパスワードでログインするかを指定できます。

対象ユーザー

ターゲット・データへのURLについて最小限の知識しかなく、高度なプログラミング・スキルを持たないビジネス・ユーザーにとって、OmniPortletは役に立つツールです。

使用する場合

OmniPortletは、多様なレイアウトを使用した多様なデータソースに対してポートレットを迅速に構築する場合に使用します。ポートレットの設計や機能を完全に制御する場合は、別の方法を検討してください。

OmniPortletの使用は、次の例のような場合に検討します。

  • RSSニュース・フィード・ポートレット: ユーザーに対してライブのニュース情報をスクロール表示するポートレットを作成する場合。データの発信元は、Oracle Technology Network HeadlinesなどのReally Simple Syndication (RSS)ニュース・フィードです。ニュース・ソースへのハイパーリンクを含むポートレットも必要です。

  • 販売チャート・ポートレット: 自社の販売結果に関する最新情報を表す場合。円グラフでもデータを表示します。自社の販売情報はリモートのリレーショナル・データベースに保存されます。

OmniPortletの詳細は、第65章「OmniPortletを使用したポートレットの作成」を参照してください。

58.1.2.6 プログラム的なポートレット

概要

プログラム的なポートレットとは、標準Java Portlet Specification (JPS)またはPDK-Javaのいずれかを使用して、自分自身で作成するJavaのポートレットです。WebCenter Portal: Frameworkには、規格に基づいたJSR 286ポートレットとOracle PDK-Javaポートレットの作成を簡単にするために、2つの宣言ウィザードが用意されています。これらのウィザードは、ポートレットを作成するフレームワークの構成を支援します。各ウィザードには、次の作業のための簡単な手順が含まれています。

  • 一般ポートレット・プロパティの構成

  • 名前および検索条件の指定

  • 許容コンテンツ・タイプの設定と表示モードのマッピング

  • ユーザーがカスタマイズできる設定の指定

  • セキュリティ・ロールの追加

  • デフォルト・キャッシングの有効化

  • 初期化パラメータの追加

  • パブリック・レンダラ・パラメータの追加

  • ポートレット・イベントの追加

対象ユーザー

ウィザードの使用は簡単ですが、ポートレット・ロジックを最も上手に作成するのは、Java Portlet SpecificationまたはPDK-Javaの使用に慣れていて、プロデューサの構成を理解している経験と知識が豊富なJava開発者です。

使用する場合

プログラム的なポートレットは、非常に特化したビジネス・ルールやロジックがある、またはパーソナライズした認証、動的結果の精度の高い処理、およびユーザー・インタフェースの完全な制御が必要な場合に使用します。さらに、次の条件を満たす必要のある場合、プログラム的なポートレットを使用してください。

すぐに使用できるポートレットがニーズに対応していない場合は、プログラム的なこのポートレットの使用を検討してください。

次のリストは、プログラム的なポートレットの使用を検討できる2つの場合の例を示しています。

  • 写真アルバム・ポートレット: ユーザーの写真のアップロード、格納および表示を容易にするポートレットを作成する場合。

  • ショッピング・カート・ポートレット: 企業のブランドが付いた商品(マウス・パッド、ペン、フラッシュ・ドライブ、Tシャツなど)の表示および購入を容易にするポートレットを作成する場合。

プログラム的なポートレットの使用方法の詳細は、第60章「ポートレット・ウィザードを使用したポートレットの作成」および第61章「ポートレットのコーディング」を参照してください。

58.1.2.7 使用するツールの決定

図58-6に、前項で説明したポートレット・リソースの範囲を示します。範囲の片方は、宣言に重点を置いた開発環境(つまり、ウィザードによる開発)向けで、もう片方はハンドコーディングに重点を置いています。どのタイプの環境が自身のスキルにとって最も使用しやすく適しているかによって、ツールを選択できます。

使用するツールの決定方法は、第58.2項「ポートレット・テクノロジのマトリックス」を参照してください。

図58-6 宣言型開発からコードによる開発までのポートレット・リソース

ポートレット・リソースの範囲を表示。
「図58-6 宣言型開発からコードによる開発までのポートレット・リソース」の説明

58.1.3 ポートレット・モード

ポートレット・モードは、ユーザーに表示するランタイム機能を示します。WebCenter Portalでサポートされる標準モードについては、次の各項で説明しています。

WebCenter Portalではサポート対象の一連の拡張モードを定義します。JSR 286とPDK-Javaの両方のポートレットで様々なモードが使用可能です。たとえば、JSR 286 Javaポートレットの作成ウィザードには「印刷」モードがあり、これを使用してポートレットの印刷用のバージョンを提供できます。

ポートレットをJSR 286に従ってコーディングする場合は、portlet.xmlファイルで独自のカスタム・ポートレット・モードを宣言することもできます。これらを使用してPDK-Javaが提供する追加のモード(たとえば、「全画面モード」)にマップすることも、提供するその他の機能に対応することもできます。

カスタム・モードの定義は、特に、ポートレットを他のベンダーのポータル実装と相互運用する場合に役立ちます。どのカスタム・モードでもユーザーに提供できます。実際には、デフォルトの編集など、いくつかのモードを提供することをお薦めします。


注意:

サード・パーティ製品には、プロデューサが提供できる独自の拡張モード・セット(JSR 286カスタム・モード)がある場合もあります。Frameworkアプリケーションでは、ポートレット用のクロムUIには、WebCenter Portal: Frameworkで定義されたカスタム・モードのみが表示されます。サード・パーティやカスタム・ポートレット・プロデューサが提供する任意のカスタム・モードは無視されるため、サポートされません。


58.1.3.1 表示モード

ポートレットは表示モード(PDK-Javaでは共有画面モードと呼ばれます)を使用して、他のポートレットと同じページに表示されます。ポートレットといえば、ほとんどの人がこのモードを思い浮かべます。JSR 286ポートレットには表示モードが必要で、その他はオプションです。

表示モードの実装方法のガイドラインは、第61.1.1.1項「表示モードのガイドライン」を参照してください。

58.1.3.2 編集モード

ポートレットは編集モードを備えており、これによってユーザーはポートレットの動作をパーソナライズできます。パーソナライズは実行したユーザーにのみ表示され、他のユーザーには表示されません。編集モードには設定のリストがあり、ユーザーはその設定を変更できます。設定には、タイトル、コンテンツの種類、書式、情報量、フォーム要素のデフォルト、およびポートレットの外観や内容に影響するあらゆる要素が含まれます。

ユーザーは通常、ポートレットのオプションのドロップダウン・リストから「パーソナライズ」を選択して、ポートレットの編集モードにアクセスします。「パーソナライズ」を選択すると、同じブラウザ・ウィンドウに新しいページが表示されます。このポートレットは、通常、ポートレットの設定を選択するダイアログを表すWebページを作成します。設定を適用すると、自動的に元のページに戻ります。

編集モードの実装方法のガイドラインは、第61.1.1.2項「編集モードのガイドライン」を参照してください。

58.1.3.3 デフォルト編集モード

ポートレットはデフォルト編集モードを備えており、管理者はこのモードを使用して、特定のポートレット・インスタンスのデフォルト動作をカスタマイズできます。デフォルト編集モードには設定のリストがあり、アプリケーション開発者はその設定を変更できます。設定には、タイトル、コンテンツの種類、書式、情報量、フォーム要素のデフォルト、およびポートレットの外観や内容に影響するあらゆる要素が含まれます。

これらのデフォルトのパーソナライズ設定によって、個々のポートレットの外観とコンテンツをすべてのユーザーに対して変更できます。デフォルト編集モードは、ポートレットの表示内容と表示形式に対してシステム・レベルのデフォルトを定義するためのモードであるため、このモードを管理ツールとして使用したり、他のポートレットの管理に使用したりすることは避けてください。

管理者は、ページの編集時に、ポートレットのドロップダウン・リストから「カスタマイズ」を選択して、デフォルト編集モードにアクセスします。

ユーザーが「カスタマイズ」アイコンをクリックすると、同じブラウザ・ウィンドウにポートレットが表示されます。このポートレットは、通常、ポートレット・インスタンスの設定をパーソナライズするダイアログを表すWebページを作成します。設定を適用すると、ユーザーは自動的に元のページに戻されます。

デフォルト編集モードの実装方法のガイドラインは、第61.1.1.3項「デフォルト編集モードのガイドライン」を参照してください。

58.1.3.4 ヘルプ・モード

ポートレットは、ヘルプ・モードを使用して、そのポートレットの機能と使用方法に関する情報を表示します。ユーザーはこのモードで、ポートレットおよびそのコンテンツと機能に関する有用な情報を検索できます。

ユーザーは、ポートレットで「ヘルプ」アクションを選択することで、ポートレットのヘルプ・モードにアクセスします。

ヘルプ・モードの実装方法のガイドラインは、第61.1.1.4項「ヘルプ・モードのガイドライン」を参照してください。

58.1.3.5 情報モード

ユーザーは、実行中のポートレットのバージョン、発行と著作権の情報、および作者への連絡方法を参照できる必要があります。登録が必要なポートレットは、このモードからWebベースのアプリケーションまたは連絡先情報にリンクできます。

ユーザーは、ポートレットのクロムのドロップダウン・リストから「情報」を選択して、ポートレットの情報モードにアクセスします。同じブラウザ・ウィンドウに新しいページが表示されます。この新しいページにコンテンツを生成するか、またはユーザーを既存のページやアプリケーションに移動させることができます。

情報モードの実装方法のガイドラインは、第61.1.1.5項「情報モードのガイドライン」を参照してください。

58.2 ポートレット・テクノロジのマトリックス

表58-1に、Oracle WebCenter Portal: Frameworkで使用可能なテクノロジおよびツールをまとめます。このマトリックスでは、Oracle JSF Portlet Bridge、OmniPortlet、Webクリッピング・ポートレット、および規格に基づいた(JSR 286)ポートレットやPDK-Javaポートレットを含むプログラム的なポートレットなど、このガイドで詳細に取り上げるツールやテクノロジについて説明しています。


注意:

これらはポートレットを構築するための主なツールですが、Oracle ReportsやOracle BI Discovererを含むその他のOracle製品など、別のツールやテクノロジもあります。これらのツールについては、このガイドでは説明しません。


表58-1で様々なポートレット構築テクノロジの機能と特性すべてに簡単に目を通した後、後続の項で詳細情報を参照してください。

表58-1 ポートレット構築テクノロジの比較マトリックス

JSFポートレット Webクリッピング OmniPortlet 規格に基づいたまたはPDK-Javaのプログラム的ポートレット

一般的な適性





Oracle JSF Portlet Bridgeは、JSFおよびADFアーティファクトをJSR 286ポートレットとして公開します。

ブラウザからアクセス可能な単純なウィザード・ベースのツール。他のWebサイトのWebコンテンツをFrameworkアプリケーション内に取得して表示する際に役立ちます。

ブラウザからアクセス可能なウィザード・ベースのツール。広範なデータソースからデータを取得して表示する際に役立ちます。

PDK-Javaでは、FrameworkアプリケーションおよびOracle Portalで使用するポートレット作成用に、Oracle固有のアプリケーション・プログラミング・インタフェース(API)を提供しています。

規格に基づいたポートレットは、他のベンダーのポータルでも動作します。WebCenter Portal: Frameworkでは、WSRP標準とJSR 286標準の両方をサポートします。

必要な専門知識





専門知識は不要。

専門知識は不要。

サポートされる1つ以上のデータソース、およびポートレットとページ・パラメータの概念に関する基本的な理解。

Java、サーブレット、JSPの知識。

サポートされるデータソース

(詳細は、第58.2.2項「必要な専門知識」を参照)




制限なし。

ネットワーク上でHTTPまたはHTTPSを介してアクセス可能なすべてのWebサイト。

CSV、XML、Webサービス、SQL、Webサイト、JCA。

制限なし。

デプロイ・タイプ





Oracle JDeveloperを使用したWSRPプロデューサまたは手動。

PDK-Javaプロデューサ

PDK-Javaプロデューサ

PDK-JavaではPDK-Javaプロデューサを使用します。

規格に基づいたポートレットではWSRPプロデューサを使用します。

キャッシュ・スタイル





有効期限ベースのキャッシュ、有効化ベースのキャッシュ(パーソナライズ時に自動的に無効化)。

有効期限ベースのキャッシュ、有効化ベースのキャッシュ(パーソナライズ時に自動的に無効化)。

有効期限ベースのキャッシュ、有効化ベースのキャッシュ(パーソナライズ時に自動的に無効化)。

有効期限ベースのキャッシュ、有効化ベースのキャッシュ、無効化ベースのキャッシュ、Edge Side Includes。

注意: JSR 286では有効化ベースのキャッシュをサポートしません。WSRP 1.0ではサポートします。純粋なWSRPポートレットを使用する場合は、有効化ベースのキャッシュもサポートされます。WSRPで(WebCenter Portal: Frameworkで行われるのと同様に) JSRポートレットをホスティングする場合、有効化ベースのキャッシュはサポートされません。

開発ツール





Oracle JDeveloperのOracle JSF Portlet Bridge/「JSFポートレット化」ダイアログ。

ブラウザ - ウィザード。

ブラウザ - ウィザード。

Oracle JDeveloper - Javaポートレット・ウィザード(または他のJava開発環境)。

ポートレット作成スタイル





先にJSFアプリケーションを開発してからJSFポートレットに変換します。

実行時に設計。

実行時に設計。

開発後に追加します。

ユーザー・インタフェースの柔軟性





柔軟性が高い。

適用外。

柔軟性が高い。HTMLレイアウトを使用します。

柔軟性が高い。

Webサイトからコンテンツを取得する機能




なし。

ポートレット化するアプリケーションにより異なります。

あり。これが本来の機能です。

あり。Webページ・データソースを使用します。

あり。

PDK-Javaの場合、oracle.portal.provider.v2.*パッケージを使用します。

規格に基づいたポートレットの場合、java.netパッケージを使用します。

コンテンツをインラインでレンダリングする機能




あり。

あり

なし。ただし、インライン・レンダリングは、パブリック・ポートレット・パラメータを使用して実現できます。

あり。

PDK-Javaの場合、プライベート・ポートレット・パラメータを使用します。

規格に基づいたポートレットには、PortletContext.getRequestDispatcher()メソッドを使用するサーブレットとJSPが含まれています。

チャート作成機能




なし。

なし

あり。2Dチャートと3Dチャート。

あり。BI Beanを使用します。

パブリック・ポートレット・パラメータのサポート




あり

あり

あり

あり

プライベート・ポートレット・パラメータのサポート




あり

なし

なし

あり

ユーザー権限に基づいてポートレットの表示/非表示を切り替える機能




あり。

なし。ただし、ユーザー・インタフェース(UI)を介して公開されないセキュリティ・マネージャの適用が可能です。

なし。ただし、UIを介して公開されないセキュリティ・マネージャの適用が可能です。

あり。

PDK-Javaの場合、セキュリティ・マネージャを使用します。

規格に基づいたポートレットの場合、サーブレット・セキュリティ・モデルは、PortletRequest.isUserInRole()PortletRequest.getUserPrincipal()などのメソッドを使用してサポートされます。

多言語サポート





あり。

適用外。

あり

あり

ページ区切りサポート





あり。

適用外。

なし

プログラム的には、あり。

外部アプリケーションに対する認証





カスタム・ユーザー属性を使用します。

外部アプリケーション統合がサポートされます。

Basic認証は、データソースに認証が必要な場合にサポートされます。

PDK-Javaポートレットの場合、外部アプリケーション統合がサポートされます。LDAP統合は、ポートレットがLDAPサーバーと同じファイアウォールの内側で実行される場合にサポートされます。

規格に基づいたポートレットの場合、特にサポートされていませんが、カスタム・ユーザー属性を使用すれば、外部アプリケーション・サポートが実現可能です。LDAP統合がサポートされます。


この章の以降の部分は次の項で構成されており、様々なポートレット構築テクノロジについてより詳細に説明しています。

58.2.1 一般的な適性

この項では、各ポートレット構築テクノロジをその用途の特性(ウィザード・ベースまたはプログラムなど)の観点から説明します。

JSFポートレット

Oracle JSF Portlet Bridgeはダイアログ・ベースのツールで、ページ開発者は、既存のJSFアプリケーションおよびタスク・フローをJSR 286ポートレットとして公開できます。Oracle JSF Portlet Bridgeを使用して、JSFアプリケーションからJSFポートレットを作成するには、専門知識は必要ありません。

Webクリッピング

Webクリッピングは、単純なウィザード・ベースのツールで、他のWebサイトのWebコンテンツをFrameworkアプリケーション内に取得して表示する際に役立ちます。Webクリッピングには、専門知識は必要ありません。

Webクリッピングを使用して構築できるポートレットの例

Webクリッピングを使用して構築できるポートレットの例は、次のとおりです。

  • 株式チャート・ポートレット

  • Webメール・ポートレット

  • 既存のWebサイトの動的コンテンツを含むニュース・ポートレット

OmniPortlet

OmniPortletは、広範なデータソースの情報を様々な形式で表示するための簡便なウィザード・ベースのツールです。OmniPortletは、ブラウザで完全に稼働します。OmniPortletをページ上にドロップし、「定義」リンクをクリックして、データソースと表示形式を選択します。次のような広範なデータソースから選択します。

  • スプレッドシート

  • SQL

  • XML

  • Webサービス

  • Webページ

OmniPortletには、追加の開発ツールの使用や高度な専門知識は必要ありません。それでも、OmniPortletは、再利用可能で高性能のポートレットの構築に使用できます。

OmniPortletを使用して構築できるポートレットの例

OmniPortletを使用して構築できるポートレットの例は、次のとおりです。

  • RSSニュース・フィード・ポートレット

  • 販売チャート・ポートレット

プログラム的なポートレット

ウィザード・ベースのポートレット構築ツールではニーズが満たされない場合は、Javaを使用してプログラムでポートレットを構築できます。2003年に、JavaポートレットAPIがJava Community Processによって標準化されました。Java Specification Request (JSR) 286標準に準拠して構築されたポートレットは、異なるポータル・プラットフォーム間で相互運用できます。Java Portletウィザードは、WebCenter Portal: Frameworkを介して使用できるツールで、Javaポートレットの構築に役立ちます。


注意:

Javaでポートレットを構築する場合は、ポートレットの機能を完全に制御できます。たとえば、外観や動作方法を制御できます。


Javaを使用して構築できるポートレットの例

Javaを使用して構築できるポートレットの例は、次のとおりです。

  • ディスカッション・フォーラム・ポートレット

  • 電子メール・ポートレット

58.2.2 必要な専門知識

ポートレット構築ツールでは、ポートレットの開発技能を必要としない場合も、高度な専門知識があることを前提としている場合もあります。この項では、ポートレット構築ツールを、それぞれのツールを効果的に使用するために必要な知識レベルの観点から説明します。

JSFポートレット

Oracle JSF Portlet Bridgeには、専門知識は必要ありません。ただし、FacesおよびWSRPの知識が必要です。

Webクリッピング

Webクリッピングには、専門知識は必要ありません。ただし、クリップしたWebページのコンテンツをパラメータ化するには、パブリック・ポートレット・パラメータおよびページ・パラメータを理解している必要があります。

OmniPortlet

OmniPortletでは、ポートレット内で利用するデータソースに関する基本的な知識が必要です。表58-2では、OmniPortletで使用できるデータソースのタイプと、各タイプを処理するために必要な情報の種類について説明しています。

表58-2 OmniPortletデータソース

データソース 必要な情報

スプレッドシート

ポートレットに表示するデータが含まれたスプレッドシートを指すURL。

SQL

データソースへの接続情報およびデータベースからデータを取得するSQL問合せ。

XML

XMLソースの位置、必要に応じてXSLフィルタおよびXMLスキーマのアドレス。

Webサービス

Web Services Description Language (WSDL) URL、Webサービスのメソッド、および必要に応じてXSLフィルタのURLとXMLスキーマのURL。

Webページ

Webページ・データソースは、Webクリッピングと同じ環境で使用されます。したがって、専門知識は不要です。

J2EE Connector Architecture

OmniPortletウィザードの「タイプ」ページには表示されませんが、J2EE Connector Architecture (JCA) 1.0アダプタも使用できます。JCAでは、ERPシステム(Oracle Financials、SAP、PeopleSoftなど)に保持されている企業データを格納および取得するためのメカニズムが提供されます。


プログラム的なポートレット

Javaポートレットを構築するには、少なくともJava EEのサブセットに関する知識が必要です。HTML、JavaサーブレットおよびXMLに関する知識が必須ですが、JSPの経験も役立ちます。実行するタスクによって、Javaに関するその他の知識が必要になる場合もあります。Javaポートレットを使用すると、(Java言語でサポートされている)すべてのデータソースにアクセスできます。

58.2.3 デプロイ・タイプ

アプリケーションでポートレットを使用できるようにするには、まずポートレットをデプロイし、ポートレットをデプロイしたプロデューサを登録します。図58-7に示すように、ポートレットは、次の2つのプロデューサ・タイプを介してデプロイできます。

  • PDK-Javaプロデューサ

  • WSRPプロデューサ

WSRP内では、バージョン1.0および2.0がサポートされます。

PDK-Javaポートレットは、Java EEアプリケーション・サーバーにデプロイされます。このサーバーは多くの場合リモートで、HTTPを介したSimple Object Access Protocol (SOAP)を使用してコンシューマと通信します。JSR 286ポートレットは、WSRPプロデューサにデプロイされます。WSRPプロデューサもリモートで、WSRP (Web Services for Remote Portlets)を介してコンシューマと通信します。JSFポートレットは、JSR 286ポートレットとしてデプロイされます。つまり、WSRPプロデューサに、Oracle JDeveloperを使用するか、手動でデプロイされます。

図58-7 ポートレット・プロデューサの概要

ポートレット・プロバイダを表示。
「図58-7 ポートレット・プロデューサの概要」の説明

58.2.3.1 PDK-Javaプロデューサ

PDK-Javaプロデューサは、デプロイ、定義およびアプリケーションとの通信に関し、XML、SOAP、HTTPまたはJava EEなどのオープン標準を使用します。図58-8は、Oracle PortalがPDK-Javaプロデューサからポートレットを組み込み、PDK-JavaプロデューサがHTTPを介してSOAPを使用し、Frameworkアプリケーションと通信する様子を示しています。

図58-8 PDK-Javaプロデューサ

PDK-Javaププロバイダを表示。
「図58-8 PDK-Javaプロデューサ」の説明

ポートレットを開発し、PDK-Javaを介して公開することには、次のような利点があります。

  • ポートレットをリモートでデプロイします。

  • 既存のWebアプリケーション・コードを利用してポートレットを作成します。

  • 宣言によってプロデューサを指定できます。

  • 標準のJavaテクノロジ(サーブレットやJSPなど)を使用してポートレットを開発できます。

開発したポートレットをPDK-Javaプロデューサを使用して公開するには、まずポートレットを管理し、SOAPを使用してWebCenter Portal: Frameworkと通信するプロデューサを作成する必要があります。PDK-Javaプロデューサを使用してポートレットを公開する方法の詳細は、第60.2項「Javaポートレットの作成」を参照してください。

58.2.3.2 WSRPプロデューサ

WebCenter Portalでは、Web Services for Remote Portlets (WSRP)リリース1.0および2.0をサポートします。この新しい標準では、ポートレット間の通信、およびポートレット・カスタマイズのエクスポートまたはインポートをサポートします。

プロデューサ登録ウィザードは、WSRP 1.0および2.0の両方のプロデューサを登録するための入口です。ウィザードでは、WSRP 1.0または2.0のいずれが動作しているのかを自動的に認識します。

構造上、WSRPプロデューサは、PDK-Javaプロデューサに非常によく似ています。WSRPは、Frameworkアプリケーション・サーバーとポートレット・コンテナ間の通信プロトコルです。ユーザーを対象とした視覚的なWebサービスを、中間Webアプリケーションにプラグ・アンド・プレイできるようにするWebサービスの標準です。

その標準性により、特定の言語(JSR 286、.NET、Perlなど)をベースとする標準対応のコンテナと任意のWSRPポータル間の相互運用が可能です。このため、WSRP対応のコンテナにデプロイされたポートレットは、その言語に関係なく、この標準をサポートするあらゆるアプリケーション上にレンダリングできます。


注意:

WSRPアーキテクチャの詳細は、第60章「ポートレット・ウィザードを使用したポートレットの作成」「WSRPとJSR 286の関連」を参照してください。


標準のポートレット(JSR 286、.NET、Perlなど)をFrameworkアプリケーションで使用できるようにするには、それらを1つのポートレット・プロデューサ・アプリケーションにパッケージ化し、WSRPコンテナにデプロイする必要があります。

ポートレットをWSRPコンテナにパッケージ化する方法については、第62章「ポートレットのテストとデプロイ」を参照してください。

58.2.3.3 プロデューサのアーキテクチャ

図58-9は、ポートレット・プロデューサの基本的なアーキテクチャを示しています。

図58-9 プロデューサのアーキテクチャ

プロバイダのアーキテクチャを表示。
「図58-9 プロデューサのアーキテクチャ」の説明

ユーザーがWebブラウザでページを表示するとき、リクエストの流れは次のようになります。

  1. ユーザーは、Webブラウザのアドレス・フィールドにURLを入力することで、Webブラウザからページをリクエストします。

  2. ブラウザは、HTTPを介してリクエストをアプリケーションに送信します。

  3. アプリケーションは、リクエストされたページで表示されているポートレットを提供するポートレット・プロデューサと通信します。

  4. プロデューサは、ポートレットがHTMLコードまたはXMLコード形式のポートレット・コンテンツを生成するように、それぞれのポートレットに対して必要なコールを実行します。

  5. プロデューサは、ポートレットのコンテンツを適切なプロトコルを使用してアプリケーションに戻します。

    • JSR 286ポートレットおよびJSFポートレットは、WSRP 1.0または2.0プロトコルを使用して通信するWSRPプロデューサによって初期化されます。

    • PDK-Javaポートレットは、HTTPを介しSOAPを使用して通信するPDK-Javaプロデューサによって初期化されます。

JSFポートレット、Webクリッピング、OmniPortletおよびJavaポートレットは、WSRPまたはPDK-Javaプロデューサのいずれかを介して、WebCenter Portal: Frameworkと通信します。これらのプロデューサをWebCenter Portal: Frameworkに登録しなければ、プロデューサが作成するポートレットをFrameworkアプリケーションで使用できません。

WebクリッピングおよびOmniPortletの最新バージョンは、Application Development Runtime Service (ADRS)を介して入手できます。詳細は、第3.4項「統合WebLogic Serverの使用」を参照してください。

58.2.4 キャッシュ・スタイル

ポートレット・キャッシュは、ユーザー・リクエストに対して迅速にレスポンスするための鍵です。ポートレットは、Java Object Cacheを使用して、有効化ベースおよび有効期限ベースのキャッシュを実装します。無効化ベースのキャッシュは、Webクリッピング・ポートレットおよびOmniPortletを実行するPDK-Javaプロデューサに対応するWebキャッシュによって引き続き実装されます。

キャッシュ・ルールは、ポートレットのコンテナ・レベルで指定でき、ポートレット独自のロジックでエンコードするか、JSR 286ポートレットの場合は、ポートレット・ウィザードを介して設定できます。ルールが指定されているとすると、キャッシュがポートレット・コードに含まれていない場合は、コンテナ・レベルのキャッシュが引き継ぎます。

アプリケーション・レベルでは、WebCenter Portal: Frameworkにより、アプリケーション・レベルのキャッシュ・ルールの設定に対するJavaキャッシュの使用がサポートされます。

キャッシュを使用せずに、WebクリッピングおよびOmniPortletで様々なデータソースにアクセスすると、時間がかかる場合があります。アプリケーション・レベルでキャッシュを有効にする場合、Javaキャッシュにポートレット・コンテンツのコピーを保持するように指示します。以前にキャッシュされたデータがリクエストされると、データソースとの通信やそのコンテンツの再生に時間がかかりません。かわりに、以前にキャッシュされたポートレット・コンテンツが戻されます。

ポートレットが使用すべきキャッシュのタイプの判断では、ポートレットのコンテンツが重視されます。次に例を示します。

  • 有効期限ベースのキャッシュ: ポートレット・コンテンツが静的である場合、またはコンテンツの表示が最新であることが重要でない場合は、有効期限ベースのキャッシュの使用を検討します。有効期限ベースのキャッシュを使用する場合は、キャッシュ期間を指定する必要があります。

  • 有効化ベースのキャッシュ: 頻繁な変更または予測不可能な変更がある動的コンテンツを含むポートレットの場合は、有効化ベースのキャッシュの使用を検討します。ポートレットは、コンテンツをキャッシュ・キーに関連付け、そのキーの値をコンテンツとともに戻します。ポートレット・コンテンツがリクエストされると、ポートレットは、キャッシュ・キーに基づいて、現在のコンテンツが有効かどうかを判断します。ポートレット・コンテンツが有効な場合は、キャッシュされたコンテンツを使用できる(つまり、コンテンツが有効である)ことを示すレスポンスを戻します。有効でない場合は、新しいポートレット・コンテンツを生成し、そのコンテンツの新しいキャッシュ・キーとともに戻します。

JSFポートレット

Oracle JSF Portlet Bridgeでは、有効期間および有効化ベースのキャッシュがサポートされています。JSFポートレットは、全部をキャッシュすることも、Edge Side Includes (ESI)を使用してポートレットのフラグメントをキャッシュすることもできます。

WebクリッピングおよびOmniPortlet

無効化ベースのキャッシュの他に、Webクリッピング・ポートレットおよびOmniPortletには有効期限ベースのキャッシュも指定できます。さらに、これらのポートレットは、パーソナライズ時には自動的にリフレッシュされます。

プログラム的なポートレット

Javaポートレットでは、有効期間および有効化ベースのキャッシュがサポートされています。これらのポートレットは、全部をキャッシュすることも、Edge Side Includes (ESI)を使用してポートレットのフラグメントをキャッシュすることもできます。

58.2.5 開発ツール

この項では、様々なタイプのポートレットを構築するために使用できる開発ツールについて説明します。

JSFポートレット

Oracle JSF Portlet Bridge/「JSFポートレット化」ダイアログは、ページまたはタスク・フローに基づいてJSFポートレットを作成する際に使用します。

WebクリッピングおよびOmniPortlet

OmniPortletおよびWebクリッピングでは、ブラウザ・ベースのウィザードを開発ツールとして使用します。

プログラム的なポートレット

Javaポートレットの構築には任意のJava開発環境を使用できますが、プロフェッショナルなIDEであるOracle JDeveloperを使用することをお薦めします。他のIDEも検討できますが、Oracle JDeveloperにはJavaポートレット・ウィザードが含まれているため、Javaポートレットの開発作業を最小限にできます。

Javaポートレット・ウィザードでは、JSR 286とPDK-Javaの両方のポートレットに対する開始用のスケルトンおよびファイル構造が生成されます。スケルトンに追加する必要があるのは、独自のビジネス・ロジックのみです。Oracle JDeveloperでは、アプリケーションをパッケージ化してJava EEコンテナにデプロイすることもできます。ポートレット・プロデューサのテストにも使用できます。WebCenter Portal: Frameworkで提供されている統合WLSを、開発Javaポートレットのランタイム環境として使用することをお薦めします。詳細は、第3章「開発環境の準備」を参照してください。

58.2.6 ポートレット作成スタイル

WebCenter Portal: Frameworkでは、次のタイプのポートレット作成をサポートします(図58-10)。

  • 開発後に追加

  • 実行時に設計

開発後に追加するポートレット作成は、通常ポートレット開発者の仕事で、実行時に設計ポートレット作成は、アプリケーション開発者の担当です。

図58-10 ポートレット作成スタイル

ポートレット作成スタイルを表示。
「図58-10 ポートレット作成スタイル」の説明

JSFポートレット

まず、JSFアプリケーションを開発し、「JSFポートレット化」ダイアログを使用して設計時にアプリケーションをポートレット化します。

OmniPortletおよびWebクリッピング

OmniPortletとWebクリッピングはどちらも、「実行時に設計」ポートレット作成スタイルを提供します。ポートレットを使用するアプリケーションにポートレット・プロデューサを登録し、ポートレットをアプリケーション・ページに追加し、アプリケーションを実行してから、ページ上で配置済のポートレットを定義します。

プログラム的なポートレット

通常のプログラム的なポートレットでは、開発後に追加のポートレット作成スタイルを提供します。WebCenter Portal: Frameworkを介して、Oracle PDK-JavaポートレットとJSR 286ポートレットの作成に役立つ2つのウィザードを使用できます。ウィザードでは、ポートレット作成に必要な基本ファイルが生成されます。開発者はポートレット・ロジックをハンドコーディングします。プログラム的なポートレットの開発順序は、ポートレットを作成し、それをプロデューサにデプロイし、ポートレットを使用するアプリケーションにプロデューサを登録してから、ポートレットをアプリケーション・ページに追加します。


注意:

拡張コーディングにより、「実行時に設計」Javaポートレットを作成できます。たとえば、WebクリッピングおよびOmniPortletは、ともにJavaポートレットです。


58.2.7 ユーザー・インタフェースの柔軟性

この項では、ポートレット構築ツールをユーザー・インタフェースの制御の観点から説明します。

JSFポートレット

Oracle JSF Portlet Bridgeを使用すると、ポートレット化されたJSFアプリケーションは、JSFポートレットとして機能します。

Webクリッピング

Webクリッピングでは、その本来の機能により、常にリモートWebサイトのコンテンツが表示されます。したがって、UIの柔軟性はこのポートレットの要件ではありません。

OmniPortlet

OmniPortletでは、スクロール・ニュース、表、チャートなど、異なるビルトイン・レイアウトを使用できます。また、このビルトインのHTMLレイアウトを使用して、HTMLおよびJavaScriptを使用するポートレットのルック・アンド・フィールをパーソナライズすることもできます。


注意:

ポートレットでJavaScriptを使用する場合、開発者はJavaScript識別子が修飾されていることを確認する必要があります。つまり、識別子はポートレット・インスタンスごとに一意であり、ページ上のJavaScriptと競合しないことが要求されます。


プログラム的なポートレット

Javaポートレットでは、ポートレットのユーザー・インタフェースを完全に制御できます。ポートレットでは、ページのレンダリング・ルールに準拠しているHTMLコンテンツを自由に生成できます。

58.2.8 Webサイトからコンテンツを取得する機能

この項では、ポートレット構築ツールを、他のソースからコンテンツを組み込む機能の観点から説明します。

JSFポートレット

Webサイトからコンテンツを取得するOracle JSF Portlet Bridgeの機能は、ポートレット化するJSFアプリケーションにより異なります。

Webクリッピング

リモートWebサイトのコンテンツをソースの場所で表示されているとおりに表示するポートレットの場合、使用する最適のツールはWebクリッピングです。Webクリッピングでは、ソースHTMLページの変更をある程度許容できます。クリップされた表がソース・ページ内のある場所から別の場所に移動した場合、Webクリッピング・エンジンは、内部の「ファジー・マッチ」アルゴリズムを使用してその表を再度検出できます。Webクリッピングで構築されたポートレットでは、リモートWebサイトへのセッションも管理できます。また、Webクリッピングでは、ユーザーによるHTMLフォーム値のパーソナライズがサポートされています。

OmniPortlet

リモートWebサイトのデータは使用するがレイアウトは使用しないポートレットの場合、OmniPortletが最適です。OmniPortletを使用して、データを取得、処理し(書式設定、フィルタ処理など)、表、チャートまたはニュース形式でポートレットに表示します。OmniPortletは、WebページのデータをそのWebページ・データソースを使用して抽出する強力なツールです。

プログラム的なポートレット

Javaポートレットでは、低レベルのJavaネットワーキングAPIを利用して、リモートWebサイトのコンテンツを取得し、処理できます。不必要な開発作業を避けるために、WebクリッピングまたはOmniPortletが実用的な選択肢でないことを必ず確認してから、Javaを選択してください。

58.2.9 コンテンツをインラインでレンダリングする機能

ユーザーは、リンクまたはフォームのボタンなど、ポートレット内のアクティブ要素を使用してリモートURLにナビゲートできます。ニュース・ポートレットでは、たとえば、ユーザーはハイパーリンクをクリックして、興味のあるニュースの詳細情報があるニュース・サイトにナビゲートできます。たとえば、ユーザーはニュース・ポートレットでニュース・サマリーのリンクをクリックし、アプリケーション・ページを離れ、そのニュース・サイトに移動します。

リクエストされたコンテンツを同じポートレット・コンテナ内にレンダリングすることで、ユーザーをアプリケーション・ページのコンテキスト内に留まらせることが必要な場合があります。たとえば、ユーザーがニュース・ポートレットでニュース・サマリーのリンクをクリックすると、ポートレットは詳細なニュース記事でリフレッシュされます。

コンテンツのインラインでのレンダリングの目的は、このコンテキストの持続です。

JSFポートレット

Oracle JSF Portlet Bridgeは、ページが複数あるJSFアプリケーションをJSFポートレットに変換します。これらのページのコンテンツは、インラインでレンダリングされます。

Webクリッピング

Webクリッピング・ポートレットでは、インライン・コンテンツのレンダリングを実現するためにURLリライティングがサポートされています。その結果、ソースWebサイトを起点とするリンクを処理し、そのリンクをリライトすることで、目的の機能を実現できます。

次のオプションがあります。

  • ポートレット内のURLをリライトしないように選択します。この場合、リンクをクリックすると、ユーザーはFrameworkアプリケーションを離れ、クリッピングを提供しているWebサイトに移動します。リンクを使用して認証の必要な場所へ移動した場合、ユーザーはリンク・ターゲットが表示される前に、ログイン情報を入力する必要があります。

  • Webクリッピング・プロバイダを外部アプリケーションに登録して、クリッピングに認証が必要な場合には、ポートレット内のすべてのURLがログイン・サーバーを指すようにリライトすることをWebクリッピングに指示できます。この場合、ナビゲーションによりユーザーがFrameworkアプリケーションを離れる一方で、ログイン・サーバーを使用してブラウザを外部アプリケーションに接続します。

  • ポートレット内のすべてのURLが元のページを指すようにポートレット内のすべてのURLをリライトすること(インライン・レンダリング)を選択します。この場合、Webクリッピング・ポートレット内でのブラウズはすべてFramework内に留まります。外部アプリケーションにWebクリッピング・プロバイダを登録すると、Webクリッピング・プロバイダはその外部アプリケーションにログインします。この場合、Webクリッピング・プロバイダを介したFramework内のナビゲーションが、この外部アプリケーションで認証されます。

OmniPortlet

コンテンツのインラインでのレンダリングはサポートされていませんが、パブリック・ポートレット・パラメータを使用すれば、インライン・レンダリングを実現できます。

プログラム的なポートレット

Javaポートレット内のリンクとボタンは完全に制御できるため、インライン・レンダリング機能を簡単に実装できます。インライン・レンダリングを実現するには、ページのURLにプライベート・ポートレット・パラメータを追加する必要があります。

ポートレット内でStrutsを使用する場合、コンテンツは、PDK-Struts統合フレームワークによって常に同じポートレット・コンテナにレンダリングされます。ただし、新しいWebCenter Portal: FrameworkポートレットにはADF Facesナビゲーションを使用することをお薦めします。

ポートレットが複数のJSPで構成される場合(サーベイ内またはウィザード内の複数のステップなど)、ポートレットでは特別なパラメータを使用して、コンテンツのレンダリングに使用するJSPを実行時に指定できます。

58.2.10 チャート作成機能

この項では、ポートレット構築ツールをチャート作成機能の観点から説明します。

JSFポートレット

Oracle JSF Portlet Bridgeにはチャート作成機能はありません。ただし、ADFチャートを含むJSFアプリケーションのポートレット化がサポートされています。

Webクリッピング

Webクリッピングでは、既存のコンテンツをクリップします。したがって、チャートは作成しませんが、チャートを含むHTMLコンテンツを取得して表示できます。

OmniPortlet

OmniPortletでは、棒面グラフ、線グラフ、円グラフのチャート・タイプをサポートしています。チャートは動的に生成されるイメージで、ハイパーリンクを含めることができます。

プログラム的なポートレット

Javaポートレットでは、Oracle Business Intelligence (BI) Beanを使用して、高度なチャートをプログラムで作成できます。


注意:

Oracle ReportsおよびOracle Discovererのポートレットでは、専門的なグラフを作成するためにBI Beanが使用されます。


58.2.11 パブリック・ポートレット・パラメータのサポート

通常、ポートレットの状態は不透明(プライベート)です。ただし、WebCenter Portal: Frameworkでは、ポートレットはパブリック入力(パラメータ)について説明できるため、値はポートレットを使用するアプリケーションによって、そのアプリケーションの他の構成要素と調整されます。

入力には、パブリック・ポートレットのパラメータとプライベート・ポートレットのパラメータが含まれます。これらのパラメータは次のように説明できます。

  • パブリック・ポートレット・パラメータ: パブリック・ポートレット・パラメータは、ポートレットに値を渡すのに使用します。パブリック・パラメータは、特定のページまたはユーザーに固有のポートレット・コンテンツのレンダリングに役立ちます。ポートレット・パラメータは、コンポーネント開発者によって作成され、ユーザー・インタフェースを介してアプリケーション開発者に公開されます。アプリケーション開発者は、ポートレットをページに追加した後、パブリック・ポートレット・パラメータに値を割り当てることで、ポートレットに表示される情報をそのページ固有のものにできます。

    割り当てられた値は、固有の値(定数など)、システム値(ユーザー名など)、ページ・パラメータのいずれかです。ポートレットは実行時に、指定されたソースから値を受信します。

  • プライベート・ポートレット・パラメータ: プライベート・ポートレット・パラメータを使用すると、ポートレットに内部ナビゲーションを実装できます。パラメータは、ページがリクエストされるたびにポートレットに渡されます。プライベート・ポートレット・パラメータは、同じポートレット・インスタンス内で排他的に渡すことができます。プライベート・ポートレット・パラメータを使用するために、フル・ページをリフレッシュする必要はありません。


    注意:

    「リフレッシュ」アクションは、ポートレットの「処理」メニューに含めることができます(isNormalModeAvailable)。「リフレッシュ」アクションは、フル・ページ・リフレッシュを起動することなく、ポートレットをリフレッシュします。このアクションのプログラムによる設定の詳細は、第64.4項「ポートレット・タグの属性値の設定」を参照してください。


パブリック・ポートレット・パラメータがサポートされているポートレットを使用すると、アプリケーション開発者は、ポートレット・インスタンスごとにデータ入力を調整できます。コンポーネント開発者はポートレット・ロジックに専念でき、アプリケーション開発者はアプリケーション・ページとそのポートレット間の相互作用に対処できます。

この章で説明したポートレット構築テクノロジ(OmniPortlet、Webクリッピングおよびプログラム的なポートレット)のすべてが、パブリック・ポートレット・パラメータをサポートしています。OmniPortletとWebクリッピングでは、ウィザード・インタフェースによる完全なサポートを提供します。プログラム的なポートレットに対しては、プログラムまたはJavaポートレット・ウィザードによりパブリック・ポートレット・パラメータのサポートを追加できます。

58.2.12 プライベート・ポートレット・パラメータのサポート

この項では、ポートレット構築ツールをプライベート・パラメータのサポートの観点から説明します。

JSFポートレット

JSFポートレットでは、プライベート・ポートレット・パラメータを使用して、内部ナビゲーションを実装できます。

OmniPortletおよびWebクリッピング

OmniPortletポートレットおよびWebクリッピング・ポートレットを使用して、コンポーネント開発者はプライベート・ポートレット・パラメータにアクセスできません。

プログラム的なポートレット

Javaポートレットでは、プライベート・ポートレット・パラメータを使用して、内部ナビゲーションを実装できます。

58.2.13 ユーザー権限に基づいてポートレットの表示/非表示を切り替える機能

この項では、ポートレット構築ツールを認証機能のサポートの観点から説明します。

JSFポートレット

Oracle JSF Portlet Bridgeでは、標準のサーブレット・メカニズムがサポートされています。

WebクリッピングおよびOmniPortlet

WebクリッピングおよびOmniPortletで構築されたポートレットの非表示または表示を、セキュリティ・マネージャを使用して動的に切り替えます。WebクリッピングおよびOmniPortletでは、セキュリティ・マネージャはユーザー・インタフェースを介して公開されませんが、XMLプロバイダの定義ファイルを介して編集のために使用できるようになります。

プログラム的なポートレット

PDK-Javaポートレットでは、Javaポートレットに対するセキュリティ・マネージャが提供されています。次に例を示します。

  • グループ・セキュリティ・マネージャ: グループ・セキュリティ・マネージャは、グループ・メンバーシップに基づいてポートレットへのアクセスを制御します。たとえば、指定したグループのメンバーであるユーザーにはポートレットを表示しますが、メンバーでないユーザーには表示しません。

  • 認証レベル・セキュリティ・マネージャ: 認証レベル・セキュリティ・マネージャは、認証レベルに基づいてポートレットへのアクセスを制御します。たとえば、認証されたユーザーにはポートレットを表示しますが、パブリック・ユーザーには表示しません。

JSR 286ポートレットでは、標準のサーブレット・メカニズムがサポートされています。

58.2.14 多言語サポート

この項では、ポートレット構築ツールを他の言語に対するサポートの観点から説明します。

Webクリッピング、OmniPortlet、JSFポートレットおよびJavaポートレットでは、エンド・ユーザーが選択した言語でテキスト情報が表示されます。

58.2.15 ページ区切りサポート

ページ区切りのサポートは、ポートレットで比較的多くのレコードを表示する必要のある場合に便利です。

JSFポートレット

ポートレット化されたアプリケーションにページ区切りが実装されている場合、Oracle JSF Portlet Bridgeではページ区切りがサポートされます。

Webクリッピング

Webクリッピングでは、ページ区切りはサポートされていません。

OmniPortlet

OmniPortletでは、ページ区切りはサポートされていません。

プログラム的なポートレット

Javaを使用すると、ポートレットのページ区切りはプログラムで実装できます。

58.2.16 外部アプリケーションに対する認証

この項では、ポートレット構築ツールを外部アプリケーションに対する認証の観点から説明します。

JSFポートレット

ポートレット化されたアプリケーションはWSRPポートレットとして機能するため、カスタム・ユーザー属性を使用すれば、外部アプリケーションのサポートを実現できます。

Webクリッピング

Webクリッピングの外部アプリケーション・フレームワークとの統合では、外部Webサイトへのパスワードの保存を完全に自動化するメカニズムが提供されます。必要な操作は、Webクリッピング・プロデューサの登録時に外部アプリケーションIDを入力するのみです。

OmniPortlet

OmniPortletでは、データソースがパスワードで保護されている場合、接続情報を保存できます。データソースへのアクセスに対する接続情報は、すべてのユーザーで共有するか、またはユーザーごとに保存できます。OmniPortletでは、データベース資格証明およびHTTP Basic認証に使用するユーザー名とパスワードのペアを格納できます。資格証明は、保護されたメタデータ・サービス・リポジトリに保存されます。

プログラム的なポートレット

Javaポートレットでは、外部アプリケーション・フレームワークやOracle Internet DirectoryなどのLDAPサーバーとのプログラムによる統合がサポートされています。