Oracle WebCenter Suite 10g R3 Technical
White Paper
Oracle ホワイト・ペーパー
2006 年 11 月
Oracle WebCenter 10g Release 3 Technical White Paper
はじめに ... 3
Oracle WebCenter Suite について ... 3
WebCenter Framework ... 4
WebCenter Services ... 4
WebCenter Extension for JDeveloper ... 5
WebCenter Anywhere ... 6
WebCenter アプリケーションの構築... 7
アプリケーションのカスタマイズ ... 8
ポートレットの作成... 9
ポートレットの統合... 10
ビジネス・ユーザー向け Web 2.0 エンタープライズ・マッシュアップ・ツール... 11
ポートレットと ADF Faces コンポーネントのインタラクション ... 12
WebCenter アプリケーションのスタイル設定 ... 13
Java Content Repository 標準(JCR)を使用したコンテンツの統合... 14
データ・コントロールの属性... 15
データ・コントロールが提供する機能 ... 15
Content Data Control の保護 ... 16
WebCenter Services を使用したアプリケーションの拡張 ... 16
Secure Enterprise Search(SES)... 17
Oracle Communication and Mobility Server(OCMS) ... 18
Oracle Content Database... 18
Discussions... 20
Wiki... 22
WebCenter アプリケーションの保護... 23
認証... 24
認可... 25
WebCenter アプリケーションの配置... 27
ライフサイクル・ツール... 28
セキュリティおよびアプリケーション・ロールの移行 ... 28
結論 ... 29
Oracle WebCenter 10g Release 3 Technical White Paper
はじめに
サービス指向アーキテクチャ(SOA)によって、アプリケーションの設計方法と 提供方法は変わりつつあります。モノリシック・アプリケーションは、複合アプ リケーションによって、統合、管理、および消費される再利用可能なサービスへ と変換されています。企業内での SOA の目的と付加価値は、俊敏性に集中してい ます。俊敏性とは、組織の動きを機敏にすることによって、絶え間なく変化する マーケット状況により適切に対応する能力です。俊敏性は主要な要因ではありま すが、それがすべてではありません。俊敏性と同じように重要な点は、すべての インフォメーション・ワーカーの生産性をさらに向上することです。よって、SOA を使用してアプリケーションの構築方法を効率化するだけではなく、効果的なア プリケーションを構築する必要があります。Oracle WebCenter Suite の第一の目的 は、次世代のオンライン作業環境を実現するツールを提供することにあります。 作業環境をユーザーのやり方で適応させることによって、効率と生産性が飛躍的 に向上します。このホワイト・ペーパーでは、Oracle Fusion Middleware の新しいオプションであ る Oracle WebCenter Suite を紹介します。Oracle WebCenter Suite は、生産性の高い ユーザー作業環境を作り出すツールおよびサービスの提供に重点を置いています。 この環境は SOA を活用して、ビジネス・ユーザーの日々の業務に完全なコンテキ ストを提供します。
Oracle WebCenter Suite について
Oracle WebCenter Suite は、標準ベースの Java Server Faces(JSF)宣言型開発、ポー タルの柔軟性と能力、および Web 2.0 の統合サービスを組み合わせて、エンド・ ユーザーの生産性を向上します。これらのサービスを組み合わせることで、コン テキストを切り替える必要がなく、生産性を最大化するアプリケーションの構築 が可能になります。たとえば、Oracle WebCenter Suite の機能を使用して構築した アプリケーションでは、ユーザーは、インスタント・メッセンジャー、VoIP、お よびその他のコラボレーティブ・サービスをアプリケーション内で直接使用でき ます。単にアプリケーションを通してサービスにアクセスするのではなく、これ らのサービスがアプリケーションの構造そのものに統合されています。
Oracle WebCenter Suite 10g Release 3 は開発コミュニティを対象としており、WebCenter Framework、WebCenter Services、WebCenter Anywhere、および WebCenter Extension for JDeveloper の 4 つのコンポーネントから構成される迅速な開発環境を提供します。
WebCenter Application WebCenter Anywhere デスクトップ 音声 ワイヤレス MS Office JDev WebCenter Extension WebCenter Services JSF コンテキスト・リンク イベント 会議 RSS プレゼンス/IM Wiki ページ VoIP ADF
Application Server 10g Release 3 WebCenter Framework ポートレット・ ランタイム JSFポートレット・ ブリッジ 検索フレーム ワーク コンテンツ統合 リソース・ カタログ カスタマイズ可能な コンポーネント AJAX アクティブ・データ コンテンツ 図 1:WebCenter のアーキテクチャ
WebCenter Framework
WebCenter Framework は、ポートレット、コンテンツ、およびカスタマイズ可能な コンポーネントのアプリケーションへの組込みを可能にします。コンテンツには、 JSR170 ベースのコンテンツ統合サービスを介してアクセスします。これらのサー ビスを使用すると、Oracle Content Database(Oracle Content DB)、サード・パー ティのコンテンツ管理システム(別途コンテンツ・アダプタを使用)、Oracle Application Server Portal(OracleAS Portal)、およびファイル・システムにあるデータ やアプリケーションにアクセスできます。アプリケーションを構築すると、 WebCenter Framework のすべての要素は JDeveloper に統合され、これらのリソー スに対する統一アクセスが提供されます。さらに、強力な Search フレームワーク によって、企業全体にわたる検索機能をシームレスにアプリケーションへ組み込 むことができます。WebCenter Services
WebCenter Servicesは、ポートレットを使用して、Web 2.0 のコンテンツ・サービ ス、コラボレーション・サービス、およびコミュニケーション・サービスをアプ リ ケ ー シ ョ ン に 直 接 組 み 込 み ま す 。 さ ら に 、 Oracle Application Development Framework(ADF)でAPIを利用して、カスタムの宣言型UIを作成でき、また、こ れらのサービスをビジネス・プロセスやアプリケーション機能に統合できます。 Oracle ADFは、ビジュアルおよび宣言型の開発環境エクスペリエンスを提供する J2EEフレームワークです。ADFについて、詳しくは Oracle ADF のホームページ を参照してください。WebCenter Services には、次のような機能があります。
• Oracle Content Database(Oracle Content DB):データベース中心のコン テンツ管理ソリューション。
• Oracle Secure Enterprise Search:データやドキュメントが企業内のどこに保 管されていても、検索を可能にします。 • プレゼンス・サーバー:アプリケーションにログインした他のユーザーが いつオンラインであるか確認できます。* • インスタント・メッセージング・サービス:他のオンライン・ユーザーと、 テキスト、音声、またはビデオで直接通信できます。*
• WebCenter Voice Option:テレフォニー・インフラストラクチャ・コンポー ネントの豊富なセットを提供します。*
• ディスカッション・フォーラム・アプリケーション:一連のトピックに関 するコミュニティ・ディスカッションを可能にします。*
• Wiki/ブログ・サーバー:ドキュメント上でユーザーが同時に共同作業を 行い、アイデアを共有できるようにします。*
*注:これらの機能は、Oracle WebCenter Suite 10g Release 3 の最初の出荷からしば らくしてからリリースされます。
WebCenter Extension for JDeveloper
Oracle JDeveloper は、サービス指向アプリケーションを構築するための統合開発 環境(IDE)であり、Java、XML、Web サービス、および SQL の最新の業界標準 を使用しています。Oracle JDeveloper はソフトウェアの開発ライフサイクルすべ てをサポートしており、アプリケーションのモデリング、コーディング、デバッ グ、テスト、プロファイリング、チューニング、およびデプロイに対する機能が 組み込まれています。WebCenter Framework の機能とリソースは JDeveloper 内に シームレスに統合および公開されており、エンタープライズ・アプリケーション 開発者の生産性を最大化します。 図 2:コンポーネント・パレット内での WebCenter コンポーネントの ドラッグ・アンド・ドロップ WebCenter 対応アプリケーションの構築に必要な開発機能は、すべて JDeveloper 環境から使用できます。JDeveloper のビジュアルおよび宣言型アプローチと ADF
を組み合わせて使用すると、アプリケーション開発が簡素化され、コーディング 作業が削減されます。たとえば、ボタン、値のリスト、ナビゲーション・バーな どの多数の標準ユーザー・インタフェース・ウィジェット用のコードがあらかじ めパッケージ化されます。 WebCenter コンポーネントは、コンポーネント・パレットおよびデータ・コント ロール・パレットのリソース・カタログからすぐにアクセスできます。必要なリ ソースをドラッグして JSF ページにドロップするだけで、リソースがビュー・コ ンポーネントとして表示され、自動的に ADF モデルに結び付けられます。 WebCenter にはいくつかのウィザードが用意されており、ポートレットの作成、 既存ポートレットの消費、コンテンツ・リポジトリに対するデータ・コントロー ルの作成、アプリケーションの保護など、開発に不可欠な作業に役立ちます。必 要なコーディング量を大幅に削減することによって、WebCenter は開発者の生産 性を飛躍的に向上させます。 JDeveloperの開発環境について、詳しくはOTNの JDeveloper ホームページを参照 してください。
アプリケーション・テンプレート
JDeveloper において、適切なテクノロジを用いてアプリケーションとそのプロジェ クトを正しく定義するもっとも簡単な方法は、アプリケーション・テンプレート を適用することです。アプリケーション・テンプレートは、アプリケーションを プロジェクトに自動的に分割して、処理全体を論理的に分離します。WebCenter Suite が提供するテンプレートは、WebCenter アプリケーションの構築に最適な設 定がなされています。 WebCenter アプリケーションのテンプレートは、データ・モデル用のプロジェクト (Model)、ポートレット作成用のプロジェクト(Portlets)、およびポートレット、 コンポーネント、データ・コントロールの消費用のプロジェクト(ViewController) で構成されています。単純化するため、WebCenter アプリケーションのテンプレー トでは、これら 3 つのプロジェクトが 1 つのアプリケーションに含まれていますが、 要件に最も合う方法でアプリケーションおよびプロジェクトを配置しても問題あり ません。WebCenter Anywhere
生産性と効率は、オフィス以外でも求められています。現代のようにペースの速 い世界では、ますます強力になるモバイル・デバイスのおかげで、どこにいても 効率的に作業することが重要になりました。WebCenter Suite は、オラクルの堅牢 なワイヤレス・プラットフォームを利用して、統一された作業環境の利点をあら ゆるタイプのモバイル・テクノロジにもたらします。これらのモバイル・テクノ ロジには、PDA やスマートフォンなどの接続デバイス、モバイル音声、モバイル・ メッセージング、および産業ユーザー向けの Telnet ベースのデバイスが含まれま す。さらに、Windows デスクトップや Office ツールから、WebCenter アプリケー ションに直接アクセスすることも可能です。WebCenter Anywhere では、コンテキスト・リッチな WebCenter アプリケーション の生産性および効率をすべての場所にいるユーザーにもたらすことを目的として います。
ADF Mobile
WebCenter の開発者が JSF テクノロジによる生産性向上の成果を得たことに対し て、オラクルでは同様の利点を得るために ADF Mobile を使用したモバイル・アプ リケーションの開発を始めました。
Oracle Application Server 10g Release 3(10.1.3.2.0)をはじめとして、ADF Mobile および JDeveloper は、JSF 標準を利用して迅速なアプリケーション開発を促進し ます。対象となるアプリケーションは、次のとおりです。
• PDA(Microsoft PocketPC、Palm Treo など)向けのモバイル・ブラウザ・ アプリケーション ADF Mobile を使用して PDA 向けのモバイル・ブラウ ザ・アプリケーションを開発する場合、デスクトップ向けの JSF アプリ ケーション開発と同じ方法を利用しますが、いくつかのモバイル固有の拡 張機能が含まれます。60 を超える標準 ADF Faces コンポーネントをサポー トしているため、開発者はモバイル・デバイスの小さな画面に合うように レンダリングされる豊富なコンポーネント・セットを使用してアプリケー ションを構築できます。このように、WebCenter の開発者は同じような ADF Faces コンポーネントのセットを使用することによって、デスクトッ プ・ブラウザ・アプリケーションの Model および Controller レイヤーを再 利用して、PDA 向けの View レイヤーを構築できます。
• Industrial Telnet Server(ITS)を使用した、高耐久性産業デバイス向けの Telnet アプリケーション
• Ask Server を使用した、SMS/テキスト・メッセージング、インスタント・ メッセージング(IM)、または電子メール機能を持つデバイスやクライ アント向けの双方向メッセージング・アプリケーション
Oracle Drive
Oracle Drive は、Oracle Content DB や Oracle Portal などの Oracle Web Distributed Authoring and Versioning(WebDAV)サーバー向けのデスクトップ・クライアント です。Oracle Drive を利用すると、Windows エクスプローラで割り当てたドライブ から Oracle WebDAV サーバーのファイルにアクセスでき、エクスプローラのネイ ティブ機能を使用できます。さらに、コンテンツ・ストア固有のオプションが右 クリックのメニューから使用できます。ネットワークに接続していない場合、 Oracle Drive のオフライン機能と同期機能を使用してファイルを管理できます。ま た、Oracle Drive を使用して、ハード・ディスクのファイルをサーバーにバックアッ プできます。
WebCenter アプリケーションの構築
WebCenter Framework を使用すると、カスタマイズ可能なコンポーネントを利用 して、カスタマイズ可能なアプリケーションを容易に構築できます。WebCenter Framework は、アプリケーションで Web 2.0 サービスを使用するための基盤を提 供しており、エンタープライズ・マッシュアップ機能を追加して、エンド・ユー ザーが仕事に必要なコンテンツを取得できるようにします。また、JSR 168、 WSRP、および Oracle ポートレットを WebCenter アプリケーションに統合して、 異 な る コ ン テ ン ツ ・ リ ポ ジ ト リ の コ ン テ ン ツ を 使 用 す る こ と も で き ま す 。WebCenter Framework を使用すると、コンポーネント同士が協調して動作するよ うに関連付けることによって、まとまりがあり、分かりやすく、使いやすいア プリケーションを構築できます。
アプリケーションのカスタマイズ
カスタマイズ可能なコンポーネントは、アプリケーション実行時の動作をカスタ マイズする機能を提供します。これらのコンポーネントを使用すると、サイト管 理者はアプリケーションのコンテンツ表示方法を変更できます。たとえば、管理 者がコンテンツの一部を非表示にする、またはあるコンポーネントをページ下部 から上部へと移動することを決定します。これらの変更および設定はエンド・ユー ザーに引き継がれます。 アプリケーションに適用されるカスタマイゼーションは、メタデータ・リポジト リである Oracle Metadata Services(MDS)に保存されます。基本のアプリケーショ ン定義と実行時のカスタマイゼーションを含むすべてのメタデータは、中央のメ タデータ・ストアに保存されます。このメタデータの集中管理戦略によって、 WebCenter は、インフォメーション・ワーカーが実行時に行う作業と IT 開発者が 設計時に行う作業を、単一の補完的開発ライフサイクルにまとめることができま す。つまり、製品の存続期間中、インフォメーション・ワーカーが実施したカス タマイゼーションを失うことなく、アプリケーションの新しいバージョンの開発 や配置が可能です。 WebCenter Services では、以下の 2 つのカスタマイズ可能なコンポーネントを提供 しています。 • showDetailFrame • panelCustomizableshowDetailFrame コンポーネント
showDetailFrameは、1 つ以上のJSFやADFコンポーネントを囲み、境界線とコ ンテンツの最小化などのアクション・メニュー付きのヘッダーを提供します。 showDetailFrameコンポーネントが提供する機能は、以下のとおりです。 • 囲んでいるコンポーネントの最小化、最大化、および再表示 • 囲んでいるコンポーネントのヘッダーと境界線 • 子コンポーネントで特定のタスクを実行するアクション・メニューpanelCustomizable コンポーネント
panelCustomizable コンポーネントは、ADF コンポーネントの集合に対する水 平方向および垂直方向のレイアウト機能を提供します。showDetailFrame コン ポーネントと同様に、panelCustomizable コンポーネントはアクション・メ ニューを含むヘッダーを表示できます。panelCustomizable コンポーネントが 提供する機能は、以下のとおりです。 • 子コンポーネントの表示と非表示 • panelCustomizable コンポーネント内の子コンポーネントの再配置JSF および ADF Faces コンポーネントは、アプリケーション・ページで、 panelCustomizable コンポーネントおよび showDetailFrame コンポーネン トの項目として組み込むことができます。
ポートレットの作成
WebCenter Framework では、WebCenter Framework Extension for JDeveloper を使用 して、ポートレットの構築と配置が可能です。WebCenter Framework は、JSR 168、 WSRP 1.0、および WSRP 2.0 の準備版を含む、すべてのポートレット標準をサポー トします。
Oracle JDeveloper のポートレット作成ウィザードを使用すると、WSRP/JSR 168 お よび PDK-Java(Portlet Development Framework for Oracle Portal 10g)のポートレッ トを素早く簡単に作成できます。ポートレット・プロデューサ配置を支援する一 連のウィザードも用意されています。テストのために、ポートレットを WebCenter Preconfigured OC4J に配置できます。WebCenter Preconfigured OC4J は、JDeveloper のツールバーから開始および停止できます。つまり、ポートレットを開発および テストする間、JDeveloper 環境から出る必要はまったくないということです。
図 3:JSR 168 Java Portlet Wizard を使用したポートレットの作成
JSF アプリケーションのポートレット化
アプリケーションのポートレット化とは、アプリケーションをポートレットとし て使用できるようにすることです。ポートレット化したアプリケーションはポー タルに埋め込むことができます。ポータルに埋め込まれたアプリケーションは、 スタンドアロン・アプリケーションと同じ方法で使用できます。ポートレット化 によって、さまざまなアプリケーションを統合して、エンド・ユーザーから使い やすい単一ロケーションで公開するための便利なメカニズムが提供されます。ビ ジネス・ユーザーは、ポートレット化されたアプリケーションを使用して、エン タープライズ・マッシュアップを作成できます。Oracle WebCenter Suite の JSF-Portlet Bridge を利用すると、開発者は JSF アプリケー ションを JSR 168 ポートレットにポートレット化できます。ポートレット化され たアプリケーションは、Oracle WebCenter アプリケーションや OracleAS Portal な どの、ポートレット標準をサポートするすべてのポータル・フレームワークから 消費できます。 JSF アプリケーションをポートレットとして公開するには、JSF ページのマーク アップが JSR 168 ポートレットのマークアップ・フラグメント・ルールに準拠し ている必要があります。ほとんどの ADF Faces コンポーネントは、ポートレット に準拠したマークアップをレンダリングします。 ADFアプリケーションをポートレット化する場合、注意すべきガイドラインやベ スト・プラクティスは数多くあります。詳しくは、『Oracle WebCenter Framework
開発者ガイド』を参照してください。
ポートレットの統合
WebCenter アプリケーションは、ポートレットを消費できます。WebCenter Framework のポートレット統合機能は、JSR 168、WSRP 1.0、および WSRP 2.0 の準備版を含む、 すべてのポートレット標準をサポートします。 図 4:さまざまなポートレットを統合した WebCenter アプリケーション アプリケーションでポートレットを使用する前に、ポートレット・プロデューサ をアプリケーションに登録する必要があります。この登録によって、プロデュー サへのアクセス方法をアプリケーションに知らせます。登録プロセスを支援する ウィザードを使用できます。登録が正しく完了すると、ポートレットは自動的に JDeveloper のコンポーネント・パレットに追加されます。その他のコンポーネン トと同様に、コンポーネント・パレットから個々のポートレットをドラッグして、 アプリケーション・ページにドロップできます。また、オラクルのビルトイン・ ポートレットやサード・パーティのポートレットを WebCenter アプリケーション に追加することも可能です。
多くの場合、パッケージ・アプリケーションには独自のポートレット・セットが 含まれており、これらを利用してアプリケーションが使用する特定のデータや機 能にアクセスできます。これらのポートレットが互換性のあるテクノロジ(WSRP、 JSR 168、または PDK-Java)を使用して作成されている場合は、WebCenter アプリ ケーションにも組み込むことができます。 ポートレットと ADF Faces コンポーネント間、およびポートレットとページ間で パラメータを受け渡すことによって、ポートレット同士を関連付けることができ ます。この方法で、ページ・コンテキストに応じてポートレットが異なるデータ を表示する、コンテキスト・センシティブなアプリケーションを作成できます。
ビジネス・ユーザー向け Web 2.0 エンタープライズ・マッシュアップ・
ツール
Web 2.0 の用語としてのマッシュアップとは、2 つ以上のソースから補完的な要素 を統合した結果を意味します。WebCenter Framework なしで Web 上のマッシュアッ プを作成することは困難です。しかし、WebCenter Framework が提供するツールを 使用すると、ビジネス開発者は独自のマッシュアップを数分で作成できます。一 連の宣言型ウィザードによって、個々の要件に応じてデータやサービスを組み合 わせるプロセスが支援されます。WebCenter には、以下のような多目的公開ツー ルがあります。 • リッチ・テキスト/ブログ・ポートレット:実行時に、ブラウザベースの リッチ・テキスト編集を提供するポートレット。これによって、ユーザー はJSFページでフォーマット済みHTMLを作成および公開できます。リッ チ・テキスト/ブログ・ポートレットは、ブログの編集、企業発表やニュー ス項目の投稿に役立つツールです。このポートレットをページに追加する と、適切な権限を持つユーザーはページ内のテキスト項目を直接編集でき ます。必要な編集ツールは、所定の位置に表示されています。ページに設 定されているセキュリティ権限に応じてリッチ・テキスト・ポートレット を使用して幅広いユーザーに情報をブロードキャストすることも(シンプ ルなブログなど)、限定したグループにブロードキャストすることも可能 です。 図 5:リッチ・テキスト/ブログ・ポートレットを使用したシンプルなブログ• Webクリッピング・ポートレット:ビジネス・ユーザーがプログラミング なしで独自のフィードを作成できるようにする、ブラウザベースの宣言型 ツール。ユーザーは、Webクリッピング・ポートレットを使用して情報を クリップし、IT部門に補助フィードの提供を依頼する必要があるかどうか を判断することもできます。Webクリッピング・ポートレットを使用する と、ユーザーはほとんどすべてのソースからWeb 2.0 のマッシュアップを 作成できます。 • OmniPortlet:ビジネス開発者が、Webサービス、RSS、およびXMLフィー ドをデータ・ソースとして利用して、エンタープライズ・マッシュアップ を迅速に作成できるようにするツール。ウィザードベースのアプローチを 使用して、ビジネス・ユーザーは、開発者が作成したすべての標準フィー ドから新しいマッシュアップを素早く生成できます。さらに、開発者は AJAXベースのユーザー・インタフェースを簡単に作成してウィザードに 追加できるため、ユーザーは選択肢から選ぶことができるようになります。 既存のWebサービスやXML、またはRSSフィードから、いかに素早くユー ザーが新しいマッシュアップを定義できるかを図 6 に示します。 図 6:OmniPortlet Wizard を使用したマッシュアップの作成
ポートレットと ADF Faces コンポーネントのインタラクション
ADF Faces コンポーネントとポートレットは、緊密に統合されています。これら を 1 つの JSF ページに配置して、1 行のコードも書かずに、宣言方式で文脈的に つなげることができます。ポートレット内のユーザー・インタラクションからペー ジ内の部分的な更新を開始して、ページ内の他のコンポーネントを再レンダリン グできます。同様に、ADF ビュー・コンポーネントの状態が変更された場合に、 ポートレットのコンテンツを更新することができるため、確実にコンテキストを 維持できます。 ユーザー・インタラクションの例:下の図において、"Volume for last"という名前のドロップダウン・リストは、 OmniPortlet が生成する円グラフのコンテンツを決定する JSF コンポーネントです。 ユーザーがドロップダウン・リストから値を選択すると、値は OmniPortlet に渡さ れます。OmniPortlet は値を読み取ると、ページ全体の更新を発生させることなく、 部分的なページ更新を実行します。
図 7:OmniPortlet を使用して作成された Service Volume Distribution ポートレット
WebCenter アプリケーションのスタイル設定
一貫性があり、人目を引くルック・アンド・フィールを実現することは、アプリ ケーションの設計および開発における重要な部分です。アプリケーションのスタ イルを全体的に定義する最善の方法は、スキンを使用することです。スキンは CSS 3.0 構文に基づいたスタイル・シートであり、アプリケーション全体に対して一箇 所で指定します。コンポーネントごとにスタイルを設定したり、ページごとにス タイル・シートを挿入したりするかわりに、1 つのスキンを作成してアプリケー ション全体に適用できます。すべてのコンポーネントは、スキンに記述されたス タイルを自動的に使用します。アプリケーションがスキンを使用するように設定 されている場合、設計時のコード変更は必要ありません。Web Center アプリケーションでは、ビジュアル・コンポーネントに ADF Faces を 使用します。ADF Faces コンポーネントは、コンポーネントの表示をレンダラに 委譲します。レンダラは、クライアント上でコンポーネントを表示するためのさ まざまな方法や、異なるクライアント上でコンポーネントを表示する方法を決定 します。ADF Faces には、デスクトップ・スクリーンおよび PDA での表示用の HTML レンダリング・キットが含まれています。これらのレンダラとスキンを組 み合わせて利用することで、コンポーネントの表示方法をカスタマイズできます。 たとえば、タブの方向や位置の変更です。ADF Faces コンポーネントを使用して 作成されたアプリケーションは、デフォルトで Oracle スキンを使用します。しか し、独自のスキンを作成し、1 つの CSS ファイル内でコンポーネントに対してス タイルを設定することによって、ADF Faces コンポーネントの一部の色、フォン ト、および位置までも変更できます。
Oracle ADF Faces では、アプリケーションでの使用向けに、以下の 3 つのスキンを 提供しています。
• Oracle:Oracleスキンはデフォルトのスキンであり、Oracleのアプリケー ション・ユーザー・インタフェース標準(Oracle Browser Look and Feel、 またはOracle BLAF)に準拠しています。
• Minimal:Minimalスキンは、Simpleスキンを基本としていますが、いくつ かのアイコンを含みます。 • Simple:Simpleスキンにはほとんど書式は含まれておらず、すべてのカス タム・スキンの出発点となります。 これらのスキンは、すべて ADF Faces 10.1.3 のコンポーネント・ライブラリに含 まれています。 デフォルトのスキンに加えて、企業が望むルック・アンド・フィールに合わせた カスタム・スキンを独自に作成できます。カスタム・スキンは、Simple スキンで提 供されるスタイル定義を拡張したり、上書きしたりできます。独自の CSS(カス タム・スキン)を適用する場合、CSS に含まれていない要素は、すべて Simple ス キンから継承されます。Oracle ADF Faces コンポーネント・ライブラリで提供され ている、すべてのコンポーネントのルック・アンド・フィールをカスタマイズす ることは困難です。Simple スキンを使用してアプリケーションを確認することで、 どのコンポーネントをカスタマイズするべきかを決定できます。
Java Content Repository 標準(JCR)を使用したコンテンツの
統合
ドキュメント・コンテンツの管理は現在のビジネスにおいて非常に重要な部分で あり、エンタープライズ・コンテンツ管理システムを使用して管理することが多 くなっています。これらのシステムからコンテンツを統合するには、通常、専用 の複雑な API に対するカスタム・コーディングが必要であるため、コンテンツ・ システムを利用する新しいアプリケーションの作成にコストがかかり、保守や アップグレードが難しくなります。Content Repository for Java API および Java Content Repository(JCR)の仕様を定め た JSR 170 の公開によって、コンテンツへのアクセスは標準化され、コンテンツ を統合する新規アプリケーションの作成ははるかに容易になりました。
Oracle WebCenter Suite はこの標準を利用して、コンテンツ統合における、JCR API のピュア・コーディングに対する簡便な代替手段を提供します。WebCenter は、 データ・コントロール(JSR 227 による規定)を使用して、この汎用フレームワー クの背後に JCR 標準の複雑さを隠しているため、関連するデータ・コントロール をアプリケーションにドラッグ・アンド・ドロップするだけで、統合アプリケー ションを作成できます。下層にあるコンテンツ・システムへのアクセスは、JCR API 標準に記述されたアダプタによって提供されます。 データ・コントロールは、アプリケーション内の UI コンポーネントの作成に使用 する、すべてのデータ・オブジェクト、コレクション、メソッド、および処理を 含むコンテナです。データ・コントロールは、JCR の複雑さを取り除いて基本的 な処理を表面化します。WebCenter Suite では、以下の 4 つのリポジトリへのアク セスを提供しています。 • OracleAS Portal • Oracle Content DB • Sharepoint
• Documentum また、開発およびテストのために、WebCenter Suite の JCR アダプタを使用してファ イル・システムにアクセスすることもできます。 JCR は幅広いベンダーによって採用されている標準であるため、使用可能なアダ プタの種類は着実に増加しています。専用のコンテンツ・システム(例:デジタ ル・メディア資産)にコンテンツを保存している場合は、独自の JCR アダプタを 作成して、WebCenter Framework と組み合わせて使用できます。
JDeveloper の Content Data Control Wizard を使用すると、特定の JCR リポジト リに接続するデータ・コントロールを作成および設定できます。このデータ・ コントロールは、使用しているアダプタにかかわらず、アプリケーションで使 用できます。
図 8:Data Control Wizard を使用した Content DB のデータ・コントロール作成
データ・コントロールの属性
すべてのコンテンツ管理システムには、管理対象オブジェクトの属性が数多く保 管されています。これらの属性によって、ほぼ非構造化情報のまわりに構造化さ れたメタデータのセットが形成されます。構造化メタデータはコンテンツの分類 や検索に不可欠であるため、コンテンツをなんらかの目的に利用するアプリケー ションでは、これらの属性を使用できるようにすることが重要です。Content Data Control では、すべてのリポジトリに共通の属性、リポジトリ固有の属性、および カスタム属性のすべてが使用できます。データ・コントロールが提供する機能
単純化のため、データ・コントロールは実際の処理(個別の API コールではなく) を表示して、アプリケーション開発を容易にします。データ・コントロールが提 供する機能には検索と詳細検索が含まれており、リポジトリからファイルやフォルダを取得するだけではなく、これらのファイルやフォルダの属性や、ファイル のコンテンツに対する URL も取得できます。 アプリケーションでデータ・コントロール機能を使用するには、データ・コント ロール・パレットからデータ・コントロールのメソッドまたは属性をドラッグし て、アプリケーションにビュー・コンポーネントとしてドロップします。すべて の ADF バインディングは自動的に作成されます。 図 9:ADF ツリー・コンポーネントを使用したファイルの表示とオープン
Content Data Control の保護
コンテンツ管理システムにおいて、コンテンツの整理以外の主要課題はアクセス の制御です。よって、Content Data Control のもう 1 つの重要な側面は、アクセス の管理またはバックエンド・リポジトリのアクセス制限の維持にあります。 WebCenter Framework では、データ・コントロールが使用するユーザー・コンテキ ストに完全な柔軟性を提供しており、パブリック・ユーザー、事前定義ユーザー、 またはアプリケーションに認証され JAAS のセキュリティ・コンテキストに設定 されたユーザーが使用できます。
WebCenter Services を使用したアプリケーションの拡張
Oracle WebCenter Suite には幅広い Web 2.0 のサービスおよびツールが含まれてお り、アプリケーションの機能を拡張して、エンド・ユーザー・エクスペリエンス を向上させることができます。Web 2.0 サービスは、企業がすべての従業員の批判 的思考を利用して、より良いプロセスを作り上げ、企業の情報(アプリケーショ ンやコンテンツ)を組織全体にとってより適切なものにする方法を提供します。 このホワイト・ペーパーの前半部分では、いくつかの Web 2.0 サービス、特に OmniPortlet、Web Clipping、およびリッチ・テキスト/ブログ・ポートレットを紹 介しました。次項では、WebCenter Suite に統合されている、残りすべての Web 2.0 サービスについて説明します。Secure Enterprise Search(SES)
Oracle Secure Enterprise Search 10g は、企業全体の情報資産に対する安全かつ高品 質で使いやすい検索を実現します。WebCenter アプリケーション(ADF アプリケー ション)に、この統一された検索エクスペリエンスを統合する場合、以下の 2 つ のレベルが使用できます。 • クローラベース・アプローチ:SESは、アプリケーション内すべてのペー ジのコンテンツに対して、クロールおよび索引付けを行います。クローラ は、多数の組込みソース・タイプをサポートしており、公開プラグイン・ アーキテクチャを使用して新しいタイプを追加できます。
• カスタム検索アプローチ:SESが提供するWeb Services APIを使用して、 WebCenterアプリケーションにカスタム検索UIを作成できます。JDeveloper のWeb Servicesデータ・コントロールを使用すると、非常に簡単に実現で き、コーディング作業はほとんど必要ありません。
図 10:Web Services データ・コントロールを使用した SES の WebCenter への統合
SES の主な機能は、以下のとおりです。 • セキュリティ:パスワード保護されたソースを安全に検索する機能。オラ クルの検索テクノロジは、シングル・サインオン(SSO)が使用できる環 境でSSOベースのセキュリティを提供しており、SSOが使用できない環境 ではアプリケーション固有のセキュリティを利用することもできます。 • 総合性:すべてのソース(Webページ、ファイル・サーバーのファイル、 デスクトップ・ドライブ、データベース、アプリケーション、メール・サー バーなど)を検索する機能。 • 優れたユーザー・エクスペリエンス:直感的ですぐに使用できる、検索お よび管理用のWebユーザー・インタフェース。優れたルック・アンド・ フィールと使いやすさを兼ね備えており、ユーザーは簡単にインターネッ ト検索を行うことができます。
• 関連結果:ユーザーがインターネット検索で使用している高度な関連性を、 イントラネットにもたらします。この高品質の検索は、イントラネット用 の新たな関連モデルを含む、特許で保護された多数の改良によって実現さ れています。 • サブセカンド・パフォーマンス:新しい内部索引の設計テクノロジによっ て、大量のドキュメントに対する高性能、高スループットの検索が実現さ れています。
詳しくは、OTNの Oracle Secure Enterprise Search ページを参照してください。
Oracle Communication and Mobility Server(OCMS)
Oracle WebCenter はスケーラブルなテレフォニー・インフラストラクチャを提供し ており、コール・コントロールやプレゼンスなどのテレフォニー・コンポーネント を Web Center で構築したアプリケーションに組み込むことができます。WebCenter は、標準で 1 台のプレゼンス・サーバーと Oracle Communicator ソフトフォンを提供 しており、これを利用して、SIP ベースのインスタント・メッセージングや音声お よびビデオ・ネットワークを拡張できます。また、Parlay X Web Services API を使用 して、すべての WebCenter ベースのアプリケーションにプレゼンス情報を提供でき ます。プレゼンス対応アプリケーションの例としては、パッケージ追跡、ロケーショ ンベースのサービス、ブラウザベースのインスタント・メッセージングがあります。 WebCenter Voice Option では、JSR 116(SIP Servlets)に基づくテレフォニー・イン フラストラクチャ・コンポーネントの豊富なセットを提供して、WebCenter 機能を 強化します。SIP Servlet API と関連する Service Creation Environment を使用すること で、クリックツーコール、コール・ルーティング、着信制限、会議通話、ボイス・ メールなど、カスタムのテレフォニー・サービスの開発と配置が実現できます。 詳しくは、OTNの Oracle Communication and Mobility Server ページを参照してく ださい。
*注:これらの機能は、Oracle WebCenter Suite 10g Release 3 が一般に利用可能となっ た後に発表される予定です。
Oracle Content Database
Oracle Content Database(Oracle Content DB)は WebCenter Suite のデフォルトの コンテンツ・リポジトリであり、Web 経由で、またはデスクトップ・アプリケー ションからコンテンツを専門的に管理できる、本格的なコンテンツ管理システ ムです。すぐに使える豊富な Web サービス・ライブラリが、サービス指向環境 のコンテンツ対応エンタープライズに提供されています。 Oracle Content DB は、機能が限定されたファイル・サーバーと、幅広く使用され ている、特殊かつ高価で、複雑なコンテンツ管理アプリケーションとの間にある ギャップを埋める製品です。
Oracle Content DB と WebCenter 間の統合点について、詳しくは Java Content Repository標準(JCR)を使用したコンテンツの統合の項を参照してください。
Web Services
Oracle Content DB は、J2EE および Microsoft .NET 準拠の Web Services API を使用 して、プログラムからのアプリケーション機能への完全なアクセスを提供します。 これらの API は、Oracle Content DB とその他のオラクルの製品を統合するために 使用されており、カスタム・アプリケーション機能の自動化や拡張に利用するこ ともできます。
エンタープライズ・ファイルとドキュメント管理
Oracle Content DB は、3 つのエリア(豊富なユーザー・インタフェース、柔軟な アクセス制御、ユーザー管理とポリシーベースの動作管理)において、数多くの 重要なファイルおよびドキュメント管理機能を提供します。Oracle Content DB は、Web および Windows デスクトップの両方のユーザーに対し て、豊富なエクスペリエンスを提供します。高度なインタラクティブの Web イン タフェースによって、いつでもどこでも、Web ブラウザから容易にコンテンツに アクセスできます。このインタフェースは、動的ツリー・ビュー、右クリックの プルダウン・メニュー、およびドラッグ・アンド・ドロップ機能によって、優れ たユーザー・エクスペリエンスを提供します。
Oracle Drive Windows プラグインによる Microsoft Windows との高度な統合によっ て、ユーザーは Windows エクスプローラから直接 Oracle Content DB のコンテンツ と機能にシームレスにアクセスできます。最後に、Oracle Drive の特徴はオフライ ンのコンテンツ管理機能であり、これによって、ネットワークに接続していない ユーザーが、容易にコンテンツにアクセスし、管理できます。 Oracle Content DB 内のセキュリティ・モデルは非常に柔軟であり、ファイングレ インな権限およびアクセスを、フォルダおよびドキュメント・レベルで細かく設 定できます。ロールベースのアクセス制御には標準のロールが数多く含まれてお り、また、ユーザーが一からロールを定義することもできます。また、アクセス 管理は、個人ユーザー同様グループ・レベルで設定できます。 バージョニング、属性、およびレコード管理などの情報のライフサイクル管理を 制御する動作は、フォルダごとに定義されたポリシーを使用して指定できます。 バージョニングは、チェックインなどの特定のイベントに基づいて自動的にコン テンツに適用できるほか、ユーザーが手動で適用することも、または無効化する こともできます。また、アーカイブする前のバージョンの最大保管数を指定でき ます。 カテゴリ属性も同様に、手動または自動で適用できます。個別のカテゴリ属性に はデフォルト値を設定でき、また、ユーザー必須入力値も指定できます。レコー ド管理は、フォルダごとのポリシーを通して管理されます。Content DB のポリシー は、通常、特定の管理権限を持つ小さいサブセットのユーザーによって管理され ますが、ポリシーの設定ツールは単純で一貫性があるため、ビジネス・ニーズに 応じて委任ポリシー管理モデルを使用できます。
Discussions
WebCenter の 1 つの Web 2.0 サービスは、ディスカッション・フォーラムです。ディ スカッション・フォーラムは、コミュニティの意識を高め、メンバーによる情報 と意見の共有および議論を可能にします。ディスカッション・フォーラムは、幅 広いユーザーに見解を広める場合や、すべての参加者が同時にログオンしない状 況において、最適なツールです。WebCenter Suite のディスカッション・フォーラ ムは、受賞歴のある Jive Software Forums テクノロジを利用しています。WebCenter Discussions は、オープン・アーキテクチャで標準ベースのディスカッション・ フォーラム・ソリューションであり、コミュニティへの参加率を高め、問題の解 決を容易にし、知識の再利用を促進するといった強力な機能を提供します。Oracle WebCenter Discussions を組み込んだアプリケーションの開発
Oracle WebCenter Discussions は豊富な API のセットを提供しており、開発者は Jive Forums を直接 JSF アプリケーションに統合できます。システムの主要なコンポー ネントの全体概要は、以下のとおりです。 • スキン:スキンはシステムに対するフロント・エンドであり、通常、JSP またはJSFで記述されています。スキンは、APIの呼び出しと、結果をHTML (またはその他の書式)でユーザーに表示する役割を担います。デフォル トのスキンには管理ツールから設定できる多くの機能が含まれているた め、通常、開発者はデフォルト・スキンに対してわずかな変更を加えるだ けで十分です。より広範囲のUIまたは機能の変更が必要な場合、まったく 新しいスキンを作成することもできます。 • フィルタ:フィルタは、メッセージ・コンテンツの書式を動的に再設定し、 追加機能を提供します。たとえば、URLフィルタは、ユーザーがメッセー ジ内に入力したすべてのURLをクリック可能なリンクに変更します。別の フィルタ構文では、Javaのソース・コードをハイライト表示します。フィ ルタは動的に適用され、カスタム・フィルタをいくつでも作成および設定 できます。 • コアAPI:コアAPIは、ディスカッション・コンテンツの作成、操作、表 示に関するすべてのビジネス・ロジックを提供します。コアAPIは、以下 の異なるセクションに分割されています。 • セ キ ュ リ テ ィ : 権 限 の チ ェ ッ ク に よ る セ キ ュ リ テ ィ は 、 UnauthorizedExceptionをスローするメソッドを使用してメソッド・レ ベルで実装されます。この場合、適切な権限のないユーザーがこのメ ソッドを呼び出すと、例外が発生します。 • 拡張プロパティ:拡張プロパティは、オブジェクトの追加データを保 存するために使用されます。ほとんどすべての主要オブジェクトには、 カテゴリ、フォーラム、スレッド、メッセージ、添付ファイル、ユー ザー、グループなどの拡張プロパティが設定できます。コアAPIには、 これらの拡張プロパティの追加、設定、取得、削除、および反復に対 するメソッドのセットが含まれます。• 国際化:国際化とは、ユーザーの地域に固有のルールに従って日付や 数字の形式を変更し、ユーザー・インタフェースのテキストをユー ザーの言語に翻訳するプロセスを示します。このプロセスには、文字 のエンコード、国際文字の処理、ユーザー・インタフェースの翻訳、 変更されたリソース・バンドルのテストなどがあります。
• 認証:Web Center Discussionsは、デフォルトで、LDAPを使用して認 証とユーザー・データへのアクセスを行うモジュールを呼び出します。 いくつかのフォーラム・インタフェースを実装することで、別の外部 システムから認証およびユーザー・データのロードを行うように、シ ステムを設定することもできます。 • バック・エンド:すべてのデータの保管にはデータベースが使用されます。 デフォルトでは、Oracleデータベースが使用されます。認証と、ユーザー およびグループの保管はプラガブルであるため、別のバック・エンドを使 用することもできます。
主な特長
WebCenter Discussions アーキテクチャの主な特長は、以下のとおりです。 • オープン標準:Oracle WebCenter DiscussionsはPure J2EEアプリケーションであるため、Oracle Application Serverなどの多様なアプリケーション・サー バー上に配置できます。オープン・データベース・スキーマは、MySQL やOracleなどのさまざまなデータベースで使用できます。LDAPまたは Active Directoryの認証およびユーザー・データ統合が、標準でサポートさ れます。 • 容易なカスタマイズ:WebCenter Discussionsは、独自の配置に合わせて容 易にカスタマイズができるように設計されています。独自の認証システム の組込み、ユーザー・インタフェースの修正、RSSやXMLの使用によるデー タへのアクセス、およびフル機能のAPIを使用した独自の処理ロジックの 追加が可能です。 • スケーラビリティとフォルト・トレランス:サーバー側のJava環境と大規 模キャッシングによって、WebCenter Discussionsは大幅に高速化されまし た。Oracle Application Serverのクラスタリング・サポートを利用してアプ リケーションを複数のサーバー上に配置することで、スケーラビリティと フォルト・トレランスを実現できます。 • 安全性:WebCenter Discussionsアプリケーションは、何千もの顧客に導入 された安全性の実績があります。管理コンソールでは、ロールベースのア クセス権および権限チェックをJavaメソッド・レベルで実行でき、ユー ザーが許可されたコンテンツにのみアクセスできることを保証します。 WebCenter Discussions の機能における主な特長は、以下のとおりです。 • シンプルかつ強力なインタフェース:一貫性のあるルック・アンド・フィー ルと、よく使用されるタスクに対するワンクリック・アクセスを備えた、 使いやすいインタフェース。 • 検索:SESを使用してWebCenter Discussionsのフォーラムをクロールし、
検索の依頼とその結果をWebCenterアプリケーションに表示できます。 • エキスパート検索:コミュニティのメンバーは、名前や電子メール・アド レスなどの基本情報から、他のメンバーの検索や、拡張プロファイル・ フィールドを使用した、より複雑な検索の実行が可能です。 • スレッド・モード、フラット・モード、およびツリー・モード:メッセー ジは、いくつかの異なるモードで表示できます。フラット・モードのメッ セージは日付順に一覧表示され、スレッド・モードのメッセージは特定の テーマごとにグループ化されます。また、ツリー・モードでは、各ページ に 1 つのメッセージと、そのトピックに対する他のメッセージがツリー構 造で表示されます。 • 電子メール通知:情報が更新されると、電子メールまたはWeb上でユー ザーに通知されます。 • Webベースの管理ツール:管理者は、メッセージの削除、編集、移動や、 権限レベルの管理、およびカテゴリとフォーラムの階層管理を容易に行う ことができます。 • 権限ベースのセキュリティ:ユーザーまたはグループに対して、フォーラ ムの参照、新しいトピックの作成、メッセージの投稿を制限できます。 • モデレーションのサポート:モデレータはメッセージを掲載する前に、選 別および編集が可能です。 • ロールベース管理:ロールベース管理を使用して、複数のユーザーやグ ループを、システム管理者、フォーラム管理者、またはモデレータとして 指定できます。
注:これらの機能は、Oracle WebCenter Suite 10g Release 3 の最初の出荷からしば らくしてからリリースされます。
Wiki
Wiki はサーバー・ソフトウェアの一部であり、あらゆる Web ブラウザを使用して、 チームで自由に Web コンテンツの作成や編集ができるようにします。Wiki を使用 すると、ユーザーはどこからでも情報にアクセスし、編集することができます。 Oracle WebCenter に含まれる標準ベースのオープン・ソース Wiki サーバーによっ て、WebCenter アプリケーションで Wiki 機能を利用できます。WebCenter Wiki を 使用すると、チームで協力し、知識を共有することが容易になります。 WebCenter Wiki の基本機能は、以下のとおりです。 • ページのバージョニング:投稿ユーザーがWikiページを編集すると、Wiki サーバーによって以前の変更が記録されます。これによって、ユーザーは 変更を監査し、ページがどのように発展したかを追跡できます。 • バージョンの参照と復元:変更が実施された後に、以前のバージョンに戻 さなくてはならない場合があります。WebCenterのWikiサーバーを使用し て、ユーザーは対象ページの以前のバージョンを確認し、必要に応じて復 元できます。 • 検索の統合:すべてのWikiページは、SESおよびクローラベース・アプロー
チを使用して検索できます。さらに、WebCenterのWikiサーバーではオー プンAPIのセットを公開しているため、開発者はあらゆる検索エンジンを 統合してページ検索を行うことができます。 • ページのロック:ユーザーがページを編集している間、他のユーザーはそ のページを参照できますが、編集はできません。最初のユーザーが編集を 終えると、別のユーザーはそのページを編集できます。これによって、た がいに更新の上書きを防止します。 • ページ参照/ブレッドクラム:多くのユーザーがWikiページを作成した場 合も、WebCenter Wikiはページの横断時にナビゲートしやすい方法を提供 し、ブレッドクラム・モデルを使用してどのページを参照したかを表示し ます。 • 最新の更新リスト:Wikiページには追加や更新が行われますが、ユーザー は最新の変更ページのリストを一箇所で確認できます。
注:これらの機能は、Oracle WebCenter Suite 10g Release 3 の最初の出荷からしば らくしてからリリースされます。
WebCenter アプリケーションの保護
従来、J2EE アプリケーションの保護にはコンテナベースのセキュリティ制約が使 用されてきました。事実上、これらは Web リソース(ページ)に対するパスを静 的なロールに対応付けています。これらのロールのマッピングはアプリケーショ ンのデプロイメント記述子内に定義されるため、標準のコンテナ・セキュリティ は大幅に制限され、柔軟性も十分ではありません。WebCenter アプリケーション は、本質的に動的かつランタイム駆動型であり、アクセス・レベルの異なるユー ザーからの入力が発生する場合もあります。そのため、従来の J2EE のコンテナ ベース・セキュリティの使用は、過度に静的であり有効範囲が限定されます。ADF Security では、Java Authentication and Authorization Service(JAAS)に基づいた宣言 型の動的セキュリティ・モデルを導入することによって、これらの制限に対処し ています。Oracle ADF は、JAZN(Oracle JAAS プロバイダ)統合を利用して JAAS を実装し ています。JAAS は認証と認可の両方をサポートするように設計されていますが、 これまではこのサービスの認可コンポーネントを実装するためにカスタム・コー ドが必要でした。ADF Security は、この問題を解決し、完全な宣言型で動的な JAAS 実装を実現することによって、JAAS ベースの認可モデルを取り込むことに成功し ました。
ADF Security において、アクセス・ポリシーは、ロールのメンバーシップと Web リソースの静的な対応付け(セキュリティ制約)ではなく、特定のアクティビティ (参照、カスタマイズなど)に対する権限付与によって定義されます。必要なアク ションはアプリケーションとともに配置されますが、これらのアクションに権限 付与されたユーザーやロールは実行時に動的に対応付けられます。よって、セキュ リティ・プロファイル情報の変更(配置後の新ロールの追加など)は、アプリケー ションを再配置することなく自動的に適用されます。さらに、ADF Security は Web リソースに対する URL で制約されないため、アプリケーション内で宣言を使用し てさらに細かく権限を定義できます。
認証
ADF Security は、暗黙的および明示的認証プロセスの両方をサポートすることに よって、J2EE コンテナのデフォルト認証モデルを拡張します。標準のセキュリ ティ制約同様、その時点で認証されていないユーザーが保護リソースへアクセス すると、自動的に認証の問題が発生します。さらに、ADF Security では、既知の 認証"エンド・ポイント"を導入し、標準のログインとログアウトのリンク定義を 可能にしました。これとパブリック・ページ(以下に説明)の概念を合わせるこ とによって、エンド・ユーザーがログインなしで保護アプリケーション内のパブ リック・ページにアクセスすることを可能にします。認証済みのユーザーは明示 的にログアウトした後も、アプリケーションを使用し続けることができます(J2EE コンテナのセキュリティにはない概念)。暗黙的認証
ユーザーが ADF Security で保護されたアプリケーションにはじめてアクセスする 場合、セキュリティ・プロセスはサブジェクト(ユーザーを表すコンテナ)を調べ て、ユーザーに関連付けられたプリンシパル(ユーザー・プリンシパルおよびロー ル・プリンシパル)を特定します。完全に新規のユーザーであるためにサブジェ クトがない場合、ADF Security は anonymous ユーザー・プリンシパルと anyone ロー ル・プリンシパルを含むサブジェクトを作成します。これらの匿名プリンシパル を追加することによって、未認証ユーザーが"パブリック"と見なされる Web リ ソースにアクセスできます。 J2EE コンテナ ADF Authentication Servlet ユーザー ログイン・ページ アイデンティティ 管理ソリューション プラガブル 認証モジュール セキュリティ 制約 コンテナ・ログイン・ コンポーネント mypage.jspx public.jsp ADF Security 図 11:ADF Security の暗黙的認証明示的認証
明示的認証のシナリオでは、未認証ユーザー(anonymous ユーザー・プリンシパ ルと anyone ロール・プリンシパルのみを持つユーザー)はパブリック・ページ のログイン・リンクを能動的にクリックします。ログイン・リンクには、ADF の セキュリティ・インフラストラクチャ・コンポーネントである ADF Authentication Servlet に対する直接要求が含まれています。このサーブレットは、標準のコンテ ナ保護 Web リソースに対する既知のエンド・ポイントの役割を果たします。つま り、ADF Authentication Servlet は J2EE のセキュリティ制約を介して保護されてい ます。よって、このサーブレットにアクセスしようとする未認証ユーザーは、た だちにコンテナの内部認証ロジックに送られます。コンテナは、制約によって保 護されたアプリケーション(この場合は、ユーザーがアクセスしている元のペー ジではなく、サーブレット)に対してのみリダイレクトするため、現在の"パブリッ ク"ページは ADF Authentication Servlet に対する要求のパラメータとして渡されま す。これによって、その次に、ログイン・リンクが含まれるページへ戻るように リダイレクトされます。認証が成功すると、ユーザーsubject には、もとの anyone ロール・プリンシパル以外に、独自のユーザー・プリンシパルとロール・プリン シパルが含まれます。 ログイン・ページ アイデンティティ 管理ソリューション プラガブル 認証モジュール コンテナ・ログイン・ コンポーネント ADF Authentication Servlet J2EE コンテナ ユーザー public.jsp セキュリティ制約 図 12:ADF Security の明示的認証認可
Authorization Editor は、ポリシー・ストアに定義されたエンタープライズ・ロール を表示し、特定のコンポーネント・タイプ(ページ、メソッド、イテレータ、ま たは属性)に適用されるアクション(表示、起動、編集など)を表示します。認 可ポリシーを実装するには、関連ロールに対する該当アクションにチェックを付 けます。続いてこのポリシーがアプリケーションに対して定義されたポリシー・ ストアに書き込まれます。ポリシー・ストアは、ファイルベースのリポジトリま たは LDAP ディレクトリです。ポリシーには、権限タイプ、保護対象のリソース、 リソースに対して実行可能なアクション、およびポリシーの割り当てまたは権限 付与が行われるユーザーもしくはロールが定義されます。図 13:Authorization Editor での特定のロールに対する許可アクションの選択 実行時に、ユーザーが保護ページ(図 12 の mypage.jspx など)にアクセスしよ うとすると、Oracle ADF のセキュリティ・フィルタが要求を傍受して、現在のユー ザーがそのページに対する適切なアクセス権を持っているかどうかを判断します。 未認証ユーザーの場合、サブジェクト内で anonymous ユーザー・プリンシパル と anyone ロール・プリンシパルを使用して、ユーザーが定義されます。よって、 要求ページの表示権限が anyone ロールに対して付与されている場合(図 12 の public.jsp など)、ユーザーはそのページに転送されます。 mypage.jspx の表示権限は、anyone 以外のロールに割り当てることが要求され ているため、ユーザーには認証の問題が発生します。認証が実行された後、ユー ザーには固有のプリンシパルが割り当てられ、セキュリティ・ポリシーの評価に 使用されます(つまり、mypage.jspx の表示に必要なロールを特定し、要求ユー ザーがそのロールのメンバーかどうかを判断します)。この例では、ユーザーが Staff ロールのメンバーである場合、mypage.jspx へのナビゲートが許可され ます。 同様に、表示権限を持たないページにアクセスしようとするユーザーに対して(図 12 の secpage.jsp)、アクセスは単純に拒否されます。
public.jsp Staff ユーザー ADF Security mypage.jspx secpage.jsp Developer Admin. ポリシー・ ストア J2EE コンテナ 図 14:ADF Security による認可