対話管理ガイド
対話管理の概要
WebLogic Portal では、豊富なツールおよびサービスを使用してユーザとポータルとの対話を促進できます。たとえば、個々のユーザ向けにパーソナライズされた画像やリンクを動的に表示したり、従業員手当ての申し込みやオンライン ショッピングなど、ユーザの好みや特性に応じて異なった場所に進むプロセスを動的に実行したりできます。また、ポータルでのユーザの経路を記録することによって、ポータル、ポータルの設計、またはプロセス フローの効果を評価することもでき、取得した貴重な情報を戦略の確認、改善の実施、今後の予測などの多くの用途に使用できます。
これらのツールおよびサービスをまとめて「対話管理」と呼びます。
この章では、対話管理の基本的な概念および要素について説明し、多数の要素間の関係を示し、必要な機能の選択および構築に関する指針を示します。このガイドのその他の章では、特定の対話管理機能の実装について詳しく説明します。
この章の内容は以下のとおりです。
対話管理の概要
対話管理では、さまざまな要素または条件を使用して、ユーザおよびユーザの行動をユニークに識別します。たとえば、キャンペーンでは次のような条件を使用して、パーソナライズされたコンテンツを提供するユーザを特定することができます。
動的に定義されたユーザ グループ (ユーザ セグメント)
ユーザ プロファイルのプロパティ (ユーザの好みなど)
HTTP リクエストまたはセッションの特定のプロパティ
イベントの発生 (何かをクリックするなど)
日付および時刻の要素
ショッピング カートに入っている商品または商品の値段
対話管理機能を構築するときは、さまざまなツールを使用して、1) 対象ユーザを識別する正確な特性 (前述の条件など) を指定し、2) 指定した条件に一致するユーザがポータルを訪問したときに実行されるアクションを定義します。
図 1-1 は、コンテンツ セレクタを使用してパーソナライズされたコンテンツをユーザに動的に表示する方法を示しています。まず条件を取得し、特定のユーザを識別し、該当するユーザに対してアクションを実行します。
図 1-1 対話管理のロジックおよびフローの簡単な説明
ほとんどの対話管理機能の基礎となるのは、ルール エンジンです。ルール エンジンは、ポータル ドメイン内で実行中のサーバのバックグラウンドで実行され、メモリ内にあるすべての条件を読み取り、それらの条件を定義されたルールと比較評価し、条件がルールに一致する場合は定義されたアクションを実行します。
ツールおよびサービス
図 1-1 の各段階は、WebLogic Workshop の特定の対話管理ツールを使用することで実現します。
Request Designer では、取得するリクエスト プロパティを識別できる。
User Profile Designer では、各ユーザに対して保存するユーザ プロファイル プロパティを作成できる。
User Segment Designer では、作成したリクエスト プロパティやユーザ プロファイル プロパティなどの条件に基づいてユーザを動的に分類できる。
Content Selector Designer では、特定のタイプのユーザが存在するときに特定のコンテンツ セットを表示するように指定できる。
対話管理では、WebLogic Workshop のこのような便利なツールに加えて、JSP タグ、Java コントロール、およびコードの機能を実装するための完全な API も使用できます。また、WebLogic Portal には、プロダクション モードで実行中のアプリケーションに対して更新済みの対話管理機能をデプロイするための Web アプリケーションもあります。
対話管理には、次の機能があります。
プロパティ エディタ - 前述のように、WebLogic Portal には WebLogic Workshop で使用できるエディタ一式が含まれ、さまざまなプロパティを定義して、条件の定義 (ユーザをユニークに識別) で使用できます。一部のプロパティは、条件定義以外にも使用できます。たとえば、ユーザ プロファイルのプロパティを使用して、訪問者の資格および委託管理を定義できます。
ユーザ セグメント - ユーザ セグメントを使用すると、定義した条件に基づいてユーザを動的に識別可能なユニットにグループ化できます。たとえば、男性、女性、読書マニアなどを識別する条件を定義できます。ユーザを識別し、ユーザ セグメントにグループ化したら、キャンペーンやコンテンツ セレクタを使用してパーソナライズされたアクションをグループに適用できます。
コンテンツ セレクタ - コンテンツ セレクタを使用して、BEA 仮想コンテンツ リポジトリの特定のコンテンツを特定のユーザに提供できます。たとえば、「映画ファン」として識別されたユーザにお奨めの映画のリストを表示できます。
キャンペーン - キャンペーンでは、1 つのパーソナライズされたコンテンツを特定のユーザに適用して、定義済みの電子メールを自動送信し、必要に応じてコマース アプリケーションの割引をユーザに提供できます。キャンペーンは、設定した期間内で、考えられるさまざまな要素を使用して実施されます。
プレースホルダ - プレースホルダは、パーソナライズされたコンテンツを JSP に表示するためにキャンペーンで使用します。プレースホルダを単独で使用して、キャンペーンに含まれない特定のタイプのパーソナライズされていないコンテンツを表示することもできます。
イベント フレームワーク - イベント フレームワークを使用して、ユーザとポータルとの対話の中で発生する可能性がある事象を作成できます。イベントを使用して、キャンペーンをトリガすることができます (ポータル内でのユーザによるボタンのクリックや登録など)。また、ポータル内でのユーザの経路も追跡できます (行動追跡)。
行動追跡 - 行動追跡を使用すると、ポータル内のユーザの経路で発生したイベントがデータベースのログに記録され、ポータルでのユーザの行動を分析できます。
JSP タグ - 対話管理の JSP タグは、パーソナライズされたコンテンツをユーザに表示するために必要な要素です。
Java コントロール - WebLogic Portal が提供する Java コントロール (定義済みの Java 機能) をページ フローや Web サービスで使用すると、対話管理機能を使用できるようになります。たとえば、Rules Executor コントロールを使用すると、ユーザ プロファイル値やセッション プロパティなどの特定の条件に基づいて、ページ フロー内でユーザが取る経路を判断するのに役立ちます。
完全な API - WebLogic Portal は、対話管理機能を開発するための完全な API を提供します。
ルール エンジン - 前述のように、ルール エンジンはほとんどの対話管理機能のバックボーンを担います。ルール エンジンは、直接使用する機能またはツールではありません。ルール エンジンはバックグラウンドで実行され、メモリ内のオブジェクトを定義された条件と比較評価し、条件が満たされた場合は定義済みのアクションを実行します。
コードとロジックの分離
対話管理の最も重要な利点の 1 つは、ソース コードとロジックの分離です。作成するファイル (キャンペーン、プレースホルダ、コンテンツ セレクタなど) にパーソナライゼーションのロジックおよびコンテンツ クエリを記述し、コードからそれらのファイルを参照するだけです。たとえば、キャンペーンでは、プレースホルダと呼ばれる JSP タグ (<ph:placeholder name="myPlaceholder1"/>
) を使用して Web コンテンツを表示します。JSP プレースホルダ タグ (「name」属性によってユニークに識別される) は、ポータルの JSP のどこに追加してもかまいません。追加したら、既存のプレースホルダを使用するキャンペーンを定義して、各プレースホルダでキャンペーンおよび個々のユーザに対してユニークなコンテンツを表示できます。キャンペーンの変更および追加が発生しても、JSP コードを変更する必要はありません。JSP 内の必要なプレースホルダは、現状のまま維持されます。
開発する対話管理のタイプの選択
次のシナリオを使用すると、開発する対話管理のタイプの決定に役立ちます。
表 1-1 開発する対話管理のタイプの選択
目的
|
手順
|
ユーザがポータルを訪問するか、ブラウザの [更新] ボタンをクリックするたびに変わる、仮想コンテンツ リポジトリの 1 つのコンテンツ ノードのバイナリ プロパティを表示する。
たとえば、従業員がイントラネット ポータルを訪問するたびに、会社のピクニックで撮った異なる写真を表示する。
|
すべてのユーザ向けの汎用のコンテンツ ローテーションを作成する場合は、プレースホルダを作成し、任意のコンテンツ範囲を表示するデフォルト クエリをプレースホルダに追加する。
各ユーザの特性に基づいて、それぞれのユーザ向けのコンテンツ ローテーションを作成する場合は、プレースホルダとキャンペーンを作成する。コンテンツ アクションを伴うキャンペーンを設定して、ユーザのタイプが異なる場合は異なるタイプのコンテンツをプレースホルダに挿入する。キャンペーンで使用する必要な条件およびルールを定義する。
または、プレースホルダの代替として <ad:adTarget> JSP タグを使用して、JSP のコンテンツ クエリを手動で埋め込むこともできる。
このガイドの「プレースホルダ」を参照。
|
ユーザ タイプごとに同じコンテンツ ノードを表示する、仮想コンテンツ リポジトリの 1 つのコンテンツ ノードのバイナリ プロパティを表示する。
たとえば、ポータルを表示するユーザのタイプが「manager」の場合は、常に「勤務評価の催促」の図が表示されるようにする。ポータルを表示するユーザのタイプが「regular employee」の場合は、常に「給付制度への加入」の図が表示されるようにする。
|
前述のシナリオと同様に、すべてのユーザ向けのデフォルト クエリを含むプレースホルダを作成するか、特定のユーザに異なるコンテンツを提供するためにキャンペーンで使用するプレースホルダを作成する。コンテンツ ローテーションを使用せずに同じコンテンツ ノードを表示するためのキー ポイントは以下の 2 点。
このガイドの「プレースホルダ」および「キャンペーン」を参照。
|
仮想コンテンツ リポジトリの複数のコンテンツ ノードおよびプロパティを同時に表示する。
たとえば、ユーザの特性に基づいてユニークな推薦図書のリストを各ユーザに表示する。
|
仮想コンテンツ リポジトリの複数のコンテンツ ノードを同時に表示するには、コンテンツ セレクタを作成し、それを JSP に追加する。
このガイドの「コンテンツ セレクタ」を参照。
|
JSP のインライン セクションからパーソナライズされたコンテンツを表示する。
たとえば、JSP 内に HTML コンテンツの 3 つの異るセクションを準備し、ユーザの特性と一致するセクションだけを表示する。
|
パーソナライズされたインライン JSP コンテンツを表示するには、ユーザ セグメントを作成し、<pz:div> JSP タグを使用してパーソナライズされたコンテンツをラップする。
または、JSP タグを使用して、コンテンツを表示するデバイス (たとえば、ハンドヘルド デバイスまたは PC) に応じて、インライン JSP コンテンツを表示することもできる。使用する JSP タグは、<cscm:default>、<cscm:not-default>、<cscm:recognized>、<cscm:not-recognized>、<cscm:when>、および <cscm:when-not> である。
このガイドの「コンテンツ セレクタ」の章の「コンテンツ セレクタに代わる <pz:div> の使用」を参照。
WebLogic Workshop ヘルプ システムの「マルチチャネル JSP タグ」(http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/taglib/navMultichannel.html) を参照。
|
ユーザに電子メールを自動送信する。
|
電子メール メッセージ ファイルを作成して保存し、電子メール アクションを使用するキャンペーンを作成する。
このガイドの「キャンペーン」を参照。
|
ユーザに自動割引を適用する。
|
次のタスクを実行する。
WebLogic Workshop ヘルプ システムの「コマース アプリケーションを構築する」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/navCommerce.html) を参照。
|
ページ フローおよび Web サービスのルールを使用して、ユーザ操作をパーソナライズできるようにする。
|
ページ フローおよび Web サービスで Rules Executor コントロールを使用する。
edocs の『ポータル アプリケーションでのルールの使用』 (http://edocs.beasys.co.jp/e-docs/wlp/docs81/rules/index.html) を参照。
|
アプリケーションへの対話管理の追加
対話管理の開発では、相互に関連する部分を設定する必要があります。以下の節では、対話管理機能の実装に必要な手順について説明します。必要に応じて、各節にあるリンクから、さまざまな実装タスクを参照できます。このトピックでは、パーソナライズされたアプリケーション開発の全体的なロードマップを示します。
プロパティを設定する
前述のように、WebLogic Workshop で作成するプロパティは、パーソナライゼーション ロジックに対して定義する条件で使用します。
ユーザ プロファイル、HTTP リクエストおよびセッション、イベントなどのプロパティの作成手順については、WebLogic Workshop ヘルプ システムの「パーソナライズされたアプリケーションを開発する」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/P13NInteractionMgmt.html) を参照してください。
ユーザ セグメントを作成する
パーソナライゼーションで使用するためにユーザ グループを動的に分類する場合は、ユーザ セグメントを作成します。WebLogic Workshop ヘルプ システムの「ユーザ セグメントを作成する」 (http://edocs.beasys.co.jp/e-docs/workshop/docs81/doc/ja_JP/portal/buildportals/CreatingSegments.html) を参照してください。
ユーザを設定する
開発する対話管理の対象ユーザの設定および操作の詳細については、http://edocs.beasys.co.jp/e-docs/wlp/docs81/users/index.html の『ユーザ管理ガイド』を参照してください。
コンテンツを設定する
コンテンツ項目に対して特定のプロパティを設定すると、アプリケーションのパーソナライゼーションが強化されます。詳細については、このガイドの「コンテンツの設定」を参照してください。また、http://edocs.beasys.co.jp/e-docs/wlp/docs81/whitepapers/p13n/index.html の『ホワイト ペーパー : コンテンツ パーソナライゼーション』も参照してください。
コンテンツ管理の一般的な情報については、edocs の『コンテンツ管理ガイド』 (http://edocs.beasys.co.jp/e-docs/wlp/docs81/cm/index.html) を参照してください。
機能を構築する
必要なすべてのパーソナライゼーションの条件を作成し、ユーザおよびコンテンツを設定したら、対話管理機能を作成してポータルで表示できます。たとえば、パーソナライゼーションをトリガするユーザ セグメントを作成した場合、コンテンツ セレクタを作成してユーザ セグメントのメンバーであるユーザに対して表示されるコンテンツを定義できます。
コンテンツ セレクタ、プレースホルダ、およびキャンペーンの作成手順については、このガイドの各章を参照してください。
対話管理の管理と更新
WebLogic Workshop でユーザ セグメント、コンテンツ セレクタ、プレースホルダ、およびキャンペーンを作成した後、WebLogic Administration Portal を使用してそれらのコンポーネントの設定およびクエリを変更できます。詳細については、WebLogic Administration Portal のヘルプ システムを参照してください。
WebLogic Administration Portal で許可される変更の範囲を超えて、これらの機能を追加または変更する必要がある場合は (プロパティの作成または変更、新しいコンテンツ セレクタの作成など)、WebLogic Workshop で変更を加え、Datasync Web アプリケーションを使用して、データベースで変更を同期する必要があります。Datasync Web アプリケーションの詳細については、『プロダクション業務ユーザーズ ガイド』を参照してください。