(57)【要約】  ロジックエンジンと離間したサーバ上で実行するロジックエンジン用リモートカスタマイゼーションモジュールは、ロジックエンジンと通信しサーバ上で実行するアプリケーションと通信するように構成されたコミュニケーションインターフェイスを備える。また、このモジュールは、コミュニケーションインターフェイスを介してロジックエンジンからのデータ要求を受信するように構成されたロジックエレメントを備える。ロジックエレメントは、この要求を満たすことが必要なデータを抽出するために、アプリケーションを参照するように構成されている。また、ロジックエレメントは、レスポンスデータを生成するために抽出されたデータを処理し、このレスポンスデータをロジックエンジンに送信するように構成されている。
2010521723.tif 000002
【特許請求の範囲】
【請求項１】
ロジックエンジンと離間したサーバ上で実行する前記ロジックエンジン用リモートカスタマイゼーションモジュールであって、
前記ロジックエンジンと通信し、前記サーバ上で実行するアプリケーションと通信するように構成されたコミュニケーションインターフェイスと、
前記コミュニケーションインターフェイスを介して、前記ロジックエンジンから入力されるデータ要求を受信するように構成され、さらに、前記要求を満たすことが必要なデータを抽出するために、前記アプリケーションを照会するように構成されているロジックエレメントと、を備え、
前記ロジックエレメントは、レスポンスデータを生成するために前記抽出されたデータを処理し、前記レスポンスデータを前記ロジックエンジンに送信するように構成されているリモートカスタマイゼーションモジュール。
【請求項２】
ＡＰＩを備えた請求項１に記載のモジュール。
【請求項３】
前記ＡＰＩはウェブサイト用コード内にコード化されている請求項２に記載のモジュール。
【請求項４】
前記ＡＰＩは既存のウェブサイト内にコード化されている請求項２に記載のモジュール。
【請求項５】
前記ＡＰＩは、複数のルールに対応した複数のデータエントリを有するデータストラクチャを備え、前記ＡＰＩが実行された場合、前記レスポンスデータを生成する請求項２に記載のモジュール。
【請求項６】
前記ルールは、前記アプリケーションの照会と、前記レスポンスデータの計算と、を調整する請求項５に記載のモジュール。
【請求項７】
前記ＡＰＩはプロシージャ指向記述（ＰＯＤ）データによって記述される請求項２に記載のモジュール。
【請求項８】
前記ＰＯＤデータは拡張可能マークアップ言語（ＸＭＬ）を有する請求項７に記載のモジュール。
【請求項９】
前記ＰＯＤデータはウェブサービス記述言語（ＷＳＤＬ）を有する請求項７に記載のモジュール。
【請求項１０】
前記モジュールは前記ロジックエンジンに配置されたプラグからの照会を受信するように構成されている請求項３に記載のモジュール。
【請求項１１】
前記ロジックエンジンはビジネスロジックエンジンを有する請求項１に記載のモジュール。
【請求項１２】
前記ビジネスロジックエンジンは予約エンジンを有する請求項１１に記載のモジュール。
【請求項１３】
前記予約エンジンは旅行予約エンジンを有する、請求項１２に記載のモジュール。
【請求項１４】
ロジックエンジンと、クライアントサーバと、を備えたビジネスシステムであって、
前記ロジックエンジンと前記クライアントサーバはネットワーク経由で通信するように構成され、
前記ロジックエンジンは、ビジネスロジックに対応する複数のデータストラクチャを有し、
前記サーバは請求項１のリモートカスタマイゼーションモジュールをホストし、
前記リモートカスタマイゼーションモジュールは、前記ロジックエンジンに配置されたプラグから受信した照会データに対応して、前記クライアントサーバに保存されたデータから導き出されたレスポンスデータを前記ロジックエンジンに提供するように構成されているビジネスシステム。
【請求項１５】
前記ロジックエンジンは、前記リモートカスタマイゼーションモジュールをホストするサーバと互換性のある形式に照会データをフォーマットするように構成されたアダプタを有する請求項１４に記載のシステム。
【請求項１６】
前記ロジックエンジンはビジネスロジックエンジンを有する請求項１４に記載のシステム。
【請求項１７】
前記ビジネスロジックエンジンは予約エンジンを有する請求項１６に記載のシステム。
【請求項１８】
前記予約エンジンは旅行予約エンジンを有する請求項１７に記載のシステム。
【請求項１９】
前記ロジックエンジンはエラー状態を定義する請求項１４に記載のモジュール。
【請求項２０】
前記ロジックエンジンは、前記エラー状態が発生した場合に、デフォルトモードに戻るように構成されている請求項１９に記載のシステム。
【請求項２１】
前記ロジックエンジンは、前記エラー状態が超過したタイムアウト期間である場合、ユーザに対してタイムアウトレスポンスを返すように構成されている、請求項１９に記載のシステム。
【請求項２２】
プロセッサで実行する場合、前記プロセッサを請求項１のリモートカスタマイゼーションモジュールとして動作させるソフトウェア。
【請求項２３】
プロセッサで実行する場合、前記プロセッサを請求項１５のプラグとして動作させるソフトウェア。
【請求項２４】
請求項１のリモートカスタマイゼーションエンジンを提供することにより、ロジックエンジンの機能性を高める方法であって、前記リモートカスタマイゼーションエンジンは、前記ロジックエンジンがパラメータデータに対応するデータを提供するようにプログラムされていない場合、前記ロジックエンジンで受信されたユーザの要求を満たすことが必要なパラメータに対応するレスポンスデータを返すように構成されるロジックエンジンの機能性を高める方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はリモートカスタマイゼーションモジュールと、このモジュールを備えたシステムに関する。より詳細には、本発明はビジネスエンジン用のリモートカスタマイゼーションモジュールと、このモジュールを備えたビジネスシステムに関するが、これに限るものではない。さらに詳細には、本発明は旅行予約エンジン用のリモートカスタマイゼーションモジュールと、このモジュールを備えた旅行予約システムに関するが、これに限るものではない。
【背景技術】
【０００２】
クライアントのサーバプロバイダによりホストされたビジネスエンジン、例えば、アマデウスＳ．Ａ．Ｓによりホストされたエアライン用の旅行予約エンジンは、サービスに対するユーザの要求を受信し、このサービスを利用可能かどうかということと、このサービスの価格とを確認するためのアプリケーションソフトウェアを有する。
【０００３】
ビジネスエンジンは、多数のビジネスルールを有する。例えば、フライト予約エンジンの場合、こうしたルールには、提供される食事の種類、予約がスタンダードクラスとビジネスクラスのどちらであるのか、フライトの発着地点が含まれてもよい。サービスプロバイダの各顧客は、すべてのクライアントに関連付けられた複数の標準的なルールだけでなく、提供されるサービスに固有の複数のルールも必要とする。例えば、エアラインの場合、各顧客に対して、異なる燃料サーチャージ料金計算を適用してもよいし、各エアラインがフリークエント・フライヤー・マイルを施行するための独自のルールを有してもよい。
【０００４】
現在、ビジネスエンジンのカスタマイゼーションには、サービスプロバイダが所有し、実行するビジネスエンジンのコアコードを変更することが含まれる。
【０００５】
これは、それに関連する多くの問題を有する。例えば、コードの新バージョンの発行数は、厳密にコントロールされている。これは、コードの新バージョンを発行する度に、当該コードのオペレーティングバージョンを入力するコーディングにエラーが発生する可能性をもたらすからである。こうしたコーディングエラーは、実行時にコードの破損を引き起こすかもしれない。クライアント企業はサービスプロバイダに対して厳しい品質レベルのサービスを課しているので、こうした状況は望ましいものではない。さらに、単一クライアントの要求を満たすためにマイナーチェンジをコードに加えることで、サービスプロバイダのすべてのクライアントに対してビジネスエンジンコードの破損をもたらす可能性がある。
【０００６】
また、クライアントの要求を満たすためのコアコードのカスタマイゼーションには時間がかかり得る。これにより、クライアントが望むカスタマイゼーションの市場導入が遅延してしまうことになる。これにより、各特定クライアント用のビジネスエンジンの機能が制限される。
【０００７】
ビジネスエンジンのカスタマイゼーションは、ビジネスエンジンの複数のレイヤの内、何れか一つのレイヤで実行することが可能である。ウェブサイトの構築は、例えばウェブデザインサービス（ＷＤＳ）等のカスタマイゼーションサービスに委託し得る。アプリケーションレイヤにおいては、アクションを追加するか、受信データに対して機能する既存のアクションを拡張する、または、ビジネスエンジンによって生成することが可能である。ビジネスレイヤにおいて、さらに必要となる機能性に対応して、エンタープライズＪＡＶＡビーン（ＥＪＢ）をインストールすることが可能である。代替案としては、既存のデータフォーマットをカスタマイズし、カスタマイズされたコマンドを実行することによって、既存のＥＪＢを拡張することが可能である。アクセスレイヤにおいて、カスタムコネクタの追加、または、新たな第三者サプライヤへのアクセスの提供が可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
こうしたすべての解決手段は、動作可能なコアコードを完全に再統合する必要があるという同一の固有の問題を有する。さらに、新たな第三者サプライヤをアクセスレイヤに追加することにより、第三者のデータベースの内容を検証することができない限り、セキュリティ上のリスクが存在し得る。
【０００９】
第三者サプライヤのデータベースの使用により、ネットワーク上で転送される要求に関連付けられたすべてのデータを転送することが必要となる。これにより、ネットワーク上で転送される相当量のデータが必要となる。
【課題を解決するための手段】
【００１０】
本発明の第１の態様によれば、ロジックエンジンから離間したサーバ上で実行するロジックエンジン用リモートカスタマイゼーションモジュールであって、ロジックエンジンと通信し、サーバ上で実行するアプリケーションと通信するように構成されたコミュニケーションインターフェイスと、コミュニケーションインターフェイスを介して、ロジックエンジン上のプラグから入力されるデータ要求を受信するように構成され、さらに、この要求を満たすことが必要なデータを抽出するために、アプリケーションを照会するように構成されたロジックエレメントと、を備えるロジックエンジン用リモートカスタマイゼーションモジュールが提供される。
また、このリモートカスタマイゼーションモジュールにおいて、ロジックエレメントは、レスポンスデータを生成するために抽出されたデータを処理し、このレスポンスデータをロジックエンジンに送信するように構成されている。
【００１１】
こうしたモジュールは、エンドユーザに対するエンジンの明白な機能性の変化を実現するために、エンジンの再コーディングを必要としない。このように、本発明は、特注の機能性を迅速かつ効率的に信頼性をもって提供するビジネスエンジンをリリースする間に、特注の機能性をビジネスエンジンに効果的に組み込むことを可能にする。
【００１２】
アプリケーションプログラムをホストするリモートサーバでこうした変更が行われるので、他のグループに属する複数のサーバにアクセスする必要はない。本発明は、第三者サプライヤのデータベースを含む構成と比較して、データベースの安全性を改善している。
【００１３】
さらに、モジュールがビジネスエンジンと離間しているので、モジュールのコーディング時にエラーが発生しても、ビジネスエンジンは機能を継続する。本発明は、従来技術の構成と比較して、ビジネスシステムの堅牢性を改善している。
【００１４】
こうしたリモートシステムは、エンジンのクライアントに必要な特注サービスを提供するために、エンジンとモジュールとの間で送受信される要求に関連付けられた少数のデータのみを必要とする。
【００１５】
カスタマイゼーションモジュールは、アプリケーションプログラミングインターフェース（ＡＰＩ）を有してもよい。典型的なＡＰＩは、（ＢＡＥからの）ウェブサービスおよびＴｕｘｅｄｏ（タキシード）を有してもよい。ＡＰＩは、ウェブサイトまたは既存のウェブサービス用のコーディング内でコード化されてもよい。ＡＰＩは、複数のルールに対応する複数のデータエントリを有するデータストラクチャを備えてもよい。ここで、ＡＰＩが実行された場合、レスポンスデータが生成される。こうしたルールは、アプリケーションの照会を調整してもよいし、レスポンスデータの計算を調整してもよい。ＡＰＩは、プロシージャ指向記述（ＰＯＤ）データによって記述されてもよい。ＰＯＤデータは拡張マークアップ言語（ＸＭＬ）を有してもよい。ＰＯＤデータは、ウェブサービス記述言語（ＷＳＤＬ）を有してもよい。
【００１６】
このモジュールは、ウェブサイトまたは既存のウェブサービスに接続するように構成されたプラグを有してもよい。
【００１７】
ロジックエンジンは、ビジネスロジックエンジンを有してもよい。ビジネスロジックエンジンは予約エンジンを有してもよい。予約エンジンは旅行予約エンジンを有してもよい。
【００１８】
本発明の第２の態様によれば、ロジックエンジンと、クライアントサーバと、を備えたビジネスシステムであって、ロジックエンジンとクライアントサーバは、ネットワーク経由で通信するように構成され、ロジックエンジンは、ビジネスロジックに対応するデータストラクチャを有し、サーバは、本発明の第１の態様によるリモートカスタマイゼーションモジュールをホストし、リモートカスタマイゼーションモジュールは、ロジックエンジンに配置されたプラグから受信した照会データに対応して、クライアントサーバ上に保存されたデータから導き出されたレスポンスデータをロジックエンジンに提供するように構成されているビジネスシステムが提供される。
【００１９】
ロジックエンジンは、例えばタイムアウトなどのエラー状態を定義してもよい。ロジックエンジンは、エラー状態を満たす場合、デフォルトモードに戻るように構成されてもよい。エラー状態がタイムアウトの場合、タイムアウト状態を満たせば、ロジックエンジンはユーザに対してタイムアウトレスポンスを返すように構成されてもよい。
【００２０】
本発明の第３の態様によれば、プロセッサで実行された場合、このプロセッサを本発明の第１の態様によるリモートカスタマイゼーションモジュールとして動作させるソフトウェアが提供される。
【００２１】
本発明の第４の態様によれば、本発明の第１の態様によるリモートカスタマイゼーションエンジンを提供することにより、ロジックエンジンの機能性を高める方法であって、リモートカスタマイゼーションエンジンは、ロジックエンジンがパラメータデータに対応するデータを提供するようにプログラムされていない場合、ロジックエンジンで受信されたユーザ要求を満たすことが必要なパラメータに対応するレスポンスデータを返すように構成されているロジックエンジンの機能性を高める方法が提供される。
【００２２】
ここで、添付図面を参照して本発明の実施形態について説明するが、この説明は例示に過ぎない。
【図面の簡単な説明】
【００２３】
【図１】本発明の一態様によるリモートカスタマイゼーションモジュールを備えた予約システムの一実施形態に関する概略図である。
【図２】本発明の一態様によるリモートカスタマイゼーションモジュールを備えたビジネスシステムの一実施形態のレイヤストラクチャに関する概略図である。
【発明を実施するための形態】
【００２４】
ここで図１および２を参照すると、予約システム１００は、ネットワーク１０６経由で接続された、予約エンジン１０２と、クライアントサーバ１０４と、を備える。典型的には、ネットワーク１０６はインターネットまたはプライベートネットワークである。通常、クライアントサーバ１０４は、例えば、エアライン予約サーバまたはホテル予約サーバ等の旅行予約サーバである。
【００２５】
予約エンジン１０２は、バックエンド予約ビジネスロジックモジュール１０８と、データアダプタ１１４ａと、プラグ１１４ｂと、を備えている。アダプタ１１４ａは、サーバ１０４を確実に照会できるように、ビジネスロジックモジュール１０８が送信したパラメータデータを各クライアントサーバ１０４に対して特注の形式でマッピングする。プラグ１１４ｂは、クライアントサーバ１０４とインターフェイス接続し、クライアントサーバ１０４を照会する機能と、カスタマイゼーションモジュール１１５に関連付けられた特注のビジネスロジックを実行する機能と、を実行する。
【００２６】
典型的には、ビジネスロジックモジュール１０８はビジネスロジックソフトウェアを有する。このソフトウェアは、リモートターミナル１１２から受信した、ユーザが生成したクエリに対する応答の生成を制御する。
【００２７】
コミュニケーションモジュール１１０は、ネットワーク１０６を介して、予約エンジン１０２、リモートターミナル１１２、クライアントサーバ１０４間を接続する。
【００２８】
クライアントサーバ１０４は、リモートカスタマイゼーションモジュール１１５を有する。リモートカスタマイゼーションモジュール１１５は、ＷＳＤＬにより、プロシージャ指向情報を含むメッセージに基づいて動作するエンドポイントとして定義される。こうした動作は抽象的に記述され、エンドポイントを定義するためにネットワークプロトコルおよびメッセージフォーマットにバインドされる。関連する複数の具体的なエンドポイントは、複数の抽象的なエンドポイント（サービス）に結合される。ＷＳＤＬは、通信に使用されるメッセージフォーマットまたはネットワークプロトコルの種類に関わらず、エンドポイントおよびそれらのメッセージを記述できるように拡張可能である。典型的なプロトコルおよびメッセージフォーマットは、ＳＯＡＰ１．１、ＨＴＴＰのＧＥＴ／ＰＯＳＴ、ＭＩＭＥを含む。リモートカスタマイゼーションモジュール１１５にアクセスするための設定は、ビジネスロジックモジュール１０８内の設定モジュール１２０およびセントラルビジネスデータベース１２２によって実現される。
【００２９】
使用時において、コミュニケーションモジュール１１０は、当業者に周知の方法で、負荷バランス調整部１１８を介してユーザのクエリに関連付けられたデータを受信し、このクエリをビジネスロジックモジュール１０８に送信する。
【００３０】
ビジネスロジックモジュール１０８は、例えば、フライトの席を確保可能かどうか確認するために、ユーザが生成したクエリを処理する。しかし、クライアントサーバ１０４に関連付けられたクライアントは、ビジネスロジックモジュール１０８内に含まれるビジネスロジックが調整する情報以外の情報を必要とする場合がある。これに対し、ビジネスロジックモジュール１０８によってフラグが立てられる。そして、ビジネスロジックモジュール１０８は、クライントサーバ１０４を照会するために、データアダプタ１１４ａとプラグ１１４ｂを呼び出す。例えば、エアライン予約の場合、ビジネスロジックモジュール１０８では提供されていない燃料サーチャージの計算が要求されてもよい。
【００３１】
ビジネスロジックモジュール１０８は、自身がユーザの要求に関する複数のエレメントに対応できるか否かに応じて、これらのエレメントを予約エンジンコネクタ１２４またはリモートカスタマイゼーションモジュール１１５に割り当てる。ユーザクエリのエレメントを予約エンジン１０２で対応可能であれば、このエレメントは、予約エンジンコネクタ１２４を介して予約エンジンロジックモジュール１２６に送信される。予約エンジンロジックモジュール１２６からのレスポンスデータは、ユーザクエリに対応してユーザに出力される回答データに含めるために、予約エンジンコネクタを介してビジネスロジックモジュール１０８に戻される。
【００３２】
予約エンジン１０２が複数のクライアントサーバ１０４と通信状態にあるので、設定モジュール１２０は、何れかのサーバ１０４が上記要求を満たすために必要であるかということに対応するデータベース１２２からサイトパラメータを呼び出す。典型的には、サイトパラメータは、要求（通常はクライアントのサーバ）を満たし得るウェブサービスに対応するユニバーサルリソースロケータ（ＵＲＬ）の形式である。
【００３３】
例えば、燃料サーチャージの場合、データアダプタ１１４ａは適切なクライアントサーバ１０４に対して正しい形式にデータをフォーマットする。例えば、ルフトハンザ航空は、エアフランス航空またはイベリア航空とは異なるデータフォーマットを必要としてもよい。プラグ１１４ｂは、燃料サーチャージを計算するために、データストラクチャ全体から必要となるデータのサブセットを決定する。こうしたデータストラクチャ全体は、フライトの発着地点、フライトの時刻および所要時間、ホテルの予約、特別なリクエストを含む「旅行計画」の形式を採用してもよい。燃料サーチャージの場合、プラグ１１４ｂは照会データとしてフライトの発着地点をリモートカスタマイゼーションモジュール１１５に送信する。
【００３４】
典型的には、プラグ１１４ｂまたは予約エンジンコネクション１２４の何れかが、この時点でレスポンスタイムアウトパラメータを照会データにセットする。照会データは、コミュニケーションモジュール１１０を介して、ビジネスロジックモジュール１０８からクライアントサーバ１０４に送信される。
【００３５】
照会データは、ビジネスロジック１０８が提供できない情報を計算するために必要な複数のパラメータ値を含んでいる。こうしたパラメータ値は、クライアントサーバ照会ルーチンの呼び出しに対応して、ビジネスロジックモジュール１０８から取り出される。
【００３６】
そして、リモートカスタマイゼーションモジュール１１５は、燃料サーチャージに対する値を返すために、クライアントサーバ１０４を操作するクライアントに関連する特注ビジネスロジックを、プラグ１１４ｂが転送する複数のパラメータに適用する。
【００３７】
クライアントサーバ１０４は、ネットワーク１０６とコミュニケーションモジュール１１０とを介して、ビジネスロジックモジュール１０８にレスポンスデータを返す。燃料サーチャージの場合、レスポンスデータは金銭的価値に対応することになる。しかし、言うまでもなく、レスポンスデータは、ユーザクエリを満たすことがもとめられるフィールド／情報に対応する任意の数値／文字列を有してもよい。例えば、レスポンスデータは乗客がベジタリアン用の食事の選択肢を必要とするかどうかに関する指標を含んでもよい。
【００３８】
レスポンスタイムアウトパラメータがビジネスロジックモジュール１０８によって定義された場合、タイムアウト期間の終了前にレスポンスデータがビジネスロジックモジュール１０８で受信されていない場合、要求はタイムアウトになってもよい。この状況が発生した場合、ビジネスロジックモジュール１０８が、追加情報なしでユーザ要求の処理が継続するデフォルトモードに戻ることができる、または、コミュニケーションモジュール１１０が、タイムアウトメッセージをネットワーク１０６経由でユーザターミナル１１２にルーティングする。
【００３９】
ビジネスロジックモジュール１０８は、ユーザに送信される応答データにレスポンスデータを組み込む。ユーザは、ネットワーク１０６を介してターミナル１１２のディスプレイ上で応答データを受信する。
【００４０】
複数のユーザ要求およびこれらのレスポンスの経路は、予約エンジン１００においてキャッシュ格納可能であり、必要に応じて、あら探しのためにレビューまたはリプレイ可能である。さらに、カスタマイゼーションモジュールは、コアビジネスロジックの統合を危険に晒すことなくダミートランザクションを実行することによってテスト可能である。
【００４１】
例えば、「旅行計画」など、トランザクションに関連付けられたデータセット全体の異なるサブセットを使用することにより、一般的なアダプタおよびプラグインのペア１１４ａ、１１４ｂの単一のインスタンスを使用して、複数の異なるクライアントサーバからの多数のレスポンスデータ、または、単数のクライアントサーバからのレスポンスデータの複数のインスタンスにアクセスすることが可能となる。
【００４２】
タイムアウトパラメータを参照してビジネスロジックモジュールを説明したが、言うまでもなく、このビジネスロックモジュールは、任意の一つの所定エラー状態、または、所定エラー状態の組み合わせが発生した場合に、デフォルトモードに戻ってもよい。
【００４３】
言うまでもなく、プラグインウェブサービスモジュールの使用により、同一または類似の機能をさらに提供するために、他のサーバで以前生成されたモジュールを再利用することが可能となる。こうした再利用は、小型ウェブサービスプラグインに関する限定的な記録を必要とするものであってもよい。したがって、ビジネスロジックモジュールのビジネスロジックの記録と比べて、再利用は容易かつ迅速に行われ、プログラミングエラーを取り込みにくい。
【００４４】
フライト予約、ホテル予約、旅行保険を含む（ただし、これに限るものではない）旅行データを参照して本発明について説明したが、言うまでもなく、本発明は、リモートウェブサービス上のプラグにより、他の機能がビジネスエンジンに効率的に加えられた任意のビジネスシステムで使用する場合にも適している。
【００４５】
本発明に関する様々な実施形態について説明したが、この開示により、本発明の範囲を逸脱することなく、様々な修正、変更、改良、変化を行ってもよいことは、当業者にとって明白となる。
【図１】
2010521723.tif 000003
【図２】
2010521723.tif 000004
【国際調査報告】
2010521723.tif 000005
2010521723.tif 000006
2010521723.tif 000007