3 WebCenter Sitesの開発プロセス
WebCenter Sitesでは、2つのサイトを設計します。コンテンツ・コントリビュータが情報を追加および更新するために使用するコンテンツ管理サイトと、配信システムから訪問者のブラウザに提供されるオンライン・サイトです。コンテンツ・コントリビュータは、オンライン・サイトを管理システムから配信システムにパブリッシュします。
そのため、次の2種類のエンド・ユーザーのユーザー作業環境を担当します。
-
配信システムを使用するサイト訪問者
-
管理システムを使用するコンテンツ・プロバイダ
これら2つの、緊密につながってはいるが別々のサイトを作成する際には、開発チームは、計画立案、開発、テストという一連のステップを実行します。この章では、1つの考えられるイベントの流れで、そして一般的な用語で、開発プロセスについて説明します。実際のワークフローは、作業環境とビジネス・ニーズに応じて異なります。
トピック:
3.1 ステップ1: チームを発足する
様々なスキルを持つ人たちがWebCenter Sitesにサイトを共同で構築します。ある人はサイトを設計し、ある人は様々なエレメントをコーディングし、ある人はコンテンツを管理します。
-
ソリューション・アーキテクト(サイト設計者)
-
XMLおよびJSP開発者
-
Javaアプリケーション開発者
-
データベース管理者
-
システム・ネットワーク管理者
-
マーケティング担当者および広告担当者
-
製品マネージャ(商用サイトを開発している場合)
-
コンテンツ・プロバイダ
開発チームには、データベース管理者、システム管理者、コンテンツ・プロバイダなどの人たちが必要であり、(開発者のように)次のような様々な理由で実際のコーディングを行う人たちも必要です。
-
ページ・デザインを作成することに加えて、データ・モデルを設計する必要があります。つまり、各システム上のデータベースをサポートするデータベース管理者から、早めに情報を入手する必要があります。
-
複数の別々のシステム(そのうちのいくつかはクラスタ化されている可能性が高い)で、コードとデータをあちこち動かす必要があります。つまり、システム管理者およびネットワーク管理者から、早めに情報を入手する必要があります。
-
WebCenter Sitesシステムの実装は、コンテンツ・プロバイダの作業習慣が管理システムの設計に正確に反映されているかどうかに依存します。管理システムを使用する人たちから、早めに情報を入手する必要があります。
3.2 ステップ2: 機能とデザインの仕様を作成する
Oracle WebCenter Sitesのコンテンツ管理システムから配信されるオンライン・サイトは、すべてを包括した構成体で、その中ではすべてのものが他のすべてのものと対話、交差および作業します。そのため、機能仕様およびデザイン仕様(オンライン・サイトを紙上で設計するため)を作成する必要があります。
何かのコーディングを始める前に、このタスクの一部を実行する必要があります(デザイン仕様を作業する際に、なんらかの概念検証コーディングを行う場合もあり)。
3.2.2 ページのデザイン
マーケティング担当者からの機能要件の入手後、最初に行う作業としては、オンライン・サイトに提示するすべてのタイプのページを策定することをお薦めします。たとえば、ホーム・ページ、セクション・ページ、コラムニスト・ページ、検索ページ、記事ページです。商用ページを設計する場合は、登録ページ、製品カテゴリ・ページ、製品の説明ページ、記事ページ、FAQページ、請求書ページなど、他の種類のページが必要です。
各ページおよびサイト全体のグラフィック、ナビゲーション、機能の各面での特徴を決定します。具体的には、ナビゲーション・バー、購入ボタンとショッピング・カート、詳細ボタン、検索機能、ロゴの配置、アニメーション化されたグラフィックなどです。
Oracle WebCenter Sites: Engageを使用している場合は、マーチャンダイジング・メッセージ(推奨)をページのどこに配置するか、またどのページに配置するかを判断します。たとえば、それぞれの製品カテゴリ・ページには、ページの右上隅に新製品という名前のセクションが含まれる場合があります。
サイトの構造全体を策定して、原寸大の模型を作成します。
3.2.3 キャッシュ戦略
デザインにおける代表的なエレメントはキャッシングで、ページ・キャッシングと結果セット・キャッシングがあります。キャッシュ戦略を計画、テスト、実装しないと、オンライン・サイトはパフォーマンスの目標を達成できません。オンライン・サイトに提示するページを設計する際には、各ページの断片ごとに、ページ・キャッシングをいつどのように実装できるか、また実装する必要があるかを検討する必要があります。問合せを設計する際には、データベース内のすべての表を策定し、それぞれの表に結果セット・キャッシング設定をどのように設定するカスタマイズを決定します。
3.2.4 セキュリティ戦略(アクセス制御)
ページを正しく設定できるようにするためには、設計プロセスの初期段階で、どのような種類のアクセス制御を実施するかを決定する必要があります。たとえば、オンライン・サイトのどの部分にアクセスする場合も、事前に訪問者にIDを明らかにしてもらう必要があります。訪問者がページにアクセスすることを許可する前に訪問者のアイデンティティをチェックする必要がある場合、これは、そのページの構成要素のキャッシュ方法に影響します。キャッシュされることのないコンテナ・ページを設計することもできます。このページは、訪問者のアイデンティティを検証し、この検証が成功した場合にかぎって、キャッシュされたページレットからページを組み立てます。
3.2.5 フォーマットとコンテンツの切離し(アセットのエレメント)
コンテンツとフォーマットを切り離すという基本的な提案に続いて、サイト内に提案された各ページの各断片を見て、その断片をデータとロジックのいずれで表すかを決定します。
データがアセットとして表されるように設計され、エレメント・コードに埋め込まれていないというのが優れたデザインです。デザインまたはコンテンツのすべての構成要素を調べて、アセットが何であるかを判別します。その判別を行うには、データとロジック/コードどちらのカテゴリに構成要素が属しているかを判断します。
簡潔に言えば、本当はデータであれば、エレメントにコーディングしない(ロジックに埋め込まない)でください。データは別のアセットに入れる必要があります。
別の見方を次に示します。
-
コンテンツを表すアセットは、コンテンツ・プロバイダの担当です。
-
ロジック(任意のエレメントにコーディングされているもの)は、開発者の担当です。
3.2.5.1 アセット・タイプ(コンテンツ)の判別
ドキュメント、記事、製品およびイメージは、簡単にアセットと識別されます。ただし、ヘッダーやフッターなどのデザイン構成要素もアセットになり得ます。
-
ヘッダーまたはフッター内のコンテンツがエレメントのコードに埋め込まれている場合は、コンテンツ内の何か(電話番号やロゴなど)が変更されたら、担当開発者または別の開発者がコンテンツ内のテキストを変更する必要があります。
-
ヘッダーまたはフッター内のコンテンツがアセットに含まれている場合は、エレメント内のコードはそのアセットのIDを取得できる必要があります。そのコンテンツは、コンテンツ・プロバイダの担当になります。
ページのそれ以外の構成要素でアセットになり得るものには、次があります。
-
アニメーションなどのメディア
-
その日の相場
-
会社または株式のプロファイル
-
ナレッジ・ベースの質問と回答
開発者の視点では、アセット内に表されている構成要素のコンテンツは他の人間が担当します。自分で担当するのは、オンライン・サイトのどこにいつ表示するか、そして表示したときの外観をどのようにするかのみです。
3.2.5.2 イメージなどのBLOBの処理方法の判断
オンライン・サイトで使用するイメージなどのBLOBを管理する方法を判断する際には、次の2つの一般的なオプションがあります。
-
アセットとして扱う: WebCenter Sitesデータベースに格納し、BlobServerサーブレットで提供します。
-
静的ファイルとして扱う: Webサーバー上のファイル構造に入れて、Webサーバーで提供します。
どちらの方法も有効なオプションです。WebCenter Sitesタグを使用してWebサーバーに格納されているイメージ・ファイルへのリンクを作成できます。Webサーバーがイメージを配信できるようにすると、パフォーマンス上のメリットを得ることができます。ただし、イメージとBLOBをWebCenter Sitesデータベースから切り離しておく場合は、次のようになります。
-
別のファイル管理プロセスを実装する必要があります。管理システムから配信システムにイメージ・アセットを移動するパブリッシュ方法では、WebCenter Sitesデータベース内にないコンテンツを移動することはできません。このプロセスは自分で管理する必要があります。
-
WebCenter Sitesのネイティブ・セキュリティ・メカニズムはどれも当てはまりません。つまり、WebCenter Sitesで管理されていないBLOBへのアクセスを制限する場合、ACLは使用できません。
3.2.5.3 機能デザインとフォーマットの策定(エレメント)
オンライン・サイトに組み込む予定の機能のすべてを分析します。商用サイトの一部は、どちらかというとアプリケーションのように動作することは疑いありません。訪問者の登録ページ、訪問者のデータ・コレクション・ページ、ショッピング・カート、パーソナライズなどに必要なコードまたはロジックが何であるかの概略を記します。
WebCenter Sitesシステムに用意されているコーディング・オプションが、Java、XMLおよびJSPであることを忘れないでください。実現しようとしている機能のそれぞれを見ていき、その機能にとって最適のコーディング解決策がどれであるかを判別します。
3.2.6 データ・デザイン
サイトの断片のいずれをアセットとして表す必要があるかがわかったら、アセット・タイプを何にすべきかを策定できます。それぞれの新規アセット・タイプでは、データベース表を1つ以上使用します(ベーシックとフレックスいずれのアセット・タイプであるかによって異なります)。
3.2.6.1 アセット・タイプ
ベーシックとフレックスどちらのアセット・モデルを使用する場合でも、アセット・タイプを設計する際には次の点を検討してください。
-
アセット・タイプのデザインは、設計対象とするユーザー・グループの両方(オンライン・サイトへの訪問者と、データを入力するコンテンツ・プロバイダ)に影響を与えます。
-
ページ・デザインを正常に実装するためには、いずれのタイプのアセットを、他のタイプの他のアセットにリンクまたは関連付ける必要がありますか。これらの関係を、アセット・タイプに忘れずに実装してください。
-
使用する予定が本当にあるデータのみをアセット・タイプに格納して、だれも使用しないデータを保持することにコンテンツ・プロバイダが時間を浪費しないようにしてください。
3.2.6.2 アセット・タイプをサポートする補助表
システムに実装するデータ・デザインは、アセットを保持しているデータベース表を越えています。提供する情報の種類によっては、アセット・タイプをサポートする補助表を作成することが必要になる場合もあります。たとえば、Mimetypeドロップダウン・リストを持つアセット・タイプが含まれるサイトの場合、ユーザーはこのリストから値を選択する必要があります。MimeType
という名前の参照表を作成し、これらの値をこの表示から取得できます。ニーズによっては、使用システムで同様の表を作成することが必要になる場合もあります。
作成する予定のあるアセット・タイプおよび補助表についての議論にはデータベース管理者にも参加してもらい、管理システムと配信システムで発生する可能性のある種類のデータベース・チューニング問題を理解してもらってください。
3.3 ステップ3: 管理システムの要件を設定する
コーディングはまだ始めないでください。まず管理システムの編成について検討します。コンテンツ管理サイトによって設計が異なることに注意してください。
コンテンツ管理サイトとは、実際のオンライン・サイト向けの組織構成メンバーとして、またアクセス制御ツールとして使用するオブジェクトです。テンプレート・アセットを作成すると、WebCenter Sitesでは、SiteCatalog
表でエントリが作成されます。ページ・エントリのネーミング規則には、テンプレートの作成対象となるコンテンツ管理サイトの名前が含まれます。つまり、コンテンツ管理システム全体(開発システム、管理システムおよび配信システム),で整合性を維持する必要があり、コーディングを開始する前に、使用しているサイトの名前を知っておく必要があります。
第1の関心事は各サイトの名前ですが、システム管理者とビジネス・マネージャは次の点も決定する必要があります。
-
必要なユーザーおよびACL(アクセス制御リスト)の数(オンライン・サイトの訪問者に割り当てるACLを作成する必要がある場合もあることに注意)
-
必要なサイト・ロール数
-
どのアセット・タイプがワークフロー・プロセスを必要とするか
-
リビジョン追跡を使用する必要があるアセット・タイプ
-
どのユーザーがどのサイトのどのアセット・タイプへのアクセス権を持つ必要があるか
3.4 ステップ4: データ・デザインを実装する
デザイン仕様を作成したら、次に管理システムをどのように編成するかを理解します。ここで、データ・デザインを実装します。
開発システムで、次のようなタスクを完了します。
-
管理システムで使用される名前と同じ名前でコンテンツ管理サイトを作成します。『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』の管理者インタフェースからのサイトの作成に関する項を参照してください。
-
アセット・タイプを設計して作成します。ベーシック・アセット・タイプの作成およびフレックス・アセット・ファミリの作成を参照してください。
-
アセット・タイプに対して参照表などの補助表を追加します。
-
各タイプのサンプル・アセットを作成します。『Oracle Fusion Middleware Oracle WebCenter Sitesの使用』のフォーム・ビューでのアセットの作成に関する項を参照してください。このステップと「ステップ5: オンライン・サイトを構築する」は反復作業であり、多くの部分が重複する可能性が高いと考えられます。アセット・タイプを作成して、テンプレート作成前にアセットを作成できるようにする必要がある一方、データ・デザインに改良が必要な領域が明らかになるのは、テンプレートのコーディングとコードのテストを行った後のみになる可能性が高いと思われます。
3.5 ステップ5: オンライン・サイトを構築する
デザイン仕様を作成したら、ただちにアセットを表示しないエレメントのコーディングを始めることができます。1つのタイプのサンプル・アセットさえあれば、テンプレートのコーディングとオンライン・サイトの構築を開始できます。
このステップでは、次のようなタスクを完了します。
-
オンライン・サイトの機能を実装した、ページ、問合せ、コレクションの各アセットを作成します。コレクション・アセット、問合せアセットおよびページ・アセットの作成を参照してください。
-
Engageを使用している場合は、訪問者データ・アセット、サンプル・セグメント、推奨事項およびサンプル・プロモーションを作成します。Engageでのパーソナライズおよびターゲット設定されたWebサイトの開発を参照してください。
-
アセット・タイプのすべてに対し、テンプレート・アセットを登録(してテンプレート・エレメントをコーディング)します。テンプレート・アセット、CSElementアセットおよびSiteEntryアセットの作成を参照してください。
-
Oracle WebCenter Sites: ContributorインタフェースのWebモード機能については、
insite
ファミリのタグを使用してテンプレートをコーディングします。コンテキスト内コンテンツ編集用テンプレートのコーディングを参照してください。 -
基礎となる機能を実装する(アセットを表示しない) CSElementをコーディングします。CSElementアセットの作成を参照してください。
-
商用サイトについては、ショッピング・カートを実装するページをコーディングします。ショッピング・カートおよびEngageについて把握する必要がある内容を参照してください。
-
Engageを使用している場合は、訪問者データを収集するページをコーディングします。訪問者データの収集を参照してください。
-
すべてをテストします。
オンライン・サイトに対して操作性と市場性に関する両方のテストを実行します。
タグ・テクノロジを使用したWebサイト開発を参照してください。
3.6 ステップ6: 管理システムを設定する
オンライン・サイトが開発システムで機能するようになったら、管理システムに移動する準備は完了です。
開発者は、次のタスクを実行します。
-
コンテンツ管理サイトおよびそのすべてのコンポーネントを管理システムにパブリッシュします。『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』のリアルタイム・パブリッシュの使用に関する項を参照してください。
次にシステム管理者は、次の種類のタスクを完了します。
-
ユーザー、ACLおよびロールを作成します。コンテンツ管理サイトごとに、ユーザーにロールを割り当てます。『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』のACLおよびロールの使用に関する項を参照してください。
-
ワークフロー・プロセスを作成します。『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』のワークフロー・プロセスの作成と管理に関する項を参照してください。
-
StartMenuショートカットを作成します。『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』のスタート・メニュー・アイテムの作成に関する項を参照してください。
-
リビジョン追跡を有効にします。『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』のビジョン追跡の有効化に関する項を参照してください。
管理システムの設定の詳細は、『Oracle WebCenter Sitesの管理』を参照してください。
3.6.1 コンテンツをアセットとしてインポート
コンテンツは、使用するなんらかの非アセット・フォーマットになっていると考えられます。このコンテンツをWebCenter Sitesデータベースにアセットとしてインポートするには、XMLPostユーティリティを使用します。XMLPostユーティリティを使用したアセットのインポートについてを参照してください。
3.6.2 カタログ・データおよびフレックス・アセット・データのインポート
フレックス・アセット・モデルの場合、BulkLoaderユーティリティを使用して既存の大量のデータをインポートできます。「BulkLoaderユーティリティによるフレックス・アセットのインポート」を参照してください。ただし、システム化された更新の場合は、XMLPostユーティリティを使用します。XMLPostユーティリティの使用を参照してください。
3.6.3 サイトのデザインについて編集チームに指示
編集チームがオンライン・サイトを正常に維持できるようにするには、デザインを理解しておく必要があります。たとえば、コレクションをどのくらいの頻度で再構築するかなどがあります。
ベーシック・アセット・モデルを使用している場合は、コンテンツ・プロバイダは次の点を知っておく必要があります。
-
該当する問合せおよびコレクション別にアセットが検索されるようにするには、アセットにどのカテゴリおよびソースを割り当てるべきか。
-
どのテンプレートをどのアセットに割り当てるべきか。
-
サイト・ページ上のリンクが正常に機能するようにするには、どのアソシエーション・フィールドにデータを入力する必要があるか。
アセット・タイプごとに開発者とシステム管理者が作成するスタート・メニュー・ショートカットに、できるだけ多くの情報をプログラムすることをお薦めします。
フレックス・アセット・モデルを使用している場合は、コンテンツ・プロバイダは次の点を知っておく必要があります。
-
フレックス・アセットに定めた一般的な階層または分類。
-
フレックス・アセットが何の情報を継承するかについての情報。
-
どのテンプレートをどのアセットに割り当てるべきか。
3.7 ステップ7: 配信システムを設定する
配信システムを設定したら、管理システム上のすべてのアセットを配信システムにパブリッシュするための準備は完了です。配信システムが一般公開サイトをホストするため、コンテンツ・コントリビュータおよびマーケティング担当者のために管理システムに構成したスタート・メニュー、ワークフロー、リビジョン追跡などをパブリッシュする必要はありません。
配信システムでは、次のタスクも実行する必要があります。
-
セキュリティ戦略を実装します。『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』の外部セキュリティの設定に関する項を参照してください。
-
Webサーバーで、自分のサイトのURL (
www.example.com
)を、ホーム・ページのWebCenter SitesのURLにマップします。『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』のWebサーバーのURL接頭辞のマッピングに関する項を参照してください。
配信システムの設定の詳細は、『Oracle WebCenter Sitesの管理』のパブリッシュに関する項を参照してください。
3.8 ステップ8: 配信システムにパブリッシュする
コンテンツは配信システムにパブリッシュされます。サイトは(パフォーマンスと負荷の両面で)徹底的にテストしてから一般公開します。
『Oracle Fusion Middleware Oracle WebCenter Sitesの管理』のリアルタイム・パブリッシュの使用に関する項を参照してください。