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

前
 
次
 

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

この章では、ポートレットの機能、特性、テクノロジおよびツールについて説明し、ニーズに最も適したポートレット構築テクノロジを決定できるようにします。内容は、次のとおりです。

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

表2-1 「ポートレット構築テクノロジの比較マトリックス」では、横軸上にOracle Portalで使用できるテクノロジとツールを示し、縦軸上でそれぞれの機能と特性を要約しています。このマトリックスには、このガイドで詳細に説明するOmniPortlet、Webクリッピング、Javaポートレット(PDK-Java)および標準などのツールやテクノロジが掲載されています。ポートレット・ビルダーについては付録で説明し、PL/SQLポートレット(PDK-PL/SQL)については、このマトリックスでのみ説明します。


注意:

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


この章の他の項では、表2-1にリストした特性の詳細を説明します。この表で機能と特性すべてに簡単に目を通した後、後続の項で詳細情報を参照してください。

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

Webクリッピング OmniPortlet PDK-Java 標準 ポートレット・ビルダー PDK-PL/SQL

一般的な適性







単純なウィザード・ベースのツール。他のWebサイトのWebコンテンツをポータル内に取得して表示する際に役立ちます。

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

Oracle Portal専用に構築されたポートレットのAPI。

他のベンダーのポータルで動作するポートレット。Oracleでは、WSRPとJSR-168の両方がサポートされています。

ブラウザからアクセス可能なウィザード・ベースのツール。データベース中心の単純なアプリケーションまたはポートレットに最適です。

Oracle Portal専用に構築されたポートレットのAPI。

必要な専門知識







専門知識は不要。

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

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

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

リレーショナル・データベース概念の基本的な理解。必要に応じてSQL、PL/SQL。

SQL、PL/SQL、PL/SQL Webツールキット。

サポートされるデータ・ソース(詳細は、2.3項「必要な専門知識」を参照)






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

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

制限なし。

制限なし。

SQL(ローカルDBまたはDBリンクを介したリモートDB)。

SQL(ローカルDBまたはDBリンクを介したリモートDB)。

デプロイ・タイプ







Webプロバイダ

Webプロバイダ

Webプロバイダ

WSRP

データベース・プロバイダ

データベース・プロバイダ

キャッシュ・スタイル







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

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

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

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

有効期限ベースのキャッシュ。

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

開発ツール







ブラウザ - ウィザード。

ブラウザ - ウィザード。

Oracle JDeveloper - Javaポートレット・ウィザード(または、ウィザードを使用しない他のJava開発環境)。

Oracle JDeveloper - Javaポートレット・ウィザード(または、ウィザードを使用しない他のJava開発環境)。

ブラウザ - 必要に応じてPL/SQL開発環境。

PL/SQL開発環境。

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







その場で開発。

その場で開発。

ポートレットはその場で構築しません。ポートレットのページへの追加、デフォルトの編集およびパーソナライズを行います。

ポートレットはその場で構築しません。ポートレットのページへの追加、デフォルトの編集およびパーソナライズを行います。

開発後に追加、およびその場で開発。

ポートレットはその場で構築しません。ポートレットのページへの追加、デフォルトの編集およびパーソナライズを行います。

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







適用外。

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

柔軟性が高い。

柔軟性が高い。

制限あり。

柔軟性が高い。

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







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

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

あり。java.netパッケージを使用します。

あり。java.netパッケージを使用します。

いいえ

あり。UTIL_HTTPパッケージを使用します。

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







あり。(Webクリッピング9.0.4.0.2以上でサポート。)

URLリライティングはサポートされませんが、パブリック・ポートレット・パラメータとイベントを使用することで実現できます。

プライベート・ポートレット・パラメータを使用します。

サーブレットおよびJSPを組み込みます(PortletContext.getRequestDispatcher()メソッドを使用)。

レポートおよびチャートのページ区切りがインラインでレンダリングされます。

プライベート・ポートレット・パラメータを使用します。

チャート作成機能







適用外。

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

BI Beanを使用します。

BI Beanを使用します。

HTMLチャート。

プログラムによるHTMLチャート。

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







あり。(Webクリッピング9.0.4.0.2以上でサポート。)

はい。

はい。

いいえ

はい。

はい。

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







適用外。

適用外。

はい。

はい。

いいえ

はい。

イベントのサポート







はい。

はい。

はい。

ポートレットのプライベート・イベント(アクション)。

いいえ

いいえ

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







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

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

あり。セキュリティ・マネージャを使用します。

あり。サーブレット・セキュリティ・モデルは、PortletRequest.isUserInRole()やPortletRequest.getUserPrincipal()などのメソッドを使用してサポートされます。

はい。

あり。セキュリティAPIを使用します。

多言語サポート







適用外。

はい。

はい。

はい。

いいえ

はい。

ページ区切りサポート







適用外。

いいえ

プログラムによるサポート。

プログラムによるサポート。

はい。

プログラムによるサポート。

シングル・サインオンおよび外部アプリケーション統合







Webクリッピング9.0.4.0.2以上では、外部アプリケーションの統合がサポートされます。

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

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

なし。(カスタム・ユーザー属性を介して実行可能です。)LDAP統合がサポートされます。

なし。(Oracle Portalリポジトリ内で実行されるため、SSO統合は必要ありません。)

SSOは、mod_osoを使用することで有効になります。


2.2 一般的な適性

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

2.2.1 Webクリッピング

Webクリッピングは、単純なウィザード・ベースのツールで、他のWebサイトのWebコンテンツをポータル内に取得して表示する際に役立ちます。Webクリッピングでは、専門知識は不要です。

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

Webクリッピングを使用して、次のポートレットを構築できます。

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

  • パーソナライズされた天気ポートレット

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

2.2.2 OmniPortlet

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

  • スプレッドシート

  • SQL

  • XML

  • Webサービス

  • Webページ

OmniPortletは、追加の開発ツールを使用したり高度な専門知識がなくても使用できます。そのようなユーザーでも、再利用可能で高性能なポートレットを構築できます。

OmniPortletで作成できるポートレットの例

OmniPortletを使用して、次のポートレットを作成できます。

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

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

  • SAP Business Suiteポートレット

2.2.3 Javaポートレット

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


注意:

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


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

Javaで次のポートレットを構築できます。

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

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

2.2.4 ポートレット・ビルダー

ポートレット・ビルダーは、データ駆動ポートレットを作成するためのウィザード・ベースのツールで、データはOracleデータベースに存在します。インタラクティブなフォームを構築して、データベース・レコードを挿入、更新および削除できます。柔軟性のあるレポートおよびHTML棒グラフを作成して、データベースの情報を表示できます。また、ポートレット・ビルダーでは、動的リンクを使用して、データ駆動ポートレット間でパラメータを渡したり、ナビゲートすることもできます。

ポートレット・ビルダーを使用して構築できるポートレットの例

ポートレット・ビルダーを使用して、次のポートレットを構築できます。

  • データ入力ポートレット

  • パートナの動的リスト・ポートレット

  • 販売結果ポートレット

2.2.5 PL/SQLポートレット

Javaポートレットと同様に、PL/SQLポートレットは、組込みのポートレットではニーズを満たすことができないWebアプリケーションを構築するために、柔軟なアプローチを提供します。たとえば、アプリケーションで特別なビジネス・ルールやロジックを実装する必要がある場合、またはカスタム設計された認証要件を満たす場合などです。PL/SQLポートレットは、通常、SQLおよびPL/SQLを使用してデータ集約型の操作を実行する必要がある場合に使用されます。Oracle Portalには、プログラムによるプロバイダ登録、オブジェクト・レベルの権限管理、ユーザー・インタフェース制御、多言語サポートなど、豊富なPL/SQL APIが用意されています。

たとえば、情報プロバイダはカスタム・ポートレットを作成し、Oracle Portalを介してアプリケーションをユーザーに表示できます。開発者は、Oracle Portal Developer Kit (PDK)の仕様に従って独自のポートレットを構築し、プロバイダをOracle Portalに登録します。Oracle PDKを使用すると、ニーズに適したポートレットを開発できます。

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

PL/SQLを使用して、次のポートレットを構築できます。

  • コンテンツ・アップロード・ポートレット

  • サイト・マップ・ポートレット

  • 高度なデータ入力およびレポート・ポートレット

2.3 必要な専門知識

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

2.3.1 Webクリッピング

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

2.3.2 OmniPortlet

OmniPortletでは、ポートレット内で利用するデータ・ソースに関する基本的な知識が必要です。表2-2は、OmniPortletで使用できるデータ・ソースの種類と、それぞれを使用するために必要な情報の説明です。

表2-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など)に保持されている企業データを格納および取得するためのメカニズムが提供されます。


2.3.3 Javaポートレット

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

2.3.4 ポートレット・ビルダー

ポートレット・ビルダーを使用する場合は、リレーショナル・データベースの概念をよく理解している必要があります。実現する内容によって、SQLおよびPL/SQLの知識が必要になる場合もあります。ポートレット・ビルダーを使用すると、データベース・リンクを使用して、ローカルの(Oracle Application Serverインフラストラクチャ)データベースまたはリモート・データベースからデータを消費できます。

2.3.5 PL/SQLポートレット

PL/SQLポートレットを構築するには、SQL文を作成し、SQL*PlusまたはOracleデータベースに接続できる同様の開発ツールを使用してPL/SQLプログラム・ユニットをコーディングおよびデバッグする方法を理解している必要があります。また、ポートレット・コンテンツを生成するために、HTMLおよびPL/SQL Webツールキットに関する知識も必要です。PL/SQL Server Pages (PSP)のコーディングの経験が必要な場合もあります。

2.4 デプロイ・タイプ

アプリケーションでポートレットを使用するには、先に、ポートレットをデプロイし、ポートレットをデプロイしたプロバイダを登録する必要があります。図2-1に示すとおり、ポートレットは、次の3つのプロバイダ・タイプでOracle Portalにデプロイできます。

Webプロバイダは、J2EEアプリケーション・サーバーにデプロイされます。このサーバーは多くの場合リモートで、HTTPを介したSimple Object Access Protocol(SOAP)を使用してOracle Portalと通信します。Oracle Portalの開発者プレビューでは、OASIS標準の1つであるWeb Services for Remote Portlets(WSRP)がサポートされます。データベース・プロバイダは、PL/SQLで実装され、Oracle PortalがインストールされているOracleデータベースにデプロイされます。

図2-1 ポートレット・プロバイダの概要

ポートレット・プロバイダを示します。
「図2-1 ポートレット・プロバイダの概要」の説明

2.4.1 Webプロバイダ

Webプロバイダは、最も一般的に使用され、柔軟なタイプのプロバイダです。それらは、Oracle Portalと同じアプリケーション・サーバー、リモート・アプリケーション・サーバーまたはネットワーク上の任意の場所に存在できます(図2-2)。Webプロバイダは、事実上、どのWebテクノロジを使用しても実装できます。ただし、Oracle Portal Developer Kitでは、Webプロバイダの構築タスクを簡略化するJavaフレームワークが提供されます。

Webプロバイダは、デプロイ、定義およびOracle Portalとの通信に関し、XML、SOAP、HTTPまたはJ2EEなどのオープン標準を使用します。また、Webプロバイダは、J2EEコンテナへのデプロイが可能なため、Oracle Portalリポジトリ・データベースに余分な負荷がかかりません。

図2-2 Webプロバイダ

Webプロバイダを示します。
「図2-2 Webプロバイダ」の説明

ポートレットを開発しWebプロバイダとして公開すると、様々な利点があります。次のタスクを実行できます。

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

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

  • 宣言によってプロバイダを指定できます。

  • 各データベース・プロバイダから提供されているのより多くの機能を利用できます。

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

Webプロバイダを使用してポートレットを公開するには、ポートレットを管理し、SOAPを使用してOracle Portalと通信できるプロバイダを作成する必要があります。Webプロバイダを使用してポートレットを公開する方法の詳細は、6.3項「Oracle JDeveloperを使用したJPS準拠のポートレットの構築」を参照してください。

2.4.2 WSRPプロデューサ

Web Services for Remote Portlets (WSRP)はWebサービスの標準です。この標準によって、ポータルまたは他の中間Webアプリケーションを使用する、ユーザー対象で視覚的なWebサービスのプラグ・アンド・プレイが可能になります。その標準性により、特定の言語(JSR 168、.NET、Perlなど)をベースとする標準対応のコンテナと任意のWSRPポータル間の相互運用が可能です。このため、WSRP対応のコンテナにデプロイされたポートレットは、その言語に関係なく、この標準をサポートするあらゆるポータル上にレンダリングできます。アーキテクチャの視点からみると、WSRPプロデューサは、Webプロバイダによく似ています。WSRPポータル・アーキテクチャの詳細は、「WSRPとJPSの関連」を参照してください。

ポートレットをWSRPプロデューサとして公開するには、ポートレットを管理するプロデューサを作成する必要があります。WSRPの詳細は、Oracle Technology NetworkでWSRPおよびJSR 168標準についてのページを参照してください。WSRPプロデューサとしてポートレットを公開する方法の詳細は、6.3.3項「Oracle WebLogic ServerへのJSR 168ポートレットのデプロイ」を参照してください。

デフォルトでは、Portalセッション・ストアはOracle Internet Directoryから入手したユーザーのプロファイル情報を、Portalセッションの期間中保持します。

ただし、場合によってはWSRPプロデューサが、プロデューサに送られてきたWSRP UserContext情報への更新を必要とすることがあります。この情報はセッション中に変わります。この場合、ターゲット・ページの生成時にキャッシュされたユーザー情報を消去して新しい情報をOracle Internet Directoryから入手するために、アプリケーションまたはポートレット・プロデューサはブラウザを次のURLにリダイレクトします。

http(s)://server.domain.com:port/portal/pls/portal/portal.wwsec_app_user_info.flush_cache?p_requested_url=<url-encoded-target-page> 

2.4.3 データベース・プロバイダ

1つ以上のPL/SQLポートレットを所有するデータベース・プロバイダを作成することもできます。データベース・プロバイダとそのPL/SQLポートレットは、Oracle Metadata Repositoryデータベースに存在し、PL/SQLパッケージとして実装されます。リモート・サーバー上のデータベース・プロバイダにアクセスする場合は、連携されたPortalアダプタを使用できます(図2-3)。連携されたPortalアダプタの詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』を参照してください。

図2-3 データベース・プロバイダ

データベース・プロバイダを示します。
「図2-3 データベース・プロバイダ」の説明

データベース・プロバイダは、PL/SQLを使用してデータ集約型の操作を実行する必要がある場合は理想的です。Oracle Portalのユーザー・インタフェース、またはPDKで提供されるPL/SQL APIを使用してフォームまたはチャートを構築している場合がその例です。

データベース・プロバイダを使用してポートレットを公開する方法の詳細は、8.13項「プログラムを使用したプロバイダの登録」を参照してください。

2.4.4 プロバイダ・アーキテクチャ

図2-4は、ポートレット・プロバイダの基本的なアーキテクチャを示しています。

図2-4 プロバイダ・アーキテクチャ

プロバイダ・アーキテクチャを示します。
「図2-4 プロバイダ・アーキテクチャ」の説明

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

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

  2. Parallel Page Engine (PPE)は、Oracle Application Serverの中間層に存在し、Oracle Portal RepositoryからPortalページ・レイアウト、ポートレットおよび(ページ・メタデータとも呼ばれる)プロバイダ情報を取得します。


    注意:

    PPEは、リクエストされたポータル・ページをページ・メタデータに基づいて構築する役割を果します。


  3. PPEは、ポートレット・コンテンツのすべてのプロバイダを問い合せます。

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

  5. プロバイダは、ポートレット・コンテンツをPPEに戻します。

  6. PPEはポータル・ページを組み立て、Oracle Application ServerはこのページをWebブラウザに戻します。

詳細はOTN

ポートレットおよびプロバイダのアーキテクチャについては、Portal Centerにある「Portlet Development」のページを参照してください。

http://portalcenter.oracle.com

Webクリッピング、OmniPortletおよびJavaポートレットは、Webプロバイダを介してOracle Portalと通信します。Oracle Portalをインストールした後は、WebクリッピングとOmniPortletを使用できます。それぞれのプロバイダは、最初からOracle Portalに登録済みです。Javaポートレットのプロバイダは、明示的に登録する必要があります。


注意:

WebクリッピングおよびOmniPortletの開発は、急速に進んでいます。これらのポートレットの最新バージョンは、OTNからダウンロードできます。これらのツールをダウンロードして使用する場合は、Oracle WebLogic Serverにデプロイし、WebプロバイダとしてOracle Portalに登録する必要があります。詳細は、『Oracle Fusion Middleware Oracle Portal管理者ガイド』を参照してください。


ポートレット・ビルダーで構築されたデータ駆動ポートレットは、データベース・プロバイダを介してOracle Portalと通信します。ポートレット・ビルダーのプロバイダは自動的に登録されるため、Oracle Portalに明示的に登録する必要はありません。

PL/SQLポートレットは、データベース・プロバイダを介してOracle Portalと通信します。データベース・プロバイダを明示的に登録する必要があります。

2.4.5 プロバイダ登録

Oracle Portalには、プロバイダ登録ウィザードが用意されています。このウィザードには、ナビゲータの「プロバイダ」タブからアクセスできます。登録画面には次のセクションがあります。

  • プロバイダ情報: プロバイダ名、タイムアウトの詳細、実装スタイルが含まれています。

  • ユーザー/セッション情報: プロバイダにセッション情報を転送する方法が含まれています。

  • データベース・プロバイダ: 実装の所有者や名前などデータベース・プロバイダ固有の情報が含まれています。

  • Webプロバイダ: プロバイダのURL、プロバイダに転送されたユーザーIDおよびプロキシ情報などWebプロバイダ固有の情報が含まれています。

  • WSRPプロデューサ: WSDL URL、プロデューサにより提供されるセッション処理情報など、WSRPプロデューサ固有の情報が含まれています。

セッション処理に影響を与えるセクションは、「ユーザー/セッション情報」セクションとウィザードのWebプロバイダ登録ページの「Cookieドメイン」チェック・ボックスです。同じCookieドメインを使用することの詳細は、Portal Center(http://www.oracle.com/technology/products/ias/portal/portlet_development_10gr2.html)の「Portlet Development」ページにある記事、「Sharing Session Cookies Not Allowed in PDK-Java Release 2」を参照してください。

ユーザー/セッション情報

「ユーザー/セッション情報」セクションでは、開発者がプロバイダにOracle Portalから受信させるセッション関連情報に応じて、2つのオプションのうちいずれかを選択できます。2つのオプションは次のとおりです。

  • パブリック: このオプションを選択すると、ユーザーの名前が「パブリック」に設定されます。プロバイダは、セッションIDやユーザーのログイン時刻などのセッション関連情報を受信しなくなります。このオプションは、プロバイダ登録API(8.13項「プログラムを使用したプロバイダの登録」を参照)のLOGIN_FREQUENCY_PUBLICと等価です。

  • ユーザー: このオプションを選択すると、Oracle Portalユーザーの名前がプロバイダに送信されます。このセクションには次の2つのオプションがあります。

    • ログイン頻度: ここでは、プロバイダにセッション情報を送る頻度、つまりユーザーがログインする必要のある頻度を決定する3つのオプション(常時、ユーザー・セッションごとに1回、なし)から、いずれかを選択できます。

    • Portalユーザー固有のセッション情報が必要です。: プロバイダ・コールでセッション情報を送信するかどうかを指定できます。

2.5 キャッシュ・スタイル

キャッシュは、ポータルのパフォーマンスを向上させるための重要な役割を果します。Oracle Portalでは、ページ、ポートレット、スタイル、ページ・メタデータのキャッシュなど、様々なレベルのキャッシュがサポートされています。ポートレットのキャッシュは、正確な情報をタイムリな方法でユーザーに配信するために重要です。Oracle Portalで使用できるすべてのポートレット構築テクノロジで、キャッシュはサポートされています。

Oracle Portalでは、ユーザーによるページおよびポートレットのパーソナライズがサポートされているため、ページの表示はユーザーによって異なることがあります。Oracle Portalのキャッシュは、ユーザーごとに異なるコンテンツを使用できるように設計されています。したがって、ポートレットなどのポータル・オブジェクトは、ユーザー・レベルとシステム・レベルの2つのレベルでキャッシュできます。この2つのレベルのキャッシュについて説明します。

キャッシュを使用せずに、Webクリッピング、OmniPortletおよびポートレット・ビルダーで様々なデータ・ソースにアクセスすると、時間がかかる場合があります。キャッシュを有効にする場合は、Oracle PortalまたはOracle Web Cacheに対して、ポートレット・コンテンツのコピーを保持するように指示します。ポートレットがリクエストされ、そのコンテンツが以前にキャッシュされている場合、ポートレットは、データ・ソースへの問合せとそのコンテンツの再生成に時間を費やす必要がありません。以前にキャッシュされたポートレット・コンテンツが単に戻されます。キャッシュには次のタイプがあります。

2.5.1 Webクリッピング、OmniPortletおよびポートレット・ビルダー

Webクリッピング、OmniPortletおよびポートレット・ビルダーで構築されたポートレットには、ポートレットがキャッシュされる期間を指定できます(有効期限ベースのキャッシュ)。さらに、WebクリッピングおよびOmniPortletで構築されたポートレットは、エンド・ユーザーがポートレットをパーソナライズすると、自動的にリフレッシュされます。

2.5.2 Javaポートレット

Javaポートレットでは、有効期限ベース、有効化ベース、無効化ベースの3種類のキャッシュがサポートされています。Javaポートレットでは、無効化ベースのキャッシュを、有効期限ベースまたは有効化ベースのキャッシュのいずれかと組み合せることができます。

また、ポートレットのすべてのコンテンツをキャッシュすることに加えて、Edge Side Include (ESI)を使用してポートレットのフラグメントをキャッシュできます。

2.5.3 PL/SQLポートレット

Javaポートレットと同様に、PL/SQLポートレットでも、有効期限ベース、有効化ベース、無効化ベースの3種類のキャッシュがサポートされています。

2.6 開発ツール

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

2.6.1 Webクリッピング、OmniPortletおよびポートレット・ビルダー

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

2.6.2 Javaポートレット

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

Javaポートレット・ウィザードでは、JSR168とPDK-Javaの両方のポートレットに対する開始用のスケルトンおよびファイル構造が生成されます。スケルトンに追加する必要があるのは、独自のビジネス・ロジックのみです。また、Oracle JDeveloperを使用してアプリケーションをパッケージ化し、Oracle WebLogic ServerなどのJ2EEコンテナにデプロイできます。ポートレット・プロバイダのテストにも使用できます。デプロイする予定のプラットフォームのバージョンと一致する場合は、開発用Javaポートレット・ランタイム環境としてOracle JDeveloperに付属している、事前構成されたOracle WebLogic Serverを使用することをお薦めします。

2.6.3 PL/SQLポートレット

PL/SQLポートレットの開発時に、Oracle PortalのPL/SQL APIをコールすることで、Oracle PortalにアクセスするPL/SQLプログラム・ユニットを作成できます。このアクセスを可能にするには、Oracle Portalがインストールされているデータベースと同じデータベースにプロバイダのスキーマを作成して、プロバイダおよびポートレットPL/SQLパッケージを格納します。このプロバイダのスキーマには、Oracle PortalのPL/SQL APIに対する実行権限が付与されている必要があります。

データベース・プロバイダおよびPL/SQLポートレットの開発を容易にするために、PL/SQLジェネレータを使用できます。PL/SQLジェネレータは、データベース・プロバイダとそのPL/SQLポートレットに関するインストール可能なPL/SQLコードを作成する、ホスティング対象のユーティリティです。PL/SQLジェネレータは、プロバイダおよびポートレットの定義をXMLファイル形式で受信するWebアプリケーションです。プロバイダおよびポートレットで使用するXMLタグの構文は、PDK-JavaでWebプロバイダを定義するために使用するXMLタグのサブセットです。PL/SQLジェネレータは、SQL*Plusから実行できるSQLスクリプトを出力します。このスクリプトには、プロバイダおよびポートレットのパッケージをインストールするためのSQLコマンドが含まれています。

詳細はOTN

ホスティングされるPL/SQLジェネレータは、OTNの「Oracle Portal Developer Kit」ページで入手できます。

http://www.oracle.com/technology/products/ias/portal/pdk.html

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

Oracle Portalでは、図2-5に示すとおり、2種類のポートレット作成スタイルがサポートされています。

この図では、「開発後に追加する」ポートレットの作成は、通常、ポートレット開発者のタスクで、「その場で開発する」ポートレットの作成は、ページ設計者の責任であることを示しています。

図2-5 ポートレット作成スタイル

ポートレット作成スタイルを示します。
「図2-5 ポートレット作成スタイル」の説明

2.7.1 OmniPortletおよびWebクリッピング

OmniPortletとWebクリッピングはどちらも、その場で開発するポートレット作成スタイルを提供します。最初に、ポータル・ページにポートレットを追加し、次に、そのページのポートレットをその場で定義します。

2.7.2 Javaポートレット

通常、Javaポートレットは開発後に追加するポートレット作成スタイルを提供します。Oracle JDeveloperでは、Oracle PDK-JavaおよびJSR 168ポートレットの作成に役立つ2つのウィザードを使用できます。ウィザードは、ポートレットの作成に必要な基本ファイルを生成します。開発者は、ポートレットのロジックは手動でコーディングします。Javaポートレットの開発の流れは、ポートレットを作成し、プロバイダにポートレットをデプロイし、プロバイダをOracle Portalに登録して、ポートレットをページに追加するというものです。


注意:

広範囲のコーディングによって、その場で開発するJavaポートレットを作成できます。たとえば、WebクリッピングおよびOmniPortletは、ともにJavaポートレットです。


2.7.3 ポートレット・ビルダー

ポートレット・ビルダーでは、最初にポートレットを定義します。以前に定義されたポートレットをポートレット・リポジトリで使用できるため、それらのポートレットをページに追加できます。ただし、単純なポートレットの場合は、OmniPortletおよびWebクリッピングと同様に、ポートレット・ビルダーでもその場での開発が提供されます。


注意:

ポートレット・ビルダーのその場での開発テクノロジで構築されたポートレットは、ナビゲータを使用して構築されたポートレットに比べいくつか制限があります。


2.7.4 PL/SQLポートレット

Javaポートレットと同様に、PL/SQLポートレットでは通常、「開発後に追加する」作成方法に従います。PL/SQLポートレットをその場で開発するには、広範囲のコーディングが必要です。たとえば、ポートレット・ビルダーで提供されているその場で開発する単純なポートレットは、PL/SQLで作成されています。

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

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

2.8.1 Webクリッピング

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

2.8.2 OmniPortlet

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

2.8.3 JavaポートレットおよびPL/SQLポートレット

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

2.8.4 ポートレット・ビルダー

ポートレット・ビルダーによるポートレット構築は、生産性が非常に高い一方、ユーザー・インタフェースに関してはいくつかの制限があります。

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

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

2.9.1 Webクリッピング

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

2.9.2 OmniPortlet

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

2.9.3 Javaポートレット

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

2.9.4 PL/SQLポートレット

PL/SQLポートレットでは、UTL_HTTPパッケージのプロシージャとファンクションを使用して、インターネット上のデータにアクセスするためにWebサービスと通信できます。このパッケージは、SQLおよびPL/SQLからHTTPコールアウトを実行します。また、このパッケージは、HTTPSとも呼ばれるSecure Sockets Layerプロトコル(SSL)上のHTTPを、直接またはHTTPプロキシを介してサポートします。他のインターネット関連のデータ・アクセス・プロトコル(ファイル転送プロトコル(FTP)やGopherなど)も、これらのプロトコルをサポートしているHTTPプロキシ・サーバーを使用することでサポートされます。

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

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

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

2.10.1 Webクリッピング

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

次の3つのオプションから選択できます。

  • ポートレット内のURLをリライトしないように選択できます。この場合、リンクをクリックすると、ユーザーはPortalを離れ、クリッピングを提供しているWebサイトに移動します。リンク先が認証を必要とする場所の場合は常に、ユーザーがログイン情報を入力しないと、リンク先は表示されません。

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

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

2.10.2 OmniPortlet

OmniPortletでは、URLリライティングは直接提供されませんが、パブリック・ポートレット・パラメータとイベントを使用することで、インライン・レンダリング機能を実現できます。イベントは、OmniPortletが存在しているポータル・ページにマップする必要があります。

2.10.3 Javaポートレット

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

ポートレット内でStrutsを使用する場合、コンテンツは、PDK-Struts統合フレームワークによって常に同じポートレット・コンテナにレンダリングされます。

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

2.10.4 ポートレット・ビルダー

ポートレット・ビルダーで構築されたポートレットでは、固有のインライン・レンダリングはサポートされていません。ただし、SQLベースのレポートおよびチャート内にリンクを構築し、リンクが特定のポータル・ページを指すようにできます。必要に応じて、パラメータをポータル・ページに渡し、ポートレット・パラメータにマップすることもできます。

2.10.5 PL/SQLポートレット

Javaポートレットと同様に、PL/SQLポートレット内のアクティブ要素は完全に制御できます。したがって、プライベート・ポートレット・パラメータを実装することで、インライン・レンダリング機能をプログラムで実現できます。

2.11 チャート作成機能

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

2.11.1 Webクリッピング

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

2.11.2 OmniPortlet

OmniPortletは、棒、折れ線および円の各チャートをサポートします。OmniPortletのチャートは、動的に生成されるイメージで、ハイパーリンクを含むことができます。

2.11.3 Javaポートレット

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


注意:

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


2.11.4 ポートレット・ビルダー

ポートレット・ビルダーでは、HTMLベースの棒グラフ・ポートレットを構築できます。多数の機能の中で、バーの色と方向を指定できます。

2.11.5 PL/SQLポートレット

PL/SQLポートレットでは、広範囲のコーディングによってHTMLベースのチャート作成機能を実現できます。

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

Oracle Portalには、ページ・パラメータ、パブリック・ポートレット・パラメータおよびプライベート・ポートレット・パラメータの3種類があります。これらのパラメータは次のように説明できます。

パブリック・ポートレット・パラメータがサポートされているポートレットを使用すると、ページ設計者は、ポートレット・インスタンスごとにポートレットのデータ入力を調整できます。この場合、ポートレット開発者は、ポートレット・ロジックに集中でき、ページ設計者は、ポートレットを簡単に再利用してページとポートレット間の相互作用を処理できます。

この章で説明した5つのポートレット構築テクノロジ(OmniPortlet、Webクリッピング、Javaポートレット、ポートレット・ビルダーおよびPL/SQLポートレット)のすべてが、パブリック・ポートレット・パラメータをサポートしています。OmniPortlet、Webクリッピングおよびポートレット・ビルダーでは、ウィザード・インタフェースを介して完全なサポートが提供されます。Javaポートレットに対しては、プログラムまたはJavaポートレット・ウィザードを使用してパブリック・ポートレット・パラメータのサポートを追加できます。PL/SQLポートレットでは、プログラムでのみパブリック・パラメータがサポートされます。


注意:

JSR 168標準では、パブリック・ポートレット・パラメータの概念は提供されません。Javaポートレットでパブリック・ポートレット・パラメータを利用する場合は、PDK-Javaを使用する必要があります。


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

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

2.13.1 OmniPortlet、Webクリッピングおよびポートレット・ビルダー

OmniPortlet、Webクリッピングおよびポートレット・ビルダーでは、ポートレット開発者に対しプライベート・ポートレット・パラメータへのアクセスが提供されません。

2.13.2 JavaポートレットおよびPL/SQLポートレット

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


注意:

PL/SQLポートレットでは、プライベート・パラメータとパブリック・パラメータを同時にサポートできません。PL/SQLポートレットのコーディング前に、どちらのパラメータ・タイプをサポートするかを決定する必要があります。


2.14 イベントのサポート

イベントとは、ポータル・ページを表示するように定義したユーザー・アクションです。ユーザー・アクションには、ポートレット内のリンクまたはボタンに対するクリックが含まれます。ページ設計者は、ページ上のポートレットでイベントが発生したときに実行する内容を指定します。イベントの発生時、ページ設計者は、現在のページを再表示したり、必要に応じてそのページのパラメータに値を渡して、ユーザーを別のポータル・ページにナビゲートすることもできます。

2.14.1 Webクリッピング、OmniPortletおよびJavaポートレット

Webクリッピング、OmniPortletおよびJavaポートレットでは、イベントがサポートされています。

2.14.2 ポートレット・ビルダーおよびPL/SQLポートレット

ポートレット・ビルダーおよびPL/SQLポートレットでは、イベントはサポートされていません。

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

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

2.15.1 WebクリッピングおよびOmniPortlet

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

2.15.2 Javaポートレット

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

  • グループ・セキュリティ・マネージャ: グループ・セキュリティ・マネージャを使用すると、特定のグループのメンバーであるユーザーにポートレットは表示されますが、メンバーでないユーザーには表示されません。

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

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

2.15.3 ポートレット・ビルダー

ポートレット・ビルダーでは、ポートレットへのアクセスを制御する宣言型ユーザー・インタフェースが提供されます。

2.15.4 PL/SQLポートレット

PDKには、PL/SQLポートレット内のコンテンツの表示/非表示を切り替える機能を実装するセキュリティAPIが用意されています。

2.16 多言語サポート

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

2.16.1 Webクリッピング、OmniPortlet、JavaポートレットおよびPL/SQLポートレット

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

2.16.2 ポートレット・ビルダー

ポートレット・ビルダーで構築されたポートレットでは、英語のみがサポートされています。

2.17 ページ区切りサポート

比較的大きい規模のレコード・セットをポートレットに表示する必要がある場合は、ページ区切りサポートを使用すると便利です。

2.17.1 Webクリッピング

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

2.17.2 OmniPortlet

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

2.17.3 JavaポートレットおよびPL/SQLポートレット

JavaポートレットおよびPL/SQLポートレットでは、ページ区切りをプログラムで実装できます。

2.17.4 ポートレット・ビルダー

ポートレット・ビルダーには、ページ区切りの組込みサポートがあります。

2.18 シングル・サインオンおよび外部アプリケーション統合

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

2.18.1 Webクリッピング

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

2.18.2 OmniPortlet

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

2.18.3 Javaポートレット

Javaポートレットは、Oracle Internet DirectoryなどのLDAPサーバーに加え、外部アプリケーション・フレームワークともプログラムで統合できます。

2.18.4 PL/SQLポートレット

Oracle HTTP Server上の認証モジュールであるmod_ossoを使用して、シングル・サインオンを可能にするPL/SQLポートレットを構築できます。mod_ossoは、パートナ・アプリケーションを統合するために初期のリリースで使用されていたSingle Sign-On SDKの単純な代替モジュールです。mod_ossoを使用すると、Single Sign-On Serverへの単一のパートナ・アプリケーションとして機能することで、認証処理が簡素化されます。

PL/SQLポートレットは、外部アプリケーション・フレームワークとプログラムで統合できます。