この章では、Oracle WebCenter Suiteの概要を示し、Oracle WebCenter Suiteを使用してサービス指向アプリケーションを拡張する方法について説明します。Oracle WebCenter Suiteでは、より高度な通信、コンテンツ管理機能、カスタマイズおよび拡張検索サポートをユーザーに提供する、アプリケーションと統合可能な各サービスが用意されています。さらに重要なことに、Java Server Facesアプリケーション内でポートレットやコンテンツを消費する機能、宣言型セキュリティ、ライフサイクル管理ツールなどの必要不可欠な機能を提供する開発フレームワークが用意されています。
この章では、次の重要なトピックについて説明します。
この章を読み終えると、独自のJava EE 5アプリケーションの構築を開始できます。
Wiki、RSS、ブログなどの主要なテクノロジによって世界中の個々人に能力が与えられ、インターネットの展望が変化する中、ユーザーは、取引を簡素化するアプリケーションをますます求めるようになりました。取引を簡素化するための1つの方法は、特定の作業に対応するためにユーザーが必要とするすべての要素をアプリケーションそのものに組み込むことです。たとえば、図1-1に示した例で考えてみます。
この例では、会社に入ったばかりのユーザーが、会社の保険契約に扶養家族を追加できるアプリケーションを使用しています。取引そのものの周りに、次のように、ユーザーの理解を助ける追加のコンテキストがあることに注意してください。
左上隅の「New Hires Tasks」には、新しい会社に慣れるという大きなプロセスにおけるユーザーの現在の位置を示すアクティビティ・ガイドがあります。ユーザーの次の作業も示されています。このようなタイプのプロセス編成によって、ユーザーは複数の手順からなるフロー全体を迅速かつ簡単に進むことができます。
作業およびプロセスの分析手法によって、ユーザーは、プロセスにおける自分の位置と、選択した内容が自己に及ぼす影響を知ることができます。この例では、右側の「Task Analytics」に、これまでに選択した給付の内容の全体的な費用効果が示されます。
左下の「Help Center」には、一般的な質問をすぐに参照できる最新のFAQと、FAQに記載されていない質問をユーザーが質問できるヘルプ・センターへのダイレクト・チャット・リンクがあります。ここでも、ユーザーは取引のコンテキストから離れずにヘルプを受けることができます。
右下の「Knowledge Exchange」には、現在の作業に関連するドキュメントが示されます。これらのドキュメントは企業リポジトリ内に格納されており、様々な受給者および扶養家族のシナリオに対する詳細なアドバイスを提供します。
Oracle WebCenter Suiteまでは、このような種類のアプリケーションを構築することは非常に冗漫なプロセスでした。たとえば、(アプリケーション・プログラミング・インタフェース(API)での必要に応じて)JCR 1.0 Java Content Repository(JSR 170)内を参照するためのポートレットの作成に使用される受給者シナリオを利用することが可能でした。Oracle WebCenter Suiteでは、サービス指向アーキテクチャ(SOA)の概念を採用することで、これまでユーザーに必要なビジネス・コンポーネントを提供するために必要であったフロントエンドの労力を軽減しています。Oracle WebCenter SuiteはSOAのみでなくJCR 1.0 Java Content Repository(JSR 170)やその他の業界標準に準拠しているため、広範な種類のプラグ・アンド・プレイ製品、ツールおよびサービスを使用でき、ユーザーが求めるアプリケーションを構築することが容易になります。図1-2に、Oracle WebCenter Suiteの機能を示します。脚注1
これから、これらの構築ブロックについて詳しく説明します。
Oracle WebCenter Frameworkは、追加の統合オプションとランタイム・カスタマイズ・オプションを提供することによってJava Server Faces(JSF)環境を補強します。つまり、これまでポータル製品に組み込まれていた機能をJSF環境のファブリックに直接統合します。これによって、ユーザーの人為的な障壁が取り除かれ、図1-1に示したようなコンテキスト・リッチなアプリケーションを開発するための基礎が提供されます。
ポートレットを使用すると、Webやデータベースなどからのデータをアプリケーションに取り込むことができます。Oracle JDeveloperを使用すると、JSR 168またはWSRP互換のポータルによって消費される標準ベースのポートレットを独自に作成できます。Oracle Application Server Portal Developer Kit(PDK)は機能拡張され、WSRP 2.0で定義されている拡張的なポートレット機能をJava Portlet Standards APIの構造内でサポートできるようになりました。WebCenterアプリケーションから、JSR 168、WSRP 1.0、WSRP 2.0またはOracle PDK-Javaポートレットをすべて同じアプリケーション内あるいは同じページ内で消費できます。
Preconfigured Oracle Containers for J2EE(OC4J)を介して使用できる、ビルトイン・ポートレットがいくつかあります(Preconfigured OC4JはOracle JDeveloperを介して自動的に使用可能になります)。このような2つのポートレット(OmniPortletおよびWebクリッピング)を使用すると、ユーザーは独自のデータを収集できます。これに対し、リッチ・テキスト・ポートレットを使用すると、ユーザーは独自の告知や掲示を公開できます。これらのポートレットは、ページ上にドロップすることにより、ユーザーに対して使用可能にできます。あるいは、これらのポートレットを自分で使用して、ユーザーのニーズに応じた特定のポートレットを作成することもできます。
OmniPortlet: ユーザーが様々なレイアウトを使用して様々なソースからデータを簡単に公開できるようにするポートレットです。OmniPortletでは、ユーザーがスプレッドシート(値間を特定文字で区切ったもの)、XML、Webサービス、既存のWebページ上のアプリケーション・データなど、ほぼあらゆる種類のデータソースを使用できます。データを取得した後、ユーザーは箇条書きリスト、グラフ、HTMLなどのレイアウトを使用して、OmniPortletを書式設定できます。
開発者は、このツールを使用して、ユーザーのデータを収集および書式設定できます。たとえば、従業員ディレクトリを作成する場合は、ユーザー消費用にOmniPortletをページ上に配置します。配置されたポートレットは、他の人がそれぞれのアプリケーションで使用できるように、Oracle JDeveloperのコンポーネント・パレットを介して使用可能になります。
Webクリッピング: 技術的な専門知識をまったく必要としない、非常に使いやすいウィザードです。ユーザーはクリップするWebコンテンツを見つけ、ウィザードを使用して、そのコンテンツをグラブしてアプリケーション内に表示するだけです。元のサイトのWebコンテンツが更新された場合は、ユーザーの関連付けられたWebクリッピングも更新されます。
リッチ・テキスト・ポートレット: ユーザーが独自の告知や放送を公開できるようにするツールです。リッチ・テキスト・ポートレットをページ上に配置すると、実行時に、権限のあるユーザーは、表示テキストの挿入、更新および書式設定に必要なすべてのリッチテキスト編集ツールにアクセスできます。
WebCenter Frameworkには新しいJSFコンポーネントが備わっており、これを使用すると、開発者はアプリケーションをカスタマイズ可能にすることができます。これらの新しいコンポーネントはコンテナとして機能します。開発者は、このコンテナに別のFacesビュー・コンポーネントやポートレットをドロップできます。これらの機能が設定されていれば、開発者は、ページ上でコンポーネントの最小化/最大化、非表示/表示、または移動を行うことにより、ほぼあらゆるJSFページをカスタマイズできます。
たとえば、Oracle Content DBやOracleAS Portalなどのコンテンツ管理システム(またはファイル・システム上)に存在するデータをアプリケーションで使用可能にするとします。WebCenter Frameworkには、そのコンテンツにアクセスするために必要なJCRアダプタが備わっています。Oracle JDeveloperを使用すると、JCRデータ・コントロールを構築してコンテンツをグラブし、様々な表示モードでのページ上にドロップできます。また、Oracle WebCenter FrameworkにはOracle Driveが付属しており、これを使用すると、OracleAS Portalリポジトリをデスクトップ上にツリー構造として表すことができます。
Oracle WebCenter Frameworkに備わっているADF拡張要素を使用すると、アプリケーション全体、アプリケーション内のページ、またはカスタマイズ可能コンポーネントにより提供された個々のアクションに対して、セキュリティを定義できます。
多くの場合、電子メールなどの独自の認証メカニズムを備えた既存のアプリケーションを活用すると効果的です。WebCenter Frameworkでは、外部アプリケーション・ウィザードを使用してこれらのアプリケーションを埋め込むことができます。詳細は、第10章「WebCenterアプリケーションの保護」を参照してください。
WebCenter Frameworkは、次のような複数のツールを使用することにより、アプリケーションの構築、デプロイおよび移行に必要な時間を短縮します。
開発フレームワーク: Oracle JDeveloperおよびADFには、アプリケーションの構築と更新に必要なツールおよびフレームワークが備わっています。ポートレット、コンテンツおよびカスタマイズの機能をWebCenterアプリケーションに追加するには、ソースまたはWYSIWYG環境のいずれかに適切なオブジェクトをドラッグ・アンド・ドロップするだけです。WebCenter Frameworkには、テストおよびデバッグのフェーズを簡素化するために、ポートレット・カスタマイズ、コンテンツおよびページ・カスタマイズをパッケージ化して(付属のスタンドアロンOC4Jなどの)J2EEコンテナに移行するデプロイメント・プロファイル(WebCenterアプリケーションWAR)が組み込まれているため、本番サーバーにデプロイする前にアプリケーションをテストしてデバッグできます。
エンタープライズ・デプロイメント: アプリケーションを本番環境にデプロイする準備ができると、Oracle WebCenter Frameworkのデプロイ前ツール・パッケージによって、ポートレット・カスタマイズがパッケージ化されて本番の場所に移行され、コンテンツ・リポジトリへのポインタが変更され、アプリケーションがメタデータ・サービスの本番の場所を指しているか確認されます。デプロイ前ツールの処理が完了すると、ターゲットのEARファイルが生成されます。このEARファイルは、Enterprise Managerを使用して最終的な場所にデプロイできます。
標準ベースの管理: ブラウザ・ベースのツールによって、管理者は、WebCenterアプリケーションをデプロイ、構成および管理できます。また、業界標準ベースのJMX方式に基づいて構築されたツールによって、管理者はきめ細かな制御を行い、状態ステータス、パフォーマンスおよび評判に関する監視メカニズムを利用できます。また、(単一のOracle Application Serverコンテキスト内で)経時的な履歴パフォーマンスおよびステータス・レポートを取得するためのツールも提供されています。WebCenterアプリケーションのメトリックは、使い慣れたApplication Server Controlの監視および管理インタフェースを使用して配信されます。
Oracle WebCenter Servicesには、次のような様々なコンテンツ管理、検索および通信のサービスがあります。
Oracle WebCenter Servicesのデフォルト・コンテンツ・リポジトリであるOracle Content Database(Oracle Content DB)。Oracle Content DBは、ユーザーがWeb経由で、またはデスクトップ・アプリケーションからコンテンツを管理できる、本格的なコンテンツ管理システムです。サービス指向環境でエンタープライズをコンテンツ対応にするための、すぐに使用できる豊富なWebサービス・ライブラリが提供されています。Oracle Content DBを使用すると、次のことが可能です。
ビジネス・プロセスのコンテキストで適切なコンテンツにセキュア・アクセスすることにより、個人およびチームの生産性を向上させます。
情報の損失やリーガル・ディスカバリなど、情報コンテンツに伴うリスクを軽減します。
ビジネス・プロセスの適応性を促進します。
コンテンツの強化によって情報テクノロジ(IT)のコストおよび管理コストを削減します。
Oracle Content DBは、機能が限定されたファイル・サーバーと、幅広く使用されている専門的で高価かつ複雑なコンテンツ管理アプリケーションとの間のギャップを埋める製品です。
Oracle Secure Enterprise Searchはクローラ・ベースのサービスであり、幅広いソース(様々なファイル書式の索引付きデータ、リアルタイム・データ、構造化データおよび非構造化データ)の検索を可能にします。Oracle Secure Enterprise Searchを使用すると、会社の情報リポジトリで関連ドキュメントを短時間で検索できます。
人と人とを接続し、通信を促進するための通信サービス。次のようなサービスがあります。
インスタント・メッセージング: オーディオおよびビデオ・フィード、ファイル交換、その他様々な機能を介して、ユーザーがアイデアを自由に交換することを可能にします。
プレゼンス・サーバー: プレゼンスは、ある人が個々人または自分のステータスにサブスクライブしているアプリケーションに対して使用可能であるかどうかの情報を提供します。チャットやその他のリアルタイム・サービスは、関連付けられたユーザー・インタフェースから開始できます。
ディスカッション・フォーラム: 情報、質問およびコメントを共有するためのインタラクティブなメッセージ・ボード。
Wikiは、ユーザーがWebブラウザを使用してWebページ・コンテンツを自由に編集および作成できるようにするサーバー・ソフトウェアです。このように簡単に対話および操作できることから、Wikiはコラボレーティブな通信を行うための効果的なツールとなっています。
Oracle JDeveloperは、Java、XML、WebサービスおよびSQLの最新の業界標準を使用してサービス指向アプリケーションを構築するための統合開発環境(IDE)です。Oracle JDeveloperでは、アプリケーションのモデリング、コーディング、デバッグ、テスト、プロファイリング、チューニングおよびデプロイを行うための統合的な機能を備え、完全なソフトウェア開発ライフサイクルをサポートしています。Oracle JDeveloperの視覚的で宣言的なアプローチとOracle ADFがともに機能することにより、アプリケーション開発は簡素化され、日常的なコーディング作業が減ります。たとえば、ボタン、値リスト、ナビゲーション・バーなどの多数の標準的なユーザー・インタフェース・ウィジェットのコードが事前にパッケージ化されています。コンポーネント・パレットから適切なウィジェットを選択して、アプリケーション内にドロップするだけです。
このガイドを読み進むうちに、Oracle JDeveloperとそのメリットを理解できます。Oracle JDeveloperの詳細は、Oracle JDeveloperの「ヘルプ」メニューからアクセス可能なOracle JDeveloperの開始ページ(図1-3)より、多数ある参考資料の1つにアクセスしてください。
この開発者ガイドで学習する内容は、次のとおりです。
WebCenterアプリケーションの設計
開発環境の準備
ページへのOracle WebCenter Frameworkの移入
コンテンツ・リポジトリからのコンテンツの統合
アプリケーションのデプロイ
アプリケーションの保護
アプリケーションの監視
要件に応じたポートレット・テクノロジの選択
様々なテクノロジを使用したポートレットの構築
WebCenterアプリケーションに関するトラブルシューティング
脚注
脚注1: 示されているコンポーネントの中には、Oracle WebCenter Suiteの初期のリリース(Presence/IM、DiscussionsおよびWiki)では使用できないものもあります。この章では、Oracle WebCenter Frameworkのこのリリースに関連するコンポーネントについて説明します。