この章では、構築するWebCenterアプリケーションのタイプの決定方法を示し、WebCenterアプリケーションを構築するための主要な考慮事項について説明します。WebCenterアプリケーションの構築を開始する前に、この章をよく読んで、使用可能なオプションと構築の開始前に考慮する必要のある問題を見極める必要があります。
Oracle WebCenter Frameworkには、(ポートレット、カスタマイズおよびコンテンツ統合などの)機能セットが備わっています。この機能セットを使用すると、Oracle ADFを使用してWebCenterアプリケーションを構築してデプロイするプロセスが簡単になります。
WebCenterアプリケーションとは、次の要素の一部または全部が使用されたアプリケーションです。
カスタマイズ可能ページ
(Java Content Repositoryデータ・コントロールを介してコンテンツ・リポジトリから取得した)コンテンツ
ポートレット
カスタマイズ可能コンポーネント
コラボレーション・ツール(たとえば、ディスカッション・フォーラムやインスタント・メッセージングなど)
スキン
セキュリティ
WebCenterアプリケーションを構築してテストした後は、エンドユーザーのためにアプリケーションをデプロイする必要があります。WebCenterアプリケーションがデプロイされて実行されると、ユーザーはアプリケーションへのアクセスを開始し、管理者はアプリケーションの保守を開始します。以降の各項に、WebCenterアプリケーションのコンポーネントの概要を示します。
Oracle WebCenter Frameworkには、次のすべての要素を使用してJSFページを拡張するための機能が本質的に備わっています。
領域内でコンテンツを再配置したり、子コンポーネントの表示/非表示を切り替えるための、カスタマイズ可能コンポーネント
動的コンテンツを表示、パーソナライズおよび再利用するためのポートレット
Java Content Repository(JCR)データ・コントロールを介してコンテンツ・リポジトリから取得したコンテンツ
これらの要素を組み合せることで、ユーザーはコンテンツおよびコラボレーション機能に簡単にアクセスできるようになります。またオプションで、これらの様々なページ要素のカスタマイズを有効化して、WebCenterアプリケーションをよりフレキシブルにすることができます。管理者はエンドユーザーのページをカスタマイズできますが、エンドユーザーはページをパーソナライズできませんので注意してください。ポートレットがパーソナライズを実装していて、アプリケーションがユーザー認証を実装している場合、エンドユーザーはポートレットのみをパーソナライズできます。
カスタマイズ可能コンポーネントを使用すると、管理者は要件に応じてビューを操作できます。たとえば、管理者は特定のコンポーネントをすべて非表示にしたり、ページの一番上に移動するように選択できます。カスタマイズ可能コンポーネントをページに追加すると、そのページはカスタマイズ可能になります。
カスタマイズ可能コンポーネントには、ShowDetailFrame
というコンテンツ・コンテナ・コンポーネントと、PanelCustomizable
というレイアウト・コンポーネントがあります。これらのコンポーネントを使用すると、管理者はコンテンツの一部の再配置または表示/非表示の切替えを行ったり、ページ上のコンテンツの動作を定義できます。
Oracle WebCenter Frameworkでは、2つのカスタマイズ・コンポーネントが提供されています。
内側のコンポーネントをクロムで囲むShowDetailFrame
コンポーネント。これによって管理者は、そのコンテンツを最小化、最大化または移動できます。
PanelCustomizable
コンポーネント。これによって管理者は、内側の子コンポーネントの表示/非表示を切り替えることができます。
一般的なシナリオにおいては、複数のShowDetailFrame
にそれぞれ異なるコンポーネント(たとえば、Oracle ADF Facesの表やobjectImage
など)が含まれていることがあります。この場合、これらのShowDetailFrame
をPanelCustomizable
コンポーネントでラップすると、ShowDetailFrame
がPanelCustomizable
の子になります。このシナリオでは、各ShowDetailFrame
が、最小化、最大化および移動のためのそれぞれのクロムを持ちます。さらに、すべてのShowDetailFrame
はクロムで囲まれているため、子ShowDetailFrame
の表示/非表示を切り替えることができます。PanelCustomizable
は、コンテンツの移動を可能にします。このコンポーネントがない場合、ShowDetailFrame
は最小化または最大化のみできます。
Oracle WebCenter Frameworkでは、ポートレットに対してWSRP 1.0、WSRP 2.0、JSR 168およびOracle PDK-Javaがサポートされています。この初期リリースのOracle WebCenter Frameworkでは、WSRP 2.0機能にはいくつかのOracle拡張要素が必要ですので注意してください。また、Oracle WebCenter Framework環境では、すべてのポートレットはアプリケーションからリモートに実行されるため、ローカル・ポートレットは存在しないことにも注意してください。ポートレットを消費する前には必ず、ポートレットのプロデューサをデプロイしてアプリケーションに登録する必要があります。
オラクル社またはサード・パーティが提供するポートレットを使用することも、プログラムを使用して独自のポートレットを作成することもできます。Oracle WebCenter Frameworkに付属のビルトイン・ポートレットには、次のポートレットがあります。
リッチ・テキスト・ポートレットは、実行時にブラウザ・ベースでリッチテキストな編集を可能にします。
Webクリッピングは、ブラウザ・ベースの宣言型ツールです。これを使用すると、WebアプリケーションとWebCenterアプリケーションを統合できます。
OmniPortletは、宣言型のポートレット構築ツールです。これを使用すると、XMLファイル、値間を特定文字で区切ったファイル(スプレッドシートなど)、Webサービス、データベース、Webページといった多様なデータソースに対してポートレットを構築できます。
また、パッケージ・アプリケーションには、アプリケーションの特定のデータまたは機能にアクセスできる、独自のポートレット・セットが付属していることが多くあります。互換性のあるテクノロジ(WSRP、JSR 168またはPDK-Java)を使用して構築されていれば、これらのポートレットをWebCenterアプリケーションに含めることもできます。
ポートレットとFacesコンポーネント、およびポートレットとページの間でパラメータが受渡しされるように、複数のポートレットをリンクできます。この方法で、ポートレットで表示されるデータがページ・コンテキストに応じて変わる、状況依存アプリケーションを作成することができます。
関連項目:
|
WebCenterアプリケーションからコンテンツ・リポジトリを参照および問合せするには、リポジトリからのデータをアプリケーションにバインドする必要があります。Oracle JDeveloperおよびOracle ADFでJCRデータ・コントロールを使用すると、コンテンツ・リポジトリに接続し、WebCenterアプリケーション内にそのコンテンツを表示できます。この機能はJSR 227に基づいており、様々なソースからのデータをJavaユーザー・インタフェースにバインドする標準的な方法を提供します。
たとえば、Oracle Content Database(Oracle Content DB)、Oracle Application Server Portal(OracleAS Portal)またはファイル・システムからコンテンツを選択するデータ・コントロールを作成できます。作成したデータ・コントロールは、表としてのJSPドキュメントにドロップできます。Oracle Content DB、OracleAS Portalまたはファイル・システム以外のコンテンツ・リポジトリからデータを取得する必要がある場合は、独自のJCRアダプタを作成できます。データ・コントロールの作成ウィザードの「コンテンツ・リポジトリ・コンフィギュレーション」ページから、取得するデータが含まれるコンテンツ・リポジトリを選択します。
Oracle ADF Facesにおけるスキンは、アプリケーション全体に対して1か所に設定されるグローバル・スタイルシートです。アプリケーション全体に対して1つのスキンを作成できるため、各コンポーネントのスタイルを設定したり、各ページにスタイルシートを挿入する必要はありません。各コンポーネントで自動的に、スキンで記述されているスタイルが使用されます。スキンの変更内容は実行時に取り込まれるため、コードを変更する必要はありません。スキンはCascading Style Sheet仕様に基づいており、CSS 3.0構文を使用します。
WebCenterアプリケーションのセキュリティ・モデルは、広範な種類の領域に対応しています。次のように、特定の環境のニーズを考慮し、アプリケーションに適用する必要のあるセキュリティの側面を選択する必要があります。
ユーザー・ログインを要求し、ユーザー・ロールに基づいて特定の領域や機能へのアクセスを制限する必要がある場合。この場合、ロールに基づいて、細かいレベル(たとえば、ページ、データ・イテレータ、属性、メソッドなど)で許可されるアクションを定義できます。また、他のページやコンポーネントに対する権限に基づいて、ユーザーにビュー・コンポーネントが表示されるかどうかを制御することもできます。
WebCenterアプリケーションで、外部アプリケーションのセキュリティ・システムまたはコンテンツ・リポジトリとネゴシエートしてデータまたはコンテンツをフェッチする必要がある場合。
アプリケーションとリモート・ポートレットの間にセキュアなアイデンティティ伝播を構成する必要がある場合。
設計時環境(Oracle JDeveloper)でWebCenterアプリケーションを作成してテストした後は、アプリケーションを本番システムにデプロイする必要があります。WebCenterアプリケーションをデプロイした後は、システムを保守する必要があります。たとえば、パフォーマンスや可用性の監視、ポートレット・プロデューサの編集またはリフレッシュ、アプリケーションのアンデプロイ、あるいはカスタマイズ・データの移行を行います。また当然、アプリケーションをさらに拡張し、再度ステージングして本番システムに再デプロイすることも必要になります。ライフ・サイクル・ツールおよびGrid Controlコンソールを使用すると、これらの作業を本番WebCenterアプリケーションで簡単に実行できます。
WebCenterアプリケーションの設計を始める前に、関係者のニーズを考慮する必要があります。具体的には、WebCenterアプリケーションのエンドユーザー、管理者および開発者が最も求めている機能は何かを考慮することが重要です。この計画プロセスでは、次に示す一般的な質問リストが参考になります。WebCenterアプリケーションの実際の構築を開始する前に、次の質問すべてに対する答えを慎重に考察してください。
ユーザーは何人存在するか。多数のユーザーに対応するWebCenterアプリケーションにする必要がある場合は、デプロイメント環境を定義する際に、そのことを考慮する必要があります。WebCenterアプリケーションにアクセスすると予測されるユーザー数に対応できるようなトポロジを選択する必要があります。
関連項目: WebCenterアプリケーションに最適なOracle Application Server構成を決定するには、『Oracle Application Serverエンタープライズ・デプロイメント・ガイド』を参照してください。 |
ユーザーがポートレットをパーソナライズする必要があるか。オプションで、認証されたユーザーがポートレットをパーソナライズできるパーソナライズ・モード(「編集」モード)をポートレットに組み込むことができます。「編集」モードでは、ポートレットのコンテンツを決定する項目(ポートレットのタイトルやパラメータなど)をユーザーが入力できます。たとえば、ユーザーが株式ポートレットに対してティッカー・シンボルを入力できるような「編集」モードを実装できます。ユーザーが変更した内容が適用されると、ポートレットには、選択されたティッカー・シンボルの価格が表示されます。パーソナライズを実装するように選択した場合は、ポートレットを消費するアプリケーションに対してなんらかの形態のセキュリティを実装する必要もありますので注意してください。「パーソナライズ」オプションは、認証されたユーザーにのみ表示されます。
どのようなタイプのページまたはレイアウトがユーザーのニーズに最も適うか。Oracle WebCenter Frameworkでは、様々な方法でコンテンツをレイアウトできます。一番上または横にナビゲーション・バーを備えた3つの列ページを作成できます。あるいは、ダッシュボード形式で表示されるページを作成することもできます。また、ユーザーがページ上のオブジェクトの再配置できるようにすることもできます。あらかじめこれらのオプションについて考慮し、ページ上にコンテンツをレイアウトする最適な方法を決定する必要があります。
注意: WebCenterアプリケーションの構成中は、WebCenterアプリケーションの管理者と開発者が意思疎通を図ることが非常に重要です。設計時、開発者は、管理者が実行時にアプリケーションで行える操作を決定する多くの選択を行う必要があります。たとえば、開発者がスキンを実装しないことを選択した場合、管理者はアプリケーションのルック・アンド・フィールを制御できません。このため、設計時には必ず、管理者と開発者が意識合せをしておく必要があります。 |
管理者がユーザーまたはユーザー・グループのページおよびポートレットをカスタマイズする必要があるか。WebCenterアプリケーションの管理者がページおよびポートレットをカスタマイズしてユーザーにWebCenterアプリケーションのデフォルト・ビューを提供できるように設定することもできます。
WebCenterアプリケーションのルック・アンド・フィール。WebCenterアプリケーションにスキンを実装すると、管理者はWebCenterアプリケーション内のページの外観を選択できます。
カスタマイズ可能ページ。管理者はページのレイアウトをカスタマイズできます。
ポートレット。オプションで、管理者がポートレットをカスタマイズできるカスタマイズ・モード(「デフォルトの編集」モード)をポートレットに組み込むことができます。管理者がカスタマイズした内容は、他のすべてのユーザーのポートレットのデフォルト・ビューとして処理されます。
ポートレット・タイトル。管理者がポートレットのタイトルをカスタマイズする必要がある場合、開発者は<portlet>
タグのtext
属性を使用できません。
関連項目:
|
<form>タグを含むポートレットがあるか。JSFページによって生成されたHTMLには、<form>
タグが含まれます。独自の<form>
タグも含まれるポートレットをJSFページ上に配置した場合、JSFページは機能しません。この<form>
タグ競合を回避するために、デフォルトでポートレットはインライン・フレーム(IFRAME)で囲まれます。ポートレットにIFRAMEを使用するかどうかは、adfp:portletタグのrenderPortletInIFrame
属性を設定することによって制御できます。この属性の推奨設定はauto
です。この設定では、<form>
タグが検出されたポートレットの周りにIFRAMEが配置されます。false
を選択した場合、ポートレットに<form>
タグが含まれていないことを自分で確認する必要があります。
開発者がコンテンツ・リポジトリ(たとえば、OracleAS Portal)からのコンテンツを統合する必要があるか。WebCenterアプリケーション内に公開するコンテンツがコンテンツ・リポジトリ内にある場合、JCRアダプタおよびデータ・コントロールを使用する必要があります。
WebCenterアプリケーションの表示コンテンツを、ユーザーのアイデンティティに応じて変えるか。一部のユーザーにのみ表示するコンテンツをWebCenterアプリケーション内に設定する場合、ログインおよびユーザー・ロールを使用したセキュリティ・モデルを設定して、アクセスを制御できるようにする必要があります。ユーザーのアイデンティティに応じて、コンポーネント、ポートレットおよびページの表示と非表示を切り替えることができます。コンテンツをすべてのユーザーに表示する場合(たとえば、すべての従業員が使用するコンテンツを持つ人事管理WebCenterアプリケーションなど)、アクセス制御を実装する必要はありません。
WebCenterアプリケーションで外部アプリケーションへのアクセスを提供する必要があるか。WebCenterアプリケーション内に外部アプリケーションを表示する必要があることもしばしばあります。たとえば、ユーザーがWebCenterアプリケーション内から電子メール・アプリケーション、人事管理アプリケーションまたは財務アプリケーションを表示できるようにする場合などです。WebCenterアプリケーションからこのような外部アプリケーションへのアクセスを提供する場合は、セキュリティ・モデルに対する影響を考慮する必要があります。
WebCenterアプリケーションでOracleAS Portalからの外部アプリケーション・ポートレットが必要か。OracleAS Portal用に構築された外部レガシー・アプリケーション・ポートレットがある場合は、WebCenterアプリケーション内でこれらのポートレットを再利用できます。この機能を使用すると、ユーザーはWebCenterアプリケーションからこれらのポートレットを表示でき、各アプリケーションを個別に開いたり、OracleAS Portalに戻る必要はありません。ただし、このようなポートレットを構築するときは、通常は、データを取得および表示する前に外部アプリケーションに対してユーザー認証を行う必要があることを覚えておいてください。このような認証には、資格証明ボールトが必要です。WebCenterアプリケーションは、外部アプリケーションへのログインに必要な資格証明をここに格納できます。Oracle WebCenter Frameworkでは、Oracle JDeveloperで外部アプリケーションに基づくポートレットを取り込むことを選択できます。
開発者チームがWebCenterアプリケーションを開発するか。WebCenterアプリケーションをチームで開発する場合は、追加の設計上の考慮事項があります。たとえば、チーム開発を行う場合、様々なOracle JDeveloperアクションの影響を受けるファイルによく注意する必要があります。
このガイドで使用する例は、Oracle ADFアプリケーション(『Oracle Application Development Framework開発者ガイド』を参照)に基づいており、既存のOracle ADFアプリケーションにポータルおよびWebCenterサービスの機能を追加する方法を示しています。この項では、次の2つのトピックについて説明します。
サービス・リクエスト・デモ(SRDemo)アプリケーションは、家電製品のサービスを行う会社がWeb上でサービス問題を解決できる、サンプルのカスタマ・リレーションシップ・マネジメント・アプリケーションです。このアプリケーションは16のWebページで構成され、次のようなフローで、顧客が生成したサービス・リクエストを管理します。
顧客がログインし、サービス・リクエストを送信します。
管理者がログインし、リクエストを技術者に割り当てます。
技術者がログインし、割り当てられたリクエストを確認した後、解決策を提供するか、顧客に追加の情報を要求します。
顧客がサイトに戻り、サービスを確認した後、リクエストを完了するか、追加情報を提供します。
リクエストが未処理の間、管理者は技術者の既存のリクエストを確認でき、必要に応じて別の技術者に再割当てできます。
また、技術者は自分の専門領域の製品を指定できます。管理者はこの情報を使用して、サービス・リクエストを割り当てます。
ログイン後のユーザーには、顧客、管理者または技術者としてのロールに応じたアプリケーション機能のみが表示されます。
デモの詳細は、『Oracle Application Development Framework開発者ガイド』の「Oracle ADFサービス・リクエスト・デモの概要」を参照してください。
シナリオについて
SRDemoでは、顧客のサービス・リクエストを追跡するために既存のOracle ADFアプリケーションを使用し、既存のアプリケーションを変更することなくアプリケーションにポータル機能を追加します。このサービス・リクエスト・アプリケーションによって、顧客、技術者および管理者はすべて、同じインタフェースからサービス・リクエストの情報を表示できます。3つのロールは次のとおりです。
顧客(My Acme Corporationの顧客)
技術者(My Acme Corporationのサービス・リクエストを処理する技術者)
管理者(Webサイトを管理し、My Acme Corporationの技術者チームを運営する管理者)。
顧客
顧客はアプリケーションにログインし、現在の告知内容、自分の既存のサービス・リクエスト、およびこれらのリクエストの詳細情報を表示できます。また、購入した製品の情報や、サービスを提供する会社と締結している現在の契約のリストも表示できます。さらに、既存のサービス・リクエストに対する意見を送信できます。
技術者
技術者はアプリケーションにログインし、割り当てられたサービス・リクエストを表示できます。また、既存のサービス・リクエストを更新できます。
管理者
管理者はアプリケーションにログインし、実行時、顧客に表示される告知内容を更新できます。また、コンテンツ・リポジトリ内のコンテンツを使用して、実行時にページを変更できます。たとえば、顧客に対して新しいサービスが使用可能になった場合、管理者は実行時にこの新しいサービスに関する情報を追加できます。また、管理者は顧客からの意見を検討し、自分のメモを追加できます。さらに、現在のサービス・リクエストの量や最も行動的な顧客などが示されたダッシュボード・ページにサイト統計を表示できます。また、このダッシュボード・ページをカスタマイズできます。管理者は、1つのページから一般サイト管理にアクセスし、スキンを切り替えてルック・アンド・フィールを変更したり、ログインをカスタマイズすることができます。
SRDemoを表示し、このガイドで例示した作業のいくつかを実行するには、開始ファイルをダウンロードしてインストールする必要があります。そのための手順は、次のとおりです。
次のページにあるWebCenterSRDemo.zip
ファイルをダウンロードします。
http://www.oracle.com/technology/products/webcenter/documentation.html
Zipファイルをc:\
ドライブに抽出し、ディレクトリの最上位にあるInstall.html
ファイル内の指示に従います。