(57)【要約】【課題】  所定のメソッド呼び出しから、同等の機能を実現する別のメソッド呼び出しへと、メソッド呼び出しを円滑に置き換えること。【解決手段】  サービスのメソッドを順に実行するサービス連携システム１は、１つ以上のサービスのメソッドを提示して、提示した少なくとも１つのメソッドを順序情報付きで選択させて目的定義としてブロック化する目的定義管理装置１１と、目的定義の実行指示に従って、目的定義のメソッドを順序情報に従って実行する操作実行装置１４と、を含めて構成されることを特徴とする。また、目的定義管理装置１１は、１つ以上のサービスのメソッドを提示する際に、ユーザ端末Ｔによって既に操作された順序情報付きのメソッドの利用記録を基に、メソッドを提示することを特徴とする。【選択図】      図２
2005321918.tif 000002
【特許請求の範囲】
【請求項１】
サービスのメソッドを順に実行するサービス連携システムであって、
１つ以上のサービスのメソッドを提示して、提示した少なくとも１つのメソッドを順序情報付きで選択させて目的定義としてブロック化する目的定義管理装置と、
前記目的定義の実行指示に従って、前記目的定義のメソッドを前記順序情報に従って実行する操作実行装置と、を含めて構成されることを特徴とするサービス連携システム。
【請求項２】
前記目的定義管理装置は、前記１つ以上のサービスのメソッドを提示する際に、ユーザ端末によって既に操作された順序情報付きのメソッドの利用記録を基に、前記メソッドを提示することを特徴とする請求項１に記載のサービス連携システム。
【請求項３】
前記操作実行装置は、前記所定のメソッドを実行するために必要な前記メソッドの入力データを、前記順序情報が前記所定のメソッドの前となるメソッドの出力データ、または、前記メソッドの実行対象となるユーザ端末に問い合わせて入力されたデータのいずれかのデータから取得することを特徴とする請求項１または請求項２に記載のサービス連携システム。
【請求項４】
前記サービス連携システムは、前記目的定義のメソッドのデータ依存性をチェックする目的定義チェック装置をさらに含めて構成され、前記目的定義チェック装置は、前記目的定義のメソッドについて、前記順序情報が後となるメソッドの出力データが、前記順序情報が前となるメソッドの入力データと一致する場合に、データ依存性が不整合である旨のエラーを出力することを特徴とする請求項１ないし請求項３のいずれか１項に記載のサービス連携システム。
【請求項５】
サービスのメソッドを順に実行するコンピュータによるメソッド管理方法であって、前記コンピュータは、演算処理を行う際に用いられる記憶手段としてのメモリと、前記演算処理を行う演算処理装置とを少なくとも備え、
前記コンピュータが、前記記憶手段に格納された１つ以上のサービスのメソッドを提示して、提示した少なくとも１つのメソッドを順序情報付きで選択させて目的定義としてブロック化する手順と、
前記目的定義の実行指示に従って、前記目的定義のメソッドを前記順序情報に従って実行する手順と、
を実行することを特徴とするメソッド管理方法。
【請求項６】
前記目的定義としてブロック化する手順は、前記１つ以上のサービスのメソッドを提示する際に、ユーザ端末によって既に操作された順序情報付きのメソッドの利用記録を基に、前記メソッドを提示することを特徴とする請求項５に記載のメソッド管理方法。
【請求項７】
前記目的定義のメソッドを前記順序情報に従って実行する手順は、前記コンピュータが、前記所定のメソッドを実行するために必要な前記メソッドの入力データを、前記順序情報が前記所定のメソッドの前となるメソッドの出力データ、または、前記メソッドの実行対象となるユーザ端末に問い合わせて入力されたデータのいずれかのデータから取得することを特徴とする請求項５または請求項６にメソッド管理方法。
【請求項８】
前記コンピュータが、前記目的定義のメソッドについて、前記順序情報が後となるメソッドの出力データが、前記順序情報が前となるメソッドの入力データと一致する場合に、データ依存性が不整合である旨のエラーを出力する手順を含むことを特徴とする請求項５ないし請求項７のいずれか１項にメソッド管理方法。
【請求項９】
請求項５ないし請求項８に記載のメソッド管理方法を、コンピュータに実行させるためのメソッド管理プログラム。
【請求項１０】
請求項９に記載されたプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス連携システム、メソッド管理方法、メソッド管理プログラムおよびその記録媒体に関する。
【背景技術】
【０００２】
従来、Ｗｅｂサービスでは、提供する機能を外部に公開する方法として、外部からサービスを実行する方法を表すインタフェースを定義する言語が、ＷＳＤＬ（Web Services Description Language）として提供されている（非特許文献１など）。
【０００３】
サービスのインタフェース定義は、1つ以上のメソッド定義で表される。メソッドとは、複数の入力データを引数として受け取り、何らかの処理を行い、その処理結果として複数の出カデータを返却する処理単位である。メソッドの定義は、複数の入カデータ名とそれぞれのデータ型からなる入カデータ定義と、複数の出力データ名とそれぞれのデータ型からなる出カデータ定義とで構成される。
【０００４】
また、複数のサービスの組合せで表すことができる処理を自動的に処理する方法として、従来、サービスのメソッドの実行順序に当たるコントロールフローや、メソッド間のデータの受け渡しに当たるデータフローを定義することができる連携サービス定義言語が提供されていた。従来の連携サービス定義言語としては、ＢＰＥＬ４ＷＳ（Business Process Execution Language for Web Services）などがある（非特許文献２、非特許文献３など）。
【非特許文献１】日本アイ・ビー・エム株式会社、“WSDLによるWebサービスの配置: 第1回”、[online]、［平成１６年４月２６日検索］、インターネット＜ＵＲＬ：http://www-6.ibm.com/jp/developerworks/webservices/020215/j＿ws-intwsdl.pdf＞
【非特許文献２】日本アイ・ビー・エム株式会社、“ビジネス・プロセス: BPEL4WSについて 第1回”、[online]、［平成１６年４月２６日検索］、インターネット＜ＵＲＬ：http://www-6.ibm.com/jp/developerworks/webservices/021025/j＿ws-bpelcol1.pdf＞
【非特許文献３】日本アイ・ビー・エム株式会社、“BPEL4WSによるビジネス・プロセス: BPEL4WSについて 第2回”、[online]、［平成１６年４月２６日検索］、インターネット＜ＵＲＬ：http://www-6.ibm.com/jp/developerworks/webservices/021101/j＿ws-bpelcol2.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００５】
所定の機能を実現するための処理について、サービスのインタフェースは、共通となる指標は無く、サービスの提供者がそれぞれ独自に定義していた。よって、そのため、同様なサービスを実現するために呼び出すメソッドの種別や個数は、各サービスの提供者によるサービスの仕様によって異なるものとなり、メソッドについてのデータフローやコントロールフローも、規格が統一されていなかった。
【０００６】
そのため、処理能力や導入コストが優れているなどの理由によって、所定の機能を実現するサービスを置き換える際には、ユーザは、各サービスベンダが規定した規格を把握するためにマニュアルなどを精通する必要があるため、所定のメソッド呼び出しから、同等の機能を実現する別のメソッド呼び出しへと、メソッド呼び出しを円滑に置き換えることは、困難であった。
【０００７】
例えば、利用者は、サービスＡの持つａ個のメソッドを使って、オンライン決済機能を実現していたとする。利用者は、サービスＡの持つａ個のメソッドを使う替わりに、サービスＢの持つｂ個のメソッドを使うことによって、オンライン決済機能を実現することを所望することとする。その場合、サービスＡの持つａ個のメソッド呼び出し部分を、サービスＢの持つｂ個のメソッド呼び出しに置き換える必要がある。
【０００８】
しかし、サービスＡのメソッドとサービスＢのメソッドとは処理内容が一対一に対応するとは限らないため、利用者は、サービスＢの持つｂ個のメソッド呼び出し順序や、各メソッド呼び出しに使用される入力パラメータについて、試行錯誤で選択する必要があり、手間がかかってしまう。
【０００９】
そこで、本発明は、前記した問題を解決し、同等の機能を実現するためのメソッド呼び出しを、円滑に置き換えることを主な目的とする。
【課題を解決するための手段】
【００１０】
前記課題を解決するために、請求項１に記載のサービス連携システムは、サービスのメソッドを順に実行するサービス連携システムであって、
１つ以上のサービスのメソッドを提示して、提示した少なくとも１つのメソッドを順序情報付きで選択させて目的定義としてブロック化する目的定義管理装置と、
前記目的定義の実行指示に従って、前記目的定義のメソッドを前記順序情報に従って実行する操作実行装置と、を含めて構成されることを特徴とする。
【００１１】
これにより、メソッドの呼び出し順序が目的定義としてまとめられているので、目的定義を選択するだけで、同等の機能を実現するためのメソッド呼び出しを、円滑に置き換えることができる。
【００１２】
請求項２に記載のサービス連携システムは、請求項１に記載のサービス連携システムであって、前記目的定義管理装置は、前記１つ以上のサービスのメソッドを提示する際に、ユーザ端末によって既に操作された順序情報付きのメソッドの利用記録を基に、前記メソッドを提示することを特徴とする。
【００１３】
これにより、既に操作されたメソッドの利用記録を活用することにより、メソッドの呼び出しの順序を試行錯誤する手間が省ける。
【００１４】
請求項３に記載のサービス連携システムは、請求項１または請求項２に記載のサービス連携システムであって、前記操作実行装置は、前記所定のメソッドを実行するために必要な前記メソッドの入力データを、前記順序情報が前記所定のメソッドの前となるメソッドの出力データ、または、前記メソッドの実行対象となるユーザ端末に問い合わせて入力されたデータのいずれかのデータから取得することを特徴とする。
【００１５】
これにより、メソッドの入力データのうち、ユーザ端末に入力されるデータを最小限に抑えることができるので、ユーザの手間が軽減される。
【００１６】
請求項４に記載のサービス連携システムは、請求項１ないし請求項３のいずれか１項に記載のサービス連携システムであって、前記サービス連携システムは、前記目的定義のメソッドのデータ依存性をチェックする目的定義チェック装置をさらに含めて構成され、前記目的定義チェック装置は、前記目的定義のメソッドについて、前記順序情報が後となるメソッドの出力データが、前記順序情報が前となるメソッドの入力データと一致する場合に、データ依存性が不整合である旨のエラーを出力することを特徴とする。
【００１７】
これにより、目的定義において登録したメソッドの順序の入力ミスを、入力者は明示的に知ることができる。
【００１８】
請求項５に記載のメソッド管理方法は、サービスのメソッドを順に実行するコンピュータによるメソッド管理方法であって、前記コンピュータは、演算処理を行う際に用いられる記憶手段としてのメモリと、前記演算処理を行う演算処理装置とを少なくとも備え、
前記コンピュータが、前記記憶手段に格納された１つ以上のサービスのメソッドを提示して、提示した少なくとも１つのメソッドを順序情報付きで選択させて目的定義としてブロック化する手順と、
前記目的定義の実行指示に従って、前記目的定義のメソッドを前記順序情報に従って実行する手順と、
を実行することを特徴とする。
【００１９】
これにより、メソッドの呼び出し順序が目的定義としてまとめられているので、目的定義を選択するだけで、同等の機能を実現するためのメソッド呼び出しを、円滑に置き換えることができる。
【００２０】
請求項６に記載のメソッド管理方法は、請求項５に記載のメソッド管理方法であって、前記目的定義としてブロック化する手順は、前記１つ以上のサービスのメソッドを提示する際に、ユーザ端末によって既に操作された順序情報付きのメソッドの利用記録を基に、前記メソッドを提示することを特徴とする。
【００２１】
これにより、既に操作されたメソッドの利用記録を活用することにより、メソッドの呼び出しの順序を試行錯誤する手間が省ける。
【００２２】
請求項７に記載のメソッド管理方法は、請求項５または請求項６にメソッド管理方法であって、前記目的定義のメソッドを前記順序情報に従って実行する手順は、前記コンピュータが、前記所定のメソッドを実行するために必要な前記メソッドの入力データを、前記順序情報が前記所定のメソッドの前となるメソッドの出力データ、または、前記メソッドの実行対象となるユーザ端末に問い合わせて入力されたデータのいずれかのデータから取得することを特徴とする。
【００２３】
これにより、メソッドの入力データのうち、ユーザ端末に入力されるデータを最小限に抑えることができるので、ユーザの手間が軽減される。
【００２４】
請求項８に記載のメソッド管理方法は、請求項５ないし請求項７のいずれか１項にメソッド管理方法であって、前記コンピュータが、前記目的定義のメソッドについて、前記順序情報が後となるメソッドの出力データが、前記順序情報が前となるメソッドの入力データと一致する場合に、データ依存性が不整合である旨のエラーを出力する手順を含むことを特徴とする。
【００２５】
これにより、目的定義において登録したメソッドの順序の入力ミスを、入力者は明示的に知ることができる。
【００２６】
請求項９に記載のメソッド管理プログラムは、請求項５ないし請求項８に記載のメソッド管理方法を、コンピュータに実行させることを特徴とする。
【００２７】
これにより、メソッドの呼び出し順序が目的定義としてまとめられているので、目的定義を選択するだけで、同等の機能を実現するためのメソッド呼び出しを、円滑に置き換えることができる。
【００２８】
請求項１０に記載の記録媒体は、コンピュータ読み取り可能な記録媒体であって、請求項９に記載されたプログラムを記録したことを特徴とする。
【００２９】
これにより、メソッドの呼び出し順序が目的定義としてまとめられているので、目的定義を選択するだけで、同等の機能を実現するためのメソッド呼び出しを、円滑に置き換えることができる。
【発明の効果】
【００３０】
本発明は、メソッドの呼び出し順序が目的定義としてまとめられているように、メソッドの呼び出しを管理することを特徴とする。これにより、目的定義を選択するだけで、同等の機能を実現するためのメソッド呼び出しを、円滑に置き換えることができる。
【発明を実施するための最良の形態】
【００３１】
以下に、本発明が適用されるサービス連携システムの一実施形態について、図面を参照して詳細に説明する。まず、本実施形態のサービス連携システムの構成について、図１から図５を参照して説明する。
【００３２】
まず、本実施形態のサービス連携システム１が扱う概念を定義する。図５は、目的定義とサービスとの関係の説明図である。まず、サービスは、１つ以上のメソッドを含む。図５では、“宿泊検索サービス”が、“検索”“見積り”、“予約”、“支払い”、“チケット配送”の５つのメソッドを含む例を示している。
【００３３】
次に、連携操作定義は、各メソッドの呼び出し順序を規定する。例えば、図５は、“検索”→“見積り”の順にメソッドを呼び出す第１の連携操作定義と、“予約”→“支払い”→“チケット配送”の順にメソッドを呼び出す第２の連携操作定義と、の２つが示されている。さらに、目的定義は、１つ以上の連携操作定義を含む。
【００３４】
なお、目的定義の連携操作定義の種類は、目的を特定する操作を表すロケートと、目的を実行するエグゼキュートの２種類とする。まず、ロケートは、何度実行しても利用者にとって状態が変化しないものである。一方、エグゼキュートは、利用者にとって状態が変化するものとする。これらの操作の種類は、操作の登録に併せて、属性情報として付される。
【００３５】
例えば、宿泊予約において、ロケートは、宿泊検索サービスの検索メソッドを呼び出して宿泊地リストを取得し、さらに、見積りメソッドを呼び出して見積りを取得する一連の操作として表すことができる。また、エグゼキュートは、予約メソッド、支払いメソッド、チケット配送メソッドを順に呼び出す一連の操作として表すことができる。見積りは、何度とっても利用者にとって状態が変化することはない。一方、予約以降は、利用者にとって状態が変化する処理である。ここで、状態の変化とは、利用者に関連付けられている情報に変化があることを示す。このように、ロケートかエグゼキュートかを分類することにより、利用者は、状態変更を伴う処理を行う前に、その処理に関する情報（例えば、有料サービスか、無料サービスか）を得ることができ、処理の可否を判断することができるというメリットがある。
【００３６】
図１は、サービス連携システム１を含むサービス提供システムの構成図である。サービス連携システム１は、選択されたメソッドの集合を目的定義としてブロック化して提供する機能を有する。
【００３７】
まず、サービス利用者は、ユーザ端末Ｔによって、サービスインタフェース定義をディレクトリで管理するサービスディレクトリＳＤに問い合わせて、実行するサービス（およびサービスが含むメソッド）を検索する。なお、既存のサービスディレクトリＳＤとしては、ＵＤＤＩ（Universal Description, Discovery and Integration）などがある。なお、実行するサービス（およびサービスが含むメソッド）は、記憶手段に記録されている。
【００３８】
次に、サービス利用者は、ユーザ端末Ｔを介して、検索して取得したメソッドを順に実行させると、図２に示すサービス連携システム１が、実行されたメソッドの順序情報を記録する。そして、サービス利用者は、サービス連携システム１が提示する前記メソッドの順序情報から、メソッドの集合を選択する。
【００３９】
すると、サービス連携システム１が、選択されたメソッドの集合を、所定の規則に従い「目的定義」としてブロック化しＤＢに登録する。さらに、サービス連携システム１は、登録された「目的定義」をサービス利用者に提示して選択されることで、同様のサービスを実現するためのメソッド呼び出しについて、容易に入れ替えることを可能とする。
【００４０】
図２は、サービス連携システム１の構成図である。サービス連携システム１は、目的定義の作成および編集を行なう目的定義管理装置１１と、目的定義のメソッドのデータ依存性をチェックする目的定義チェック装置１２と、目的定義のメソッドを順序情報に従って展開する目的定義展開装置１３と、目的定義のメソッドを順序情報に従って実行する操作実行装置１４と、サービスのメソッドを管理する操作管理ＤＢ２１と、メソッドの順序集合として目的定義を管理する目的管理ＤＢ２２と、メソッドの実行結果である出力データを管理する出カデータ管理ＤＢ２３と、を含めて構成される。
【００４１】
なお、サービス連携システム１が、サービスディレクトリＳＤからサービスインタフェース定義を取得する際、および、サービスを提供（出力）する際には、メッセージ交換のプロトコルとして、業界標準のプロトコルであるＳＯＡＰ（Simple Object Access Protocol）を用いてもよい。これにより、既存の製品と円滑に連携することができる。
【００４２】
図３は、操作管理ＤＢ２１が管理する操作データの説明図である。図３（Ａ）は、操作定義のデータ構造の説明図である。図３（Ｂ）は、連携操作定義のデータ構造の説明図である。図３（Ｃ）は、連携管理ＤＢの管理するデータの構造の説明図である。これらの操作データは、図６から図１３に示すフローチャートにて、より明らかにする。
【００４３】
図４は、目的管理ＤＢ２２が管理する目的データの説明図である。図４（Ａ）は、目的定義のデータ構造の説明図である。図４（Ｂ）は、連携目的定義のデータ構造の説明図である。図４（Ｃ）は、目的管理ＤＢ２２の管理するデータの構造の説明図である。これらの目的データは、図６から図１３に示すフローチャートにて、より明らかにする。
【００４４】
以上、サービス連携システム１の構成について、説明した。次に、本実施形態のサービス連携システム１の動作について、図１から図５を参照しつつ、図６から図１３に沿って説明する。
【００４５】
サービス連携システム１の動作は、メソッド呼び出しに関する登録処理（Ｓ１００〜Ｓ４００）、チェック処理（Ｓ５００）、修正処理（Ｓ６００〜Ｓ７００）、および、実行処理（Ｓ８００）に分類される。
【００４６】
なお、目的定義管理装置１１によるメソッド呼び出しに関する登録処理は、利用者の操作の記録（操作定義の生成）（Ｓ１００）、連携操作定義の生成（Ｓ２００）、目的定義の生成（Ｓ３００）、連携目的定義の生成（Ｓ４００）の順に、行なわれる。また、目的定義管理装置１１によるメソッド呼び出しに関する修正処理は、操作定義または連携操作定義の修正（Ｓ６００）、目的定義または連携目的定義の修正（Ｓ７００）の順に、行なわれる。
【００４７】
図６は、目的定義管理装置１１による、利用者の操作の記録（操作定義の生成）処理（Ｓ１００）を示す。まず、目的定義管理装置１１は、利用者からサービスＩＤとメソッド名を受け取る（Ｓ１１０）。次に、目的定義管理装置１１は、サービスＩＤを引数としてサービスディレクトリＳＤに問い合わせ、サービスインタフェースを受け取る（Ｓ１２０）。
【００４８】
そして、目的定義管理装置１１は、サービスインタフェースのうち、指定されたメソッドの入力データ定義を利用者に提示し、入力データの値のリストを受け取る。利用者は、入カデータの値として、記録済みの操作定義に含まれるメソッドの出力データ名を指定してもよい。その場合、操作管理ＤＢ２１からその操作定義を受け取り、該当する出力データの値を取得する（Ｓ１３０）。
【００４９】
さらに、目的定義管理装置１１は、操作実行装置１４を介して、入カデータ名とその値のペアのリストを引数としてサービスのメソッドを呼び出し、その処理結果である出カデータ名とその値のペアのリストを受け取る（Ｓ１４０）。そして、目的定義管理装置１１は、サービスｌＤ、メソッド名、入カデータ定義、出カデータ定義、入カデータの値のリスト、出カデータの値のリスト、とからなる操作定義（図３（Ａ））を、一意な操作ｌＤと共に操作管理ＤＢ２１（図３（Ｃ））に追加する。なお、入カデータの値として出カデータ名が指定された場合、操作定義では、「操作１Ｄ、出力データ名」の形で表す（Ｓ１５０）。
【００５０】
図７は、目的定義管理装置１１による、連携操作定義の生成処理（Ｓ２００）を示す。ここで、目的定義管理装置１１は、ロケートまたはエグゼキュートに相当する処理が、１回の操作では完了しない場合、以下の処理を繰り返す（Ｓ２１０）。目的定義管理装置１１は、利用者に操作を実施してもらい、その操作ＩＤを、実行順序番号と共に連携操作定義（図３（Ｂ））に追加する（Ｓ２１１）。さらに、目的定義管理装置１１は、連携操作定義を、一意な操作ＩＤと共に、操作管理ＤＢ２１に追加する（Ｓ２２０）。
【００５１】
図８は、目的定義管理装置１１による、目的定義の生成処理（Ｓ３００）を示す。目的定義管理装置１１は、利用者が操作する端末から、目的名、ロケートの操作ＩＤ、エグゼキュートの操作ＩＤ、目的分類名のリストを受け取り、これらのデータを目的定義（図４（Ａ））として目的管理ＤＢ２２（図４（Ｃ））に登録する（Ｓ３１０）。
【００５２】
図９は、目的定義管理装置１１による、連携目的定義の生成処理（Ｓ４００）を示す。
【００５３】
まず、目的定義管理装置１１は、以下の処理を繰り返す（Ｓ４１０）。ここで、目的定義管理装置１１は、利用者から、生成済みの目的定義の目的名と操作名を受け取り、実行順序番号と共に連携目的定義（図４（Ｂ））に追加する（Ｓ４１１）。そして、目的定義管理装置１１は、目的定義チェック装置１２を利用して、連携目的定義のチェック（Ｓ５００）を呼び出す（Ｓ４２０）。そして、目的定義管理装置１１は、目的管理ＤＢ２２を利用して、全ての目的名に対応する目的分類名のリストを得る（Ｓ４３０）。さらに、目的定義管理装置１１は、利用者から、連携目的名を受け取り、連携目的定義と、Ｓ４３０で得た目的分類名のリストと共に、目的管理ＤＢ２２（図４（Ｃ））に追加する（Ｓ４４０）。
【００５４】
図１０は、目的定義チェック装置１２による、連携目的定義のチェック処理（Ｓ５００）を示す。なお、メソッド呼び出しに関するチェック処理（Ｓ５００）は、例えば、利用者がデータ依存の整合性がチェック済みであるメソッド呼び出しを入力する場合などにおいて、チェック処理が不要な場合には、省略が可能である。
【００５５】
ここで、メソッド呼び出しに関するチェック処理（Ｓ５００）は、メソッドを呼び出す際に引数として使用されるパラメータにおける、データ依存の整合性をチェックする処理である。例えば、メソッドＭ１の入力パラメータが、Ｐ１、Ｐ２、Ｐ３の３つであり、メソッドＭ２の出力パラメータが、Ｐ１、Ｐ４の２つである場合に、メソッドＭ１→メソッドＭ２の順にメソッドを呼び出すとすると、後に実行されるメソッドＭ２の出力結果のパラメータＰ１が、先に実行されるメソッドＭ１の入力として使用されるような、データ依存における不整合が、チェック処理（Ｓ５００）によって、検出される。
【００５６】
まず、目的定義チェック装置１２は、目的定義展開装置１３を利用して、与えられた連携目的定義に対して以下の処理を行い、ロケートとエグゼキュートに対応する操作定義のリストを得る（Ｓ５１０）。
目的定義チェック装置１２は、連携目的定義のそれぞれの目的名に対応する目的定義を目的管理ＤＢ２２に問い合わせ、実行順序番号の順に並べる（Ｓ５１１）。なお、目的名に連携目的定義が対応していた場合は、全ての連携目的定義が目的定義のリストに展開されるまで、Ｓ５１１の処理を再帰的に繰り返す。
目的定義チェック装置１２は、それぞれの目的定義のロケートの操作ＩＤに対応する操作定義を、操作管理ＤＢ２１に問い合わせ、実行順序番号順に並べる（Ｓ５１２）。なお、操作ＩＤに連携操作定義が対応していた場合は、全ての連携操作定義が操作定義のリストに展開されるまで、Ｓ５１２の処理を再帰的に繰り返す。
目的定義チェック装置１２は、それぞれの目的定義のエグゼキュートの操作ＩＤに対応する操作定義について、Ｓ５１２と同様の処理を行う（Ｓ５１３）。
【００５７】
目的定義チェック装置１２は、ロケートとエグゼキュートそれぞれの操作定義のリストについて、以下のチェックを順番に実行する（Ｓ５２０）。
目的定義チェック装置１２は、操作定義の入力データの値に、既にチェック済みの操作定義の出力データ以外の出力データ名が指定されている場合、該入力データと該出力データとを含む操作定義、連携操作定義、目的定義、連携目的定義をそれぞれ利用者に提示し、いずれかの値を修正するよう、利用者に通知する（Ｓ５２１）。
なお、操作定義の入力データは、既に実行されたメソッドから取得されるデータと、実行時にユーザが入力するデータとに分類できる。そして、ユーザが入力するデータの場合には、修正は不要なので、利用者への通知から除外してもよい。
【００５８】
図１１は、目的定義管理装置１１による、操作定義または連携操作定義の修正処理（Ｓ６００）を示す。まず、目的定義管理装置１１は、利用者から、操作ＩＤを受け取る（Ｓ６１０）。次に、目的定義管理装置１１は、操作定義または連携操作定義を操作管理ＤＢ２１から取得し、利用者に提示し、修正してもらう（Ｓ６２０）。そして、目的定義管理装置１１は、目的定義管理装置１１は、修正済みの操作定義または連携操作定義を、操作管理ＤＢ２１に登録する（Ｓ６３０）。
【００５９】
図１２は、目的定義管理装置１１による、目的定義または連携目的定義の修正処理（Ｓ７００）を示す。まず、目的定義管理装置１１は、利用者から、目的名を受け取る（Ｓ７１０）。次に、目的定義管理装置１１は、目的定義または連携目的定義を目的管理ＤＢ２２から取得し、利用者に提示し、修正してもらう（Ｓ７２０）。そして、目的定義管理装置１１は、連携目的定義の場合は、目的定義チェック装置１２を利用して、修正済みの定義のチェック（Ｓ５００）を呼び出す（Ｓ７３０）。さらに、目的定義管理装置１１は、修正済みの目的定義または連携目的定義を、目的管理ＤＢ２２に登録する（Ｓ７４０）。
【００６０】
図１３は、目的定義展開装置１３による、連携目的定義の実行処理（Ｓ８００）を示す。まず、目的定義展開装置１３は、利用者から、連携目的定義名と操作名（ロケートまたはエグゼキュートのいずれか）を受け取る（Ｓ８１０）。次に、目的定義展開装置１３は、指定された連携目的定義を、目的管理ＤＢ２２から受け取る（Ｓ８２０）。そして、目的定義展開装置１３は、Ｓ５１０と同様に、指定された操作名に対応する操作定義を抽出し、並べる（Ｓ８３０）。
【００６１】
ここで、目的定義展開装置１３は、操作実行装置１４を利用し、それぞれの操作定義について、以下の処理を順番に実行する（Ｓ８４０）。目的定義展開装置１３は、もし、入カデータの値が出カデータ名の場合には、出カデータ管理ＤＢ２３に間い合わせ、その値を取得する（Ｓ８４１）。一方、目的定義展開装置１３は、入カデータの値が出カデータ名以外の場合には、利用者に入カデータの値の指定を依頼する（Ｓ８４２）。そして、目的定義展開装置１３は、入カデータ名とその値のペアのリストを引数としてサービスのメソッドを呼び出し、その処理結果である出力データ名とその値のペアのリストを受け取る（Ｓ８４３）。さらに、目的定義展開装置１３は、受け取った複数の出カデータ名とその値を、それぞれ出カデータ管理ＤＢ２３に登録する（Ｓ８４４）。
【００６２】
以上説明した本発明は、以下のようにその趣旨を逸脱しない範囲で広く変形実施することができる。
【００６３】
例えば、サービス連携システム１は、連携目的定義を構成する順序情報付きのメソッド集合の各メソッドについて、１つのサービスに属するメソッドの集合としてもよいし、別々のサービスに属するメソッドの集合を寄せ集めてもよい。
【００６４】
また、目的定義管理装置１１は、利用者から目的分類名のリストを受け取ると、目的管理ＤＢ２２から、指定された目的分類名のリストと一致する目的名を検索し、そのリストを利用者に返す処理を実行してもよい。この処理は、目的管理ＤＢ２２に登録されている目的名の全ての一覧を利用者に提示して、その全ての一覧から目的名を選択される方式に比べ、目的分類名によって分類された目的名に、選択候補を絞り込むことを特徴とする。これにより、所定の目的を実現するための同等のサービスを、容易に選択することができる。よって、同等の機能を実現するためのメソッド呼び出しを、円滑に置き換えることができる。
【図面の簡単な説明】
【００６５】
【図１】サービス提供システムの構成図である。
【図２】本発明の一実施形態に関するサービス連携システムの構成図である。
【図３】本発明の一実施形態に関する操作管理ＤＢが管理する操作データの説明図である。
【図４】本発明の一実施形態に関する目的管理ＤＢが管理する目的データの説明図である。
【図５】本発明の一実施形態に関するサービスに関する概念の説明図である。
【図６】本発明の一実施形態に関するメソッド呼び出しに関する登録処理を示すフローチャートである。
【図７】本発明の一実施形態に関するメソッド呼び出しに関する登録処理を示すフローチャートである。
【図８】本発明の一実施形態に関するメソッド呼び出しに関する登録処理を示すフローチャートである。
【図９】本発明の一実施形態に関するメソッド呼び出しに関する登録処理を示すフローチャートである。
【図１０】本発明の一実施形態に関するメソッド呼び出しに関するチェック処理を示すフローチャートである。
【図１１】本発明の一実施形態に関するメソッド呼び出しに関する修正処理を示すフローチャートである。
【図１２】本発明の一実施形態に関するメソッド呼び出しに関する修正処理を示すフローチャートである。
【図１３】本発明の一実施形態に関するメソッド呼び出しに関する実行処理を示すフローチャートである。
【符号の説明】
【００６６】
１      サービス連携システム
１１    目的定義管理装置
１２    目的定義チェック装置
１３    目的定義展開装置
１４    操作実行装置
２１    操作管理ＤＢ（記憶手段）
２２    目的管理ＤＢ（記憶手段）
【図１】
2005321918.tif 000003
【図２】
2005321918.tif 000004
【図３】
2005321918.tif 000005
【図４】
2005321918.tif 000006
【図５】
2005321918.tif 000007
【図６】
2005321918.tif 000008
【図７】
2005321918.tif 000009
【図８】
2005321918.tif 000010
【図９】
2005321918.tif 000011
【図１０】
2005321918.tif 000012
【図１１】
2005321918.tif 000013
【図１２】
2005321918.tif 000014
【図１３】
2005321918.tif 000015