(57)【要約】データシステムからフィルタリングされたデータを提供する方法及びシステム。ある実施形態では、システムは、エンタープライズデータシステムにアクセスするためのサードパーティアプリケーションを利用可能にする関連したソフトウェアモジュール及びＡＰＩ（アプリケーションプログラミングインターフェース）を含む。アドミニストレータは、グラフィカルユーザインターフェース（ＧＵＩ）を介して音声又は通過可能な、スクリーン、ビュー、アプレット、カラム及びフィールドのような特定のユーザインターフェース（ＵＩ）オブジェクトを選択することができる。ＧＵＩは、アプリケーションのユーザインターフェース内のＵＩオブジェクトの階層を表すツリーを表現する。次いで、ＸＳＬＴスタイルシートは音声又は通過することができないＵＩオブジェクトに関係するデータをフィルタアウトするように自動的に生成される。リクエストに応じて、フィルタリングされたデータは、データシステムから検索され、特定されたスタイルシートは、音声又は通過可能なそれらのフィールド及びカラムだけに関係するフィルタリングされたデータを戻すようにフィルタリングされていないデータに適用される。
2005518119.tif 000002
【特許請求の範囲】
【請求項１】
透過させることができるデータシステムにアクセスするのに使用されるアプリケーションのユーザインターフェースに対応するユーザインターフェース（ＵＩ）オブジェクトをユーザが識別することができるメカニズムを提供し、
アプリケーションのユーザインターフェース内の案内コンテキストに対応したデータシステムからデータを検索するために、リクエスタによって送信されたデータクエリリクエストに応答し、
通過可能に識別された案内コンテキストに対応するＵＩオブジェクトに関係するリクエスタに、データシステムからのデータを戻す、
ステップを有することを特徴とする、データシステムからデータを提供する方法。
【請求項２】
通過可能に識別されないＵＩオブジェクトに関係するデータをフィルタアウトするフィルタメカニズムを提供し、
データクエリリクエストに応答して、更に、オペレーションを実行し、
案内コンテキストに関係するデータシステムから、フィルタリングされないデータのセットを検索し、
フィルタリングされたデータのセットを生成するフィルタメカニズムで、フィルタされなかったデータのセットをフィルタリングし、
フィルタリングされたデータのセットをリクエスタに戻す、ステップを更に有し、
前記フィルタリングされたデータのセットが、通過可能に識別された案内コンテキストに対応するＵＩオブジェクトに関係するデータシステムからのデータを有する、
ことを特徴とする請求項１に記載の方法。
【請求項３】
フィルタメカニズムが、透過可能でない識別フォームのＵＩオブジェクトに関係するデータをフィルタアウトするロジックを包含したＸＳＬＴ（拡張可能スタイルシート言語変換）スタイルシートを実行する、ことを特徴とする請求項２に記載の方法。
【請求項４】
データクエリリクエストが、フィルタメカニズムによって使用される特定のＸＳＬＴスタイルシートを識別する、ことを特徴とする請求項３に記載の方法。
【請求項５】
透過可能に識別されたフォームに対応するＵＩオブジェクトに基づいたフォームに関係する１又はそれ以上のセットに関するＸＳＬＴスタイルシートを自動的に生成する、ステップを更に有することを特徴とする請求項３に記載の方法。
【請求項６】
データクエリリクエストが、データをストアするようにデータシステムによって使用されるデータベースから検索されるデータのローを識別する、ことを特徴とする請求項１に記載の方法。
【請求項７】
データシステムに関するユーザインターフェースに対応するＵＩオブジェクトに関係する証拠を、コンピュータユーザインターフェースを介してユーザに提示し、
それらのＵＩオブジェクトに対応する証拠をマーキングすることによりコンピュータユーザインターフェースを介して通過可能とするＵＩオブジェクトをユーザに選択させることができる、
オペレーションを実行することにより、透過可能なＵＩオブジェクトが識別されることを特徴とする、請求項１に記載の方法。
【請求項８】
データシステムアプリケーションに対応するメタデータを抽出し、
前記メタデータは、ユーザインターフェース内の各ＵＩオブジェクトの階層位置を含むユーザインターフェースのＵＩオブジェクトに関するオブジェクト定義を含み、
各ＵＩオブジェクトの階層位置を識別するデータを含むデータシステムアプリケーションのユーザインターフェースの内部表現を備えたアプリケーション表現を構築するようにメタデータを処理し、
アプリケーション表現の視覚表現を提供するように階層ツリーを表す、
オペレーションを実行することにより生成されるグラフィカルユーザインターフェース（ＧＵＩ）を、コンピュータユーザインターフェースが有することを特徴とする請求項７に記載の方法。
【請求項９】
音声利用可能にするユーザインターフェース（ＵＩ）オブジェクトを識別し、前記ＵＩオブジェクトは、データシステムのデータにアクセスするデータシステムによって提供されるユーザインターフェースに関係し、
データシステムに関するユーザインターフェース内のユーザの案内コンテキストを識別する音声アプリケーションからのデータリクエストの検索に応じて、
ユーザの案内コンテキストに関係するデータシステムからデータを検索し、
ユーザの案内コンテキストに対応する音声可能なＵＩオブジェクトに関係するデータを音声アプリケーションに提供するデータシステムから検索されたデータをフィルタリングする、
ステップを有することを特徴とする、データシステムに音声アスセスすることができる方法。
【請求項１０】
データリクエストが、ＸＭＬドキュメントとして受信される、ことを特徴とする請求項９に記載の方法。
【請求項１１】
データリクエストが、アプリケーションプログラムインターフェース（ＡＰＩ）を介してデータシステムにアクセスするコマンドを含む、ことを特徴とする請求項９に記載の方法。
【請求項１２】
ＡＰＩが、ＳｉｅｂｅｌウェブエンジンＡＰＩを有する、ことを特徴とする請求項１１に記載の方法。
【請求項１３】
データリクエストに応答してデータシステムから検索されたデータの初期セットを含むソースツリーＸＭＬ（拡張可能なマーク付け言語）ドキュメントを生成し、
フィルタリングされたデータのセットを包含する結果ツリーＸＭＬドキュメントを生成するように、ＸＳＬＴ（拡張可能スタイルシート言語変換）スタイルシートをソースツリーＸＭＬドキュメントに適用する、
オペレーションを実行することにより、データがフィルタリングされることを特徴とする請求項９に記載の方法。
【請求項１４】
データシステムに関するユーザインターフェースの各ＵＩオブジェクトに関係する証拠をコンピュータユーザインターフェースを介してユーザに示し、
それらのＵＩオブジェクトに対応する証拠をマーキングすることにより、コンピュータユーザインターフェースを介して音声利用可能にするＵＩオブジェクトをユーザが選択することができる、
オペレーションを実行することにより、音声可能なＵＩオブジェクトが識別される、ことを特徴とする請求項９に記載の方法。
【請求項１５】
コンピュータユーザインターフェースが、音声利用可能にするＵＩオブジェクトをユーザが選択することができる各ＵＩオブジェクト証拠に隣接したマーク可能なオブジェクトの第１のセットとを含み、文法更新サポートを提供するＵＩオブジェクトをユーザが選択することができるマーク可能なオブジェクトの第２のセットを更に含み、選択された前記ＵＩオブジェクトが、文法更新可能ＵＩオブジェクトであり、
文法情報を更新するようにユーザインターフェースの案内コンテキストを識別する音声アクセスシステムからの文法更新リクエストの受信に応じて、
案内コンテキストに関係するデータシステムからデータを検索し、
案内コンテキストに関する文法更新可能ＵＩオブジェクトに関係するデータを音声アクセスシステムに提供するように、データシステムから受信されたデータをフィルタリングする、
ことを特徴とする請求項１４に記載の方法。
【請求項１６】
コンピュータユーザインターフェースが、グラフィカルユーザインターフェース（ＧＵＩ）を有し、各ＵＩオブジェクトに関係する証拠が、データシステムのユーザインターフェースのＵＩオブジェクトの階層関係に対応した階層ツリーとしてユーザに示される、ことを特徴とする請求項１４に記載の方法。
【請求項１７】
階層ツリーで選択されたレベルが、ユーザ入力に応じて伸張又は隠される、ことを特徴とする請求項１６に記載の方法。
【請求項１８】
データシステムに関するユーザインターフェースに対応するメタデータをストアし、前記メタデータが、ユーザインターフェース内の各ＵＩオブジェクトの階層位置を含むユーザインターフェースのＵＩオブジェクトに関するオブジェクト定義を含み、
各ＵＩオブジェクトの階層位置を識別するデータを含むデータシステムのユーザインターフェースの内部表現を有するアプリケーション表現を構築するようにメタデータを処理し、
アプリケーション表現の視覚表現を提供するように階層ツリーを表す、
オペレーションを実行することにより、ＧＵＩが生成されることを特徴とする請求項１６に記載の方法。
【請求項１９】
アプリケーション表現が、ＸＭＬツリーを有し、
データシステムと通信してリンクされたクライアントマシンで作動するブラウザにＸＭＬツリーを送信し、
ブラウザを介して階層ツリーを表す、
ことを更に有することを特徴とする請求項１８に記載の方法。
【請求項２０】
文法更新リクエストが更に、案内コンテキストに関する最後の更新を識別する情報を含み、最後の更新が、音声アクセスシステムに提供されるので、変更された案内コンテキストに関する文法データだけがデータシステムから検索されたデータをフィルタリングすることを更に有する、
ことを特徴とする請求項９に記載の方法。
【請求項２１】
ＵＩオブジェクトが、データシステムのユーザインターフェースにおけるスクリーン、ビュー、アプレット、カラム、及びフィールドに関係するオブジェクトを含む、ことを特徴とする請求項９に記載の方法。
【請求項２２】
フィルタリングされたデータが、ＸＭＬドキュメントとして音声アプリケーションにもどされる、ことを特徴とする請求項９に記載の方法。
【請求項２３】
ＵＩオブジェクトデータが、フィルタリングされたデータに加えて音声アプリケーションに戻され、前記オブジェクトデータが、ユーザの案内コンテキストに関係する１又はそれ以上のＵＩオブジェクトの特徴を定義する、ことを特徴とする請求項９に記載の方法。
【請求項２４】
ＵＩオブジェクトデータが、ＵＩオブジェクトのオペレーションモードと、ＵＩオブジェクトの読取専用属性と、ＵＩオブジェクトの挿入属性と、ＵＩオブジェクトの削除属性と、ＵＩオブジェクトの更新属性との少なくとも１つに関係するデータを含む、ことを特徴とする請求項２３に記載の方法。
【請求項２５】
データリクエストが、一度に音声アプリケーションに戻る多数のレコードを識別するサイズ証拠を含み、更なるレコード証拠が、所定のデータリクエストに関する多数のレコードが、サイズ証拠で特定されたレコードの数を超えているイベントでフィルタリングされたデータを提供する、
ことを特徴とする請求項９に記載の方法。
【請求項２６】
ユーザの案内コンテキストに関係するＵＩオブジェクトの１又はそれ以上のカラム又はフィールドの属性を備えたフィールド属性データが、フィルタリングされたデータに沿って音声アプリケーションに送信される、ことを特徴とする請求項９に記載の方法。
【請求項２７】
フィールド属性データが、データタイプ、テキスト長、フィールド名、必須、及び、フォーマット属性のうちの少なくとも一つを含む、ことを特徴とする請求項２６に記載の方法。
【請求項２８】
データシステムが、ＵＲＬアドレスを備えたウェブインターフェースを提供し、データリクエストが、ＨＴＴＰ（hypertext transfer protocol）又はＨＴＴＰＳ（hypertext transfer protocol secured）プロトコルを使用したコンピュータネットワークを介して受信される、ことを特徴とする請求項９に記載の方法。
【請求項２９】
データリクエストが、データシステムによって提供されたCOM（component object model）インターフェースに応答する、ことを特徴とする請求項９に記載の方法。
【請求項３０】
COMインターフェースが、選択されたデータをデータベースから検索することができるようにさせ、データシステムに関するデータが、それらのデータがストアされた１又はそれ以上のデータベース表にアクセスするのに使用されるビジネスコンポーネントを参照することによりストアされる、ことを特徴とする請求項２９に記載の方法。
【請求項３１】
ユーザが、音声可能にするユーザインターフェース（ＵＩ）オブジェクトを識別することができるように、コンピュータユーザインターフェースを表すデータを提供し、前記ＵＩオブジェクトは、フィルタリングされたデータがデータシステムのデータにアクセスするために検索されるデータシステムによって提供されたデータシステムユーザインターフェースに関係し、
データシステムに関するユーザインターフェース内のユーザの案内コンテキストを識別する音声アクセスシステムからのデータリクエストに関係するデータシステムからのデータの検索に応答し、
ユーザの案内コンテキストに対応する音声可能ＵＩオブジェクトに関係するフィルタリングされたデータを作り出すようにデータシステムから受信されたデータをフィルタリングし、
音声アクセスシステムにフィルタリングされたデータを提供する、
オペレーションを実行することにより、計算機によって実行されるとき、フィルタリングされたデータを音声アクセスシステムに提供する、複数のマシン命令がストアされたコンピュータ読取可能媒体。
【請求項３２】
データリクエストに応答してデータシステムから検索競れた最初のデータのセットを含むソースツリーＸＭＬ（拡張可能なマーク付け言語）ドキュメントを生成し、
フィルタリングされたデータのセットを包含する結果ツリーＸＭＬドキュメントを生成するために、ＸＳＬＴ（拡張可能スタイルシート言語変換）スタイルシートをソースツリーＸＭＬドキュメントに適用する、
オペレーションを実行することにより、マシン実行命令がデータをフィルタリングすることを特徴とする請求項３１に記載のコンピュータ読取可能媒体。
【請求項３３】
データシステムに関するユーザインターフェースの各ＵＩオブジェクトに関係する証拠をコンピュータユーザインターフェースに提示し、
それらのＵＩオブジェクトに対応する証拠をマーキングすることによりコンピュータユーザインターフェースを介して音声利用可能にするＵＩオブジェクトをユーザが識別することができるようにする、
オペレーションを実行することにより、音声利用可能にするＵＩオブジェクトが識別される、ことを特徴とする請求項３１に記載のコンピュータ読取可能媒体。
【請求項３４】
コンピュータユーザインターフェースが、グラフィカルユーザインターフェース（ＧＵＩ）を備え、各ＵＩオブジェクトに関係する証拠が、データシステムのユーザインターフェースのＵＩオブジェクトの階層関係に対応する階層ツリーとしてユーザに示される、ことを特徴とする請求項３３に記載のコンピュータ読取可能媒体。
【請求項３５】
データシステムに関するユーザインターフェースに対応するメタデータを検索し、前記メタデータが、ユーザインターフェース内の各ＵＩオブジェクトの階層位置を含むユーザインターフェースのＵＩオブジェクトに関するオブジェクト定義を有し、
各ＵＩオブジェクトの階層位置を識別するデータを包含するデータシステムのユーザインターフェースの内部表現を含むアプリケーション表現を構築するようにメタデータを処理し、
アプリケーション表現に対応する階層ツリーが、アプリケーション表現の視覚的表現を提供するように表されるデータを提供する、
オペレーションを実行することにより、マシン命令の実行がＧＵＩを生成することを特徴とする、請求項３４に記載のコンピュータ読取可能媒体。
【請求項３６】
アプリケーション表現が、ＸＭＬツリーを有し、
マシン命令の実行が、
データシステムと通信してリンクされたクライアントマシンで作動するブラウザにＸＭＬツリーを送信し、
ブラウザを介して階層ツリーを表す、
オペレーションを更に実行する、ことを特徴とする請求項３５に記載のコンピュータ読取可能媒体。
【請求項３７】
コンピュータユーザインターフェースが、音声利用可能にするＵＩオブジェクトをユーザが選択することができる各ＵＩオブジェクト証拠に隣接したマーク可能なオブジェクトの第１のセットとを含み、文法更新サポートを提供するＵＩオブジェクトをユーザが選択することができるマーク可能なオブジェクトの第２のセットを更に含み、選択された前記ＵＩオブジェクトが、文法更新可能ＵＩオブジェクトであり、
マシン命令の実行が、
文法情報を更新するようにユーザインターフェースの案内コンテキストを識別する音声アクセスシステムからの文法更新リクエストの受信に応じて、
案内コンテキストに関係するデータシステムからデータを検索し、
案内コンテキストに関する文法更新可能ＵＩオブジェクトに関係するデータを音声アクセスシステムに提供するようにデータシステムから検索されたデータをフィルタリングする、
オペレーションを更に実行する、ことを特徴とする、請求項３３に記載のコンピュータ読取可能媒体。
【請求項３８】
文法更新リクエストが、案内コンテキストに関する最後の更新を識別する情報を更に有し、最後の更新が音声アクセスシステムに提供されるので、データシステムから検索されたデータが、変更された案内コンテキストに関する文法更新可能ＵＩオブジェクトに対応する文法データだけがフィルタリングされる、ことを特徴とする請求項３７に記載のコンピュータ読取可能媒体。
【請求項３９】
ＵＩオブジェクトが、データシステムのユーザインターフェースのスクリーン、ビュー、アプレット、カラム、及びフィールドに関係するオブジェクトをふくむ、ことを特徴とする請求項３１に記載したコンピュータ読取可能媒体。
【請求項４０】
フィルタリングされたデータが、XMLドキュメントとして音声アプリケーションに戻される、ことを特徴とする請求項３１に記載のコンピュータ読取可能媒体。
【請求項４１】
データリクエストが、一度に音声アクセスシステムに戻されるフィルタリングされたデータの多数のレコードを識別するサイズ証拠を含み、追加のレコード証拠が、所定のデータリクエストに関するレコードのカスがサイズ証拠で特定されたレコードの数を超えているイベントの際にフィルタリングされたデータで提供される、ことを特徴とする請求項３１に記載のコンピュータ読取可能媒体。
【請求項４２】
データシステムに通過可能にアクセスするように使用されるアプリケーションのユーザインターフェースに対応するフォームで、ユーザがユーザインターフェース（UI）オブジェクトを識別することができるようにコンピュータユーザインターフェースを表すデータを提供し、
通過可能に識別されなかったフォームに包含されたUIオブジェクトに関係する下位のデータをフィルタアウトするフィルタメカニズムを生成し、
データクエリリクエストに提供されるクエリ基準を満たす、データシステムからデータを検索するように要求するリクエスタからのデータクエリリクエストに応じて、前記クエリ基準が、リクエストされたデータが関係するフォームを識別し、
クエリ基準に基づいたデータシステムからフィルタリングされていないデータのセットを受信し、
フィルタリングされたデータのセットを生成するフィルタメカニズムで、フィルタリングされていないデータのセットをフィルタリングし、
フィルタリングされたデータのセットをリクエスタに戻し、
通過可能であるＵＩオブジェクトに関係し、クエリ基準を満たしたデータをフィルタリングされたデータのセットが包含する、
オペレーションを実行することによりフィルタリングされたデータを提供し、計算機によって実行されるとき、複数のマシン命令がストアされたことを特徴とするコンピュータ読取可能媒体。
【請求項４３】
フィルタメカニズムが、通過可能でない識別されたフォームのＵＩオブジェクトに関係するデータをフィルタアウトするようなロジックを包含するＸＳＬＴ（拡張可能スタイルシート言語変換）スタイルシートを実行する、ことを特徴とする請求項４２に記載のコンピュータ読取可能媒体。
【請求項４４】
データクエリリクエストが、フィルタメカニズムによって使用される特定のＸＳＬＴスタイルシートを識別する、ことを特徴とする請求項４１に記載のコンピュータ読取可能媒体。
【請求項４５】
実行が、通過可能に識別されたフォームに対応したＵＩオブジェクトに基づいた１又はそれ以上の関連するフォームに関するＸＳＬＴスタイルシートを自動的に生成するオペレーションを更に実行することを特徴とする請求項４１に記載のコンピュータ読取可能媒体。
【請求項４６】
コンピュータユーザインターフェースは、データシステムに関するユーザインターフェースに対応するそれぞれのフォームに包含されたＵＩオブジェクトに関係する証拠を含み、ユーザが、コンピュータユーザインターフェースを介してそれらのＵＩオブジェクトに対応する証拠をマーキングすることにより通過可能にするＵＩオブジェクトを識別することができる、ことを特徴とする請求項４２に記載のコンピュータ読取可能媒体。
【請求項４７】
コンピュータユーザインターフェースが、グラフィカルユーザインターフェース（ＧＵＩ）を有し、マシン命令の実行が、
データシステムに関するユーザインターフェースに対応するメタデータを検索し、前記メタデータは、ユーザインターフェースのＵＩオブジェクがユーザインターフェース内の各オブジェクトの階層位置を含むかどうかを判断するオブジェクトを有し、
各ＵＩオブジェクトの階層位置を識別するデータを含むデータシステムのユーザインターフェースの内部表現を含むアプリケーション表現を構築するようにメタデータを処理し、
アプリケーション表現に対応する階層ツリーが、アプリケーション表現の視覚表現を提供するように表されるデータフォームを提供する、
オペレーションを実行することによりＧＵＩを生成する、
ことを特徴とする請求項４６に記載のコンピュータ読取可能媒体。
【請求項４８】
アプリケーション表現が、ＸＭＬツリーを有し、マシン命令の実行が、
データシステムと通信してリンクされるクライアントマシンで作動するブラウザにＸＭＬツリーを送信し、
ブラウザを介して階層ツリーを表す、
オペレーションを更に実行する、ことを特徴とする請求項４７に記載のコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、2002年２月13日に出願されたシリアル番号60,356,713の「データシステムに音声接続可能な方法及びシステム」と題した一部継続仮出願に基づいており、35 U.S.C.§119(e)の出願日により利益がある。
【０００２】
本発明は、全体的にデータシステムに関し、特にデータシステムからフィルタリングされたデータを提供するインターフェースに関する。ある実施形態では、インターフェースは、データシステムに対する音声アクセスを容易にする。
【背景技術】
【０００３】
最近、電話及びスピーチ認識領域の新しい技術の発展により、音声（例えば、話すことによる入力）を介してアクセスすることができるデータシステムが利用可能になっている。かかる音声利用可能データシステムは、音声コマンドを利用した関係するデータセット又はデータの特定の部分をユーザにリクエストさせるものであり、ユーザに対してデータを「リードバック」させる。これらのタイプのデータシステムは、銀行、保険、投資など含む種々の産業の情報システムで広く使用されている。
【０００４】
一般的には、データシステムに対する音声アクセスを提供するために、完全な音声インターフェースが、スクラッチから開発されている。これは典型的には、電話インターフェース、マルチチャネルアクセス装置、音声認識ソフトウェア、テキストtoスピーチ（TTS）ソフトウェア及びハードウェア、及び、他の関連するコンポーネントのような種々のハードウェア及びソフトウェアを統合することを含む。更に、専用アプリケーションは、種々のハードウェア及びソフトウェアと相互作用し、音声アクセスに関する容易なインターフェース及び案内を提供するように書かれる必要がある。これは非常に威圧するタスクであり、多くの専門的な領域に精通したITプロフェッショナルの用語を必要とする。
【０００５】
いま種々のベンダは、音声利用可能データシステムの音声toコンピュータ態様を取り扱う統合された音声アクセスシステムを提供する。例えば、これらの統合されたシステムは、電話ネットワークに接続する電話を取り扱い、コンピュータ認識可能なフォーム（例えば、アスキーテキスト又はバイナリテキストフォーム）に話されたデータリクエスト及び音声コマンドを変換するように音声認識を実行し、TTS機能を取り扱う。
【０００６】
これらの統合された音声アクセスシステムは、多くの作業付加をもたらすが、それらはデータシステムにアクセスすることができるようなアプリケーションプログラムを依然として要求する。典型的には、アプリケーションプログラムは、書かれるべきデータベースクエリと特定の案内を要求する、特定のデータシステムである。その結果、データシステムの内部作業を詳細に知る必要がある。
【０００７】
先の観点では、データシステムベンダ及びサードパーティが、知られるデータシステムの内部作業の全ての知ることなく、同様の実装をするアプリケーションプログラムと結合して統合された音声アクセスシステムを使用することにより、既存のデータシステムに音声アクセスを容易に統合することができるような「インターフェース」を提供するのが便利である。
【０００８】
音声アクセスシステムに加えて、データシステムから選択されたデータセットにアクセスするのに有利な他の多くのインスタンスがある。例えば、多くのデータシステムは、コンピュータネットワークを介してデータシステムに接続されたクライアントコンピュータを介して、データシステムにストアされたデータにユーザがアクセスすることができるような、クライアントユーザインターフェースのような、統合されたアクセスインターフェースが設けられる。一般的には、これらのクライアントユーザインターフェースは、データシステムベンダによって提供され、一般的には、スクリーン、リスト、及びフォームのような限られた所定のセットのユーザインターフェースオブジェクトが提供される。反対に、サードパーティベンダ又はビジネスエンタープライズは、データシステムに関してカスタマイズされたユーザインターフェースを構築するのが望まれる。係る実装をようににするために、データシステムからのフィルタリングされたデータを検索するメカニズムを提供することが有益である。
【発明の開示】
【課題を解決するための手段】
【０００９】
データシステムからフィルタリングされたデータを提供する方法及びシステム。ある実施形態では、システムは、エンタープライズデータシステムにアクセスするための音声アプリケーションのような、サードパーティアプリケーションを利用可能にする関連したソフトウェアモジュール及びＡＰＩ（アプリケーションプログラミングインターフェース）を含む。アドミニストレータは、グラフィカルユーザインターフェース（ＧＵＩ）を介して音声又は通過可能な、スクリーン、ビュー、アプレット、カラム及びフィールドのような特定のユーザインターフェース（ＵＩ）オブジェクトを選択することができる。ＧＵＩは、データシステムにアクセスするのに使用されるアプリケーションのユーザインターフェース内のＵＩオブジェクトの階層を表すツリーを表現する。次いで、ＸＳＬＴスタイルシートは音声又は通過することができないＵＩオブジェクトに関係するデータをフィルタアウトするように自動的に生成される。サードパーティアプリケーションは、ＨＴＴＰ又はＨＴＴＰＳインターフェース、ＣＯＭインターフェース、又はＪａｖａ（登録商標）インターフェースのようなデータシステムの既存のインターフェースの一つ及びデータクエリリクエストを使用してデータシステムにアクセスする。リクエストに応じて、フィルタリングされたデータは、データシステムから検索され、特定されたスタイルシートは、音声又は通過可能なそれらのＵＩオブジェクトだけに関係するフィルタリングされたデータを戻すようにフィルタリングされていないデータに適用される。
【発明を実施するための最良の形態】
【００１０】
データシステムからフィルタリングされたデータを提供するためのシステム及び方法をここに詳細に記載する。以下の記載では、本発明の実施形態を理解するために提供される、例示的なソフトウェア及びシステムアーキテクチャとして、数値的な仕様の詳細が開示される。しかしながら、関連する技術分野の当業者は、本発明が一又はそれ以上の詳細な説明、又は他の方法、コンポーネントなどなしで実行できることを認識する。他の例では、周知の構造又はオペレーションは、本発明の種々の実施形態の不明瞭な態様を除くように詳細には記載せず又は示されない。
【００１１】
この明細書を通して、「ある実施形態」または「ひとつの実施形態」は、特定の特徴、構造、又は実施形態と関連した特徴が、本発明の少なくとも一つの実施形態に含まれていることを意味する。従って、この明細書を通して種々の箇所に、「ある実施形態では」又は「一つの実施形態では」という文章があるが、ある実施形態に対して全てを参照する必要はない。更に、特定の特徴、構造、又は特性は、１又はそれ以上の実施形態において適切な方法で組み合わされる。
【００１２】
本発明は、データシステムから汎用アプリケーションのようなリクエストコンポーネントにフィルタリングされたデータを提供するシステム及び方法を提供する。以下の議論では、音声アクセスシステムに関係する実施形態の詳細を開示する。音声アクセスシステムは、本発明に関する一般的なデータシステムアクセスアーキテクチャを説明するのに使用される。従って、本発明の原理及び教示は、音声アクセスシステムに限定されないが、データシステムからのフィルタリングされたデータを受信するために望まれるデータシステムの外側のいかなるシステム又はアプリケーションに適用可能である。
【００１３】
本発明のある実施形態二巻するハイレベルアーキテクチャ１０を図１に示す。アーキテクチャ１０の中心には、ユーザ１５がエンタープライズデータシステム１６にストアされたデータにアクセスすることができるアプリケーション１４をサードパーティ（ここでは、「アプリケーションベンダ」という。）に開くことができるモバイルコネクタインターフェース１２がある。
【００１４】
ある実施形態では、モバイルコネクタインターフェース１２は、転送されたＸＭＬデータに関係するパラメータを定義するデータフォーマットと予め定義されたプロトコルに関する、ＸＭＬ（拡張可能なマーク付け言語）データを介してエンタープライズデータシステム１６とインターフェースするための機構を提供する。これらのデータは、典型的にはエンタープライズデータシステム１６によって受信されるデータリクエストを規定するＸＭＬデータを有する、入ってくるＸＭＬデータ３２と、典型的にはエンタープライズデータシステム１６によってデータリクエストに応答して戻されるデータに関係するＸＭＬデータを有する、出ていくＸＭＬデータ３４を含む。
【００１５】
ある実施形態では、エンタープライズデータシステム１６は、アプリケーションサーバ３６を含み、予め定義されたインターフェースのセットに基づいたエンタープライズデータシステムに関するデータをホストするデータベース３８にストアされた種々のデータに外部システム及びユーザがアクセスすることができるビジネスロジックを定義する（一般的な）分散ソフトウェアコンポーネント及びモジュールの集合を論理的に表す。アプリケーションサーバ３６に対応するモジュール及びソフトウェアコンポーネントの更なる詳細は後で記載する。
【００１６】
典型的には、エンタープライズデータシステムは、データベース／データシステム分野の当業者によって理解されるような、クライアント接続のように、ストアするデータにアクセスするために種々の手段を提供する。観念的には、それに実質的に転送する仕方で、エンタープライスシステムにボイスアクセスすることができるのが望ましい。ある実施形態では、モバイルコネクタによって提供される各接続は、「ノーマル」クライアント接続としてエンタープライズデータシステムに対して明らかであり、それだけでは、エンタープライズデータシステムをサポートするコアソフトウェアコンポーネントにいかなる変区主要求しない。
【００１７】
ある実施形態では、エンタープライズデータシステム１６（即ち、音声アクセスオペレーションの外側でエンタープライズデータシステムと相互作用を含むオペレーション）の通常動作を制御するこれらのコアソフトウェアコンポーネントに対応するソフトウェアは、図２に示したように、マルチレイヤアーキテクチャ５０として論理的に構成される。ある実施形態では、論理マルチレイヤアーキテクチャは、アーキテクチャを実装する種々のアプリケーションをサポートするような一般的なサービス５２に関するプラットフォームを提供する。これらのサービスは、ユーザインターフェースレイヤ５４、オブジェクトマネージャレイヤ５６，データマネージャレイヤ５８及びデータ交換レイヤ６０内に論理的にパーティションされる。
【００１８】
ある実施形態では、ユーザインターフェース５４は、エンタープライズデータシステムと相互作用するそれらのクライアント機構のユーザを利用可能にするようにコンピュータネットワークベースクライアント接続を介してエンタープライズデータシステムに接続するクライアントマシンに提供される種々のユーザインターフェースをマークアップするアプレット、スクリーン、ビューを提供する。一般的には、ユーザインターフェースレイヤ５４は、伝統的に接続されたクライアント、リモートクライアント、インターネットを介したシンクライアント、Ｊａｖａ（登録商標）シンクライアント又は非ウィンドウズ（登録商標）ベースオペレーティングシステム、及び、インターネットを介したＨＴＭＬクライアントなどを含む種々のタイプのクライアントをサポートするように構成されうる。
【００１９】
オブジェクトマネージャレイヤ５６は、一又はそれ以上のアプリケーションと関連するビジネスコンセプト又はビジネスルールの１またそれ以上のセットを管理し、ユーザインターフェースレイヤ５４とデータマネージャレイヤ５８との間のインターフェースを提供するように、設計される。ある実施形態では、ビジネスルールまたはコンセプトは、ビジネスオブジェクトとして表されうる。ある実施形態では、ビジネスオブジェクトは、ここに記載された発明の実施形態により提供されるデータサービスに適用可能な種々のビジネスルール又はコンセプトの構成可能なソフトウェア表現として設計され、より詳細には下で説明する。
【００２０】
データマネージャレイヤ５８は、データストレージレイヤ６４に対応する一又はそれ以上のデータベース６２（例えば、データベース３８）にストアされた下位データの論理ビューを維持するように設計され、オブジェクトマネージャにより、データがストアされた独立の下位データ構造又はテーブルを機能させることができる。ある実施形態では、データマネージャは、リアルタイムにデータにアクセスする構造化照会言語（ＳＱＬ）の生成のように、所定のデータベース照会機能を提供する。ある実施形態では、データマネージャ６８は、詳細を下で述べるように、システムに関するデータモデルを実装するように使用されるデータベーススキーマに対応するリポジトリファイル６８にストアされるオブジェクト定義６６で作動するように設計される。一般的に、データ交換レイヤは、１又はそれ以上の特定の目標データベースとの相互作用を管理し、包括的（例えば、オープンデータベース接続(ＯＤＢＣ)）又はネイティブ（例えば、オラクル接続インターフェース（ＯＣＩ））データベースインターフェースプロトコルのいずれかを介して、データマネージャとそれらのデータベースとの間のインターフェースを提供するように設計される。
【００２１】
図３は、エンタープライズデータシステムのコアオペレーションに対応するマルチレイヤアーキテクチャの別の論理表現を図示するブロック図を示す。再び、図３に示したようなマルチレイヤアーキテクチャは、エンタープライズデータシステムによって提供される種々のコアオペレーションをサポートするように設計され、構成された種々の一般的なサービスに関するプラットフォームを提供する。ある実施形態では、これらの種々のサービスは、アプレットマネージャ及びユーザインターフェース７２によって提供されるサービスに対応するプレゼンテーションサービスレイヤ７０と、オブジェクトマネージャレイヤ５６及びデータマネージャレイヤ５８によって提供されるサービスに対応するアプリケーションサービスレイヤ７４と、データベース６２によって提供されるサービスに対応するデータサービスレイヤ７６を有する。
【００２２】
ある実施形態では、プレゼンテーションサービス７０は、種々のタイプのクライアントをサポートするように設計且つ構成され、ユーザインターフェーススクリーン、ビュー、及びアプレットをそれらに提供する。ある実施形態では、アプリケーションサービス７４は、ビジネスロジックサービス及びデータベース相互作用サービスを含む。ある実施形態では、アプリケーションサービスによって実行されるビジネスコンポーネント及びビジネスオブジェクトのクラス及び動作（behavior）を提供する。ある実施形態では、データベース相互作用サービスは、ビジネスコンポーネントからデータに関するユーザインターフェース（UI）リクエストをとるように設計且つ構成され、リクエストを満足させるように適当なデータベースコマンド（例えば、SQLクエリーなど）を生成する。例えば、データ相互作用サービスは、RDBMS仕様SQLステートメントにデータに関する呼び出しを翻訳するように使用することができる。
【００２３】
ビジネスオブジェクト、ビジネスコンポーネント、及びデータベーステーブルの間の関係を図示するマルチレイヤアーキテクチャを図４に示す。トップレイヤに設定されるビジネスオブジェクト８０は、データベース８８からビジネスオブジェクトに関係するデータを検索するために、種々のデータアクセスリクエストをビジネスコンポーネント８２，８４及び８６に通す。例えば、ビジネスオブジェクト８０は、コンタクトオブジェクトに関係し、ビジネスコンポーネント８２，８４及び８６は、コンタクトに関係するデータベース６２のデータにアクセスするように使用される。
【００２４】
ある態様では、ビジネスコンポーネントは、ベーステーブルを参照し、他のテーブルを明確に結合及びリンクさせることにより計算された値と、１又はそれ以上の物理データベーステーブルからデータをつなぐオブジェクトであり、該他のテーブルは、複数のレコード９２を各々含む、テーブル９０−１及び９０−２によって表されるような中間テーブルを含む。詳細を下で説明するように、各ビジネスコンポーネントは、それらの表にストアされた種々のデータにマッピングする情報を含む。特に、これらのマッピングは、ビジネスコンポーネントが対応するデータベーステーブルにストアされたオブジェクトに関係する情報と、サブジェクトのようなリクエストされたオブジェクトとのあいだである。ある実施形態では、リポジトリファイル６８にストアされたデータベーススキーマ情報は、それらのテーブルマッピングを求める際に、ビジネスコンポーネントによって使用される。
【００２５】
本発明のある実施形態に関するビジネスコンポーネントの論理構造のブロック図を図５に示す。各ビジネスコンポーネント（例えば、８２，８４，８６）は、下位テーブルなどの実際の名前を特定するビジネスコンポーネント、ＴＡＢＬＥ  ＮＡＭＥの論理名前を特定するＮＡＭＥ）それぞれのビジネスコンポーネントに関係するプロパティ９５のセットを含む。ビジネスコンポーネントはまた、フィールド９６のセットを含み、各々が関連する属性又はプロパティ９８のセットを有する。例えば、フィールドは、フィールドの名前を識別するＮＡＭＥプロパティ、各フィールドがマッピングされる下位テーブルのカラムを識別するＣＯＬＵＭＮ  ＮＡＭＥプロパティなどを含む。
【００２６】
本発明の例示的音声アクセスシステム実装に関するハイレベルアーキテクチャ１１を図１Ａに示す。この実装では、音声アプリケーション１４Ａは、電話１８を介してエンタープライズデータシステム１６にストアされたデータにユーザが言葉でアクセスすることができるモバイルコネクタインターフェースを使用する。より詳細には、電話のユーザは、無線電話ネットワーク、陸線電話ネットワーク、又はその２つの組み合わせのような電話ネットワーク２２を介して、音声インフラストラクチャコンポーネント２０に接続される。音声インフラストラクチャは、音声コマンドを介してユーザが音声アプリケーション１４Ａと相互作用することができる種々のハードウェア及びソフトウェアコンポーネントを含む。典型的には、これらのコンポーネントは、電話インターフェース２４，自動スピーチ認識（ＡＳＲ）コンポーネント２６、及び、テキスト-to-スピーチ（TTS）コンポーネント２８を含む。ある実施形態では、音声アプリケーション１４Ａは、種々の音声アクセ製品に対してデータプロところ及びコマンドの予め定義されたセットを使用して、音声アプリケーションが音声インフラストラクチャ２０と相互作用することができる標準アプリケーションプログラミングインターフェース３０を使用する。現在、種々のベンダが、音声インフラストラクチャ２０に対応するサービス及びオペレーションを提供する音声アクセス製品を提供し、その製品には、Avayaコーポレーション（以前の、ルーセント）（電話インターフェース／PXBスイッチング）及びユタ州ソルトレークシティのNuanceコーポレーション（スピーチ認識ソフトウェア）を含む。
【００２７】
音声インフラストラクチャの特定の詳細及び内部作動は、本発明の範囲を超えている。アーキテクチャ１１を実装する目的に関して、統合された音声アクセスシステムが開発され、及び／又は、システムを実装するITプロフェッショナルが十分な知識を有しており、上述したような、容易に利用可能なハードウェア及びソフトウェアコンポーネントを使用する音声インフラストラクチャをセットアップするように殺すことを仮定する。
【００２８】
モバイル接続インターフェース１２のより詳細を図示したアーキテクチャ１００と、他の関連するコンポーネントを図６に示す。モバイルコネクタインターフェースは、メタデータビルダ１０２と更新サポートコンポーネント１０４を含む別々ではあるが、関係するの２つのコンポーネントを含む。メタデータビルダは、最初のインストール中に一般的に稼働し、リポジトリファイルにストアされたオブジェクト定義６６が変更されたならば、再び稼働する、管理用ツールである。更新サポートコンポーネントは、下で更に詳細に説明されるような、音声アプリケーション１４Ａの定義で稼働するランタイムコンポーネントである。
【００２９】
メタデータビルダ１０２及び更新サポートコンポーネント１０４に加えて、アーキテクチャ１００は更に、Ｗｅｂエンジン１０６、リファレンス又はアプリケーションベンダＧＵＩ（グラフィカルユーザインターフェース）コンポーネント１０８、ＳｉｅｂｅｌＣＯＭ又はＪａｖａ（登録商標）インターフェース１１０及びＨＴＴＰインターフェース１１２を含む。Ｗｅｂエンジン１０６は、入ってくるＸＭＬデータ３２を受信し、出ていくＸＭＬデータ３４を送信するアプリケーションサーバ３６を利用可能にするＸＭＬインターフェースを提供する。
【００３０】
メタデータビルダと結合したリファレンス又はアプリケーションベンダＧＵＩにより、アプリケーションベンダは、スクリーン、ビュー、アプレット、カラム、及び、コントロール／フィールドを選択することができ、アプリケーション（例えば、音声アプリケーション１４Ａ）は、ウェブエンジン１０６にＸＭＬデータ３２が入ってくるように送信される適当なＸＭＬクエリーを介してアクセスすることができる。メタデータビルダ１０２の更なる詳細を図７に示す。メタデータビルダのコアには、メタデータビルダエンジン１１４があり、それはパーサ１１６及びエクストラクタ（抽出器）１１８を含む。更なるコンポーネントは、ＸＭＬビルダ１２０及びスタイルシートビルダ１２２を含む。ある実施形態では、メタデータビルダ１０２は、オブジェクトマネージャ５６によって管理されるビジネスサービスとして実装されうる。
【００３１】
図８を参照すると、音声利用可能にするＵＩオブジェクトを選択し、スタイルシートを生成するためのプロセスがブロック３００で始まり、アプリケーションベンダユーザ（例えば、アドミニストレータ）はリファレンス又はアプリケーションベンダＧＵＩ１０８を開け、音声利用可能プロセスを初期化し、アプリケーションを選択し、アドミニストレータは音声アクセスを提供する。一般的に、アドミニストレータは、エンタープライズデータシステムによってサポートされた１又はそれ以上のアプリケーションの間から音声利用可能にするためのアプリケーションをユーザに選択させることができる、ダイアログボックス又はウェブページ（両者とも図示せず）のようなユーザインターフェースを提供されうる。
【００３２】
アプリケーションの選択の際、選択されたアプリケーションを識別する選択データ１２３は、メタデータビルダエンジン１１４に通され、次いで、リポジトリファイル６８をトラバースするようにエクストラクタ１１８を呼び出し、選択されたアプリケーションのＵＩオブジェクト及びブロック３０２の定義に対応するメタデータを抽出する。上述したように、リポジトリファイルは、エンタープライズデータシステムのアプリケーションの全てに対応する種々のオブジェクトに関するオブジェクト定義を包含し、コンパイルされたフォーマットにメタデータとしてストアされる。これらのオブジェクト定義に包含されたものは、ユーザインターフェースオブジェクト定義及びそれらに関係するものである。リポジトリファイルの例示部分を図９に示す。（ある実施形態では、リポジトリファイルは、図９に示したようにＡＳＣＩＩテキストフォーマットではなくコンパイルされたフォーマットで実際にストアされ、図では明確のために使用されている。）
【００３３】
ある実施家板では、ユーザインターフェースオブジェクトは、図１０に示したように階層関係を有しており、ヒエラルキーのトップレベルは、エンタープライズデータシステムブロック１５０によって表されたように、全体のエンタープライズデータシステムに対応する。各エンタープライズデータシステムは、１又はそれ以上のアプリケーション１５２を含み、各アプリケーション１５２は複数のスクリーン１５４を含む。次いで、隠すクリーンは１又はそれ以上のビュー１５６を含み、各ビューは１又はそれ以上のアプレット１５８を含む。最後に、各アプレットは複数のカラム及び／又はフィールド／コントロール１６０を含み、各カラムはリストアプレットのカラムに対応し、各フィールド／コントロールは典型的には、いずれか定義された値のリスト若しくはデータベーステーブルのカラムにマッピングされた、又は、エンタープライズデータシステムの現在のデータに基づいてランタイムで生成された、詳細フォーム（即ち、エントリ）アプレットの編集コントロールを有する。
【００３４】
図１０のＵＩオブジェクトヒエラルキーを視覚的に表す提供されたユーザインターフェース１７０を図１１に示す。ユーザインターフェース１７０は、ユーザが見るのを望むスクリーンをユーザに選択させることができるスクリーン１５４に対応するスクリーンバー１７０を含む。例えば、図示したユーザインターフェースでは、これらのスクリーンは、「ホーム」スクリーン１７２，「機会」スクリーン１７４、及び「アカウント」スクリーン１７６、「コンタクト」スクリーン１７８，「アクティビティ」スクリーン１８０、「カレンダー」スクリーン１８２、「引用」スクリーン１８４，「予測」スクリーン１８６、及び「歳入」スクリーン１８８を含む。スクリーン名を備えたタブの活性化により、アプリケーションに、選択されたスクリーンを表示させ、選択されたスクリーンに対応するアプリケーション「ドメイン」にユーザを案内する。
【００３５】
上述のように、各スクリーンは、１又はそれ以上のアプレットを含む。一般的なユーザインターフェース用語では、アプレットは一般的にはフォームカテゴリに属する。アプレットは一般的には、２つのフォーマットを有する：即ち、リストアプレットとフォームアプレットである。リストアプレットは、アカウントリストアプレット１９０に示したものと同様な複数の列（ロー）及びデータカラム（行）を含むデータの表リストを含む。フォームアプレットは典型的には、特定の「レコード」に関係するデータを包含する複数のフィールドを含み、レコードは伴うリストアプレットの選択されたローにしばしば対応する。フォームアプレットはまた、詳細なアプレットとエントリアプレットを参照する。例えば、アカウントエントリアプレット１９２は、「名前」フィールド１９４，「住所ライン１」フィールド１９６、「住所ライン２」フィールド１９８、「郵便番号」フィールド２００、「メイン電話番号」フィールド２０２、「市」フィールド２０４、「州」フィールド２０６、「国」フィールド２０８、「アカウントタイプ」フィールド２１０、「ステータス」フィールド２１２、「産業」フィールド２１４、「領域」フィールド２１６、「アカウントチーム」フィールド２１８、及び「親」フィールド２２０を含む。一般的に、各フィールドは、対応する編集コントロールを有し、典型的には、ユーザが所定のリストの値から選択するドロップダウンフォーム又は編集ボックスを有する。ある例では、ダイアログピックリスト２２２はまた、ランタイムクエリーを使用したリストで占められたダイアログボックスを介してオプションのリストからユーザが選択することができるように提供されうる。
【００３６】
多くの例では、アプレットは、親子タイプ関係を介してリンクされる。例えば、アカウントリストアプレット１９０は、アカウントエントリアプレット１９２の親であり、それは、現在選択されているアカウントレコード及び各タブの名前に対する特定のビュー情報をユーザが入力することができるように、複数のタブ２２４を含む。例えば、現在選択されているアカウントが、「Ａ＆Ｗギフト及びフラワー」であり、ユーザは、「コンタクト」タブ２２６を活性化することによりこのアカウントに関する情報関連コンタクトを入力することができ、コンタクト情報（図示せず）に関係する複数のフィールドを含むコンタクトフォームを上げる。
【００３７】
図８のフローチャートに戻ると、ブロック３０４では、パーサ１１６は、アプリケーション表現１２４によって表されるような、ブロック３０２で抽出される、対応するユーザインターフェースオブジェクト定義メタデータに基づいた、選択されたアプリケーションのスクリーン、ビュー、アプレット、カラム、及び、フィールド／コントロールの内部表現を有するアプリケーション表現１２４を作る。ある実施形態では、アプリケーション表現は、エクストラクタによって抽出されたオブジェクト定義の階層ツリー構造を有する。例示のアプリケーション表現では、図１２の左側部分を占める。階層ツリーの各ノードは、アプリケーション表現オブジェクトに対応するデータをストアする。オブジェクトは、アプリケーションオブジェクト、スクリーンオブジェクト、ビューオブジェクト、アプレットオブジェクトなどであってよい。エクストラクタからオブジェクト定義を得た後、パーサーは、オブジェクトをアプリケーション定義オブジェクトに変換し、それを階層ツリー構造のノードにストアする。これは、ツリーが満たされるまで、全てのオブジェクトに関して繰り返される。
【００３８】
次いで、ブロック３０６では、メタデータビルダエンジン１１４は、アプリケーション表現１２４に対応するＸＭＬデータツリー１２６を作るためにＸＭＬビルダ１２０を呼び出し、ブロック３０８では、リファレンス又はアプリケーションベンダＧＵＩ１０８にＸＭＬデータツリーを戻す。このオペレーションを実行するために、ＸＭＬビルダは、階層ツリーをトラバースし、それに関するＸＭＬ表現を作る。リファレンス又はアプリケーションベンダＧＵＩは、ＸＭＬデータツリーを解析し、図１３に示したものと同じウィンドウ又はフレームで選択ツリー１３０を表す。一般的には、選択ツリーは、アプリケーション表現１２４によって定義されたような、アプリケーションのユーザインターフェースヒエラルキーと同様なヒエラルキーを有する。
【００３９】
ある実施形態では、リファレンスＧＵＩは、音声メタデータビルダに対するアクセスを得るＡｃｔｉｖｅＸデータコントロールを使用する複数のＡＳＰ（アクティブサーバページ）ウェブページを有する。この実施形態では、ＡＳＰは、ＡｃｔｉｖｅＸコントロールを生成し、音声メタデータビルダに対するアクセスを得、ＸＭＬオブジェクト定義を得るためにＸＭＬ抽出を開始し、リファレンスＧＵＩに関するＨＴＭＬを表し、ＵＩコンポーネントに関する予約ＸＭＬデータを音声可能にし及び／又は音声更新サポートを提供するように戻し、スタイルシートの生成をトリガし、存在する予約をロード及びセーブすることができる。ある実施形態では、ＡｃｔｉｖｅＸデータコントロールは、ＵＩウィンドウズ（登録商標）１３０を生成するように使用され、ＡｃｔｉｖｅＸデータコントロールにより、ウィンドウがマイクロソフトウィンドウズ（登録商標）エクスプローラファイルマネージメントツールに似た機能を有することができる。例えば、スクリーン、ビュー及びアプレットに対応するオブジェクトは、隣接するファイルアイコンと一緒に表示され、該アイコンは、開いたファイルアイコン１３２と、閉じたファイルアイコン１３４を含み、カラム及びフィールド／コントロールオブジェクトは、隣接するドキュメントアイコン１３６と一緒に表示される。更に、展開コントロール１３８の活性化により、閉じたフォルダに関係するデータを展開することができ、隠しコントロール１４０を活性化することにより、開いたフォルダーに対応するデータを、隠すようにすることができる（即ち、ビューから取り除く）。
【００４０】
図１３に示したように、「ＵＩに関する予約」チェックボックス１４２及び「文法に関する予約」チェックボックス１４４は、下の各々開いたスクリーン、ビュー、アプレット及び、カラム／フィールド／コントロール・オブジェクトが表示される。従って、ブロック３１２では、アドミニストレータは、ビュー、アプレット、及び、カラム／フィールド／コトロールを識別するように適切なチェックボックスを選択し、アドミニストレータは、文法更新サポートを提供及び／又は音声可能にさせるように予約する。次いで、選択されたＵＩオブジェクト及びチェックされたオプションに関係する予約データ１４６は、選択されたＵＩオブジェクトに関する文法更新サポートを提供及び／又は音声可能にするようなリクエストに沿って、ブロック３１４では、メタデータビルダエンジン１１４に戻るように送信される。予約データの例示的なセットは、図１２の右半分部分に示される。最後に、ブロック３１６では、メタデータビルダエンジンは、アプリケーション表現及び予約データに基づいてスタイルシート１４８を生成するようにスタイルシートビルダ１２２を呼び出す。
【００４１】
音声可能にされるように選択されたＵＩオブジェクトに基づいて、スタイルシートビルダは、ＸＳＬＴ（extensible stylesheet language transformations）スタイルシートを生成し、エンタープライズデータシステムによって戻された結果セットにおけるオリジナルＸＭＬデータから選択されていないエレメントをフィルタリングし、音声可能ＵＩオブジェクトに関係するデータだけが音声アプリケーション１４Ａに戻される。各スタイルシートテンプレートが図１４Ａ乃至Ｃに示されているとき、例示のスタイルシートレイアウト及びロジックが包含される。名前が意味するように、ＸＳＬＴは、ＸＭＬドキュメントを他のタイプのドキュメントに変換し、ＸＭＬドキュメントの出力をフォーマットするように使用されるスタイルシートを生成するように使用されるＸＭＬベース言語である。ＸＳＬＴは、１９９９年１１月にＷ３Ｃ勧告され、仕様は、http://www/w3.org/TR.xsltで見つけることができる。
【００４２】
ＸＳＬＴスタイルシートは、テンプレートを呼び出す構造に作られる。テンプレートは、ソースツリーを呼び出す、入力ドキュメントで探す、及び、結果ツリーを呼び出す、出力ドキュメントに入力するものを特定する。ＸＳＬＴスタイルシートはまた、ＸＳＬＴエレメントで構成され、一般的に、<xls:style sheet>, <xls:template>, <xsl:value-of>, <xls:output>, <xls:element>, <xls:attribute>, <xls:attribute-set>及び<xls:test>エレメントを含む。ＸＳＬＴエレメントはまた、<xsl:if>, <xsl:choose>エレメントのような条件付きエレメント、及び、<xsl:for-each>エレメントのようなループエレメントを含む。これらの全てのエレメントは、ＸＳＬＴスタイルシート技術の当業者にはアキラかである。
【００４３】
最初に、各スタイルシートは、アプリケーション処理テンプレート、スクリーン処理テンプレート、ビュー処理テンプレート、アプレット処理テンプレート、及び、ＬＩＳＴテンプレートを含む各ＵＩオブジェクトヒエラルキー位置に対応するテンプレートのセットを含む。アプレットが、リストアプレットの場合、テンプレートのセットは、ＲＳ＿ＨＥＡＤＥＲテンプレート及びＣＯＬＵＭＮテンプレートを更に含み、アプレットがエントリアプレット（即ち、マルチフィールドフォーム）である場合、テンプレートのセットは、ＲＳ＿ＤＡＴＡテンプレート、ＲＯＷテンプレート、及びＦＩＥＬＤテンプレートを含む。各テンプレートの目的は、ＸＭＬソースツリードキュメントの各ヒエラルキーレベルで望んでいないデータをフィルタアウトすることであり、下で詳細に説明する。
【００４４】
図１４Ａ乃至ＣのＸＳＬＴスタイルシートレイアウトの視点で図１５のフローチャートを参照すると、ＸＳＬＴスタイルシートの生成は、以下のように進む。プロセスは、スタイルシートが初期化されるブロック４００で始まる。本発明のある実施形態では、各ＸＳＬＴスタイルシートは、スタイルシートの開始で、同じレイアウト及びロジックを実質的に含む。これは、ＸＳＬＴヘッダセクション２５３、アプリケーションテンプレート２５４、及びスクリーンテンプレート２５６を含む。アプリケーションテンプレートは、アプリケーションレベルでソースツリードキュメントの全ての値を結果ツリードキュメントにコピーするコードブロック２６０と、スクリーンレベルがソースツリードキュメントに存在するか否か判断する決定ブロック２６２とを含む。もし存在するならば、スクリーンテンプレート２５６は、ブロック２６４に呼ばれる。スクリーンレベルがソースツリードキュメントに存在しないならば、プロセスは出ていく。
【００４５】
スクリーンテンプレートのコードブロックが、アプリケーションテンプレートのそれらと実質的に似ている。最初に、ブロック２６６に対応するスタイルシートコードは、結果ツリードキュメントに対する階層のスクリーンレベルで全ての値をコピーするように使用される。決定ブロック２６８では、ビューレベルがソースツリーに存在するかどうか判断される。もし存在するならば、ビューテンプレート２５８は、ブロック２７０に呼ばれる。存在しないならば、プロセスは出ていく。
【００４６】
図１５のブロック４０１では、アプリケーション表現のツリーノードはトラバースされ、ツリーのルートで始まる（即ち、アプリケーションレベル、つまりアプリケーション表現ツリーは、実際の木を逆さまにしたように幾分みえ、それ故、根は、図１２のアプリケーション表現の頂部にある）。スタートブロック４０２とエンドブロック４０４によって表されるように、これらの２つのループエンドポイントの間に含まれたオペレーションは、アプリケーション表現ツリーがトラバースされるときに、各ノードで実行される。
【００４７】
本発明のある実施形態では、スタイルシートは各ビューに関して生成される。従って、判断ブロック４０６では、ノードが、選択されたビュー（即ち、予約データを介して音声利用可能にされるように選択されたビュー）に対応するかどうかを判断する。例えば、処理される現在のノードが、図１２のアプリケーション表現のセールスアカウントビュー２５０ノードに対応すると仮定する。対応する予約データが、音声可能であるように選択されたビューであることを示すので、判断ブロックの答ははい（真）であり、ロジックはブロック４０８に進み、新しいスタイルシートが、ベースビュースタイルシートテンプレートを使用して生成される。この新しいビューテンプレートは、図１４Ａに示されたビューテンプレート２７２と似ているレイアウトを有し、結果ツリーに対するビューレベルに関係する全ての値をコピーするのに使用されるロジックを包含するコードブロック２５７と、ソースツリーにて識別されたような適切なテンプレートに処理するＸＳＬＴをルーティングするように使用されるアプレットテンプレートルーティングセクション２７４を有する。（下で詳細に説明するように、アプレットテンプレートルーティングセクション２７４は、最初は空であることに注意すべきである。）次いで、ロジックは、次のノードを処理し始めるために、ブロック４０２にループし始めるようにループバックする。
【００４８】
判断ブロック４０６の答がいいえ（偽）のとき、ロジックは、判断ブロック４１０に進み、ノードが選択されたアプレットに対応するかどうか判断する。例えば、現在のノードが、アプリケーション表現の更なる情報アカウントエントリアプレットノード２７６であると仮定する。このノードは、音声可能であるように選択されるようにマークされ、判断ブロック４１０ではいとした結果、ブロック４１２に導き、新しいアプレット及び子テンプレートセットが生成され、それはアプレットテンプレートとリストテンプレートを含む。各アプレットテンプレートは、そのアプレットテンプレートと関係する特定のリファレンスを含む同じロジックを実質的に含む。ある実施形態では、各テンプレートは、テンプレートに対応するノードを特別に参照する名前を有する。例えば、コンタクトアカウントエントリノード２８０に対応するコンタクトアカウントエントリアプレットテンプレート２７８を図１４Ｂに示す。このテンプレートは、ソースツリーのコンタクトアカウントエントリアプレットに関係する全ての値を目標ツリーにコピーするロジックを包含するコードブロック２８２を有する。テンプレートは、ソースツリードキュメントがリストレベルを有するかどうかを判断する判断ブロック２８４に関係するコードセクションを更に含む。テンプレートはまた、適当なリストテンプレート（この場合、コンタクトアカウントエントリアプレットリストテンプレート２８８）を呼び出すロジックを包含するコードブロック２８６を含む。（コンタクトアカウントエントリアプレットリストテンプレート２８８は、アカウントリストアプレットとコンタクトアカウントエントリアプレットの両方と結合して簡単に使用されることに注意すべきである。実際の使用では、別々のリストテンプレートが各アプレットに適用されることを理解すべきである。）
【００４９】
各リストテンプレートは、ソースツリードキュメントのリストレベルに関係する全ての値をコピーするロジックを包含するコードブロック２９０を含む。上で議論したように、アプレットがリストアプレットであるならば、アカウントリストアプレットＲＳ＿ＨＥＡＤＥＲテンプレート２９２及びアカウントリストアプレットカラムテンプレート２９４によって表されたように、ＲＳ＿Ｈｅａｄｅｒ及びカラムテンプレートは加えられる。反対に、アプレットが、ＲＳ＿ＤＡＴＡテンプレートでなくエントリアプレットであるならば、ローテンプレート及びフィールドテンプレートは、コンタクトアカウントエントリアプレットＲＳ＿ＤＡＴＡテンプレート２９６、コンタクトアカウントエントリアプレットローテンプレート２９７、及びコンタクトアカウントエントリアプレットフィールドテンプレート２９８によって表されたように、生成される。従って、各リストテンプレートは、ＲＳ＿ＤＡＴＡレベルがソースツリードキュメントに存在するかどうかを判断する判断ブロック３２０に対応するコードセクションと、ＲＳ＿ＨＥＡＤＥＲレベルがソースツリードキュメントに存在するかどうか判断する判断ブロック３２２に対応するコードセクションとを含む。判断ブロック３２０に対する答が真ならば、ロジックは、適当なＲＳ＿ＤＡＴＡテンプレートが呼び出されるコードブロック３２４に流れる。判断ブロック３２２の答が真ならば、ロジックな、適当なＲＳ＿ＨＥＡＤＥＲテンプレートが呼び出されるコードブロック３２６に流れる。
【００５０】
アカウントリストアプレットＲＳ＿Ｈｅａｄｅｒテンプレート２９２によって表したように、各ＲＳ＿Ｈｅａｄｅｒテンプレートは、ソースツリーからのアプレットレベルに関係する全ての値を結果ツリーにコピーするロジックを包含するコードブロック３２８を含む。判断ブロック３３０に関係するコードセクションはまた、適当なカラムテンプレートが、ソースツリードキュメントに存在するかどうか判断するのに使用されることを提供する。もし存在するならば、ロジックは、適当なカラムテンプレートが呼び出されるコードブロック３３２に進む。
【００５１】
アカウントリストアプレットカラムテンプレート２９４によって表したように、各カラムテンプレートは、現在処理されているアプレットに関して音声利用可能であるようにマークされたカラムに関係しないカラムレベルでの全てのデータをフィルタアウトするロジックを含むコードブロック３３４を含む。例えば、コードブロック３３４では、ロジックは、新しいカラム、名前カラム、メイン電話番号カラムを除くアカウントリストアプレットの全てのカラムのデータをフィルタアウトすることを含む。カラムテンプレートが最初に生成されたとき、コードブロック３３４に対応するフィルタリングロジックは空である。
【００５２】
コンタクトアカウントエントリアプレットＲＳ＿ＤＡＴＡテンプレート２９６によって表されたように、各ＲＳ＿ＤＡＴＡテンプレートは、ソースツリーのＲＳ＿ＤＡＴＡレベルに関係する全ての値をコピーするロジックを包含するコードブロック３３６を含む。各ＲＳ＿ＤＡＴＡテンプレートはまた、ローレベルがソースツリーに存在するかどうかを判断する判断ブロック３３８に対応するコードセクションを含む。各ＲＳ＿ＤＡＴＡテンプレートは更に、ローレベルに対応する適当なローテンプレートを呼び出すのに使用されるコードブロック３４０を含む。
【００５３】
各ローテンプレートは、コンタクトアカウントエントリアプレットローテンプレート２９７に表したように、ソースツリーのローレベルに関係する全ての値をコピーするロジックを包含するコードブロック３４２を含む。各ローテンプレートはまた、フィールドレベルがソースツリーに存在するかどうかを判断する判断ブロック３４４に対応するコードセクションを含む。各ローテンプレートが更に、ローレベルに対応する適当なフィールドテンプレートを呼び出すのに使用されるコードブロック３４６を含む。
【００５４】
上で議論したカラムテンプレートに似た仕方で、各フィールドテンプレートは、現在処理されているアプレットに関して音声利用可能であるようにマークされるフィールドに関係しないフィールドレベルの全てのデータをフィルタアウトするロジックを包含するコードブロック３４８を含む。例えば、コードブロック３４８では、ロジックは、姓カラム、名カラム、仕事電話カラム、番地住所１カラム、番地住所２カラム、市カラム、州カラム、及び国カラムを除くコンタクトアカウントエントリアプレットの全てのフィールドのデータをフィルタアウトすることを含む。カラムテンプレートが、最初に生成されたとき、コードブロック３４８に対応するロジックは空である。
【００５５】
図１５のフローチャートに戻ると、次のオペレーションはブロック４１４で実行され、ブランチロジックは、現在のアプレットに関する「親」ビューテンプレートに生成される。一般的には、このブランチロジックは、アプレットテンプレートルーティングセクション２７４内に包含され、テスト状況のリストを包含する選択ブロックを有する。これらのテスト状況の各々は、判断ブロック３３７及びコールブロック３３９としてビューテンプレート２７２に表される。例えば、アプレットテンプレートルーティングセクション２７４のテスト状況は、図１２のアプリケーション表現のアプレットノード２７６，２７９，２８１，２８３及び２８０に関係する。一般的に、テスト状況が真となるように判断されるならば、テスト状況に対応するアプレットテンプレートは呼び出される。
【００５６】
ブロック４１４が完了する際、ロジックループは、名前カラム／フィールドノード２８５であってよい次のノードを処理するために戻る。このノードは、更なる情報アカウントエントリアプレットの他のフィールドノードの全てに沿って、下で議論するような仕方で処理される。次いで、処理は、アタッチメントアカウントエントリアプレットノード２８２（及び、続くそのフィールドノード）によって続く、アセットアカウントエントリアプレットノード２８１（及び、続くそのフィールドノード）によって続く、アクティブアカウントエントリアプレットノード２７９（及び、続くそのフィールドノード）をアドレスする。上述したように、アプレット及び子テンプレートの適当なセットは、ブロック４１２の各アプレットノードに関して生成され、テンプレートブランチロジックの適当な部分は、これらのアプレットに関する親ビューテンプレートに加えられる。
【００５７】
いま、コンタクトアカウントエントリアプレットノード２８４と遭遇すると仮定する。このノードを処理した後、遭遇すべき次のノードはパーソナルタイトルカラム／フィールドノード２８７である。この例では、判断ブロック４０６及び４１０の両方の答がいいえであれば、ノードが選択されたカラム又はフィールドに対応するかどうかを判断する判断ブロック４１６に進む。パーソナルタイトルフィールドノードが選択されないようにマークされるので、判断ブロック４１６の答はいいえであり、ロジックは、性フィールドノード２８９である次のノードを処理するためにループバックする。このとき、ロジックが判断ブロック４１６に達していれば、（このUIオブジェクトが音声可能なように選択されるので）結果は「はい」であり、ロジックはブロック４１８に進む。このブロックでは、XSLTコードは、フィルタ通過されるようなカラム又はフィールドに対応するデータを利用可能にする（適用可能なような）現在のアプレットのフィールドテンプレートチャイルド及び／又はカラムに加えられる。例えば，このロジックは、カラムテンプレートに関するコードブロック３３４に示したもの、又は、フィールドテンプレートに関するコードブロック３４８に示したものと同様であってよい。
【００５８】
ある実施形態では、追加のフィルタ状況が、それらのノードが遭遇するとき、アプレット子カラム及びフィールドノードの続く処理の際、現在のアプレットに対応するフィールドオブジェクト又は他のカラムに関する最初のフィルタ状況と連鎖する。例えば、図１２のアプリケーション表現では、姓、名、電話番号、番地住所１、番地住所２、州市、及び国フィールドの各々が音声可能であるように選択されている。その結果、適当なフィルタロジックが、フィールドレベルでこれらのフィールドに関係するデータをフィルタリング通過させることができるように加えられる。
【００５９】
図１５のフローチャートに関して上述したロジック及びオペレーションは、アプリケーション表現のノードの全てが処理されるまで、更に繰り返される。正味の結果は、本発明のある実施形態に関するものであり、各ビューに関して生成された別々のスタイルシートであり、各ビューは、そのビュー内に包含された一又はそれ以上のアプレットに対応する子テンプレートを含む。スタイルシートビルダはまた、下で記載するように、音声更新サポートコンポーネントに関するスタイルシートを作るように使用される。
【００６０】
例示のエンタープライズデータシステム
ある実施形態では、エンタープライズデータシステム１６は、Ｓｉｅｂｅｌ７エンタープライズデータシステムからなり、ウェブエンジン１０６は、Ｓｉｅｂｅｌウェブエンジン（ＳＷＥ）からなる。Ｓｉｅｂｅｌ７アーキテクチャでは、ＳＷＥは、汎用アプリケーションがＳｉｅｂｅｌエンタープライズデータシステムにアクセスすることができるようなＸＭＬインターフェースを提供する。Ｓｉｅｂｅｌ７は、アプリケーションがウェブサーバ、Ｊａｖａ（登録商標）ＤａｔａＢｅａｎ又はＡｃｔｉｖｅＸデータコントロールを介してリクエストを作ることができるとき、Ｓｉｅｂｅｌウェブエンジンによって生成されるＸＭＬページを介してオープンシステムアーキテクチャをサポートする。
【００６１】
ベンダが開発する音声アプリケーションの異なる実装をサポートするために、ＸＭＬインターフェースは、ユーザインターフェースの定義、及び、ＸＭＬフォーマットのユーザデータを生成し、次いで、ベンダの音声アプリケーションに送信される。音声アプリケーションは、その音声ページをフォーマットためにこの情報を使用し、ＴＴＳのような内部オペレーションを介してその音声ユーザにそのページを示す。言葉による案内コマンド及びデータリクエストに応答して、音声アプリケーションは、現在のユーザ案内コンテキストに基づいて次のリクエストをフォーマットし、適当に構成されたＸＭＬドキュメントを介してＳｉｅｂｅｌウェブエンジンに戻るようにそれを送信する。この明細書中では、ＳＷＥ ＸＭＬインターフェースアクセス例は、ＨＴＴＰリクエストフォーマットを使用して提供される。（同様のアクセス特徴もまた、均等のＣＯＭ又はＪＤＢ Ｊａｖａ（登録商標） ｄａｔａ ｂｅａｎを介して利用可能であることに注意することが重要である。）
【００６２】
ＸＭＬページコンテンツ
ＸＭＬページ出力は、リポジトリで定義される、アプリケーション、スクリーン、ビュー、アプレット、及びカラム／フィールド／コントロールを含むアプリケーション定義に基づいている。Ｓｉｅｂｅｌエンタープライズデータシステムアーキテクチャでは、アドミニストレータは、各実装が一意的であるそれらの必要性に適合するようにそれらのエンタープライズデータシステム実装をカスタマイズすることができる。そしてカスタマが変更することができる。ＸＭＬインターフェースは、ＨＴＭＬ及びＷＭＬ datを含むユーザの異なるタイプに表わされる、種々のタイプのユーザインターフェースをサポートするためにＸＭＬページにＸＭＬタグを定義する。
【００６３】
一般的に、音声アプリケーション１４Ａに戻るように送信される各ＸＭＬ出力ページ３４は、以下のセクションを包含する：
１．ＸＭＬ及びエンコード情報のサポートされるバージョン
この情報は、全てのＸＭＬページに追加される。
２．アプリケーション情報
この情報は、全てのＸＭＬページに追加される。音声アプリケーションが接続され且つ相互作用する、Ｓｉｅｂｅｌ Ｓａｌｅｓ エンタープライズのようなアプリケーション名を記載する。
３．ユーザエージェントマークアップ
この情報は、全てのＸＭＬページに追加される。httpヘッダリクエストヘッダのユーザエージェントに基き、サポートされたデフォルトのマークアップ言語を記述する。
４．アクティブスクリーン、ビュー、及びアプレット定義及びユーザデータ
この情報はデフォルトによって生成される。アプリケーションがこの情報だけを必要としているならば、httpリクエストにSWEDataOnly=TRUEを追加することができる。このセクションは、現在のアクティブスクリーン及びビュー情報を含み、そのビューで定義されたレコード（ユーザデータ）情報及びアプレットも含む。
【００６４】
ＸＭＬユーザデータ
このセクションでは、（例えば、ユーザオペレーティング電話１８を介して）ユーザデータに関するリクエストに応じて音声アプリケーション１４Ａに戻るＸＭＬページ３４に包含されるアウトバウンドＸＭＬタグの詳細な記述を与える。データを検索するために、音声アプリケーション１４Ａは、下で記載するウェブエンジン１０６のフォーマットを有するリクエストを送信する。リクエストは、スクリーン、ビュー、及びアプレット識別子のようなＵＩオブジェクト特定情報を含み、戻されたデータセットをフィルタリングするとき、使用するスタイルシートとして特定される。リクエストはまた、Ｓｉｅｂｅｌウェブエンジンを特定する追加のパラメータを含む。これらのパラメータのいくつかをリストする表及び係るパラメータの高価は、添付の付録に包含されている。例えば、音声アプリケーションだけが、ＵＩ情報なしで戻されたデータを要求するならば、ユーザは、SWEDataOnlyパラメータがリクエストにおいて真のセットであることを特定することができる。このパラメータが設定されるとき、戻されたＸＭＬは、データタグだけを含み、メニュードロップ、ページタグなどのようなＵＩ案内エレメントは包含しない。反対に、SWEDataOnlyが真（デフォルト値）のセットでない場合、データに加えて、戻されたユーザデータがスクリーン、アプレット及びビューに関係するデータを含み、データはそこに属する。例えば、コンタクトスクリーンに関するユーザデータがＳＣＲＥＥＮ，ＶＩＥＷ及びＡＰＰＬＥＴに関係する情報を有し、データは、実際のユーザコンタクトデータに加えて検索される。
【００６５】
ここで提供されたサンプルＸＭＬは、コンタクトスクリーンに関するＸＭＬデータを表す。コンタクトスクリーンに関係するデータを回収するためにウェブエンジン１０６ＳＷＥに作られるＨＴＴＰリクエストは、以下のフォーマットを有する。
【００６６】
http://localhost/sales/start.swe?
SWECmd=GotoPageTab&SWEScreen=Contacts+Screen&SWEGetDataOnly=TRUE
【００６７】
リスティング１
http://localhost/sales/start.swe?パラメータが、ウェブエンジンに関するインターネットＵＲＬアドレスを特定する。第２行目のパラメータが、この場合コンタクトスクリーンである、アプリケーション内の案内コンテキストに基づいてデータが望まれるウェブエンジンを命令する特定のコマンドに対応する。上述のように、特定のＵＩオブジェクトに関係するデータだけが戻されるように最後のパラメータが特定する。
【００６８】
一般的には、データリクエストに応答するウェブエンジンよって戻される典型的なＸＭＬページは、図１６に示されるフォーマットを有する（SWEDataOnly=TRUEのとき、引数が使用される）。XML分野の当業者によって認識されるように、XMLページは、戻されたデータに関するフォーマットを定義するように使用されるXMLタグの入れ子ペアを含む。各タグのペアは、XMLツリーの階層のレベルを定義する。XMLページの種々の部分の詳細な例を、図１７，１８及び１９に示す。
【００６９】
図１７を参照すると、XMLページの第１のエレメントは、アプリケーションの名前を識別するアプリケーションエレメント３５０である。次のエレメントは、ユーザエージェント、又は、XML若しくはHTMLリクエストを作るブラウザタイプについての情報を提供するユーザエージェントエレメント３５１を有する。次いで、アプリケーションエレメントタグペアの中に包含されたスクリーンエレメント３５２が現れる。このエレメントは、現在のアクティブスクリーンに関する名前とタイトルについての情報を与える。
【００７０】
次のエレメントは、ビューエレメント３５４である。スクリーンエレメントと同様に、ビューエレメントは、現在のアクティブなビューの名前とタイトルを記述する。アプレットエレメント３５６は、ビュー内に包含される。アプレット名３５８及びアプレットタイトル３５９に戻って加えると、アプレットエレメントは、MODE属性３６０、NO_INSERT属性３６２、NO_MERGE属性３６４、NO_DELETE属性３６６、NO_UPDATE属性３６８、NO_EXEC_QUERY３７０を含む。MODE属性は、どんなモードがアプレットにあるのかを記述する。EDITモード又はBASEモードのいずれかであって良い。前者は、アプレットが、レコードの修正、削除、生成、及び照会をすることができる事を意味する。後者は、アプレットがリードオンリーであり、修正することができないことを意味する。
【００７１】
NO_INSERT、NO_MERGE、NO_DELETE、NO_UPDATE、NO_EXEC_QUERY属性は、特定の編集モードオペレーションが、アプレットに関して可能であるフィルタを提供する。これらの属性のいずれかが真ならば、特定のオペレーションが可能でない。例えば、NO_INSERT属性が真ならば、新しいレコードはこのアプレットに挿入されない。音声アプリケーションは、これらの属性に基づいた音声コマンドを適合させることができる。例えば、NO_EXEC_QUERY属性がアプレットに関して偽のセットであるならば、これは、音声アプリケーションがそのアプレットを使用したコンタクトに関して照会することができることを示す。
【００７２】
アプレットエレメントに包含される別の属性は、CLASS属性３７２である。この属性は、アプレットが属するC++クラスを特定する。例えば、説明した例では、CLASS属性は、CSSFrameListBaseの値を有し、Siebel7.0アーキテクチャでは、Listアプレットとしてそれを識別する。
【００７３】
ROW_COUNTER属性３７４は、戻されたデータレコードの数の指示を提供する。属性値の最後の「＋」は、現在のXMLページによって戻されたものでない、更なるレコードがあることを示す。全てのデータを得るための方法の一つは、ROW_COUNTER属性に関してチェックし、それが「＋」を含んでいるかどうかを見る。もし含んでいるならば、ROW_COUNTER属性がもはや「＋」を備えない終わりまで、前のデータリクエストをウェブエンジンに繰り返し送信する。
【００７４】
HTTPリクエストにSEWSetRowCntパラメータを設定することにより単一のリクエストを介して大量のローを検索することができる。パラメータによって提供された大量のローに関係するデータが検索され、XMLフォーマットに変換され、XMLページに添付される必要があるので、大きな値は遅延したレスポンスを生成するため、このパラメータを設定する際の使用は注意すべきである。
【００７５】
HTTPルートに加えて、データだけを戻すXMLページはまた、下位のビジネスコンポーネント（即ち、オブジェクトマネージャ５４に対応するビジネスコンポーネント）によって提供された方法に対するコールを介してＳｉｅｂｅｌＤａｔａＢｅａｎ及びＡｃｔｉｖｅＸコントロールを介して検索されうる。従って、特定のカラムが直接活性化される、この方法は、特定のデータに戻ることに限定する。
【００７６】
ＲＳ＿ＨＥＡＤＥＲカラム
次の重要なＸＭＬエレメントは、ＲＳ＿ＨＥＡＤＥＲエレメント３７６である。図１８により詳細に示したように、このエレメントは、下位データレコードに関する詳細なカラムを提供する１又はそれ以上のＣＯＬＵＭＮエレメント３７８を含む。各カラムエレメントは、ＮＡＭＥ属性３７９、ＤＩＳＰＬＡＹ＿ＮＡＭＥ属性３８０を含み、それぞれリストアプレットのカラムの名前とディスプレイ名についての情報を提供する。ＤＡＴＡＴＹＰＥ属性３８１は、カラムがどんなデータタイプの種類を表示するのかを記述する。ＤＡＴＡＴＹＰＥがテキストタイプのデータに対応するならば、ＴＥＸＴ＿ＬＥＮＧＴＨ属性３８２が提供される。例えば、電話番号は「phone」のデータタイプを有し、電子メールは「email」または「character」のデータタイプを有する。
【００７７】
REQUIRED属性３８３は、カラムが要求されたカラムか否かどうかを定義する。この情報は、新しいレコードを生成するときに有用である。音声アプリケーションが、フィールド情報がこの属性で見られることにより強制されているかどうかを判断することができる。FORMAT属性３８４は、音声アプリケーションがデータのフォーマットを判断するのに使用することができる重要な属性である。Dateデータタイプに関して、この属性は、（例えば、図１８の中央カラムエレメントに示したような）受け入れられるDateフォーマットを包含する。歳入及び、フィールドに関する他の価格に関して、この属性はドル量に関するフォーマットを有する。音声アプリケーションは、ユーザに戻る右の情報を得又は表示するためのこれを使用することができる。
【００７８】
CALCULATED属性３８５は、カラムが、数学的な色魔他は同様な計算を使用して計算された値を包含するものではなくデータベースカラムでないことを特定する。FIELD属性３８６は、カラムを参照するFIELDエレメントの名前を提供する。（下で記載する）FIELDエレメントは、実際のデータを包含する。典型的には、音声アプリケーション１４Aは、データの更なる情報を得るためにフィールド及びカラムエレメントの両方の使用をすることができる。READ_ONLY属性３８７は、カラムが編集可能化又は読取のみのいずれかであるかを特定する。
【００７９】
ＲＳ＿ＤＡＴＡ，ＲＯＷ，ＦＩＥＬＤ
次に重要なＸＭＬエレメントは、ＲＳ＿ＤＡＴＡエレメント３９１である。このエレメントは、実際のデータを保持するＸＭＬタグを包含する。ＲＳ＿ＤＡＴＡエレメントの例を図１９に示す。
【００８０】
ＲＯＷエレメント３９２は、属性ＲＯＷ＿ＩＤにおけるデータのローＩＤを識別する。この情報は、そのローの詳細な情報を得、データの特定のローに関する照会をする際に非常に有用である。例えば、音声アプリケーションが、コンタクトスクリーンの特定のロー、例えば12-WFJ4Dを必要とするならば、XMLリクエストは、以下のようなものを見つけうる：
http://localhost/sales/start.swe?
SWECmd=InvokeMethod&SWEMethod=DrillDown&SWEView=Visible+Contact+List+View&SWESetMarkup=XML&SWEApplet=Contact+List+Applet&SWERowID=12-WFJ4D&SWEField=Last+Name
【００８１】
リスティング２
SELECTED属性３９３は、特定のローがユーザインターフェースで選択されることを示す。FIELDエレメント３９４は、ローに関する実際のデータを保持する。各FIELDエレメントは、エレメントに対応するビジネスコンポーネントフィールドの名前を提供するNAME属性３９５を含む。この情報は、特定のローIDを呼んでくる間、照会するフィールドが何かを判断するのに有用である。リスティング２のURLにおいて、SEWFieldパラメータは、コンタクトのLast Name(姓)で照会される。各FIELDエレメントはまた、フィールドがマッピングされるカラムの名前に対応するVARIABLE属性３９６値を含む。
【００８２】
データに関する詳細な情報の検索
上述の通り、RS_HEADERセクションは、各データカラムについて詳細な情報を保持する。例えば、特定のカラムが電話番号を保持しているかどうか、音声アプリケーションが検出する必要があるならば、（RS_HEADERセクション下の）カラムエレメントのDATATYPE属性を探すべきであり、FIELDエレメントからデータを得る。カラムエレメントのFIELD属性は、実際のデータを保持するFIELDエレメントに対するリンクを与える。この情報が定数であるように生成されないとき、データタイプ検出に関するRS_DATAセクションのフィールド属性を使用しないように勧告される。この場合ではフィールド名であるオブジェクト定義が変更されるならば、これは、変更されうる。
【００８３】
モバイルコネクタを使用した音声アクセスプロセス
図２０のフローチャートを参照すると、ここで記載されたシステムに関するソフトウェア及びハードウェアアーキテクチャに関する音声データアクセスプロセスが、音声アプリケーションユーザインターフェースを介して音声リクエストをユーザが表現するブロック４２０で始まる。一般的に、音声アプリケーションユーザインターフェースオペレーションは、音声インフラストラクチャ２０を介して大きな部分で利用可能であり、それ故、上述したように本発明の範囲外である：下で議論するブロック４３４及びブロック４２０のオペレーションは、音声アクセスがどのように実行されるかを説明するためのフロー茶とに含まれる。
【００８４】
ブロック４２２では、音声アプリケーションは、音声リクエストをＸＭＬクエリーに変換し、ＳｉｅｂｅｌＣＯＭ又はＪａｖａ（登録商標）インターフェースを介して、又は、ＨＴＴＰを使用したウェブサーバ１１２を介してＸＭＬドキュメント３２としてクエリーをウェブエンジン１０６に送信する。例えば、ユーザが、「Ｊｏｎｅｓ」という姓を有するコンタクトアカウントエントリアプレット内から特定のコンタクトに関する情報を検索することを望み、適用可能なスタイルシートが、ＨＴＴＰを使用した「Sales_Accounts_stylesheet」と名付けられると仮定すると、ＸＭＬクエリーは以下のようなものを探す：
http://localhost/applicationname/start.swe?
SWECmd=GotoView&SWEView=Sales+Accounts&SWESetMarkup=XML&SWEApplet=Contacts+Account+Entry+Applet&SWEDataOnly=TRUE&SWEXslStyleSheet=Sales_Accounts_stylesheet&Last+Name=Jones
【００８５】
リスティング３
前述の例又は上で議論した他の例又では、XMLクエリーは、Siebelウェブエンジンコマンドの連結されたリスト、データが必要とされ、データがリクエスタに戻るように提供されうるSiebelウェブエンジンを伝える方法及び引数を有する。一般的に、ウェブエンジンは、スクリーン、ビュー、アプレット及びカラム、又は、データがアクセスされるフィールド、のようなリクエストデータに関する案内コンテキストを知るのに必要である。案内コンテキストデータに加えて、入力XMLドキュメントはまた、戻されたデータをフィルタリングするように適用されうるスタイルシートの名前を含むべきである。ある実施形態では、これは、SWEXｓｌStyleSheet引数として提供される。上述のある実施形態では、スタイルシートは、所定のアプリケーションで各ビューに関して生成される。その結果、所望の案内コンテキストのビューに対応するスタイルシートは、出力XMLドキュメントのデータをフィルタリングするのに使用されるべきである。
【００８６】
XMLクエリを検索する際、ブロック４２４では、ウェブエンジンは、データが、rowedのような、特定のデータ位置情報に沿って、アクセスされうるコトに対応する案内コンテキストを識別するためにXMLドキュメントを解析する。次いで、この情報は、リクエストをサービスするようにオブジェクトマネージャに渡される。次いで、オブジェクトマネージャは、適当なSQLクエリーを公式化し、データベース３８に対してSQLクエリーを実行し、ブロック４２６において、クエリの結果セットに対応するデータをウェブエンジンに戻す。ウェブエンジンは、入ってくるXMLクエリに提供される適用可能なSiebelウェブエンジンパラメータの一部に基づいてブロック４２８で結果セットに対応するXMLドキュメントを生成する。例えば、SWEDataOnly引数が真のセットであるならば、ウェブエンジンは、結果セットに対応するUIコンテンツの全てをフィルタアウトする。
【００８７】
この点で、モバイルコネクタは、現在のリクエストに関する音声利用可能なカラム又はフィールドに関係するデータを除いた全てのデータをフィルタアウトするように、特定のスタイルシートをＸＭＬドキュメントに適用する。例えば、ＬＩＳＴ３のＸＭＬクエリに応答して、ウェブエンジンは、「Ｊｏｎｅｓ」の姓を備えた全てのコンタクトに関するコンタクト情報の全てを包含するＸＭＬドキュメントを生成する。
【００８８】
この点で、次いで、モバイルコネクタは、現在の案内コンテキストに関して音声利用可能であるように選択されていないカラム及び／又はフィールドに対応する全てのデータをフィルタアウトするように、識別されたスタイルシートをＸＭＬドキュメントに適用する（即ち、現在のスクリーン、ビュー、アプレット。スタイルシートがＸＳＬＴスタイルシートであるので、アルゴリズムを処理する適当なＸＳＬＴスタイルシートを実行するいくつかの周知の予め書かれたソフトウェアモジュールのうちのひとつが利用されうる）。
【００８９】
上述のように、ＸＳＬＴスタイルシートを介して変換されて送信されたオリジナルＸＭＬドキュメントはソースツリーであり、結果変換された（即ち、フィルタリングされた）ドキュメントは、結果ツリーを有する。結果ツリーを生成するために、アルゴリズムは、スタイルシートに包含された条件付きのロジックに基づいたＸＳＬＴスタイルシートをトラバースし、対応するコピーエレメントが遭遇するとき、ソースツリーから結果ツリーにデータをコピーする。
【００９０】
例えば、図１４Ａ乃至Ｃのスタイルシートに戻ると、アルゴリズムは、ＸＳＬＴヘッダ２５３で始まり、適当なブランチ条件を使用して種々のスタイルシートテンプレートを介して連続的に続く。遭遇した最初のスタイルシートテンプレートは、アプリケーションテンプレート２５４であり、ソースツリードキュメントの「ＡＰＰＬＩＣＡＴＩＯＮ」レベルに対応する。上述のように、スタイルシートが適用された後に、ウェブエンジンから出力されるＸＭＬドキュメントは、図１６に示したようなものと同様なフォーマットを有する。ソースツリードキュメントは、同様なフォーマットを有する。従って、「ＡＰＰＬＩＣＡＴＩＯＮ」レベルは、<APPLICATION ...>タグによって識別される。ブロック２６０では、アプリケーションレベルに関係する全ての値が、結果ツリードキュメントにコピーされる。例えば、ＡＰＰＬＩＣＡＴＩＯＮ  ＮＡＭＥに関係するデータは、結果ツリーにコピーされる。
【００９１】
次いで、ブロック２６２では、スクリーンレベルがソースツリーに存在するか、スクリーンテンプレート２６８がコードブロック２６４で呼び出されるかどうかを判断する。これにより、処理をスクリーンテンプレート２６８にジャンプさせることができる。
【００９２】
アプリケーションテンプレート２５８と同様の仕方で、スクリーンテンプレートにおいて、スクリーンレベルに関係する全ての値は、ブロック２６６で結果ツリーにコピーされ、ビューレベルがソースツリーに存在するかどうかを判断するために判断ブロック２６８でドキュメンテーションがなされる。図１６で示したものと同様な構造を有するソースツリーに関して、判断ブロック２６８の答が真であるとき、ビューテンプレート２７２をブロック２７０で呼び出すことができる。
【００９３】
ビューテンプレート２７２では、多少面白いものが得られる。選択されたスタイルシートが現在のビューに対応しているので、全てのビュー情報、即ちビュー名及びタイトル、がブロック２５７で結果ツリーにコピーされる。次いで、処理は、アプレットテンプレートルーティングセクション２７４に流れ、判断ブロック３３７に対応するテスト状況が評価される。現在の例では、アプレットはContactAccountEntryAppletであり、判断ブロック３４１で定義されたテスト状況に対応する。判断ブロック３４１に関して真の結果を返すとき、処理をコンタクトアカウントエントリアプレットテンプレート２７８にジャンプさせることができる。
【００９４】
このテンプレートの開始で、全てのアプレット情報がブロック２８２の結果ツリーにコピーされ、ソースツリーがリストレベルを組むかどうか判断する、判断ブロック２８４に導かれる。次いで、コンタクトアカウントエントリアプレットリストテンプレート２８８がブロック２６８で呼び出される。コンタクトアカウントエントリアプレットリストテンプレートでは、リストレベル（これは、通常は<LIST>及び</LIST>タグを含む）に関係するデータは、結果ツリーにコピーされ、判断ブロック３２０に対応するＲＳ＿ＤＡＴＡテスト状況は遭遇される。フィールドデータが探されるときの場合である、この状況が真ならば、ブロック３２４を介して、コンタクトアカウントエントリアプレットＲＳ＿Ｄａｔａテンプレート２９６に処理をジャンプさせることができる。このテンプレートでは、ソースツリーのＲＳ＿ＤＡＴＡレベルに関係する全てのデータをブロック３３６で結果ツリーにコピーし、次いで、ローレベルがそのソースツリーに存在するかどうか判断ブロック３３８で判断させる。従って、コンタクトアカウントエントリアプレットローテンプレート２９７は、ブロック３４０で呼び出され、スタイルシート処理を、コンタクトアカウントエントリアプレットローテンプレートに進行させることができる。
【００９５】
このテンプレートでは、ソースツリーのローレベルに関係する全ての値がブロック３４２で結果ツリーにコピーされ、フィールドレベルgasオー素ツリーに存在するかどうかを判断ブロック３４４で判断する。従って、コンタクトアカウントエントリアプレットフィールドテンプレート３４８は、ブロック３４６を介して呼び出される。
【００９６】
コンタクトアカウントエントリアプレットフィールドテンプレートは、遭遇した以前のテンプレートとは異なっている。全てのデータを結果ツリーにコピーするというよりも、コードブロック３４８のロジックは、「姓」、「名」、「仕事電話番号」、「番地住所１」、「番地住所２」、「市」、「州」及び「国」フィールドに関係するソースツリーのデータを結果ツリーにコピーするといってよく、フィールドテンプレート親アプレットの全ての他のフィールドのデータは、結果ツリーにコピーされず、そしてフィルタアウトされる。
【００９７】
図１２のアプリケーション表現では、アカウントリストアプレット２７５に関係するデータを検索したいと仮定する。更なる情報アカウントエントリアプレット２７６であるように、アプリケーション、スクリーン、及びビューがこのアプレットと同じであるので、処理は、コンタクトアカウントエントリアプレットリストテンプレート２８８に達するまで、上述したのと同じように処理される。この例では、判断ブロック３２０の結果は偽であり、ロジックは、判断ブロック３２２に進み、リストアプレットに対応するソースツリーがRS_HEADERレベルを含むので、真の結果を生成する。その結果、スタイルシート処理は、コードブロック３２６を介してアカウントリストアプレットRS_HEADERテンプレート２９２にジャンプし、RS_HEADERレベルに関係する値は、ブロック３２８においてソースツリーから結果ツリーにコピーされる。次いで、判断ブロック３３０では、カラムレベルがソースツリーに存在するかどうか判断される。この状況の結果が真であれば、処理はアカウントリストアプレットカラムテンプレート２９４に最終的にジャンプすることができ、Nwe，Name、及びMain Phone#カラムに関係するデータを結果ツリーにコピーするようにすることができるだけのフィルターを包含する。
【００９８】
音声更新サポート
音声更新サポートモジュールの目的は、音声アプリケーションに関する文法更新をサポートすることである。文法は、音声インフラストラクチャ及び／又は音声アプリケーションの一部であるスピーチ認識器及び他の文法プロセッサによって聞かれる、ワード又はワードのパターンである。スピーチ認識器は、ユーザが話したことを知るように文法を使用し、次いで、情報を更に処理するために音声アプリケーションにパスする。ある態様では、文法フィールドは、リストアプレットで定義されたリストカラムの基本的なサブセットである。例えば、音声アプリケーションがアカウントを探す状態であるとき、音声ユーザが話したことを理解する文法として、彼又は彼女がHTMLクライアントを介してエンタープライズデータシステムに接続されるならば、音声ユーザがアカウント名を言うことができ、スピーチ認識器が、音声ユーザが標準的なビューであるアカウント名リストを使用する。次いで、音声アプリケーションは、リクエストをフォーマットするためにこのアカウント名を使用し、そのアカウントの詳細な情報を得るために、Siebelウェブエンジンにそれを送信する。
【００９９】
このパラダイムをサポートするために、種々のデータカラムに対応する文法データは、音声アプリケーション１４Aにアクセス可能である。好ましくは、これは、モバイルコネクタ（又は、データベース３８に直接バックエンド接続されたような、他のアクセス手段）を介してエンタープライズデータシステムから、これらのデータからむに関係するデータを周期的に検索し、文法データとして音声インフラストラクチャ２０及び／又は音声アプリケーションによって利用可能である仕方で検索されたデータをストアすることにより行われる。例えば、文法データは、（音声アプリケーションに対する）ローカルデータベースにストアされる。文法データをストアし、アクセスする特定の実装詳細は、音声アクセスシステムの技術分野の当業者と似ており、本発明の範囲の外である。
【０１００】
音声更新サポートモジュール１０４は、XMLフォーマットのユーザデータを音声アプリケーションに出すことを通してダイナミック文法更新をサポートする。出力は、XMLクエリーリクエストに特定されたアプレット及びビューに基づいてウェブエンジン１１０によって生成され、文法として要求されない情報をフィルタアウトするように文法スタイルシートを使用する。文法スタイルシートは、この例では、アプリケーション表現の文法更新利用可能カラムにおける選択を除いて、音声スタイルシートを参照して、上で議論したようなものと同じような仕方で生成され、VoiceEnableカラムにおける値ではなく使用される。文法に関して使用される（「デルタ」データとも呼ばれる）新しい／更新されたデータであり、所望ならばデルタ変更を検索するならば、音声アプリケーションは周期的にチェックすることができる。
【０１０１】
文法情報の検索は、更新が適用されるアプレットのリストカラムのサブセットのデータを得ることを意味する。これは、GetVoiceGrammerを新しいSWE法で実行され、特定のビュー及びアプレットに基づいたデルタデータと、周期的な更新がそのビュー及びアプレットに関して実行される最後の更新時間とを検索し、文法に関係するだけのデータの出力をフィルタリングする適当な文法スタイルシート（例えばビューに関係する）を使用する。
【０１０２】
ある実施形態では、音声更新サポートに関するウェブエンジン１０６に関係するリクエストは、以下の情報を含むべきである：
a.ＳＷＥコマンド名、必須
a.ＳＷＥ方法名、必須
b.ビュー名、必須
c.アプレット名、必須
d.最後の更新時間、任意
例えば、音声アプリケーションは、パラメータを備えたコマンドをウェブエンジンの下に送信する：
SWECmd=InvokeMethod
SWEMethod=GetVoiceGrammer&
SWEView=AccountListView&
SWEApplet=AccountListApplet&
LastUpdate=01/15/2001
ここで、
GetVoiceGrammerはSWEコマンドのセットにおける新しいコマンドであり、
SWEViewは、ビュー名を特定し、
SWEAppletは、定義された文法フィールドを備えたアプレット名を特定し、
LastUpdateは、デルタが基づく最後の更新時を特定する。
【０１０３】
SWEは、２００１年１月１５日から加えられ又は更新されているアカウント名のリストを戻す。最後の更新パラメータの情報が提供されなければ、音声更新サポートモジュールは、ビュー及びアプレットに関係する全ての文法データを戻す。
【０１０４】
ある実施形態では、出力は、通常実装される同じ出力DTD（データタイプ定義）をXMLフォーマットにあるが、部分UI情報だけを包含する。処理中エラーの場合、出力は、<ERROR>タグにエラーメッセージを含む。
【０１０５】
図２１のフローチャートを参照すると、典型的な文法更新プロセスが以下のように進められる。ブロック４４０では、音声アプリケーションが、ビュー及びアプレットのどちらが文法データを更新することを要求するのかを判断し、これらのデータを要求する１又はそれ以上のXMLクエリーを公式化し、COM又はJava（登録商標）インターフェースを介して、又は、HTTPを使用したウェブサーバを介してウェブエンジンに送信する。各リクエストが、もし適用可能であれば最後に更新された情報及び適用されるべき文法スタイルシートの名前で成し遂げられる。
【０１０６】
XMLクエリリクエストの検索に応じて、ウェブエンジンは、ブロック４４２においてXMLを解析し、リクエストをサービスするために適当なデータをオブジェクトマネージャにパスする。次いで、オブジェクトマネージャは、ブロック４４４で、リクエストに対応する結果セットをウェブエンジンに戻す。上で議論したのと同じ仕方で、ウェブエンジンは、ブロック４４６で、結果セットに対応するXMLソースツリードキュメントを生成し、文法スタイルシートによって定義された以前に更新されたマークされたカラム及びフィールドに関係するデータだけを含むXML結果ツリーを作り出すブロック４４８において、特定の文法スタイルシートを閲覧する音声更新サポートコンポーネントによってフィルタリングされる。次いで、ウェブエンジンは、ブロック４５０で、音声アプリケーションに戻るように、XMLドキュメントとしてフィルタリングされたデータを送信し、音声アプリケーションは、ブロック４５２においてその文法データベースを更新する。
【０１０７】
例示のシステムインフラストラクチャ
ここで記載された発明の種々の実施形態によって実行される例示のシステムインフラストラクチャ５００を、図２２に示す。システムインフラストラクチャ５００のエンタープライズデータシステムサイドは、周知のN階層アーキテクチャを使用し、１又はそれ以上の物理マシンが、アーキテクチャにおける各階層を占める。これらの階層は、データベースサーバ５０２によって表されるデータベース階層、アプリケーションサーバ５０４によって表されるアプリケーションサーバ階層、及び、ウェブサーバ５０６によって表されるウェブサーバ階層を含む。N階層アーキテクチャの各マシンは、ローカルエリアネットワーク（LAN）５０８を介した通信でリンクされる。
【０１０８】
データベースサーバ５０２は、データベース３８をホストするRBBMS（relational database Management system：リレーショナルデータベース管理システム）データベースサーバソフトウェアコンポーネントを稼働するように使用される。RDBMSデータベースサーバソフトウェアは典型的には、オラクル（オラクルエンタープライズ８ｉ及び９ｉ）、マイクロソフト（ＳＱＬサーバ７又は２０００）、IBM（ＤＢ２）、サイベース、又はインフォミクスを含む種々のベンダのうちの一つによって提供されうる。アプリケーションサーバ３６に対応するブロックで表された全てのコンポーネントは、アプリケーションサーバ階層で稼働することができる。任意に、ウェブエンジン１１０に関係するソフトウェアの一部又は全部はウェブサーバ１１２で稼働することができる。
【０１０９】
音声アプリケーションサイドでは、アーキテクチャは、音声アプリケーション１４Ａが稼働する音声アプリケーションサーバ５１０を含む。音声アプリケーションサーバは、ＬＡＮ、ＷＡＮ（ワイドエリアネットワーク）のようなコンピュータネットワーク５１２を介して、又はインターネットを介してウェブサーバ５０８にリンクされる。一般的に、音声アプリケーションサーバは、ＬＡＮを介して音声インフラストラクチャ２０の一部である別のサーバに接続され、同じマシンが、音声インフラストラクチャオペレーションの両方、及び、音声アプリケーションをサービスするために使用されうる。ＳｉｅｂｅｌＣＯＭ又はＪａｖａ（登録商標）インターフェース１１０が実装されるならば、このソフトウェアのクライアントサイドは典型的には、音声アプリケーションサーバ５１０で稼働する。ウェブサーバ１１２が使用されるならば、このコンポーネントに対応するソフトウェアは、ＬＡＮ（図示せず）を介して音声アプリケーションサーバにリンクされた別のウェブサーバマシン又は音声アプリケーションサーバで稼働することができる。
【０１１０】
図７を参照して上で議論したように、ある実施形態では、リファレンス又はアプリケーションベンダＧＵＩ１０８は、コンピュータネットワーク５１２を介してクライアント５１４にサービスされるウェブページによってサポートされる。変形実施形態では、アプリケーションベンダは、Ｃ，Ｃ＋＋又はＪａｖａ（登録商標）のような相互作用グラフィカルユーザインターフェースの生成をサポートする言語に基づいてそれら自身のＧＵＩ（１０８）を生成し、ＧＵＩコンポーネントは、ＬＡＮ又はＷＡＮ接続（図示せず）を介してアプリケーションサーバ５０４に直接接続される。
【０１１１】
前述の実施形態は、音声アクセスシステムに関する本発明を使用した適切な特定の詳細を開示する。これは限定されるように意味しない。例えば、システムのアーキテクチャは、外部アプリケーション又はシステムが、エンタープライズデータシステムのような、データシステムからフィルタリングされたデータにアクセスさせることができ；上述の音声アクセスシステム実施形態は、システムの特定の実装に対応し、フィルタリングされたデータは、音声アクセス目的に使用される。フィルタリングされたデータがデータシステムから検索されるように望まれている例では、音声可能であるべきＵＩオブジェクトを選択するのではなく、システムにより、ユーザが、「通過」可能にされたＵＩオブジェクトを選択することができ（即ち、利用可能なＵＩオブジェクトを通過させることに関係するデータが、データフィルタメカニズムを通過し）、対応する予約データが、上で議論したのと同じ仕方で生成される。係る予約データの例示的な結果を図１２Ａに示す。外部アプリケーション又はシステムの見地から、モバイルコネクタを介したデータシステムと相互作用するオペレーションは、実質的に同一であることが明らかであり、フィルタリングされたデータは、音声アクセスシステム又は他の目的に結局使用される。
【０１１２】
データ更新に関しても同じである。音声アクセスシステムで使用する構築及び更新する文法に関して上で議論した例示的な実装で開示された原理及び教示は、他のデータ構築及び実装の更新に適用することができる。係る例では、システム又はアプリケーションベンダによって提供されるユーザインターフェースは、更新されるデータのタイプを反射すべきである。例えば、図１３に示したＧＵＩでは、「文法の予約」ラベルは、「更新の予約」又は、更新に関して選択されたユーザの知らせる同様な何かと置換することができる。従って、予約データは、図１２Ａの「更新可能」カラムに包含されたデータに対応する。
【０１１３】
例示のファイルサーバコンピュータシステム
図２３を参照すると、一般的な従来のコンピュータサーバ６００を図示し、本発明の実施に伴い適切に使用される。例えば、コンピュータ６００は、オブジェクトマネージャ５６、データマネージャ５８，ウェブエンジン１０６，音声更新サポート１０４、及びメタデータビルダ１０２を含むコンピュータ及びアプリケーションサーバソフトウェアモジュールを稼働させるのに使用される。同様なアーキテクチャの好ましい別のコンピュータサーバが、ホストデータベース３８に使用されうる。同様に、同様のアーキテクチャの好ましい別のコンピュータサーバが、ウェブサーバ１１２に使用することができる。これらの目的に適切なコンピュータシステムの例としては、ＵＮＩＸ（登録商標）ベース及びＬＩＮＵＸベースオペレーティングシステムで稼働するスタンドアローン及びエンタープライズクラスサーバ、並びに、システムを含む。
【０１１４】
コンピュータサーバ６００は、当業者に一般的に周知である１又はそれ以上のプロセッサ６０４及びメモリ（例えば、ＤＩＭＭ又はＳＩＭＭ）６０６を含む、適当な集積回路で占められたマザーボード（図示せず）が取り付けられたクラス６０２を含む。モニタ６０８は、コンピュータサーバで稼働するプログラムモジュール、及び、ソフトウェアプログラムによって生成されるグラフィック及びテキストを表示することを含む。マウス６１０（又は他のポインティングデバイス）は、シャーシ６０２の裏にシリアルポート（又はバスポート又はＵＳＢポート）に接続することができ、マウス６１０からの信号は、ディスプレィでカーソルを制御するようにマザーボードに運ばれ、コンピュータで実行されるモジュール及びソフトウェアプログラムによってモニタ６０８に表示されたテキスト、メニューオプション、及びグラフィックコンポーネントを選択することができる。更に、キーボード６１２は、コンピュータで稼働するソフトウェアプログラムの作動に影響を及ぼすコマンド及びテキストのユーザエントリのためにマザーボードに接続される。コンピュータサーバ６００はまた、ネットワークインターフェースカード（ＮＩＣ）６１４又は、ネットワーク６１６を介してサーバがデータを送受信することができるようにマザーボードに組み込まれた均等な回路を含む。
【０１１５】
本発明に対応するファイルシステムストレージは、複数のハードディスク６１８を介して実装され、ＳＣＳＩカード６２２又は、マザーボードに組み込まれた均等のＳＣＳＩ回路を介してアクセスされることができる外部ディスクアレイ６２０にストアされた複数のハードディスクを介して、及び／又は、シャーシ６０２内の内部にストアされた複数のハードディスク６１８を介して実装される。任意には、ディスクアレイ６２０は、適当なファイバチャネルインターフェースカード（図示せず）又はビルトイン回路を使用したファイバチャネルリンクを使用してアクセスすることができる。
【０１１６】
コンピュータサーバ６００は、一般的には、ディスクで実行可能ファイル及びデータがメモリ６０６、及び／又は、ハードディスク６１８のストレージ内に転送するために読み込まれるようにＣＤ−ＲＯＭディスクが挿入される、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）ドライブ６２４を含む。同様に、フロッピー（登録商標）ドライブ６２６は、係る目的で提供される。光記録媒体又はＤＶＤドライブのような他のマスメモリストレージデバイスも含まれる。上述されたような本発明の機能をプロセッサ６０４が実行することができるソフトウェアプログラムを包含するマシン命令は、典型的にはフロッピィ（登録商標）ディスク６２８又はＣＤ−ＲＯＭ６３０（又は他のメモリ媒体）で分散され、プロセッサ６４０によって実行することができるメモリ６０６内にロードされるまで１又はそれ以上のハードディスク６１８にストアされる。任意には、マシン命令は、キャリアウェーブファイルとしてネットワーク６１６を介してロードされることもできる。
【０１１７】
本発明を、それを実施する好ましい形態及びその修正と一緒に記載してきたが、多くの他の修正は特許請求の範囲の範囲内の発明になることは当業者に理解される。従って、本発明の範囲は、上述の仕方に限定されず、特許請求の範囲を全体的に参照して判断されるべきである。
【０１１８】
付録
表１は、ＨＴＴＰ ＸＭＬリクエストを介してＳｉｅｂｅｌエンタープライズデータシステムにアクセスすることができるSiebelウェブエンジン（SWE）コマンドの例示的なセットを提供する。表２は、HTTP XMLリクエストを介してＳｉｅｂｅｌエンタープライズデータシステムにアクセスするように使用することができる種々のＳＷＥ方法を提供する。表３は、戻されたＸＭＬドキュメントのフォーム及びコンテンツを制御するためのＨＴＴＰリクエストにおける方法及びＳＷＥコマンドに関して提供されるパラメータを含む。
【０１１９】
表１
2005518119.tif 000003
【０１２０】
表２
2005518119.tif 000004
2005518119.tif 000005
【０１２１】
表３
2005518119.tif 000006
【図面の簡単な説明】
【０１２２】
【図１】モバイルコネクタインターフェースがサードパーティアプリケーションをエンタープライズデータシステムにアクセスさせることができる、本発明のある実施形態によるハイレベルアーキテクチャを図示する概略ブロック図である。
【図１Ａ】エンタープライズデータシステムに対して音声アクセスを可能にするモバイルコネクタインターフェースの実施形態のアーキテクチャを図示した概略ブロック図である。
【図２】本発明のある実施形態に関するマルチレイヤソフトウェアアーキテクチャを図示した概略ブロック図である。
【図３】図２のマルチレイヤソフトウェアアーキテクチャの詳細を更に図示した概略ブロック図である。
【図４】マルチレイヤソフトウェアアーキテクチャに関する種々のオブジェクトマネージャオブジェクトの詳細を更に図示した概略ブロック図である。
【図５】マルチレイヤソフトウェアアーキテクチャで使用されるビジネスコンポーネントの詳細を更に図示した概略ブロック図である。
【図６】図１のアーキテクチャの詳細を更に図示する概略ブロック図である。
【図７】本発明のある実施形態の音声メタデータビルダコンポーネントの詳細を図示する概略ブロック図である。
【図８】本発明のある実施形態により使用されるオペレーション及びロジックを図示したフローチャートである。
【図９】リポジトリファイルの例示的な部分に対応するコードリスティングである。
【図１０】本発明のある実施形態によるエンタープライズデータシステムにアクセスすることができるユーザインターフェースのユーザインターフェースヒエラルキーを図示したブロック図である。
【図１１】セールスアカウントビューに対応する例示的なユーザインターフェースの表示である。
【図１２】図１１のセールスアカウントビューに対応するアプリケーション表示と、対応する予約データの一部を示す。
【図１２Ａ】予約データが、通過可能ＵＩオブジェクトと、更新可能ＵＩオブジェクトに関係する、実相に対応する図１２のアプリケーション表現を示す。
【図１３】アドミニストレータが、音声可能なＵＩオブジェクトを選択し、文法更新サポートをアドミニストレータに提供することができるグラフィカルユーザインターフェースウィンドウの表示である。
【図１４Ａ】図１４Ａ乃至Ｃは、音声可能フィールドに関係しないデータをフィルタアウトするように使用される例示のスタイルシートに対応する統合されたフローチャートとスタイルシートレイアウト定義とのを集合的に組み合わせる。
【図１４Ｂ】図１４Ａ乃至Ｃは、音声可能フィールドに関係しないデータをフィルタアウトするように使用される例示のスタイルシートに対応する統合されたフローチャートとスタイルシートレイアウト定義とのを集合的に組み合わせる。
【図１４Ｃ】図１４Ａ乃至Ｃは、音声可能フィールドに関係しないデータをフィルタアウトするように使用される例示のスタイルシートに対応する統合されたフローチャートとスタイルシートレイアウト定義とのを集合的に組み合わせる。
【図１５】スタイルシートを生成するとき、本発明のある実施形態により実装されるオペレーション及びロジックを図示するフローチャートである。
【図１６】本発明のある実施形態による音声アプリケーションに戻されるＸＭＬ出力ドキュメントの典型的なフォーマットを図示するＸＭＬリスティングである。
【図１７】ＸＭＬ出力ドキュメントの種々の階層レベルを図示する、図１６のＸＭＬリスティングに対応するフォーマットを有するアウトラインＸＭＬリスティングである。
【図１８】ＸＭＬ出力ドキュメントのＲＳ＿ＨＥＡＤＥＲセクションの詳細を図示したＸＭＬコード部分リスティングである。
【図１９】ＸＭＬ出力ドキュメントのＲＳ＿ＤＡＴＡセクションの詳細を図示したＸＭＬコード部分リスティングである。
【図２０】データに関する音声リクエストを処理するとき、本発明のある実施形態により使用されるオペレーション及びロジックを図示するフローチャートである。
【図２１】文法更新を提供するとき、本発明のある実施形態により使用されるオペレーション及びロジックを図示するフローチャートである。
【図２２】本発明のある実施形態を実装する例示的なハードウェアインフラストラクチャを図示する概略ブロック図である。
【図２３】ここに記載した本発明の実施形態を実装するために図２２のハードウェアインフラストラクチャにおいて種々のコンピュータサービスに関して使用されうる例示的なコンピュータサーバシステムの種々のコンポーネントを図示した概略図である。
【図１】
2005518119.tif 000007
【図１Ａ】
2005518119.tif 000008
【図２】
2005518119.tif 000009
【図３】
2005518119.tif 000010
【図４】
2005518119.tif 000011
【図５】
2005518119.tif 000012
【図６】
2005518119.tif 000013
【図７】
2005518119.tif 000014
【図８】
2005518119.tif 000015
【図９】
2005518119.tif 000016
【図１０】
2005518119.tif 000017
【図１１】
2005518119.tif 000018
【図１２】
2005518119.tif 000019
【図１２Ａ】
2005518119.tif 000020
【図１３】
2005518119.tif 000021
【図１４Ａ】
2005518119.tif 000022
【図１４Ｂ】
2005518119.tif 000023
【図１４Ｃ】
2005518119.tif 000024
【図１５】
2005518119.tif 000025
【図１６】
2005518119.tif 000026
【図１７】
2005518119.tif 000027
【図１８】
2005518119.tif 000028
【図１９】
2005518119.tif 000029
【図２０】
2005518119.tif 000030
【図２１】
2005518119.tif 000031
【図２２】
2005518119.tif 000032
【図２３】
2005518119.tif 000033
【国際調査報告】
2005518119.tif 000034