ヘッダーをスキップ
Oracle WebCenter Framework開発者ガイド
10g(10.1.3.2.0)
E05044-04
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

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

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

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

表15-1「ポートレット構築テクノロジの比較マトリックス」では、Oracle WebCenter Frameworkで使用できるテクノロジとツールについて要約しています。このマトリックスでは、OmniPortlet、Webクリッピング・ポートレット、および規格に基づいた(JSR 168)ポートレットやPDK-Javaポートレットを含むプログラム的なポートレットなど、このマニュアルで詳細に取り上げるツールやテクノロジについて説明しています。さらに、Oracle Portlet Factoryも含まれています。


注意:

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

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

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

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

一般的な適性




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

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

SAPなどのエンタープライズ・アプリケーションと対話するカスタム・ポートレットおよびコンポジット・ポートレットを開発、デプロイおよびメンテナンスするためのポートレット作成環境。

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

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

必要な専門知識




専門知識は不要。

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

J2EEポートレットのライフ・サイクル、およびJava言語を知る必要のない基本コーディングの知識に関する基本的な理解。このツールの対象読者はビジネス開発者です。

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

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

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




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

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

Webサービス、SQL、PeopleSoft、JDEおよびSAP。

制限なし。

デプロイ・タイプ




PDK-Javaプロデューサ

PDK-Javaプロデューサ

WSRPおよびPDK-Javaプロデューサ

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

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

キャッシュ・スタイル




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

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

キャッシュ・コントロール・ビルダーにより、モデル内のアクションに関連した指定期間の出力のキャッシュが可能になります。

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

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

開発ツール




ブラウザ - ウィザード。

ブラウザ - ウィザード。

Portlet Factoryツール(ビルダーおよびモデル)

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

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




実行時のデザインタイム。

実行時のデザインタイム。

開発後に追加します。

開発後に追加します。

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




適用外。

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

柔軟。ポートレット・コードは、ビルダー・ウィザードでの選択に基づいて生成されます。開発者は、生成されたコードを表示できますが、それと対話する必要はありません。

柔軟性が高い。

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




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

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

なし。

これは、既存のエンタープライズ・アプリケーション(SAPなど)からデータ、コンテンツおよびプロセスを集約し、それらをカスタム・ポートレットとしてデプロイするためのツールです。

あり。

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

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

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




あり

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

複数ページのポートレットの場合は、あり。

あり。

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

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

チャート作成機能




なし

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

チャートおよびグラフ作成用Greenpoint WebChartsビルダーのすぐに使用可能なデモ・バージョン。

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

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




あり

あり

RequestInputs APIを使用してパブリック・パラメータにアクセスします。

あり

注意: 規格に基づいたポートレットでは、WSRP 2.0のナビゲーション・パラメータ機能をOracle WebCenter FrameworkのJSR 168への拡張機能とともに使用することで、パブリック・パラメータがサポートされます。

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




なし

なし

なし。ただし、変数と呼ばれる要素が、Portlet Factoryポートレットのファミリ内ではパラメータとほとんど同じように機能します。

あり

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




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

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

なし

あり。

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

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

多言語サポート




適用外。

あり

あり

あり

ページ区切りサポート




適用外。

なし

あり

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

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




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

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

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

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

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


15.2 一般的な適性

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

15.2.1 Webクリッピング

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

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

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

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

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

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

15.2.2 OmniPortlet

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

  • スプレッドシート

  • SQL

  • XML

  • Webサービス

  • Webページ

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

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

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

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

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

  • SAP BAPIベース・ポートレット

15.2.3 Oracle Portlet Factory

Oracle Portlet Factoryは、ビジネス開発者が、既存のエンタープライズ・アプリケーション(SAPアプリケーションなど)のデータ、コンテンツおよびプロセスを集約するポートレットを構築する際に役立ちます。

開発者は、ビルダーと呼ばれる、適応性が高く、再利用可能な一連のソフトウェア・コンポーネントをまとめることにより、ポートレットを迅速に構築します。これらのビルダーは、データベースの問合せ、アプリケーション内でのビジネス・プロセスの実行、あるいは出力UIのレンダリングなど、特定のアプリケーション機能を実行します。開発者は、スプレッドシート・モデルが式を組み合せることによって作成されるのと同様に、ビルダーを組み合せてモデルを作成します。モデルは、実行時に実行され、ポートレット・アプリケーションを構成する低レベルのアーチファクトすべてはもちろんのこと、JSP、JavaクラスおよびXML文書などのアプリケーション・コードを動的に生成します。ビジネス開発者は、生成されたアプリケーション・コードを表示できますが、それを処理する必要はありません。

Oracle PDK-JavaとJSR 168の両方のポートレット・タイプがサポートされています。

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

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

  • SAPフォーム・ポートレット

  • SAP複数ページ・ポートレット

  • SAPトランザクション・ポートレット

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

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


注意:

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

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

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

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

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

15.3 必要な専門知識

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

15.3.1 Webクリッピング

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

15.3.2 OmniPortlet

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

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


15.3.3 Oracle Portlet Factory

Oracle Portlet Factoryは、迅速な開発を容易にするツールを探しているビジネス開発者向けで、JavaまたはJ2EEの知識は必要ありません。開発には、モデル内に構成されたビルダー(ボタン、ループ、アクションなど)を使用します。コードは自動的に生成されます。開発者は、生成されたコードを表示できますが、それと対話する必要はまったくありません。

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

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


注意:

Oracle Portlet Factoryなどの追加のツールは、Javaポートレットの開発を容易にするために使用できます。

15.4 デプロイ・タイプ

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

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

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

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

ポートレット・プロデューサを表示。
「図15-1 ポートレット・プロデューサの概要」の説明

15.4.1 PDK-Javaプロデューサ

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

図15-2 PDK-Javaプロデューサ

PDK-Javaプロデューサを表示。
「図15-2 PDK-Javaプロデューサ」の説明

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

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

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

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

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

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

15.4.2 WSRPプロデューサ

Oracle WebCenter Suiteでは、Web Services for Remote Portlets(WSRP)リリース1.0および2.0をサポートします。WSRP 2.0サポートは、WSRP 2.0の予備(試作)バージョンに対応するものです。この新しい標準では、ポートレット間の通信、およびポートレット・カスタマイズのエクスポートまたはインポートをサポートします。

WSRP 2.0を使用するには、Oracle固有の拡張機能を使用する必要があります。たとえば、WSRP 2.0プロデューサで作成したポートレットは、この新しいリリースで提供される利点を利用するために、Oracleのコンテナ(OC4J)にデプロイする必要があります。これは、標準のポートレットAPI(JSR 286など)がまだWSRP 2.0通信プロトコルのレベルに発展していないためです。

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

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

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


注意:

WSRPアーキテクチャの詳細は、第18章「Javaポートレットの作成」「WSRPとJPSの関連」を参照してください。

標準のポートレット(JSR 168、.NET、Perlなど)をWebCenterアプリケーションで使用できるようにするには、それらを1つのポートレット・アプリケーションにパッケージ化し、WSRPコンテナにデプロイする必要があります。WSRPの詳細は、次のURLにあるOracle Technology NetworkのWSRPおよびJSR 168標準のページを参照してください。

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

ポートレットをWSRPコンテナにパッケージ化する方法については、18.9項「アプリケーション・サーバーへのポートレットのデプロイ」を参照してください。次のURLにあるOracleAS Portal Verification Serviceを使用して、WSRPプロデューサをオンラインでテストすることもできます。

http://portalstandards.oracle.com/portal/page/portal/OracleHostedWSRPPortal/Welcome

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

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

図15-3 プロデューサのアーキテクチャ

プロデューサのアーキテクチャを表示。
「図15-3 プロデューサのアーキテクチャ」の説明

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

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

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

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

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

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

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

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

Oracle Technology Networkの詳細

注意:

ポートレットおよびプロデューサのアーキテクチャの詳細は、Portal Center(http://www.oracle.com/technology/products/ias/portal/index.html)にある「Portlet Development」のページを参照してください。

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

WebクリッピングおよびOmniPortletの最新バージョンは、事前に構成されたOracle Containers for J2EE(OC4J)を介して入手できます。詳細は、3.2項「Preconfigured OC4Jの使用」を参照してください。

15.5 キャッシュ・スタイル

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

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

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

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

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

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

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

15.5.2 Oracle Portlet Factory

Oracle Portlet Factoryには、キャッシュ・コントロール・ビルダーによるキャッシュ機能が備わっています。このビルダーにより、指定期間におけるモデル内の特定のアクションの出力をキャッシュできます。

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

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

15.6 開発ツール

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

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

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

15.6.2 Oracle Portlet Factory

Oracle Portlet Factoryは、Eclipse統合開発環境(IDE)内で実行されます。

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

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

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

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

Oracle WebCenter Frameworkでは、次のタイプのポートレット作成をサポートします(図15-4)。

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

図15-4 ポートレット作成スタイル

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

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

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

15.7.2 Oracle Portlet Factory

Oracle Portlet Factoryでは、開発後に追加のポートレット作成スタイルを提供します。開発者はPortlet FactoryのUIを使用して、ビルダー(ボタン、ループ、アクションなど)をモデル内に配置します。コードは自動的に生成されます。開発者は、生成されたコードを表示できますが、それと対話する必要はまったくありません。Oracle Portlet Factoryの開発順序は、モデルを作成し、それをプロデューサにデプロイし、ポートレットを使用するアプリケーションにプロデューサを登録してから、ポートレットをアプリケーション・ページに追加します。

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

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


注意:

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

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

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

15.8.1 Webクリッピング

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

15.8.2 OmniPortlet

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


注意:

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

15.8.3 Oracle Portlet Factory

Oracle Portlet Factoryを使用して、モデルおよびビルダーと対話します。各ビルダーには、モデルのコンテンツの構成を順を追って進めるウィザードがあります。ポートレット・コードは、ウィザードでの選択に基づいて生成されます。Portlet Factoryにより、表作成の作業が簡単になります。そのまますぐに使用できる多くのUIテンプレートとスタイルにより、ポートレットに異なるルック・アンド・フィールを与える作業が容易になります。

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

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

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

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

15.9.1 Webクリッピング

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

15.9.2 OmniPortlet

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

15.9.3 Oracle Portlet Factory

Oracle Portlet Factoryは、既存のエンタープライズ・アプリケーション(SAPなど)からデータ、コンテンツおよびプロセスを集約し、それらをカスタム・ポートレットとしてデプロイするためのツールです。したがって、Webコンテンツの取得および再使用の機能はありません。

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

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

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

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

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

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

15.10.1 Webクリッピング

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

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

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

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

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

15.10.2 OmniPortlet

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

15.10.3 Oracle Portlet Factory

Oracle Portlet Factoryでは、同じポートレット・コンテナ内(つまり、インライン)の複数ページ・ポートレットのレンダリングをサポートしています。追加のポートレット・ページへのリンクは、物理的ではなく論理的です。つまり、リンクは物理アドレスではなく、論理的な場所にマップされます。これにより、ポートレットが移動するインスタンスで優れたリンクの整合性が実現します。

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

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

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

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

15.11 チャート作成機能

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

15.11.1 Webクリッピング

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

15.11.2 OmniPortlet

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

15.11.3 Oracle Portlet Factory

Oracle Portlet Factoryには、Greenpoint Web Chartビルダーのデモ版が含まれています。このビルダーを使用すれば、高度なチャートやグラフを作成できます。フル・ライセンスは、Greenpoint社から取得できます。

http://www.webcharts3d.com/

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

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


注意:

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

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

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

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

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

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

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

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

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

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

15.13.2 Oracle Portlet Factory

Oracle Portlet Factoryでは、変数と呼ばれる要素を使用します。変数は、Portlet Factoryポートレットのファミリ内ではパラメータとほとんど同じ働きをします。

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

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

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

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

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

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

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

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

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

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

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

15.15 多言語サポート

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

Webクリッピング、OmniPortletおよびJavaポートレットでは、エンド・ユーザーが選択した言語でテキスト情報が表示されます。Oracle Portlet Factoryでは、次の2つのビルダーを介して、ローカライズされたコンテンツをサポートします。

15.16 ページ区切りサポート

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

15.16.1 Webクリッピング

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

15.16.2 OmniPortlet

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

15.16.3 Oracle Portlet Factory

Oracle Portlet Factoryでは、ページ区切りは最初からサポートされています。チェック・ボックスを選択し、表示する行数を指定します。

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

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

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

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

15.17.1 Webクリッピング

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

15.17.2 OmniPortlet

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

15.17.3 Oracle Portlet Factory

外部アプリケーションへのアクセスは、PDK-Java APIと対話するJavaクラス・ビルダーを介してサポートされています。そして次に、APIは外部アプリケーションと通信します。外部アプリケーションへの最初のログインの後、ユーザーのログイン資格証明は資格証明ストアに保存され、その後はそこから取得されます。

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

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