Oracle® Fusion Middleware Oracle WebCenter Portal開発者ガイド 11g リリース1 (11.1.1.7.0) B72084-02 |
|
前 |
次 |
この章では、Oracle WebCenter Portalの概要について説明します。この章は、WebCenterテクノロジを使用してアプリケーションを作成するときに、考慮する必要のある事項について理解するために役立ちます。
この章には次の項が含まれます:
対象読者
この章は、Frameworkアプリケーションの開発者を対象としています。開発者は、この章をよく読んで、どのようなオプションが使用できるかを見定める必要があります。
Oracle WebCenter Portalは、企業ポータル、商取引用Webサイト、およびソーシャル・ネットワーク・サイトを構築するための設計時ツールと実行時ツールを提供しています。WebCenterの一般的なユース・ケースとして、従業員用イントラネット、顧客用エクストラネット、ダッシュボード、ブログやWiki、コミュニティ・ディスカッション・フォーラム、オンライン・ストアなどがあげられます。WebCenterには、このようなアプリケーションの作成に必要なツールが用意されています。
図2-1は、この製品を構成する主要コンポーネントを示して、Oracle WebCenter Portalアーキテクチャの概要を説明しています。
Oracle WebCenter Portal: Frameworkは、ポータル固有の機能をFrameworkアプリケーションに提供します。これらの機能には、ページ階層、ナビゲーション・モデル、委任セキュリティ、カスタマイズなどが含まれます。ポータルには、ポートレット、コンテンツ管理システムの統合、パーソナライズ、ソーシャル・コンピューティング・サービス、検索、分析などの機能を含めることもできます。
エンド・ユーザーから見ると、ポータルは、タブなどのナビゲーション・フォームで編成されたページを持つWebサイトです。各ページには、ポートレット、静的コンテンツ、動的コンテンツ、タスク・フローなどが含まれます。また、許可されているユーザーは、独自のページを追加したり、各自が選択したポートレットを追加したり、インタフェースのルック・アンド・フィールを変更することで、ポータルのビューをカスタマイズできます。
Oracle WebCenter Portal: Frameworkの全体的な概要は、第8章「Frameworkアプリケーションの理解」を参照してください。
この項では、Frameworkアプリケーションで使用できる、いくつかの主な機能について説明します。これらの機能では、リモート・アプリケーションの統合、ページのカスタマイズ、コンテンツの統合、パーソナライズ、セキュリティなどをサポートします。
このセクションでは、ポートレットとページレットという2つのテクノロジについて説明します。これらを使用すると、リモートのアプリケーションをポータル・ページに統合できます。
ポートレットは、様々なソースからのコンテンツを描画できる、再利用可能なWebコンテンツです。ポートレットは、複数のソースからのデータを意味のある関連した方法で提示する手段を提供します。ポートレットでは、他のWebサイトからの抜粋の表示、主要情報のサマリーの生成、検索の実行および多様なデータ・ソースの情報を収集したコレクションへのアクセスなどを実行できます。共通のページに様々なポートレットを配置できるため、ユーザーは単一のソースとして利用できます。実際には、コンテンツは複数のソースから導出されています。
ポートレットを作成する様々な方法とポートレット(WebCenter Portalで利用可能な、事前に構築されているポートレットを含む)の使用方法については、第57章「ポートレットの概要」を参照してください。ページでのポートレットの消費やリンクについては、第62章「ポートレットの消費」を参照してください。
ページレットは、ポートレットに類似した、再利用可能なユーザー・インタフェース・コンポーネントですが、ポートレットはポータル専用に設計されたもので、ページレットは、ポータルや他のWebアプリケーション内など、どのWebページでも実行できます。ページレットは、他のWeb環境でプラットフォームに固有のポートレットを公開する場合に使用できます。任意のHTMLフラグメントがページレットになりますが、ページレット開発者は、ポートレット開発者が利用できる様々な機能を活用して、パラメータ化された構成可能なページレットを記述し、その他のページレットと動的にやり取りして、Ajaxパターンでユーザー入力に応答することもできます。
Oracle WebCenter Portalのページレット・プロデューサは、動的ページレットの開発を容易にする有用なツールと機能のコレクションを提供します。ページレット・プロデューサを使用したページレットの開発および構成の詳細は、第65章「Oracle WebCenter Portalのページレット・プロデューサを使用したページレットの作成」を参照してください。
第2.3.1.1項「ポートレットとは」で説明したように、ポートレットは、各種のソースからのコンテンツを描画できる、再利用可能なWebコンポーネントです。ポートレットでは、静的HTMLから、複雑なWebサービスや処理負荷の高いアプリケーションのためのJavaのコントロールまで、どのようなものでも管理と表示が可能です。
1つのポートレットで複数のインスタンスを保持することもできます。つまり、1つのポータル内の各種ページにポートレットが表示され、ポートレットがWeb Services for Remote Portlets (WSRP)に対して有効な場合は複数のポータル間でも表示できます。特定のユーザーやグループのニーズに応えるようにポートレットをカスタマイズできます。
タスク・フローを使用すると、カスタマイズ可能なアプリケーションを、再使用可能なビジネス・ロジックのユニットで作成できます。これは、アプリケーションの制御フローをモジュール単位で定義するアプローチを意味します。それぞれのタスク・フローは、再利用可能な1つのビジネス・ロジックを表します。メモリーとトランザクションのスコープが分離されているため、タスク・フローとそれを囲むアプリケーションは分離されています。この分離より、Oracle WebCenter Portalのコンポーザなどにタスク・フローを含めることができます。
タスク・フローは、制御フローのルール、アクティビティおよびマネージドBeanをカプセル化して、ビジネス・モジュールを実装します。WebCenter Portalのアプリケーションでは、簡単にタスク・フローを再利用できます。タスク・フローは、カスタマイズ可能な任意のWebLogic Portalアプリケーション・ページにドラッグ・アンド・ドロップできます。このような意味で、タスク・フローは、任意のADFアプリケーションでの再利用や削除が可能な論理ポートレットとみなすことができます。
タスク・フローはビジネス・プロセスの高水準の実装ですが、データアクセスやビジネス・ロジックをホストすることはありません。そのためには、タスク・フローがデータ・コントロールや宣言バインディングと相互作用する必要があります。さらに、これらのデータ・コントロールやバインディングは、ADFビジネス・コンポーネント・フレームワークと相互作用します。
Oracle発行の標準JSR 329に従い、タスク・フローを標準ベースのポートレットとして公開できます。このように、1つのアプリケーションに、ベース・アプリケーションの機能と、統合に消費されるポートレットの両方が含まれます。アプリケーションを改訂すると、ポートレットは、アプリケーションとともに必然的かつ自動的に更新されます。個別の開発プロジェクトは必要ありません。JSR 329をサポートするために、Oracle WebCenter Portal: Frameworkでは、Oracle JSF Portlet Bridgeが用意されています。Oracle JSF Portlet Bridgeの詳細は、第58章「Oracle JSF Portlet Bridgeを使用したJSFアプリケーションからのポートレットの作成」を参照してください。
タスク・フローをポートレットとして消費する他に、タスク・フローをJSFアプリケーションで共有ライブラリとして消費してこれらのJSFフラグメントを直接埋め込むことができます。タスク・フローの周囲のトランザクションを、アプリケーションのそれ以外の機能と一緒にラップできます。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の第14章「ADFタスク・フローの概説」を参照してください。
コンポーザは、既存のJSFアプリケーションに追加できる、簡単なブラウザベースの環境です。エンド・ユーザーは、コンポーザを使用して、実行時にページを編集し、独自のマッシュアップを作成できます。この方法で実行時にページを編集できるようにする場合は、コンポーザの設計時コンポーネントをJDeveloperでページに追加します。コンポーザのコンポーネントのみを含む空のページをJDeveloperで作成すると、ユーザーは、編集モードのときにコンポーザを使用して、ページを再設計できるようになります。実行できるタスクには、次のものがあります。
ページの設定とパラメータの編集
ページへのコンテンツの追加
コンポーネントのプロパティとパラメータの編集
ページ・パラメータへのコンポーネントの関連付け
ページへのコンテンツの配置
ページのコンポーネントのレイアウトの変更
ページからのコンポーネントの削除
コンポーザ・タグ・ライブラリには、実行時にページを編集可能にして、ページ上のコンテンツの動作(コンポーネントの移動、配列、非表示など)を定義するために追加できるコンポーネントが用意されています。
コンポーザの「コンポーネント・カタログ」ダイアログ・ボックス(ページ上の「追加」ボタンをクリックすると表示されます)には、デフォルトの実行時リソース・カタログ・ビューアが表示されます。ユーザーは、このビューアでコンポーネントを参照して、そのコンポーネントをページに追加できます。ビューアには、デフォルトで、アプリケーションで使用可能なすべてのOracle ADFコンポーネントおよびポートレットが含まれるデフォルトのリソース・カタログが表示されます。ビューアでユーザーに表示するコンポーネントを制御するには、デフォルトのリソース・カタログを変更するか、独自のリソース・カタログを1つ以上作成します。リソース・カタログには、ポートレット、レイアウト・コンポーネント、タスク・フロー、ドキュメント、Oracle ADF Facesコンポーネントなどの項目を含めることができます。
アプリケーションにコンポーザ・コンポーネントを実装する方法の詳細は、第19章「コンポーザを使用したページの実行時編集の有効化」を参照してください。
JCR (Javaコンテンツ・リポジトリAPI、JSR 170とも呼ばれる)アダプタを使用すると、アプリケーションから使用可能なOracle WebCenter ContentやOracle Portalなどのコンテンツ管理システム、またはファイル・システムにデータを格納できます。
JDeveloperを使用すると、作成済のJCRデータ・コントロールを使用して、コンテンツを選択してからページにドロップできます。提供されている作成済のユーザー・インタフェースを利用して、Frameworkアプリケーションでコンテンツを表示できます。このアーキテクチャにより、ユーザー・インタフェースを一度作成すると、デプロイメント時または実行時に、アプリケーションを再コンパイルまたは再ビルドすることなく、必要とされるどのバック・エンドにでも切替えできるようになります。さらに、各コンテンツ管理システムのカスタムAPIに関する複雑な内容について理解している必要もなくなります。たとえば、JCR 1.0準拠のリポジトリまたはファイル・システムからコンテンツを選択するデータ・コントロールを作成できます。このデータ・コントロールが作成されると、そのコントロールを表としてJSPドキュメントにドロップできます。
Oracle Portal、Oracle WebCenter Content、またはファイル・システム以外のコンテンツ・リポジトリからデータを取得する場合には、独自のJCRアダプタを作成できます。データ・コントロールの作成ウィザードの「コンテンツ・リポジトリ構成」ページから、取得するデータが含まれるコンテンツ・リポジトリを選択します。
「コンテンツ・プレゼンタ」タスク・フローを使用すると、アプリケーションにコンテンツを効率的に追加できるようになります。コンテンツ・プレゼンタを使用すると、単一のコンテンツ・アイテム、複数のコンテンツ・アイテムまたはコンテンツの問合せを選択してから、Frameworkアプリケーションのページでそのコンテンツをレンダリングするためのテンプレートを選択できます。さらに、コンテンツ・プレゼンタのカスタム表示テンプレートを設計できます。第28章「コンテンツ・プレゼンタ表示テンプレートの作成」を参照してください。詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のコンテンツ・プレゼンタを使用したコンテンツの追加に関する項と、第26章「コンテンツ・リポジトリ接続の管理」も参照してください。
検索は、あらゆるWebアプリケーションの機能のうち、最も一般的で役立つ機能の1つです。Oracle WebCenter Portal: Frameworkには、直感的なユーザー・インタフェースで情報や人物を検索できる、拡張可能な統合検索フレームワークが備わっています。この強力な検索フレームワークを使用すると、エンタープライズ規模の検索機能をシームレスにアプリケーションに組み込めます。関係のある、すべてのセキュアな情報間を簡単にナビゲートできるため、ユーザーは、複数の検索を行っているアプリケーション間を行き来する必要がなくなります。第44章「検索サービスの統合」を参照してください。
リソース・カタログを使用すると、統合された検索および参照のユーザー・インタフェースに、本来であれば関連しない1つ以上のリポジトリのコンテンツの結合ビューが提供されます。各リソースは、それぞれのソース・リポジトリで作成および公開された後、JDeveloperの「リソース・パレット」を通じて開発者に公開され、リソース・カタログ・ビューアを通じてエンド・ユーザーに公開されます。「リソース・パレット」には、ポータル開発で一般的に使用される要素を含むWebCenterポータル・カタログが格納されています。
リソース・カタログには、次のコンポーネントを含めることができます。
レイアウト・コンポーネント。プライマリ・レイアウト・コンポーネントはBox
です。これは、他のタイプのコンポーネントをすべて含めることができるコンテナです。実行時に、コンポーネントをドラッグ・アンド・ドロップできるBox
を使用する必要があります。Box
から子コンポーネントを追加および配置したり、コンポーネントを削除したりすることもできます。『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』を参照してください。
Oracle ADF Facesコンポーネント。Text
、Image
、Page Link
、Web Page
およびWebsite Link
コンポーネントをページに追加できます。これらは、それぞれJDeveloperの設計時コンポーネントであるRich Text Editor
、Image
、Command Link
、Web Page
およびGo Link
と同様のものです。
Text
コンポーネントでは、ページにリッチ・テキストを追加できます。このコンポーネントを追加すると、サイズ変更可能でHTMLエディタに類似のテキスト・エディタが起動されます。テキストを追加し、エディタで使用可能なオプションを使用して書式設定できます。『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』を参照してください。
ポートレット。JDeveloperに登録されている任意のプロデューサから、WSRP、JSF Portlet BridgeポートレットまたはPDK-Javaポートレットを追加できます。ポートレット・プロデューサの登録方法およびページへのポートレットの追加方法の詳細は、第62章「ポートレットの消費」を参照してください。
ページレット。Oracle WebCenter Portalのページレット・プロデューサは、動的ページレットの開発を容易にする有用なツールと機能のコレクションを提供します。ページレット・プロデューサを使用したページレットの開発および構成の詳細は、第65章「Oracle WebCenter Portalのページレット・プロデューサを使用したページレットの作成」を参照してください。
タスク・フロー。JDeveloperでタスク・フローを作成すると、実行時に、JARファイルのそれらのタスク・フローをページに追加できます。ADFのタスク・フローの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
ドキュメント。アプリケーションにドキュメント・サービスを構成すると、このサービスからドキュメントを追加できます。ドキュメント・サービスの詳細は、第29章「ドキュメント・サービスの統合」を参照してください。
データ・コントロール。WebCenter Portalのサービスには、Frameworkアプリケーションやタスク・フローでカスタマイズしたユーザー・インタフェースを作成するためのデータ・コントロールを提供するものがあります。各サービスのドキュメントには、そのサービスのデータ・コントロールについての詳細な情報が記載されています。『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
Oracle WebCenter Portalに付属のOracle ADF拡張機能を使用すると、アプリケーション全体、ページ階層、ページ階層の一部分、ナビゲーション・コンポーネント、または単一のページにセキュリティを定義できます。カスタマイズ可能なコンポーネントで提供される個別のアクションに、セキュリティを定義できます。さらに、Webサービスを使用してバックエンド・サーバーに接続するOracle WebCenter Portal: Servicesに対しては、WS-Securityによるセキュアなアイデンティティ伝播を提供できます。
Oracle WebCenter PortalセキュリティはJAASおよびJ2EE標準に基づいているため、Frameworkアプリケーションを保護する際に既存のアイデンティティ管理ストアで定義されるエンタープライズ・ロールを直接利用できます。構築するアプリケーション内でロールを同期する必要はありません。定義されたユーザーとロールを直接参照して使用します。また、アプリケーションの開発フェーズでファイルベースのセキュリティを使用でき、デプロイ時に企業のID管理に簡単にスイッチオーバーできます。
Oracle WebCenter Portalには、アプリケーションのポリシーを表すために使用できる、アプリケーション・ロールも用意されています。ポリシー・ストアで定義されたアプリケーション・ロールに権限を関連付けることにより、その権限をアプリケーション内に保持しておくことができます。デプロイメント時には、ユーザーとエンタープライズ・ロールをアプリケーション・ロールに関連付けると、それらの権限をエンド・ユーザーに付与できます。
場合によっては、独自の認証メカニズム(電子メールなど)を備えた既存のアプリケーションを利用するほうが適していることもあります。電子メール・システムは、多くの場合、新しいアプリケーションとは別の認証システム(別のユーザー名とパスワード)を使用します。そのアプリケーションでは、電子メール・ユーザーをアプリケーション・ユーザーにマップして、エンド・ユーザーが情報を要求するたびにユーザー名とパスワードを入力する必要がなくなるようにします。Oracle WebCenter Portal: Frameworkには、このようなユーザー名とパスワードを、外部アプリケーション機能でセキュアに管理する方法が用意されています。
Frameworkアプリケーションを保護するオプションの詳細は、第68章「WebCenter Portal: Frameworkアプリケーションの保護」を参照してください。
Oracle WebCenter Portal: Servicesは、サービスを通じてソーシャル・ネットワーキング機能と個人の生産性機能を公開し、タスク・フローを通じて、それぞれの機能のサブセットを公開します。
表2-1に、使用可能な各サービスを示します。
表2-1 Oracle WebCenter Portal: Services
サービス | 説明 | 章 |
---|---|---|
アクティビティ・グラフ |
集約的なインテリジェンスを活用し、検索アプリケーションおよびソーシャル・アプリケーションに役立てます。 |
|
分析 |
Frameworkアプリケーションの使用状況とパフォーマンスのメトリックを表示できます。 |
|
お知らせ |
認証されているすべてのユーザーに重要なアクティビティとインベントについてのお知らせを投稿する機能を提供します。 |
|
ブログ |
アプリケーションのコンテキストにブログ・アプリケーションを簡単に統合できるようにします。 |
|
ディスカッション |
スレッド化されたディスカッションを作成し、質問の提示と応答、回答の検索を行う機能を提供します。重要なアクティビティやイベントに関して、グループが効果的に通信するためのメカニズムも提供します。 |
|
ドキュメント |
コンテンツ管理機能および記憶域機能を提供します。この機能には、コンテンツのアップロード、ファイルやフォルダの作成および管理、ファイルのチェックアウト、バージョニングなどが含まれます。 |
|
イベント |
より大きなユーザーのグループに関連するイベントのスケジュールを作成および保守する機能を提供します。イベントは、認証されたすべてのユーザーに公開されます。 |
『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のイベント・サービスの使用に関する項 |
インスタント・メッセージおよびプレゼンス(IMP) |
他の認証ユーザーのステータス(オンライン、オフライン、ビジーまたは退席中)を確認し、そのユーザーとすぐに連絡を取る機能を提供します。 |
第34章「インスタント・メッセージおよびプレゼンス・サービスの統合」 |
リンク |
関連情報の表示、アクセス、および関連付けの機能を提供します。たとえば、ディスカッション・スレッドから解決策のドキュメントへのリンクを作成できます。 |
|
リスト |
リストを作成、公開および管理する機能を提供します。ユーザーは、作成済の構造からリストを作成することも、独自のカスタム・リストを作成することもできます。 |
『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のリスト・サービスの使用に関する項 |
メール |
IMAPおよびSMTPのメール・サーバーと簡単に統合できます。この統合により、ユーザーは、メッセージの確認、添付ファイル付きメッセージの作成、既存のメッセージへの返信または転送、メッセージの削除など、簡単なメール機能を実行できます。 |
|
ノート |
短いメモを記入したり、個人的に必要な情報の断片を維持する機能を提供します。 注意: このサービスは、Oracle WebCenter Portal: Spacesでのみ使用できます。 |
『Oracle Fusion Middleware Oracle WebCenter Portal: Spacesユーザーズ・ガイド』のノート・サービスの使用に関する項 |
通知 |
サービス・オブジェクトおよびアプリケーション・オブジェクトへのサブスクライブの手段と、これらのオブジェクトが変更されたときに、1つ以上の選択済メッセージ・チャネルを通じて通知を受信する手段を提供します。 |
|
ピープル・コネクション |
ソーシャル・ネットワーキング機能を提供します。個人プロファイルの作成、現在のステータスの表示、他のユーザーの最近のアクティビティの確認などの機能があります。 |
|
投票 |
関係者にアンケート(意見や経験レベルなど)を実施したり、重要な情報を覚えているかどうかを確認したり、フィードバックを集めたりできます。 |
|
パーソナライズ |
自分のアプリケーション内のコンテンツを、選択した条件に基づいて対象となるアプリケーション・ユーザーに配信できます。 |
第66章「WebCenter Portalアプリケーションのパーソナライズ」 |
最近のアクティビティ |
最近変更したドキュメント、ディスカッションおよびお知らせのサマリー・ビューを提供します。 |
|
RSS |
様々なWebサイトのコンテンツに1つの場所(ニュース・リーダー)からアクセスする機能を提供します。 |
|
検索 |
サービス、アプリケーション、またはサイト全体を検索する機能を提供します(これには、WebCenter Portal検索のためのOracle Secure Enterprise Searchの統合も含まれます)。 |
|
タグ |
個人的に関連する1つ以上のキーワードを、特定のページまたはドキュメントに割り当てる機能を提供します。 |
|
Wiki |
様々な地域にいるチームがWebドキュメントを起点にしたりWebドキュメントでコラボレートできる機能を提供します。 |
|
ワークリスト |
注目が必要なビジネス・プロセスを、個人用の一覧ビューにまとめて表示できるようになります(ドキュメント・レビューのリクエストや、エンタープライズ・アプリケーションから直接発生するその他のタイプのビジネス・プロセスが含まれます)。 |
|
WebCenterは、これらのサービスにおけるタスク・フローをOracle WebCenter Portal: Servicesカタログを通じて提供します。これらのタスク・フローを利用するようアプリケーションを準備する方法の詳細は、第7章「WebCenter Portal Services用アプリケーションの準備」を参照してください。
Oracle WebCenter Portal: Servicesを相互に統合する方法
WebCenter Portal: Servicesは、相互に統合されるように設計されています。次に、WebCenter Portal: Servicesを連動させる方法の例をいくつか示します。
検索サービスは、アプリケーション内の任意のWebCenter Portalサービスを検索するように設計されています。たとえば、アプリケーションにドキュメント・サービスが含まれている場合は、検索操作により、ドキュメント名とドキュメント自体に含まれる語句が検索されます。この結果には、タグの一致が含まれるため、ドキュメントやページで一致するタグもタグの品質と頻度に基づいた関連性とともに返されます。
リンク・サービスを使用すると、各サービス全体で関連する情報の表示、アクセスおよび関連付けが可能になります。たとえば、ディスカッション・フォーラムでは、関連するディスカッション・フォーラム、ドキュメント、URLまたはイベントへのリンクを作成できます。リンク・サービスは、ディスカッション・トピックからドキュメントに移動して、そこから元のディスカッション・トピックに戻るような、オブジェクト間の双方向リンクもサポートしています。
プレゼンス・アイコンは、ユーザーが表示される任意のWebCenter Portalサービスに表示できます。たとえば、ドキュメントに記載された作成者の名前をクリックすると、ポップアップ・メニューが表示され、その人物にインスタント・メッセージやメールを送信できます。
最近のアクティビティ・サービスを使用すると、お知らせ、ドキュメント、ディスカッションおよびページに対する最新の追加や変更をアプリケーションで確認できます。
多くのWebCenter Portalサービスには、それらのREST APIによりアクセスできます。REST APIを使用すると、豊富な対話型のクライアント側アプリケーションを作成できます。RESTコマンドでは、リクエストとして標準HTTPメソッドを使用して、使用するリソースを指定します。すべてのリクエストは、操作のステータスを含むレスポンスを返します。リクエストによりオブジェクトが取得、作成または更新されると、レスポンスにはそのオブジェクトの標準表現が格納されます。
REST APIを含むサービスの一覧と詳細は、第53章「Oracle WebCenter Portal REST APIの使用」を参照してください。
この項では、Oracle ADFについて簡単に紹介し、WebCenter PortalがOracle ADFテクノロジから得られるメリットについて説明します。
Oracle Application Development Framework (Oracle ADF)は、サービス指向アプリケーションの実装を簡易化し促進するために、Javaプラットフォーム、Java Enterprise Edition (Java EE)標準およびオープンソース・テクノロジの上に構築されたエンドツーエンドのアプリケーション・フレームワークです。Oracle JDeveloperとOracle ADFを併用すると、ドラッグ・アンド・ドロップによるデータ・バインド、視覚的なUI設計およびチーム開発機能が組み込まれた、設計からデプロイメントまでの開発ライフ・サイクル全体をカバーする環境が得られます。
各種テクノロジやアプローチを使用してポータルを構築でき、WebCenterは、ポータル構築に対して様々なオープン業界標準をサポートします。Oracle ADFには、WebCenter Portal開発のための強固な基盤が用意されています。これにより、Oracle Fusion Middlewareスタック全体への統合が可能になります。Oracle WebCenter Portalでは、スタックの残りの部分で提供される機能を利用して、このアーキテクチャ全体にプラグインするポータルを構築できます。
Oracle ADFでは、標準JSFコンポーネントのセットを使用しますが、このコンポーネントには組込みのAjax機能があります。Ajaxとは、非同期のJavaScript、ダイナミックHTML (DHTML)およびXMLを組み合せたものです。この組合せにより、ページ全体を完全に再レンダリングすることなく、サーバーにリクエストを送信できるようになります。Ajaxによってリッチ・クライアントのようなアプリケーションで標準インターネット・テクノロジを使用できるようにして、JSFによってサーバー側の制御を実現します。
Oracle ADFには、150を超えるリッチ・コンポーネントが含まれています。これには、階層形式のデータ表、ツリー・メニュー、ページ内ダイアログ、アコーディオン、デバイダ、ソート可能な表などがあります。また、Oracle ADFにはデータ視覚化コンポーネントも用意されています。これはFlashやSVGに対応したコンポーネントであり、動的チャート、グラフ、ゲージなどのグラフィックをレンダリングし、基礎となるデータをリアルタイムで表示できます。各コンポーネントは、国際化およびアクセシビリティのサポートおよびスキニングも提供しています。
ADFタスク・フローは、アプリケーション開発でユーザーが把握して使用する重要なコンポーネントを表します。これらは、アプリケーションでコントロール・フローを定義するためのモジュール式アプローチを提供します。アプリケーションを1つの大きなJSFページフローとして表すかわりに、再利用可能なタスクフローの集合として分類することができます。各タスク・フローでは、アプリケーションが完了するために実行する必要があるアプリケーション・アクティビティ(作業ユニット)を識別します。アクティビティとは、タスク・フローの実行時に行うことができる作業を意味しています。タスク・フローには、アプリケーションとともにパッケージ化およびデプロイできるという利点もあります。リモート・ポートレットのように個別のデプロイメントは必要ありません。タスク・フローの詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』を参照してください。
Oracle JDeveloperは、Java、XML、Webサービス、ポートレットおよびSQLの最新の業界標準を使用してサービス指向のアプリケーションを作成するための統合開発環境(IDE)です。JDeveloperは、アプリケーションのモデリング、コーディング、デバッグ、テスト、プロファイリング、チューニングおよびデプロイの統合された機能により、ソフトウェア開発のライフ・サイクル全体をサポートします。JDeveloperの視覚的および宣言型のアプローチとOracle ADFは、アプリケーション開発を単純化して、日常的なコーディング・タスクを削減できます。たとえば、多くの標準的なユーザー・インタフェース・ウィジェット(ボタン、値のリスト、ナビゲーション・バーなど)のコードは、事前にパッケージ化されています。適切なウィジェットをコンポーネント・パレットから選択して、そのウィジェットをアプリケーションにドロップするだけです。
WebCenter PortalのOracle JDeveloper用拡張機能には、Frameworkアプリケーションを作成するために必要なすべての開発機能が含まれています。Oracle WebCenter Portalのコンポーネントは、リソースのカタログからすぐに利用できます。
WebCenter Portal拡張機能は、ポートレットの構築、既存のポートレットの消費、コンテンツ・リポジトリへのデータ・コントロールの作成、およびアプリケーションの保護といった不可欠な開発タスクに役立つ複数のウィザードも備えています。JDeveloperおよびWebCenter Portal拡張機能では、実行するコーディングの量を大幅に減らすことで、開発者として生産性を劇的に増加させます。
JDeveloperでは、アプリケーション・テンプレートを適用することが、アプリケーションおよびそのプロジェクトを適切なテクノロジ・スコープで適切に定義するための最も簡単な方法になります。アプリケーション・テンプレートにより、アプリケーションは、処理全体の論理的な区分を反映するプロジェクト単位に自動的に分割されます。WebCenter Portal拡張機能には、Frameworkアプリケーションを作成するために最適に構成された2つのテンプレートが用意されています。
WebCenter Portal - Frameworkアプリケーション・テンプレート。データ・コントロールの作成とポートレットおよびWeb 2.0サービスの利用に合せて最適化されたプロジェクトとライブラリがアプリケーションに事前移入されます。サイト・ナビゲーション、ページ階層、委任管理、ページ・テンプレートなど、Oracle WebCenter Portal: Framework機能が含まれています。
「WebCenter Portal - ポートレット・プロデューサ・アプリケーション」テンプレート。ポートレットの作成に合せたプロジェクトとライブラリがアプリケーションに事前移入されます。
テンプレートの使用は必須ではありません。必要に応じて、手動でアプリケーション・テクノロジをスコープ設定し、関連プロジェクトを作成することによって、独自のFrameworkアプリケーションおよびポートレット・アプリケーションを作成できます。詳細は、第3章「開発環境の準備」を参照してください。
JDeveloperの詳細は、JDeveloperの「開始ページ」にある多数の学習支援にアクセスしてください。このページは、JDeveloperの「ヘルプ」メニューからアクセスできます。
ポータルのライフ・サイクルとは、ポータルの開発から本稼働までの過程を表します。ライフ・サイクルのフェーズには、開発、テスト、ステージング、および本稼働が含まれます。ライフ・サイクルの詳細は、第9章「WebCenter Portalのライフ・サイクルの理解」を参照してください。
Frameworkアプリケーションの設計時には、関係者のニーズを考慮に入れる必要があります。具体的には、Frameworkアプリケーションのエンド・ユーザー、管理者および開発者が求めている機能を考慮に入れることが重要です。Frameworkアプリケーションを実際に作成する前に、次の質問事項に目を通し、その回答をアプリケーションの計画に役立ててください。
この項には次のサブセクションが含まれます:
次に示すリストは、Frameworkアプリケーションのエンド・ユーザーに関して尋ねる必要のある質問を示しています。
ユーザーは何人いますか?Frameworkアプリケーションで多数のユーザーに対応する必要がある場合、デプロイ環境を定義する際にそのことを考慮する必要があります。つまり、Frameworkアプリケーションへのアクセスが予想されるユーザー数に対応できるトポロジを選択して、様々なサービスの構成パラメータを適宜設定する必要があります。
Frameworkアプリケーションに最適なOracle Application Server構成を決定するには、Oracle Fusion Middleware Enterprise Oracle WebCenter Portalデプロイメント・ガイドを参照してください。
ユーザーは、リソースの追加によって、ページを編集したり、エンタープライズ・マッシュアップを作成する必要があるか。ユーザーがページを編集できるようにする場合は、Oracle WebCenter Portalのコンポーザ・コンポーネントをアプリケーションに追加する必要があります。ユーザーが編集できる箇所や使用できるリソースなどについても検討する必要があります。
アプリケーションの設計時、コンポーザ・コンポーネントを挿入して編集可能にするページの領域を選択する必要があります。ユーザーがページに追加できるようにするコンポーネントは、実行時にリソース・カタログに表示されている必要があります。複数のカタログを用意して、アプリケーション・コンテキストやユーザーの権限に応じて利用できるようにすることも可能です。
ページ編集を許可するように選択する場合、アプリケーションで、カスタマイズと特定のユーザーを関連付けられるようにする必要があります。つまり、アプリケーションのユーザーに一部の認証フォームが必要になります。さらに、ユーザーのカスタマイズがメタデータ記憶域(MDS)に格納されるため、使用するデプロイメント・システムが、カスタマイズを格納して取得するためにMDSにアクセスできるようにする必要があります。
コンポーザおよびリソース・カタログの公開の詳細は、第19章「コンポーザを使用したページの実行時編集の有効化」を参照してください。
ユーザーがポートレットをカスタマイズする必要があるか。ポートレットには、認証されたユーザーが実行時にポートレットをカスタマイズできる、カスタマイズ・モード(「編集」モード)を必要に応じて組み込むことができます。「編集」モードでは、ポートレットのコンテンツに影響する項目(ポートレットのタイトルやパラメータなど)をユーザーが入力できます。たとえば、ユーザーが株式ポートレットに対してティッカ・シンボルを入力できるような「編集」モードを実装できます。ユーザーの変更内容が適用されると、ポートレットには、選択されたティッカ・シンボルの価格が表示されます。
カスタマイズの実装を決定した場合は、ポートレットを利用するアプリケーションに、なんらかのセキュリティを実装することも必要になります。認証および認可されたユーザーのみが、アプリケーションをカスタマイズできます。
ポートレットのカスタマイズを検討する場合は、ポートレットの負荷を分散するかどうかについても検討する必要があります。負荷分散する場合は、データベース・サポートされたカスタマイズを使用し、すべての中間層でユーザーのカスタマイズ・データにアクセスできるようにする必要があります。このようにしていないと、ユーザーは同じポートレットを何回もパーソナライズすることになります。
詳細は、第57章「ポートレットの概要」を参照してください。
ユーザーがアクセスする必要のあるサービスはどれか。WebCenterは、ドキュメント、ディスカッション、検索、ピープル・コネクション、インスタント・メッセージ、プレゼンスなどの多様なサービスを提供します。これらのサービスのうち、ユーザーに必要なサービスを判断して構成する必要があります。必要なサービスをインストールして構成した後で、そのサービスにアクセスするアプリケーション・ページにタスク・フローを追加できます。どのサービスを実装するかが、トポロジの選択にも影響することがあります。たとえば、WebCenter Portalのディスカッション・サーバーとコンテンツ・リポジトリを異なるシステムに配置できますが、アプリケーションは、そのどちらにもアクセスできる必要があります。
詳細は、表2-1「Oracle WebCenter Portal: Services」および第7章「WebCenter Portal Services用アプリケーションの準備」を参照してください。
認証されたユーザーと認証されていない(パブリック)ユーザーのどちらも存在する予定ですか?一部のWebCenter Portalサービスでは、認証されていないユーザーに対して機能が制限されます。たとえば、認証されていないユーザーはディスカッションを表示できますが投稿することはできません。RESTサービス(その大部分)は、認証されたユーザーのみが使用できます。この機能がないため、認証されていないユーザー向けに設計される特別なパブリック・ページを作成する方が適している場合があります。
ポータル・ページ階層エディタを使用すると、個別のページまたは複数のページに委任管理のセキュリティ・ポリシーを設定できます。詳細は、第8.5.2項「ポータルのページの保護」を参照してください。
次に示すリストは、アプリケーションの管理者に関して尋ねる必要のある質問を示しています。
注意: アプリケーションの作成中は、Frameworkアプリケーションの管理者と開発者が意思疎通を図ることが非常に重要です。設計時、開発者は、管理者が実行時にアプリケーションに対して実行できる操作を決定するために、多くの選択を行う必要があります。たとえば、開発者がスキンを実装しないことを決定すると、管理者はアプリケーションのルック・アンド・フィールを制御できなくなります。このため、管理者と開発者は、これらの決定事項を設計時に協議しておく必要があります。 |
管理者がユーザーまたはユーザー・グループのページおよびポートレットをカスタマイズする必要があるか。Frameworkアプリケーションの管理者がページやポートレットをカスタマイズしてユーザーにFrameworkアプリケーションのデフォルト・ビューを提供できるように設定することもできます。
Frameworkアプリケーションのルック・アンド・フィール。Frameworkアプリケーションにスキンを実装すると、管理者はアプリケーション内のページの外観を選択できます。
スキンの実装方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』の第19章「スタイルおよびスキンを使用した外観のカスタマイズ」、および第14章「スキンの作成および管理」を参照してください。
カスタマイズ可能ページ。管理者はページのレイアウトをカスタマイズできます。
カスタマイズ可能なコンポーネントの詳細は、第19章「コンポーザを使用したページの実行時編集の有効化」を参照してください。
ポートレット。オプションで、管理者がポートレットをカスタマイズできるカスタマイズ・モード(「デフォルトの編集」モード)をポートレットに組み込むことができます。管理者がカスタマイズした内容は、他のすべてのユーザーのポートレットのデフォルト・ビューとして処理されます。
ポートレットの詳細は、第57章「ポートレットの概要」を参照してください。
次に示すリストは、アプリケーションに関与する開発者に関して尋ねる必要のある質問を示しています。
開発者と管理者は、Oracle WebCenter Portal: Frameworkの機能をアプリケーションで使用するか。一般に、開発者は、Frameworkアプリケーションの作成にFrameworkアプリケーション・テンプレートを使用することを検討します。このテンプレートを使用すると、正しいFrameworkのテクノロジ・スコープと機能で新しいアプリケーションが適切にプロビジョニングされます。このようなポータル固有の機能には、ページ階層、委任管理、ナビゲーション・モデル、ページ・テンプレートなどが含まれます。さらに、実行時管理ツールを使用すると、権限のあるユーザーは、これらのポータル機能を変更することもできます。詳細は、第8章「Frameworkアプリケーションの理解」を参照してください。
開発者は、タスク・フローまたはポートレットを再利用可能なコンポーネントとして構築するか。Oracle JSF Portlet Bridgeを使用すると、開発者は、タスク・フローをJSR 286のポートレットにできます。そのため、再利用可能なコンポーネントを、ブリッジによってJSR 286ポートレットにできるタスク・フローとして作成するか、直接JSR 286ポートレットとして作成するかを選択できます。コンポーネントの主な用途が1つ以上のポータルへの埋込みの場合、開発者はブリッジを使用せず、そのコンポーネントをJSR 286ポートレットとして直接作成します。コンポーネントの主な用途がJSFアプリケーションでのローカル実行の場合、開発者はタスク・フローとしてコンポーネントを作成してから、必要に応じてブリッジを使用して、そのコンポーネントをJSR 286ポートレットとして実行します。タスク・フローを作成することで、そのコンポーネントは、最初にポートレットとして再パッケージ化する必要なく、他のADFアプリケーションで使用できるようになります。
開発者がコンテンツ・リポジトリ(Content Server、ファイル・システム、Oracle Portalなど)からのコンテンツを統合する必要があるか。Frameworkアプリケーション内に公開するコンテンツがコンテンツ・リポジトリ内にある場合、JCRアダプタおよびデータ・コントロールを使用する必要があります。
JCRデータ・コントロールおよびアダプタを使用してコンテンツを組み込む方法の詳細は、第26章「コンテンツ・リポジトリ接続の管理」を参照してください。
WebCenter Portal: Frameworkアプリケーションの表示可能/編集可能コンテンツを、ユーザーのアイデンティティに応じて変更するか。一部のユーザーを対象にするコンテンツをFrameworkアプリケーション内に含める場合は、ログインおよびユーザー・ロールを使用したセキュリティ・モデルを設定して、アクセスを制御できるようにする必要があります。ユーザーのアイデンティティに応じて、コンポーネント、ポートレットおよびページの表示と非表示を切り替えることができます。コンテンツをすべてのユーザーに公開する場合(たとえば、すべての従業員が使用するコンテンツを持つ人事管理Frameworkアプリケーションなど)は、アクセス制御を実装する必要はありません。Oracle WebCenter Portal: Frameworkのページ階層機能を使用すると、ページ階層内の個別のページまたは複数のページにセキュリティ・ポリシーを設定できます。詳細は、第8.5.2項「ポータルのページの保護」を参照してください。
さらに、コンポーザを使用すると、ユーザーは、アプリケーション内でコンテンツを編集できます。繰り返しになりますが、特定のユーザーに該当の機能を制限するかどうかを考慮する必要があります。考慮する場合、その機能をセキュリティ・モデルに組み込む必要があります。
Frameworkアプリケーションのセキュリティ・モデルを実装する方法の詳細は、第68章「WebCenter Portal: Frameworkアプリケーションの保護」を参照してください。
WebCenter Portal: Frameworkアプリケーションで外部アプリケーションへのアクセスを提供する必要があるか。Frameworkアプリケーション内に外部アプリケーションを表面化する必要があることもしばしばあります。たとえば、ユーザーがアプリケーション内から電子メール・アプリケーション、人事管理アプリケーションまたは財務アプリケーションを表示できるようにする場合などです。ユーザーにシームレスな対話を提供するには、ある種の外部アプリケーション資格証明ストアを用意する必要があります。
Frameworkアプリケーションから外部アプリケーションにアクセスする方法の詳細は、第68章「WebCenter Portal: Frameworkアプリケーションの保護」を参照してください。
Oracle Portalに構築された従来の外部アプリケーション・ポートレットがある場合、それらのポートレットをFrameworkアプリケーションで再利用できます。この機能を使用すると、ユーザーは、各アプリケーションを個別に開いたりOracle Portalに戻らずに、Frameworkアプリケーションからこれらのポートレットを表示できます。このようなポートレットを構築する場合、データを取得して表示する前に、ポートレットが通常それ自体を外部アプリケーションに対して認証する必要があることに注意してください。前述のように、このような認証では資格証明ボールトが必要です。この場合、Frameworkアプリケーションは外部アプリケーションへのログインに必要な資格証明を格納できます。Oracle WebCenter Portal: Frameworkでは、外部アプリケーションに基づいてポートレットを組み込むための選択肢をOracle JDeveloperで用意しています。
外部アプリケーション・ポートレットの詳細は、第68.13.3項「外部アプリケーションの管理」を参照してください。
開発者のチームでWebCenter Portal: Frameworkプリケーションを開発するか。Frameworkアプリケーションをチームで開発する場合は、追加の設計上の考慮事項について検討する必要があります。たとえば、チーム開発を実行する場合、JDeveloperの各種アクションでアクセスするファイルに十分注意する必要があり、コード管理システムを統合するJDeveloperの機能を利用することもあります。
チーム開発の詳細は、第4章「チームでの効率的な作業」を参照してください。また、第1章「開発者向けクイック・スタート・ガイド」も参照してください。
アクセシビリティとは、視覚や聴覚など、身体的に制限のあるユーザーがアプリケーションを使用できるようにすることです。わかりやすく表現すると、マウスなしで(キーボードのみで)使用できるアプリケーション、視覚障害者に向けたスクリーン・リーダーを使用できるアプリケーション、さらに音声、色彩、またはアニメーションやタイミングに頼らないアプリケーションを作成するということです。
Oracleソフトウェアは、http://www.oracle.com/accessibility/standards.html
の標準の解釈を使用して、Section 508およびWCAG 1.0 AAの標準を実装しています。
この項では、WebCenter Portalに固有のアクセシビリティ機能について説明します。アクセス可能なADF Facesページの作成方法の全般的な情報は、 『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のアクセス可能なADF Facesコンポーネントおよびページの開発に関する項を参照してください。JDeveloperのアクセシビリティ機能の詳細は、オンライン・ヘルプの目次から「JDeveloperの基本」の「JDeveloperのアクセシビリティ」ノードを選択すると表示される、ヘルプ・トピックを参照してください。
WebCenter Portalには、アプリケーション・ページに追加することで、実行時にページを編集できるようにする、いくつかのコンポーザ・コンポーネントが用意されています。これらのコンポーネントには、アクセス可能なHTMLを生成するために使用する属性があります。作成するページをアクセス可能にするには、表2-2に示す属性を設定する必要があります。
表2-2 WebCenter Portalのコンポーザ・コンポーネントのアクセシビリティ属性
コンポーネント | アクセシビリティ属性 |
---|---|
|
アクセシビリティ属性はありません。 |
|
アクセシビリティ属性はありません。 |
|
|
|
アクセシビリティ属性はありません |
|
|
|
アクセシビリティ属性はありません |
|
|
ユーザーが実行時にページをカスタマイズできるようにする場合、すべてのユーザーがどのカスタマイズにもアクセスできるようにしておく必要があります。ユーザーが実行時に作成できるすべてのコンポーネントでは、アクセシビリティ関連のすべての属性がプロパティ・インスペクタに表示され、ここでユーザーは属性を適宜設定できます。
WebCenter Portal固有のコンポーネントに対するアクセシビリティ関連の属性のリストは、表2-2を参照してください。その他のコンポーネントのアクセシビリティ関連の属性のリストは、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のアクセス可能なADF Facesコンポーネントおよびページの開発に関する項を参照してください。
IFrameは、現在のスクリーン・リーダーでは十分に対応していないため、一部のアクセシビリティ標準では許可されていません。
注意: Oracle JSF Portlet Bridgeを使用して作成されたポートレットは、JavaScriptの問題により直接Oracle ADFページにレンダリングするには複雑すぎるため、 |
WebCenter Portalでは、renderPortletInIFrame
という名前のadf:portlet
タグで、オプションの属性を提供しています。この属性にfalseを設定すると、IFrameが使用できないようになります。詳細は、第62.6.4項「インライン・フレームに関する必知事項」を参照してください。