(57)【要約】方法は、Ｎ個のウェブサービスが通信機器（Ｔ１）に関して順次に呼び出される必要があるとき、これらのＮ個のウェブサービスに対する要求を含む専用メッセージを生成するステップと、サーバ（Ｓ１）が、その専用メッセージが含む要求を解析し、次いで、この通信機器（Ｔ１）に関するこれらの要求によって定義されたＮ個のウェブサービスを呼び出すために、サーバ（Ｓ１）にその専用メッセージを送信するステップとにある。
2011510529.tif 000002
【特許請求の範囲】
【請求項１】
ウェブサービスを呼び出す必要がある通信機器（Ｔｉ）向けのデバイス（Ｄ１）であって、Ｎ個のウェブサービスが順次に呼び出される必要があるとき、前記Ｎ個のウェブサービスに対する要求を含む専用メッセージを生成して、前記専用メッセージが含む前記要求を解析し、次いで、前記通信機器（ＭＳ）に関する前記要求によって定義された前記Ｎ個のウェブサービスを呼び出すことが可能な、指定されたサーバ（Ｓｊ）に前記専用メッセージを送信するように前記通信機器（Ｔｉ）に命令するように構成されることを特徴とするデバイス。
【請求項２】
少なくとも１つのパラメータも備える専用メッセージを生成するように構成されることを特徴とする、請求項１に記載のデバイス。
【請求項３】
請求項１および２のいずれか１項に記載のデバイス（Ｄ１）を備えることを特徴とする、コンピュータソフトウェア製品。
【請求項４】
前記サーバ（Ｓｊ）が通信機器（Ｔｉ）に関して順次に呼び出されなければならないＮ個のウェブサービスに対する要求を含む専用メッセージを受信するとき、前記通信機器（Ｔｉ）に関する前記要求によって定義された前記Ｎ個のウェブサービスを呼び出すように前記サーバ（Ｓｊ）に命令するために、前記専用メッセージが含む前記要求を解析するように構成されることを特徴とする、サーバ（Ｓｊ）向けのデバイス（Ｄ２）。
【請求項５】
前記Ｎ個のウェブサービスのそれぞれが前記サーバ（Ｓｊ）上で実行しているとき、前記要求解析から推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、前記Ｎ個のウェブサービスのすべてを呼び出すように前記サーバ（Ｓｊ）に命令するように構成されることを特徴とする、請求項４に記載のデバイス。
【請求項６】
前記Ｎ個のウェブサービスのうちの少なくとも１つが前記サーバ（Ｓｊ）上で実行していないとき、呼び出されることになり、かつ前記サーバ（Ｓｊ）上で実行していない前記ウェブサービスに対する（１つもしくは複数の）パラメータおよび／または（１つもしくは複数の）要求を含む（１つもしくは複数の）専用メッセージを生成し、次いで、ｉ）前記要求解析から推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、その上で実行している前記ウェブサービスを呼び出し、かつｉｉ）前記（１つもしくは複数の）生成された専用メッセージを用いて、その上で実行していない前記ウェブサービスを呼び出すように前記サーバ（Ｓｊ）に命令するように構成されることを特徴とする、請求項４および５のいずれか１項に記載のデバイス。
【請求項７】
請求項４乃至６のいずれか１項に記載のデバイス（Ｄ２）を備えることを特徴とするコンピュータソフトウェア製品。
【請求項８】
通信機器（Ｔｉ）に関してＮ個のウェブサービスが順次に呼び出される必要があるとき、前記Ｎ個のウェブサービスに対する要求を含む専用メッセージを生成するステップと、サーバ（Ｓｊ）が、前記専用メッセージが含む前記要求を解析し、次いで、前記通信機器（Ｔｉ）に関する前記要求によって定義された前記Ｎ個のウェブサービスを呼び出すために、前記専用メッセージを前記サーバ（Ｓｊ）に送信するステップとにあることを特徴とする、前記通信機器（Ｔｉ）によって要求されるウェブサービスを呼び出すための方法。
【請求項９】
前記Ｎ個のウェブサービスのそれぞれが前記サーバ（Ｓｊ）上で実行している場合、前記サーバ（Ｓｊ）が、前記要求解析から推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、前記Ｎ個のウェブサービスのすべてを呼び出すことを特徴とする、請求項８に記載の方法。
【請求項１０】
前記Ｎ個のウェブサービスのうちの少なくとも１つが前記サーバ（Ｓｊ）上で実行していない場合、前記サーバ（Ｓｊ）が、前記要求解析から推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、その上で実行している前記ウェブサービスを呼び出し、呼び出されることになる前記ウェブサービスに対する（１つもしくは複数の）パラメータおよび／または（１つもしくは複数の）要求を含む（１つもしくは複数の）専用メッセージを用いて、その上で実行していない前記ウェブサービスを呼び出すことを特徴とする、請求項８および９のいずれか１項に記載の方法。
【請求項１１】
一部の専用メッセージが少なくとも１つのパラメータも備えることを特徴とする、請求項８乃至１０のいずれか１項に記載の方法。
【請求項１２】
ＳＯＡＰタイプの専用メッセージに関する、請求項１乃至１１のいずれか１項に記載の前記デバイス（Ｄ１、Ｄ２）、前記コンピュータソフトウェア製品、および前記方法の使用。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機器によるサービス呼出に関する。
【背景技術】
【０００２】
ここでは、「通信機器」とは、別の通信機器またはネットワーク機器とデータを交換するために通信ネットワークに接続されることが可能な任意のタイプの機器（または端末）を意味する。したがって通信機器は、通信ネットワークに接続可能な通信モジュールを備えるため、通信機器は、例えば、固定電話もしくは無線電話、または（スマートフォンを含む）移動体電話（すなわちセルラ電話）であってよく、あるいは、固定コンピュータもしくはポータブルコンピュータ、または携帯情報端末（ポケットＰＣを含むＰＤＡ）ですらあってよい。
【０００３】
当業者によって知られているように、ウェブサービス技術において、いくつかの相関したウェブサービスを同時に呼び出す様式は存在しない。したがって、Ｎ個のウェブサービスが、結果を得るために順次に呼び出されなければならない場合、Ｎ個の要求が送られなければならない。さらに、ウェブサービスは順次に呼び出されなければならないため、非同期性のウェブサービスモデルは適用され得ない。さらに、結果がＮ個のウェブサービスのシーケンスから期待される場合、この結果を取得するための時間は、任意の要求に関して費やされる時間と、特にネットワーク接続および機器機能に依存する、任意の要求に応答するために費やされる時間とを含む。
【０００４】
この状況は、スマートフォンおよびポケットＰＣなど、（特に、帯域幅および処理（ＣＰＵ）の点から）限定された機能を有する一部の通信機器にペナルティを課す場合がある。
【０００５】
この状況を改善するために、（ＢＰＥＬ（ビジネスプロセス実行言語）−ワークフロー言語など）編成（ｏｒｃｈｅｓｔｒａｔｉｏｎ）プロセスモデルを使用することが可能である。編成プロセスでは、Ｎ個のウェブサービスを順次に呼び出すために、１つの要求だけがプロセス全体に送られ、このプロセス全体が、これらのＮ個のウェブサービスのそれぞれを呼び出すことを想起しよう。したがって、機器は、送るべき要求を１つだけ有するが、プロセス全体は、Ｎ個のウェブサービスを呼び出すために、Ｎ個の要求を生成して、それらを送ることになり、これは、実際には、Ｎ＋１個の要求が送られなければならないことを意味する。プロセス全体は、特に、プロセッサ時間および／または帯域幅の点から、簡単な機器よりもさらに多くの機能を有している強力なサーバによって実施されており、Ｎ個の呼出はこの簡単な機器を用いるよりもより速く実行される。しかし、結果を取得するための時間は、依然としてネットワーク接続に依存する。
【０００６】
機器ユーザのウェブサービスプロバイダに、Ｎ個のウェブサービスが順次に呼び出されるように「オールインワン」専用ウェブサービスを作成するよう依頼することも可能である。機器は、１つのウェブサービスだけを呼び出さなければならないことになり、オールインワン専用ウェブサービスを実施しているサーバは、ＨＴＴＰレイヤおよびＳＯＡＰレイヤによって渡さずに、Ｎ個のウェブサービスすべてを局所的に呼び出すことになるため、かかる専用ウェブサービスの作成は強力となるであろう。しかし、機器がいくつかのウェブサービスを呼び出すことが必要になるたびに、機器は、新しいオールインワン専用ウェブサービスの作成を要求しなければならなくなる。これはオールインワン専用ウェブサービスの再使用性を減少させるため、サーバの観点からはわずらわしい。さらに、これは、ウェブサービスプロバイダが数百または数千のオールインワン専用ウェブサービスを作成することを必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、本発明の目的は、この状況を改善することである。
【課題を解決するための手段】
【０００８】
このために、本発明は、通信機器を備えることが意図され、その通信機器に関してＮ個のウェブサービスが順次に呼び出される必要があるとき、これらのＮ個のウェブサービスに対する要求を含む専用メッセージを生成して、その通信機器に、その専用メッセージが含む要求を解析し、次いで、その通信機器に関するこれらの要求によって定義されたＮ個のウェブサービスを、可能な場合、局所的に（すなわち、ＨＴＴＰ要求もしくはＳＯＡＰメッセージなしに）、そうでなければ、遠隔的に呼び出すことが可能な、指定されたサーバにその専用メッセージを送信するように命令するように構成された第１のデバイスを提供する。
【０００９】
かかる第１のデバイスは、少なくとも１つのパラメータも備える専用メッセージを生成するように構成されることが可能である。
【００１０】
本発明は、上で紹介されたような第１のデバイスを備えるコンピュータソフトウェア製品も提供する。
【００１１】
本発明は、サーバを備えることが意図され、そのサーバが通信機器に関して順次に呼び出されなければならないＮ個のウェブサービスに対する要求を含む専用メッセージを受信するとき、そのサーバが、この通信機器に関する要求によって定義されたこれらのＮ個のウェブサービスを、可能な場合、局所的に（すなわち、ＨＴＴＰ要求もしくはＳＯＡＰメッセージなしに）、そうでなければ、遠隔的に呼び出すことを可能にするために、その専用メッセージが含む要求を解析するように構成された第２のデバイスをさらに提供する。
【００１２】
かかる第２のデバイスは、Ｎ個のウェブサービスのそれぞれがそのサーバ上で実行しているとき、要求解析から推論された専用命令によって定義されたダイレクト・プログラマティック・コール（ｄｉｒｅｃｔ  ｐｒｏｇｒａｍｍａｔｉｃ  ｃａｌｌ）を用いて、これらのＮ個のウェブサービスのすべてを呼び出すようにそのサーバに命令するように構成されることが可能である。
【００１３】
さらに、この第２のデバイスは、Ｎ個のウェブサービスのうちの少なくとも１つがそのサーバ上で実行していないとき、呼び出されることになり、かつそのサーバ上で実行していないウェブサービスに対する（１つもしくは複数の）パラメータおよび／または（１つもしくは複数の）要求を含む（１つもしくは複数の）専用メッセージを生成し、次いで、ｉ）要求解析から推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、その上で実行しているウェブサービスを呼び出し、かつｉｉ）（１つもしくは複数の）生成された専用メッセージを用いて、その上で実行していないウェブサービスを呼び出すようにそのサーバに命令するように構成されることが可能である。
【００１４】
本発明は、上で紹介されたものなど、第２のデバイスを備えるコンピュータソフトウェア製品をさらにまた提供する。
【００１５】
本発明は、通信機器によって要求されたウェブサービスを呼び出すことが意図され、Ｎ個のウェブサービスが通信機器に関して順次に呼び出される必要があるとき、これらのＮ個のウェブサービスに対する要求を含む専用メッセージを生成するステップと、サーバが、その専用メッセージが含む要求を解析し、この通信機器に関してこれらの要求によって定義されたＮ個のウェブサービスを、可能な場合、局所的に（すなわち、ＨＴＴＰ要求またはＳＯＡＰメッセージなしに）、そうでなければ、遠隔的に呼び出すために、その専用メッセージをサーバに送信するステップとにある方法をさらにまた提供する。
【００１６】
本発明によるこの方法は、特に以下の、別々のものと見なされる追加の特性、または組合せと見なされる追加の特性を含むことが可能である。すなわち、
Ｎ個のウェブサービスのそれぞれがそのサーバ上で実行している場合、そのサーバは、要求解析から推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、これらのＮ個のウェブサービスのすべてを呼び出すことが可能であること、
Ｎ個のウェブサービスのうちの少なくとも１つがそのサーバ上で実行していない場合、そのサーバは、要求解析から推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、その上で実行しているウェブサービスを呼び出すこと、ならびに呼び出されることになるウェブサービスに対する（１つもしくは複数の）パラメータおよび／または（１つもしくは複数の）要求を含む（１つもしくは複数の）専用メッセージを用いて、その上で実行していないウェブサービスを呼び出すことが可能であること、
一部の専用メッセージは、少なくとも１つのパラメータも含み得ること、である。
【００１７】
本発明は、異なるタイプの専用メッセージおよび特に専用ＳＯＡＰメッセージに関係する。
【００１８】
ＳＯＡＰは、通常は、ＨＴＴＰ／ＨＴＴＰＳを使用して、ＸＭＬベースのメッセージを通信ネットワーク上で交換するためのプロトコルであることが想起される。ＳＯＡＰは、遠くのオブジェクト同士の間のメッセージ伝送を可能にし、これは、ＳＯＡＰは、オブジェクトが遠くのサーバ内に配置されたオブジェクト活動（または方法）を呼び出すことを可能にすることを意味する。ＳＯＡＰメッセージの転送は、例えば、ＨＴＴＰプロトコルまたはＳＭＴＰプロトコルによって行われることが可能である。
【００１９】
本発明のその他の特徴および利点は、以下の詳細な明細および添付の図面を考察すると明らかになるであろう。
【図面の簡単な説明】
【００２０】
【図１】（そのうちの２つが本発明による第１のデバイスを備える）３つの通信機器、および本発明による第２のデバイスを備える２つのサーバが結合された通信ネットワークを概略的かつ機能的に例示する図である。
【図２】３つの通信機器の間で会議電話を確立する目的で実行するための主なステップの例を概略的かつ機能的に示す図である。
【発明を実施するための形態】
【００２１】
添付の図面は、本発明を完成するためだけでなく、必要な場合、その定義に寄与するためにも役立つ可能性がある。
【００２２】
本発明は、少なくとも１つの通信ネットワークに接続された通信機器が、いくつかのメッセージを送る必要なしに、ウェブサービスを順次に呼び出すことを可能にすることが意図された、第１のデバイスおよび第２のデバイスと、関連する方法とを提供することを目的とする。
【００２３】
以下の説明において、通信機器（Ｔｉ）はスマートフォンであると見なされることになる。しかし、本発明は、このタイプの通信機器に限定されない。実際には、本発明は、別の通信機器またはネットワーク機器とデータを交換する目的で、通信ネットワークに接続されることが可能な任意のタイプの機器（または、端末）に関係する。したがって、通信機器（Ｔｉ）は、通信ネットワークに接続可能な通信モジュールを備えるため、通信機器（Ｔｉ）は、固定電話、または固定コンピュータもしくはポータブルコンピュータであってよく、あるいは携帯情報端末（ポケットＰＣを含むＰＤＡ）ですらあってもよい。
【００２４】
さらに、以下の説明において、通信機器（Ｔｉ）は、移動体タイプまたはセルラタイプの同じ通信ネットワーク（ＣＮ）に接続されると見なされることになる。しかし、本発明は、この状況に限定されず、このタイプの通信ネットワークに限定されない。実際には、本発明は、通信機器（Ｔｉ）およびウェブサービス（Ｓｊ）のサーバが直接的または間接的に結合されることが可能な任意のタイプの通信ネットワークに関係する。
【００２５】
さらに、以下の説明において、ウェブサービス（Ｓｊ）のサーバは、その上に（通信）機器（Ｔｉ）が接続された単一の通信ネットワーク（ＣＮ）に接続されると見なされることになる。しかし、これらのサーバは、単一の通信ネットワーク（ＣＮ）に結合された（１つまたは複数の）その他の通信ネットワークに接続されることが可能である。
【００２６】
図１に例示されるように、本発明は、（通信）機器Ｔｉ（この場合、ｉ＝１から３であるが、１以上の任意の値を取ることが可能である）によって要求され、かつウェブサービスの少なくとも１つのサーバＳｊ（この場合、ｊ＝１および２であるが、１以上の任意の数を取ることが可能である）上で実行しているウェブサービスＷＳを呼び出すことが意図される方法を提供することを目的とする。
【００２７】
この方法は、（必ずしも１つまたは複数の値でない）結果を得る目的で、通信機器ＴｉがＮ個のウェブサービスを順次に呼び出す必要があるたびに実施されなければならない。かかる方法は、機器Ｔｉのうちの少なくともいくつか（この場合、Ｔ１およびＴ２）を備えている第１のデバイスＤ１と、ウェブサービスＳｊのサーバ（この場合、Ｓ１およびＳ２）を備えている第２のデバイスＤ２とを用いて実施されることが可能である。
【００２８】
この方法は、機器Ｔｉが順次に呼び出すことを望むＮ個（Ｎ＝２）のウェブサービスＷＳに対する少なくとも１つの要求（すなわち、クエリ）を含む専用メッセージＤＭを生成するステップと、サーバＳｊがその専用メッセージが含む（１つまたは複数の）要求を解析し、次いで、機器Ｔｉに関するそれぞれの要求によって定義されたＮ個のウェブサービスを呼び出すために、その専用メッセージＤＭをサーバＳｊに送信するステップとにある。
【００２９】
したがって、機器Ｔｉが、Ｎ個の伝統的なメッセージを用いて、自らＮ個のウェブサービスＷＳを順次に呼び出す代わりに、機器Ｔｉは、少なくとも１つのサーバＳｊによってこれらのＮ個のウェブサービスＷＳの呼出を要求する、１つの新しい専用メッセージＤＭ（すなわち、「クエリ」ベースのサービス呼出）だけを生成する。
【００３０】
例えば、専用メッセージＤＭは、新しいタイプのＳＯＡＰメッセージである。機器Ｔｉによって呼び出されることになり、サーバＳｊ上で実行しているウェブサービスＷＳに対応する伝統的なＳＯＡＰメッセージは、機器Ｔｉによって期待される結果を得るために、このサーバＳｊによって使用されることになる（１つまたは複数の）パラメータだけを含むことが想起される。したがって、本発明によれば、専用ＳＯＡＰメッセージＤＭは、１つもしくは複数の要求（すなわち、クエリ）と、場合によっては、伝統的な値（例えば、１に設定された整数）であってよく、またはクエリベースのパラメータ（すなわち、局所的にまたは遠隔的に呼び出されたウェブサービス要求の結果として表現されるパラメータ）と定義され得るものであってもよい、１つもしくは複数のパラメータとを備えたＳＯＡＰメッセージである。
【００３１】
しかし、本発明は、このタイプのメッセージに限定されない。
【００３２】
専用メッセージＤＭを生成するために、機器Ｔｉは、第１のデバイスＤ１を備える必要がある。
【００３３】
かかる第１のデバイスＤ１は、少なくとも部分的に、ソフトウェアモジュールでできていることが好ましい。しかし、かかる第１のデバイスＤ１は、（１つもしくは複数の）電子回路またはハードウェアモジュールでできていてもよく、あるいはハードウェアモジュールとソフトウェアモジュールの組合せでできていてもよい（この場合、第１のデバイスＤ１は、ソフトウェアモジュールがハードウェア構成要素を理解することを可能にするソフトウェアインターフェースも備える）。ソフトウェアモジュールでできている場合、かかる第１のデバイスＤ１は、機器Ｔｉのメモリ内に格納されてよく、または、例えば、ＣＤ−ＲＯＭなど、コンピュータなどによって読み取られることが可能な任意のコンピュータソフトウェア製品内に格納されてもよい。したがって、第１のデバイスＤ１は、 例えば、その第１のデバイスＤ１が接続された通信ネットワークＣＮを介して、機器Ｔｉ内にダウンロードされることが可能である。
【００３４】
第１のデバイスＤ１が、Ｎ個のウェブサービスのシーケンスに対する専用（ＳＯＡＰ）メッセージＤＭを生成するたびに、第１のデバイスＤ１は、そのメッセージが含む要求を解析し、次いで、この機器Ｔｉに関する（これらの要求によって定義された）これらのＮ個のウェブサービスを呼び出すことが可能な、指定されたサーバＳｊにその専用メッセージＤＭを送信するように、自分が備える機器Ｔｉに命令する。
【００３５】
上述のように、第１のデバイスＤ１は、（１つまたは複数の）要求だけでなく、必要な場合、（１つまたは複数の）パラメータも備える専用（ＳＯＡＰ）メッセージＤＭを生成することが可能である。
【００３６】
機器Ｔｉによって専用（ＳＯＡＰ）メッセージＤＭが送信されるサーバＳｊは、その上でこの専用（ＳＯＡＰ）メッセージＤＭによって指定されたＮ個のウェブサービスＷＳのうちの少なくとも１つが実行しているその（または、ある）サーバであるとは限らない点に留意することが重要である。しかし、これは、Ｎ個のウェブサービスを呼び出すために必要とされる時間を減らすために好ましい。
【００３７】
機器Ｔｉによって送信された専用メッセージＤＭを解析するために、サーバＳｊは、第２のデバイスＤ２を備える必要がある。
【００３８】
かかる第２のデバイスＤ２は、少なくとも部分的に、ソフトウェアモジュールでできていることが好ましい。しかし、かかる第２のデバイスＤ２は、（１つもしくは複数の）電子回路またはハードウェアモジュールでできていてもよく、あるいは、ハードウェアモジュールとソフトウェアモジュールの組合せでできていてもよい（この場合、第２のデバイスＤ２は、ソフトウェアモジュールがハードウェア構成要素を理解することを可能にするソフトウェアインターフェースも備える）。ソフトウェアモジュールでできている場合、かかる第２のデバイスＤ２は、サーバＳｊのメモリ内に格納されてよく、または、例えば、ＣＤ−ＲＯＭなど、コンピュータなどによって読み取られることが可能な任意のコンピュータソフトウェア製品内に格納されてもよい。したがって、第２のデバイスＤ２は、 例えば、その第２のデバイスＤ２が接続された通信ネットワークＣＮを介して、サーバＳｊ内にダウンロードされることが可能である。
【００３９】
サーバＳｊが機器Ｔｉから専用（ＳＯＡＰ）メッセージＤＭを受信するたびに、サーバＳｊは、そのコンテンツおよび特に（１つまたは複数の）要求、ならびに、場合によっては、その専用メッセージが含む（１つまたは複数の）パラメータを解析するその第２のデバイスＤ２にその専用メッセージを送信し、次いで、この機器Ｔｉに関するそれぞれの要求によって定義されたＮ個のウェブサービスを呼び出すようにそのサーバＳｊに命令する。
【００４０】
これらの呼出が実行される様式は、専用（ＳＯＡＰ）メッセージＤＭを受信するサーバＳｊに依存する。実際には、少なくとも２つの状況に遭遇する可能性がある。
【００４１】
第１の状況において、専用（ＳＯＡＰ）メッセージＤＭ内で指定されたＮ個のウェブサービスはすべて、この専用（ＳＯＡＰ）メッセージＤＭを受信するサーバＳｊ上で実行している。これは、Ｎ個のウェブサービスを呼び出すために必要とされる時間の点から非常に都合がよい状況である。実際には、第２のデバイスＤ２が受信された専用（ＳＯＡＰ）メッセージＤＭのコンテンツ（および、特に、その専用メッセージが含む（１つまたは複数の）要求）を解析するとき、第２のデバイスＤ２は、その専用メッセージが、そのサーバＳｊ上で実行しているＮ個のウェブサービスに対することを知る。したがって、第２のデバイスＤ２は、それらのそれぞれがＮ個のウェブサービスＷＳのうちの１つを呼び出すための動作、またはその呼出に部分的に寄与するための動作を定義する専用命令をこの要求解析から推論する。次いで、第２のデバイスＤ２は、推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、（専用（ＳＯＡＰ）メッセージＤＭ内で指定され、かつそのサーバＳｊ上で実行している）Ｎ個のウェブサービスのすべてを呼び出すようにそのサーバＳｊに命令する。ダイレクト・プログラマティック・コールがかける時間が（伝統的なＳＯＡＰメッセージを用いた）ウェブサービス呼出よりもより短いのは、プログラマティック・コールの場合、ＳＯＡＰメッセージを作成し、次いで、ＨＴＴＰ要求トランスポートを待ち、次いで、ＳＯＡＰ要求処理を待ち、次いで、応答がｓｏａｐメッセージ内で直列化されるのを待ち、次いで、ｈｔｔｐ応答トランスポートを待つ必要が存在しないためであることが当業者から知られている。
【００４２】
ダイレクト・プログラマティック・コールは、ここでは、基準（例えば、（オブジェクト指向のプログラミングにおける）オブジェクト）の作成を意味する。プログラムはそのプログラムが作成しなければならない基準を知っているため、この作成はプログラムを介して直接的に実現されるが、これは、その基準が要求内で渡されている（例えば、方法（または、活動）の名前が渡されている可能性がある）からである。
【００４３】
第２の状況において、専用（ＳＯＡＰ）メッセージＤＭ内で指定されたＮ個のウェブサービスは、この専用（ＳＯＡＰ）メッセージＤＭを受信するサーバＳｊ上で実行しているだけでなく、少なくとも１つのその他のサーバＳｊ’上でも実行している。
【００４４】
第２のデバイスＤ２が受信された専用（ＳＯＡＰ）メッセージＤＭのコンテンツ（および、特に、その専用メッセージが含む（１つまたは複数の）要求）を解析するとき、第２のデバイスＤ２は、その専用（ＳＯＡＰ）メッセージＤＭが、そのすべてがそのサーバＳｊ上で実行していないＮ個のウェブサービスに対することを知る。したがって、一方で、第２のデバイスＤ２は、それらのそれぞれがそのサーバＳｊ上で実行しているウェブサービスＷＳのうちの１つを呼び出すための動作、またはその呼出に部分的に寄与するために実行するための動作を定義する専用命令をこの要求解析から推論し、他方で、第２のデバイスＤ２は、呼び出されることになり、かつそのサーバＳｊ上で実行していないウェブサービスＷＳに対する（１つもしくは複数の）パラメータおよび／または（１つもしくは複数の）要求を含む（１つもしくは複数の）専用（ＳＯＡＰ）メッセージを生成する。この生成された専用（ＳＯＡＰ）メッセージは、（１つもしくは複数の）パラメータだけを含む伝統的な（ＳＯＡＰ）メッセージであってよく、または１つもしくは複数の要求、および場合によっては、１つもしくは複数のパラメータを含む、本発明による専用（ＳＯＡＰ）メッセージＤＭであってもよい点に留意することが重要である。次いで、第２のデバイスＤ２は、推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、（専用（ＳＯＡＰ）メッセージＤＭ内で指定され、かつそのサーバＳｊ上で実行している）ウェブサービスＷＳを呼び出し、かつ（１つもしくは複数の）生成された専用（ＳＯＡＰ）メッセージを用いて、その上で実行していないウェブサービスＷＳを呼び出すようにそのサーバＳｊに命令する。
【００４５】
どんな状況であれ、機器Ｔｉから初期の専用（ＳＯＡＰ）メッセージＤＭを受信したサーバＳｊが、この初期の専用（ＳＯＡＰ）メッセージＤＭの結果を有するとき、このサーバＳｊは、必要な場合、前記結果を含む伝統的な（ＳＯＡＰ）メッセージをこの機器Ｔｉに送信することが可能である。
【００４６】
次に、本発明による第１のＤ１デバイスおよび第２のＤ２デバイスによって実行される方法を例示するための簡単かつ非限定的な例が説明される。
【００４７】
この非限定的な例において、第１の機器Ｔ１のユーザは、第２のＴ２機器および第３のＴ３機器のユーザと電話会議を開始することを望んでいる。例えば、第１の機器Ｔ１は、そのユーザがウェブサービスを介して電話会議サービスにアクセスすることを可能にする企業システムに結び付けられている（例えば、この企業システムは、Ａｌｃａｔｅｌ−ＬｕｃｅｎｔのＡＰＩフレームワークである）。
【００４８】
電話会議を開始するために、第１の機器Ｔ１のユーザは、以下に記載される、４つのウェブサービスＷＳが対応するステップに従う必要がある。すなわち、
認証プロセスを用いて企業システムのサーバからセッションＩｄ（すなわち、ＳＩＤ）を取得するステップ、
第２の機器Ｔ２のユーザと第１の呼出を開始するステップ、
第３の機器Ｔ３のユーザと第２の呼出を開始するステップ、および
電話会議を開始するステップ、である。
【００４９】
この非限定的な例では、以下が想定される。
電話会議を開始するために必要とされるすべてのウェブサービスＷＳは、同じサーバＳ１上で実行している、
第１の機器Ｔ１のユーザがセッションＩｄ（ＳＩＤ）を得ることを初めて望むとき、認証段階がトリガされ、成功した場合、セッションＩｄ（ＳＩＤ）がそのユーザに提供される、
以後、セッションＩｄ（ＳＩＤ）が求められるとき、現在のセッションＩｄ（ＳＩＤ）が戻される。
【００５０】
図２に概略的に例示されるように、第１の機器Ｔ１は、（その第１のデバイスＤ１を用いて）単一の専用ＳＯＡＰメッセージＤＭだけを生成し、次いで、その上でＮ個の関係するウェブサービスＷＳが実行しているサーバＳ１にそのメッセージ（Ｆ１）を送信しなければならない。
【００５１】
この専用ＳＯＡＰメッセージＤＭは、以下に記載されるように表現され得る。
ｃｏｎｆＣａｌｌ（Ｃａｌｌ．Ｑｕｅｒｙ（ｌｏｃａｌｈｏｓｔ，ｇｅｔＳＩＤ，ｌｏｇｏｎ，ｐａｓｓｗｏｒｄ），
Ｃａｌｌ．Ｑｕｅｒｙ（ｌｏｃａｌｈｏｓｔ，ｍａｋｅＣａｌｌ，ＣａｌｌＱｕｅｒｙ（ｌｏｃａｌｈｏｓｔ，ｇｅｔＳＩＤ，ｌｏｇｏｎ，ｐａｓｓｗｏｒｄ）、ｎｕｍｂｅｒ１），
Ｃａｌｌ．Ｑｕｅｒｙ（ｌｏｃａｌｈｏｓｔ，ｍａｋｅＣａｌｌ，ＣａｌｌＱｕｅｒｙ（ｌｏｃａｌｈｏｓｔ，ｇｅｔＳＩＤ，ｌｏｇｏｎ，ｐａｓｓｗｏｒｄ）ｎｕｍｂｅｒ２））、
この場合、
「ｃｏｎｆＣａｌｌ」は、開始するための電話呼出（ウェブサービス）を定義する命令であり、
「Ｃａｌｌ．Ｑｕｅｒｙ」は、ウェブサービスの呼出に対する要求（すなわち、クエリ）であり、
「ｌｏｃａｌｈｏｓｔ」は、その上で関係するウェブサービスが実行しているサーバＳｊを指し、
「ｇｅｔＳＩＤ」は、認証プロセスの間にセッションＩｄ（すなわち、ＳＩＤ）を取得するための命令であり、
「ｌｏｇｏｎ」は、その認証プロセスの間に使用される、第１の端末Ｔ１の第１の機密情報であり、
「ｐａｓｓｗｏｒｄ」は、その認証プロセスの間に使用される、第１の端末Ｔ１の第２の機密情報であり、
「ｍａｋｅＣａｌｌ」は、機器Ｔｉとの呼出を開始するための命令であり、
「ｎｕｍｂｅｒｋ」は、それを用いて呼出が開始されなければならない機器Ｔｋ（この場合、ｋ＝２または３）を指す。
【００５２】
要求「Ｃａｌｌ．Ｑｕｅｒｙ」は、例えば、次のように表現され得る。
Ｃａｌｌ．Ｑｕｅｒｙ（「ウェブサービスのＵＲＬ」、「ウェブサービスの名前」、「パラメータ１」、「パラメータ２」、．．．、「パラメータＭ」）、この場合、「ウェブサービスのＵＲＬ」（すなわち、「ｌｏｃａｌｈｏｓｔ」）は、その上で関係するウェブサービスが実行しているサーバＳｊのアドレスを指す。
【００５３】
Ｎ個のウェブサービスが同じサーバＳ１上で実行している場合、「ウェブサービスのＵＲＬ」フィールドは、サーバＳ１によって使用されていない。Ｎ個のウェブサービスが同じサーバＳ１上で実行していない場合、関連する結果（サーバＳ１から機器Ｔ１よりも多くの機能（帯域幅、ＣＰＵ）を有する別のサーバＳ２に対して行われている呼出）を得るために、（伝統的なＳＯＡＰメッセージを用いて）サーバＳ１によって伝統的なウェブサービス呼出が実行される。
【００５４】
要求（「Ｃａｌｌ．Ｑｕｅｒｙ」）内に含まれ得るパラメータ（１からＭ）は、簡単なパラメータ（例えば、ストリングもしく整数）または別の要求（「Ｃａｌｌ．Ｑｕｅｒｙ」）の結果である点に留意することが重要である。
【００５５】
サーバＳ１が専用ＳＯＡＰメッセージＤＭを受信するとき、サーバＳ１は、そのコンテンツ（および、特に、その専用メッセージが含む要求）を解析するその第２のデバイスＤ２にその専用メッセージを送信する。この専用ＳＯＡＰメッセージＤＭ内で指定されたＮ個のウェブサービスＷＳがサーバＳ１上で実行中であり、、第２のデバイスＤ２は、Ｎ個のウェブサービスＷＳを呼び出す目的で順次に実行するための動作を定義する６つの専用命令を推論する。
【００５６】
この例では、これらの６つの専用命令は、
求められる電話呼出に関するセッションＩｄ（ＳＩＤ）を得るための「ｇｅｔＳＩＤ（．．．）」、
ｍａｋｅＣａｌｌ（Ｔ２）が必要とし得るあるセッションＩｄ（ＳＩＤ）を回復するための「ｇｅｔＳＩＤ（．．．）」、
第２の機器Ｔ２との電話呼出を開始するための「ｍａｋｅＣａｌｌ（Ｔ２）」、
ｍａｋｅＣａｌｌ（Ｔ３）が必要とし得るセッションＩｄ（ＳＩＤ）を回復するための「ｇｅｔＳＩＤ（．．．）」、
第３の機器Ｔ３との電話呼出を開始するための「ｍａｋｅＣａｌｌ（Ｔ３）」、ならびに
第１のＴ１機器、第２のＴ２機器、および第３のＴ３機器の間で電話会議を開始するための「ｃｏｎｆＣａｌｌ」である。
【００５７】
これらの６つの専用命令を推論した後で、第２のデバイスＤ２は、それらの６つの推論された専用命令によって定義されたダイレクト・プログラマティック・コールを用いて、（受信された 専用ＳＯＡＰメッセージＤＭ内で指定された）Ｎ個のウェブサービスのすべてを呼び出すようにそのサーバＳｊに命令する。
【００５８】
最後のウェブサービスＷＳ（「ｃｏｎｆＣａｌｌ」）が呼び出された後で、サーバＳ１は、第１の機器Ｔ１にそのウェブサービス呼出の結果を知らせるために、伝統的なＳＯＡＰメッセージ（Ｆ２）を第１の機器Ｔ１に送信して、電話会議が開始し得る。
【００５９】
４つ（Ｎ＝４）の順次に呼び出されたウェブサービス（「ｇｅｔＳＩＤ」、「ｍａｋｅＣａｌｌ（Ｔ２）」、「ｍａｋｅＣａｌｌ（Ｔ３）」、および「ｃｏｎｆＣａｌｌ」）に対応する結果を取得するための時間削減の点から、本発明の利益を理解するために、次に、本発明による方法（Ｍ３）によって必要とされる時間を当技術分野の２つの方法（Ｍ１（ＳＯＡＰメッセージのシーケンスを用いた伝統的なウェブサービス）およびＭ２（伝統的な編成プロセスモデル））によって必要とされる時間と比較する。
【００６０】
以下の規約を想定しよう。
Ｔｄ＝機器Ｔ１上の命令呼出のための時間、
Ｔｓ＝サーバＳ１上の命令呼出のための時間、Ｔｄ＞＞Ｔｓ、
Ｎ０：ｓｏａｐパケットを作成するための命令呼出の数、
Ｎ１：ＳＯＡＰメッセージを送るための命令呼出の数、
Ｎ２：ＳＯＡＰメッセージを非直列化するための命令呼出の数、
Ｎ３：ＳＯＡＰメッセージを処理するための命令呼出の数、
Ｎ４：ＳＯＡＰ応答を直列化するための命令呼出の数、
Ｎ５：ＳＯＡＰ応答を送るための命令呼出の数、
Ｎ６  ＳＯＡＰ応答を非直列化するための命令呼出の数、
Ｎ７：ダイレクト・プログラマティック・コールを行うための命令呼出の数。
【００６１】
通常、Ｎ０、Ｎ２、Ｎ４、およびＮ６が真にＮ１、Ｎ３、Ｎ５、およびＮ７よりも大きいのは、ＸＭＬレイヤが、特に、メモリ内に構造をロードし、この構造を解析して、ＸＭＬ構造内の（１つまたは複数の）ノード値に従って（１つまたは複数の）適切なオブジェクトを作成する責任を有するためである。この場合、Ｎ７がＮ１、Ｎ３、およびＮ５よりもさらにより低いのは、人はプログラム内にダイレクト・プログラマティック・コールを行うが、ウェブサービス呼出は行わないためである。
【００６２】
４つのウェブサービスＷＳを順次に呼び出すために、第１の方法（ＳＯＡＰメッセージのシーケンスを用いた伝統的なウェブサービス）によって必要とされる時間Ｔ（Ｍ１）は、以下のために必要とされる時間に対応する。すなわち、
第１のウェブサービスを呼び出すために、第１の伝統的なＳＯＡＰメッセージを第１の機器Ｔ１内で生成し、次いでこの第１のＳＯＡＰメッセージをサーバＳ１に送信し、次いで、第１の呼出の結果をサーバＳ１から第１の機器Ｔ１に送信するために必要とされる時間、
第２のウェブサービスを呼び出すために、第２の伝統的なＳＯＡＰメッセージを第１の機器Ｔ１内で生成し、次いで、この第２のＳＯＡＰメッセージをサーバＳ１に送信し、次いで、第２の呼出の結果をサーバＳ１から第１の機器Ｔ１に送信するために必要とされる時間、
第３のウェブサービスを呼び出すために、第３の伝統的なＳＯＡＰメッセージを第１の機器Ｔ１内で生成し、次いで、この第３のＳＯＡＰメッセージをサーバＳ１に送信し、次いで、第３の呼出の結果をサーバＳ１から第１の機器Ｔ１に送信するために必要とされる時間、
第４のウェブサービスを呼び出すために、第４の伝統的なＳＯＡＰメッセージを第１の機器Ｔ１内で生成し、次いで、この第４のＳＯＡＰメッセージをサーバＳ１に送信し、次いで、第４の呼出の結果をサーバＳ１から第１の機器Ｔ１に送信するために必要とされる時間、である。
【００６３】
この時間Ｔ（Ｍ１）は、以下の公式によって定義され得る。
Ｔ（Ｍ１）＝４＊（ＳＯＡＰパケットを作成するための時間＋ＳＯＡＰメッセージを送るための時間＋ＳＯＡＰパケットを非直列化するための時間＋ＳＯＡＰメッセージを処理するための時間＋ＳＯＡＰ応答を直列化するための時間＋ＳＯＡＰ応答を送るための時間＋ＳＯＡＰ応答を非直列化するための時間）。
【００６４】
したがって、Ｔ（Ｍ１）＝４＊（Ｎ０＊Ｔｄ＋Ｎ１＊Ｔｄ＋Ｎ２＊Ｔｓ＋Ｎ３＊Ｔｓ＋Ｎ４＊Ｔｓ＋Ｎ５＊Ｔｓ＋Ｎ６＊Ｔｄ）であり、これは、Ｔ（Ｍ１）〜４＊（Ｎ０＊Ｔｄ＋Ｎ１＊Ｔｄ＋Ｎ６＊Ｔｄ）によって近似され得る。
【００６５】
４つのウェブサービスＷＳを順次に呼び出すために、第２の方法（伝統的な編成プロセスモード）によって必要とされる時間Ｔ（Ｍ２）は、第１の機器Ｔ１内で伝統的なＳＯＡＰメッセージを生成し、次いで、このＳＯＡＰメッセージをサーバＳ１に送信し、次いで、サーバＳ１によって（４つのＳＯＡＰメッセージを用いて）Ｎ＝４個のウェブサービスを呼び出し、次いで、４つの呼出の結果をサーバＳ１から第１の機器Ｔ１に送信するために必要とされる時間に対応する。この時間Ｔ（Ｍ２）は、以下の公式によって定義され得る。
Ｔ（Ｍ２）＝１＊（ＳＯＡＰパケットを作成するための時間＋ＳＯＡＰメッセージを送るための時間＋ＳＯＡＰパケットを非直列化するための時間＋ＳＯＡＰメッセージを処理するための時間＋ＳＯＡＰ応答を直列化するための時間＋ＳＯＡＰ応答を送るための時間＋ＳＯＡＰ応答を非直列化するための時間）＋４＊（ＳＯＡＰパケットを作成するための時間＋ＳＯＡＰメッセージを送るための時間＋ＳＯＡＰパケットを非直列化するための時間＋ＳＯＡＰメッセージを処理するための時間＋ＳＯＡＰ応答を直列化するための時間＋ＳＯＡＰ応答を送るための時間＋ＳＯＡＰ応答を非直列化するための時間）。
【００６６】
したがって、Ｔ（Ｍ２）＝１＊（Ｎ０＊Ｔｄ＋Ｎ１＊Ｔｄ＋Ｎ２＊Ｔｓ＋Ｎ３＊Ｔｓ＋Ｎ４＊Ｔｓ＋Ｎ５＊Ｔｓ＋Ｎ６＊Ｔｄ）＋４＊（Ｎ０＊Ｔｓ＋Ｎ１＊Ｔｓ＋Ｎ２＊Ｔｓ＋Ｎ３＊Ｔｓ＋Ｎ４＊Ｔｓ＋Ｎ５＊Ｔｓ＋Ｎ６＊Ｔｓ）であり、これは、Ｔ（Ｍ２）〜１＊（Ｎ０＊Ｔｄ＋Ｎ１＊Ｔｄ＋Ｎ６＊Ｔｄ）＋４Ｔｓ＊（Ｎ０＋Ｎ１＋Ｎ２＋Ｎ３＋Ｎ４＋Ｎ５＋Ｎ６）〜１＊（Ｎ０＊Ｔｄ＋Ｎ１＊Ｔｄ＋Ｎ６＊Ｔｄ）＋１６Ｔｓ＊Ｎ０によって近似され得る。
【００６７】
４つのウェブサービスを順次に呼び出すために、（本発明による）第３の方法によって必要とされる時間Ｔ（Ｍ３）は、以下の公式によって定義され得る。
Ｔ（Ｍ３）＝１＊（ＳＯＡＰパケットを作成するための時間＋専用ＳＯＡＰメッセージＤＭを送るための時間＋ＳＯＡＰパケットを非直列化するための時間＋専用ＳＯＡＰメッセージＤＭを処理するための時間＋ＳＯＡＰ応答を直列化するための時間＋ＳＯＡＰ応答を送るための時間＋ＳＯＡＰ応答を非直列化するための時間）＋６＊（ダイレクト・プログラマブル・コールを処理するための時間）。
【００６８】
したがって、Ｔ（Ｍ３）＝１＊（Ｎ０＊Ｔｄ＋Ｎ１＊Ｔｄ＋Ｎ２＊Ｔｓ＋Ｎ３＊Ｔｓ＋Ｎ４＊Ｔｓ＋Ｎ５＊Ｔｓ＋Ｎ６＊Ｔｄ）＋６＊（Ｎ７＊Ｔｓ）であり、これは、Ｔ（Ｍ３）〜１＊（Ｎ０＊Ｔｄ＋Ｎ１＊Ｔｄ＋Ｎ６＊Ｔｄ）＋６Ｔｓ（Ｎ７）によって近似され得る。
【００６９】
Ｔ（Ｍ３）をＴ（Ｍ１）およびＴ（Ｍ２）と比較する場合、（Ｍ３）＜Ｔ（Ｍ２）＜Ｔ（Ｍ１）を得るのは、Ｔｓ＜＜ＴｄおよびＮ７＜＜Ｎ０ということだからであり、これは、本発明による第３の方法がアプリケーション感応性を高めることを意味する。
【００７０】
本発明は、いくつかの利点、特に、以下を提供する。すなわち、
アプリケーションの感応性を増大すること、
（１つまたは複数の）ウェブサービスに基づいて、より容易に通信機器内にアプリケーションを統合すること、
編成設計者がＢＰＥＬなどのワークフロー言語を知る必要が存在せず、かつ（１つまたは複数の）サーバ上にＢＰＥＬエンジンを設置する必要が存在しないため、編成方法の場合よりも設定がより簡単な実装形態、
クライアントによって書き込まれるコードが、伝統的なウェブサービス手法よりもより軽いため、伝統的なウェブサービス手法よりも更新がより簡単なこと、および
アプリケーションがいくつかのウェブサービス呼出を必要とするたびに（１つまたは複数の）サーバ上に「オールインワン」サービスを追加する必要が存在しないため、サーバの観点から侵入性がないこと、である。
【００７１】
本発明は、例としてだけ上で説明された方法、第１のデバイス、および第２のデバイスの実施形態に限定されず、本発明は、当業者によって以下の特許請求の範囲の範囲内であると見なされ得る代替的な実施形態を包括する。
【図１】
2011510529.tif 000003
【図２】
2011510529.tif 000004
【国際調査報告】
2011510529.tif 000005
2011510529.tif 000006