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