ナレッジベース・コンフィグレーション・アプリケーションの
構築および保守のためのeセールス・コンフィギュレーター
製品&文書コンフィグレーションとは何か?
製品コンフィグレーションとは、顧客の要求に、製品モジュール、コンポーネント、機能、オプションなどをマッチングさせるプロセスです。典型的に、これは、2つの異なるナレッジ-リッチなプロセスをカバーします。1つは、”顧客の声”を取り扱う要求獲得であり、もう1つは、”製品の専門家の声”を取り扱う製品生成です。
典型的な要求獲得のプロセスは、"ニーズ分析”とユーザー駆動の”データ獲得”を組み合わせています。顧客にフォーカスされた要求獲得のプロセスは、したがって、顧客の選択を最大化し、データの誤差を最小化し、顧客の要求の完全で明白な記述を得る効率的な意思決定フローを提供します。
製品生成のプロセスは、各顧客の個別のニーズに最もマッチするモジュールの選択、コンポーネント、製品の機能およびオプションを導き出すために獲得された要求データを用い、設定を変えられる最も低いレベルまで、設定された製品の完全な記述をつくります。この事例は、製品を注文するために組み立てられた"部品表”と契約書の節/パラグラフです。.
コンフィグレーション・アプリケーションの設計を、要求獲得プロセスから開始するか、それとも製品生成から開始するかの決定は、しばしばナレッジ・ソースに依存するでしょう。たとえば、ドメイン専門家の事前の利用可能性や各プロセスに関する文書化されたデータやナレッジのや存在などです。標準的には、アプリケーション開発者は、要求獲得ナレッジに進む前に、製品生成ナレッジの獲得から開始することをお薦めします。これは、”アウトプット”をまず定義して、それからそのようなマッピングのために必要な”インプット”と”ナレッジ”を指定するための作業に戻ることを暗示しています。.
製品生成プロセス
コンフィグレーション・アプリケーションに設計と実装のための良い開始点は、通常、主要な2つのタイプの製品ナレッジ(製品階層とコンポーネント選択)をカバーします。
製品階層
パソコンのように物理的か、または保険政策のようにロジカルなほとんどの製品は、設定された製品を組み立て、作り上げるモジュールやコンポーネントの階層として表現できます。設定可能な製品は、選択するべきさまざまなモジュールとコンポーネントに関する選択が存在する場所です。
製品階層は、単一の階層構造に、最も低い設定可能なコンポーネントにまで至るすべての可能なモジュールとコンポーネントの組み合わせを含みます。これは、よく”製品の”包括部品表”と呼ばれます。
XpertRule Knowledge Builderは、製品ファミリの中のすべての可能なモジュールとコンポーネントを表現するオブジェクト間の関係性を定義するための特別な”階層”クラスをサポートします。.

コンポーネント選択
製品階層の各オブジェクトは、選択するモジュール、サブモジュール、または可能なコンポーネントの一覧を表現します。したがって、階層の各オブジェクトについて、(a)このオブジェクトが設定された製品に含まれるかを決定しなければならず、そして、もしそうであれば、(b)どれか(選択が可能なところ)を決定しなければなりません。あるオブジェクトが含まれていない場合、通常、それより下の階層のすべてのオブジェクトは、設定された製品から自動的に除外されます。
選択プロセスのナレッジは、キャプチャされた要求によって直接に、またはその階層の他のコンポーネントの選択によって間接的に、ユーザーの要求に依存します。
XpertRule Knowledge Builderは、要求されたコンポーネントへの要求キャプチャのマッピングのために、2種類の選択ナレッジを提供します。 (a) 決定推論(ツリー、ケースおよび手続き)を用いた決定ベースの推論、(b) 制約推論(ツリー、ケース、手続き&プロパティ)を用いたパターンマッチング推論。
決定選択木(Decision Selection Tree)の事例

要求キャプチャのプロセス
このプロセスの目的は、顧客のニーズを分析して、設定された製品の完全性を損なうことなしに、ニーズを満足させるための顧客の選択を最大化することです。
製品階層を生成するために要求される入力データを識別され、要求された各アイテムのソースが識別されなければなりません。顧客からの入力が必要なそれらのデータ・アイテムは、そのようなシステムのユーザー・インタフェースの一部を形成し、それらの間の関係性が明確に定義されなければなりません。それらの結果の選択は、必須のデータ入力を最小化し、好ましくない選択の組み合わせが起きることなしに最大の選択を提供するような方法で、顧客に提示されるべきです。
要求キャプチャのプロセスは、通常、2種類のナレッジをカバーします。決定フローと制約ベース・データ・キャプチャ。
決定フロー
キャプチャと決定のための入力データのアイテムのグルーピングをエンドユーザーに提示することは、要求キャプチャ・プロセスの有効性を左右する決定的な役割を演じます。
XpertRule Knowledge Builderの決定木は、さまざまな決定パスに埋め込まれるさまざまな”診断”を可能にするので、このようなナッレジの理想的な表現です。
決定制御木(Decision Control Tree) の事例

制約ベース(Constraint-based)のデータ・キャプチャ
顧客の好ましくない選択の組み合わせを回避するために、顧客に提示される選択肢は、いかなる時点でも何を提示するかによって制約されるべきです。たとえば、顧客がUnixペレーティング・システムを選択したのなら、彼らのワードプロセッサの選択には、MS-Wordが含まれるべきではありません。
これは、定義されるべき製品のさまざまなオプション間の関係性のテクニカルなナレッジを必要とします。
XpertRule Knowledge Builderの制約推論オプションは、ツリー、ケース、手続きおよびこのナレッジを定義するのに使用するプロパティを持つアイテムが可能です。
制約されたツリーの事例

“含む/含まない” 表を使用したケースの事例

制約されたコンポーネントの選択に使用されたプロパティの事例 
コンフィギュレーション・アプリケーションの配備
Knowledge Builder 内にキャプチャsれた意思決定ナレッジが、いったんキャプチャされテストされると、さまざまなプラットフォームと設定で配備できます。
スタンドアロンまたはネットワークPCクライアントでのナレッジの実行
推論エンジンは、PCクライアント情のナレッジ・アプリケーションを実行するために使用されます。この設定は、典型的にスタンドアロンまたはネットワークPC上のナレッジを実行するために使用されます。
Windows NT / 2000 Serverでのナレッジの実行
A COM+ 推論エンジンは、Windows NT / 2000サーバー上のナレッジ・アプリケーションを実行するために使用されます。COM+
エンジンは、他のアプリケーションとのデータ交換(属性データを受けて、決定を返す)のためにXMLを使用します。
このエンジンは、高性能かつ拡張可能です。
COM+ 推論エンジンは、他のアプリケーションのために埋め込まれたナレッジ・サーバーとしてか、またはシンクライアントのインタラクティブな(すなわちQ&A形式の)エキスパート・システム・アプリケーションを開発するためのKnowledge
Builder ISAPI フィルタと結合して使用することもできます。
Ajax 配備
Ajaxは、HTMLユーザー・インターフェースを生成・更新し、そのアプリケーション・サーバーと同期するためのシンクライアントのJavaScriptコードを実行するためにブラウザの能力を活用するWebベース・アプリケーションの配備技法です。 これは、サーバーがクライアント・ブラウザによって容易に表示できる完全なHTMLページを派生させる点で、従来のシンクライアント配備手法とは異なります。
Ajax 配備の利点
ユーザーが変更を行なうたびに新しいHTMLページを派生させることをサーバーに要求しないことにより、アプリケーション・サーバーの負荷が著しく削減され、その結果、同様なアプリケーション・サーバーから得られるよりも著しく高性能・高負荷を可能にしました。単一のwebページがたくさんの機能を実行して、ユーザーとのたくさんのインタラクションを要求する場合に、このベネフィットが最大化されます。
Knowledge BuilderによるAjax 技法の使用 各Knowledge Builder Dialog Objectは、(推論中にダイアログに遭遇すると、サーバーによってポストされる)JavaScriptコードを埋め込んだ単一のHTMLページとして生成されます。このダイアログが終了するまで、クライアント・ブラウザは、webページの表示に影響するどのような変更をユーザーがしたとしても、それを実行します。またクライアント・ブラウザは、セッション・データを更新して、要求されたどのような推論(強制、マクロ、イベントなど)でも実行するために、アプリケーション・サーバーにメッセージを返信することもします。可能な限りどこでも、WYSIWYGなダイアログ・デザインがAjax JavaScriptによって(HTML内で)忠実に再現されます。
Knowledge Builderの Ajax 配備でサポートされているサーバー・プラットフォーム 現在のKnowledge Builderには、3つのAjax配備オプションがあります。
- Microsoft IISサーバー配備用COM Engine
- Microsoft .netサーバー配備用J# Engine
- J2EEサーバー配備用Java Engine
アプリケーション・ランタイム(エンジンおよびナレッジ・ベース)がJava/J#ソース・コードで自動的に組み合わせられ生成され、最大の実行スピードを得るためにコンパイルされる際、JavaとJ# Engineオプションが ’生成された’サブ・オプションとして利用できます。このオプションは、ナレッジベースが変更されるたびに、再生成されコンパイルされ新しい'’ソース’を要求します。これは、おもに低い(設計時の)ナッレジ・メンテナンス/高い(ランタイム)処理スループットに適してします。
Live Web Demo
配備されらコンフィグレーション・アプリケーションのライブWebデモをご覧になるには、こちらをクリックしてください。
|