(57)【特許請求の範囲】
【請求項１】
互いに接続可能な複数のウェブサービス間のデータフローを定義するサービス結合定義によって関係付けられている、出力データ項目と入力データ項目とから構成される複数の既存の対のうち、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とが一致しているとき、前記第１の対に含まれる該出力データ項目と前記第２の対に含まれる該入力データ項目とから構成され、前記既存の対と相違する新たな対を生成するデータ項目関係性推論手段を備えたことを特徴とするサービス結合支援装置。
【請求項２】
請求項１記載のサービス結合支援装置において、
前記データ項目関係性推論手段は、同じ入力データ項目と前記サービス結合定義によって関連付けられている出力データ項目同士は一致するという第１の推論規則、および同じ出力データ項目と前記サービス結合定義によって関連付けられている入力データ項目同士は一致するという第２の推論規則に基づいて前記第１の対に含まれる出力データ項目と前記第２の対に含まれる入力データ項目とが一致しているか否かを判定することを特徴とするサービス結合支援装置。
【請求項３】
請求項２記載のサービス結合支援装置において、
前記データ項目関係性推論手段は、前記既存の対のうち第３の対に含まれる出力データ項目と前記第１の対に含まれる出力データ項目とが前記第１の推論規則に基づいて一致していると判定し、かつ前記第３の対に含まれる入力データ項目と前記第２の対に含まれる入力データ項目とが前記第２の推論規則に基づいて一致していると判定した場合、前記第１の対に含まれる出力データ項目と前記第２の対に含まれる入力データ項目とが一致していると判定することを特徴とするサービス結合支援装置。
【請求項４】
請求項１乃至３いずれかに記載のサービス結合支援装置において、
前記サービス結合定義によって定義される前記データフローにおける送信側の第１ウェブサービスと、受信側の第２ウェブサービスと、送受されるデータの前記第１ウェブサービスまたは前記第２ウェブサービスそれぞれにおけるデータ属性と、を前記サービス結合定義から抽出するデータフロー解析手段と、
前記データフロー解析手段により抽出された前記第１ウェブサービスを示す送信元情報および該第１ウェブサービスにおける前記データ属性を含む前記出力データ項目と、抽出された前記第２ウェブサービスを示す受信元情報および該第２ウェブサービスにおける前記データ属性を含む前記入力データ項目と、を関連付けて前記既存の対として記憶するデータ項目関係性記憶手段と、
を備えたことを特徴とするサービス結合支援装置。
【請求項５】
請求項１乃至４いずれかに記載のサービス結合支援装置において、
前記データ項目関係性推論手段は、複数の前記既存の対のうち、指定された特定の出力データ項目または特定の入力データ項目の少なくとも一方を含んでいる特定の対を検索して、検索された前記特定の対から前記新たな対を生成することを特徴とするサービス結合支援装置。
【請求項６】
請求項２又は３に記載のサービス結合支援装置において、
前記データ項目関係性推論手段は、
前記既存の対を構成する前記出力データ項目と前記入力データ項目のうち、前記サービス結合定義によって関連付けられている前記出力データ項目および前記入力データ項目、前記第１の推論規則において一致する前記出力データ項目同士、または前記第２の推論規則において一致する前記入力データ項目同士に同一のデータ型番号を付与し、前記データ型番号を付与された前記出力データ項目または前記入力データ項目を推論結果記憶手段に記憶させて、
前記推論結果記憶手段に記憶されている前記出力データ項目と前記入力データ項目とのうち、指定された特定のデータ型番号を付与されている前記出力データ項目と、該特定のデータ型番号を付与されている前記入力データ項目から構成される対を、前記新たな対として生成することを特徴とするサービス結合支援装置。
【請求項７】
請求項６記載のサービス結合支援装置において、
前記データ項目関係性推論手段は、
前記推論結果記憶手段に記憶されている前記出力データ項目と前記入力データ項目とを読み込み、
読み込まれた前記出力データ項目および前記入力データ項目のうち、異なる前記データ型番号が付与されている同じ前記出力データ項目または前記入力データ項目が存在した場合は、異なる前記データ型番号のうち一方のデータ型番号を他方のデータ型番号に置き換えることを特徴とするサービス結合支援装置。
【請求項８】
請求項１乃至７いずれかに記載のサービス結合支援装置において、
接続先が定義されていない入力データ項目または出力データ項目を入力し、入力された前記入力データ項目または前記出力データ項目のいずれか一方を含む前記新たな対を前記データ項目関係性推論手段から取得するサービス結合提案手段を備えたことを特徴とするサービス結合支援装置。
【請求項９】
請求項１乃至７いずれかに記載のサービス結合支援装置において、
前記サービス結合定義に定義されている全ての入力データ項目および出力データ項目を抽出し、抽出された前記入力データ項目または前記出力データ項目のいずれか一方を含む前記新たな対を前記データ項目関係性推論手段から取得し、取得された前記新たな対を出力するサービス結合提案手段を備えたことを特徴とするサービス結合支援装置。
【請求項１０】
互いに接続可能な複数のウェブサービス間のデータフローを定義するサービス結合定義によって関係付けられている、出力データ項目と入力データ項目とから構成される複数の既存の対のうち、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とが一致しているとき、前記第１の対に含まれる該出力データ項目と前記第２の対に含まれる該入力データ項目とから構成され、前記既存の対と相違する新たな対を生成するデータ項目関係性推論ステップを含むことを特徴とするサービス結合支援方法。
【請求項１１】
請求項１０記載のサービス結合支援方法において、
前記データ項目関係性推論ステップでは、同じ入力データ項目と前記サービス結合定義によって関連付けられている出力データ項目同士は一致するという第１の推論規則、および同じ出力データ項目と前記サービス結合定義によって関連付けられている入力データ項目同士は一致するという第２の推論規則に基づいて前記第１の対に含まれる出力データ項目と前記第２の対に含まれる入力データ項目とが一致しているか否かを判定することを特徴とするサービス結合支援方法。
【請求項１２】
請求項１１に記載のサービス結合支援方法において、
前記データ項目関係性推論ステップでは、前記既存の対のうち第３の対に含まれる出力データ項目と前記第１の対に含まれる出力データ項目とが前記第１の推論規則に基づいて一致していると判定し、かつ前記第３の対に含まれる入力データ項目と前記第２の対に含まれる入力データ項目とが前記第２の推論規則に基づいて一致していると判定した場合、前記第１の対に含まれる出力データ項目と前記第２の対に含まれる入力データ項目とが一致していると判定することを特徴とするサービス結合支援方法。
【請求項１３】
請求項１０乃至１２いずれかに記載のサービス結合支援方法において、
前記データ項目関係性推論ステップでは、複数の前記既存の対のうち、指定された特定の出力データ項目または特定の入力データ項目の少なくとも一方を含んでいる特定の対を検索して、検索された前記特定の対から前記新たな対を生成することを特徴とするサービス結合支援方法。
【請求項１４】
コンピュータに、
互いに接続可能な複数のウェブサービス間のデータフローを定義するサービス結合定義によって関係付けられている、出力データ項目と入力データ項目とから構成される複数の既存の対のうち、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とが一致しているとき、前記第１の対に含まれる該出力データ項目と前記第２の対に含まれる該入力データ項目とから構成され、前記既存の対と相違する新たな対を生成するデータ項目関係性推論処理を実行させることを特徴とするプログラム。
【請求項１５】
請求項１４記載のプログラムにおいて、
前記データ項目関係性推論処理では、前記サービス結合定義によって同じ前記入力データ項目と関連付けられている前記出力データ項目同士は一致するという第１の推論規則、および前記サービス結合定義によって同じ前記出力データ項目と関連付けられている前記入力データ項目同士は一致するという第２の推論規則に基づいて前記第１の対と前記第２の対とを比較させることを特徴とするプログラム。
【請求項１６】
請求項１５に記載のプログラムにおいて、
前記データ項目関係性推論処理では、前記既存の対のうち第３の対に含まれる出力データ項目と前記第１の対に含まれる出力データ項目とが前記第１の推論規則に基づいて一致していると判定し、かつ前記第３の対に含まれる入力データ項目と前記第２の対に含まれる入力データ項目とが前記第２の推論規則に基づいて一致していると判定した場合、前記第１の対に含まれる出力データ項目と前記第２の対に含まれる入力データ項目とが一致していると判定させることを特徴とするプログラム。
【請求項１７】
請求項１４乃至１６いずれかに記載のプログラムにおいて、
前記データ項目関係性推論処理では、複数の前記既存の対のうち、特定の前記出力データ項目または特定の前記入力データ項目の少なくとも一方を含んでいる対を抽出して比較し、前記新たな対を生成させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、既存の複数のサービスを結合して新たなサービスを実現するサービス結合技術に関する。特に、サービス間のデータの流れを定義するサービス結合定義の作成を支援するサービス結合支援装置及びサービス結合支援方法並びに記憶媒体に関する。
【背景技術】
【０００２】
サービス結合とは、既存の複数のサービスの内の、或るサービスの出力データの全部または一部を他のサービスの入力データとして利用することで、複数のサービスを結合し、新たな１つのサービスを実現することである。サービス結合により実現されるサービスとしては、ＷＳ−ＢＰＥＬ（Web Services Business Process Execution Language）などのようにＷｅｂサービスをつなぎ合わせて作成するビジネスプロセスや、ＷｅｂＡＰＩを活用して作成するマッシュアップサービスなどがある。【０００３】
ところで、サービス結合技術を利用して新たなサービスを実現するためには、サービス間のデータの流れを定義するサービス結合定義を作成する必要があり、従来は、開発者が各サービスの定義を参照し、各サービス間で接続可能なデータ項目を確認しながら作成していた。このため、サービス結合定義を効率的に作成することができないという問題があった。【０００４】
そこで、このような問題点を解決するため、次のような技術が提案されている（例えば、特許文献１参照）。この特許文献１に記載されている技術は、図１５に示すように、入出力組み合わせ生成手段１００と、サービス接続履歴記憶部１０１とを備えている。サービス接続履歴記憶部１０１には、過去のソフトウェア設計におけるサービスの入出力データの接続履歴が格納されている。入出力組み合わせ生成手段１００は、複数のサービスの実行順を定義したサービスプロセスフロー１０２と、上記複数のサービスの内の特定のサービスを示すサービスＩＤ１０３とが入力されると、このサービスＩＤによって特定されたサービスの入力データ項目と他のサービスの出力データ項目の組み合わせの中から、サービス接続履歴記憶部１０１に登録されているサービス接続履歴に基づいて接続確率が高い組み合わせを選択し、入出力組み合わせリスト１０４として出力する。【０００５】
また、複数のサービスを連携させる技術として、次のような技術が知られている（例えば、特許文献２参照）。特許文献２に記載されている技術は、図１６に示すように、データ関連付け手段３００と、アプリケーション定義記憶部３０１と、データ関連記憶部３０２と、辞書記憶部３０３とを備えている。アプリケーション定義記憶部３０１には、アプリケーション毎に、出力データの出力項目名と入力データの入力項目名とが登録されている。データ関連付け手段３００は、辞書記憶部３０３に登録されている辞書を利用して、アプリケーション定義記憶部３０１に登録されている項目名の中から、意味が同一または類似する入力項目名と出力項目名との組み合わせを抽出し、データ関連記憶部３０２に登録しておく。その際、各項目名がどのアプリケーションに関するものかを示すアプリケーション名も合わせて登録しておく。そして、入力項目名とアプリケーション名との対３０４が入力されると、データ関連記憶部３０２から上記対に対応付けて登録されている出力項目名とアプリケーション名との対３０５を検索し、出力する。【０００６】
【特許文献１】特開２００７−３３４６２７号公報
【特許文献２】特開２００４−３０２７９０号公報
【発明の開示】
【０００７】
特許文献１、２に記載されている技術は、それぞれサービス接続履歴記憶部、データ関連記憶部に登録されている、接続可能なことが分かっている出力データ項目と入力データ項目との既存の対（組み合わせ）だけに基づいて、指定された特定データ項目と接続可能なデータ項目を探し出すようにしている。このため、指定された特定データ項目と接続可能なデータ項目の内の、ごく一部しか探し出すことができない場合があるという問題がある。
【０００８】
そこで、本発明の目的は、接続可能なことが分かっている出力データ項目と入力データ項目との既存の対だけではなく、現時点では接続可能なことが分かっていない出力データ項目と入力データ項目との対であって、既存の対から推論可能な対も対象にして、指定された特定データ項目と接続可能なデータ項目を探し出せるようにすることにある。
【０００９】
本発明にかかる第１のサービス結合支援装置は、
互いに接続可能な複数のウェブサービス間のデータフローを定義するサービス結合定義によって関係付けられている、出力データ項目と入力データ項目とから構成される複数の既存の対のうち、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とが一致しているとき、前記第１の対に含まれる該出力データ項目と前記第２の対に含まれる該入力データ項目とから構成され、前記既存の対と相違する新たな対を生成するデータ項目関係性推論手段を備えている。
【００１０】
本発明にかかる第１のサービス結合支援方法は、
互いに接続可能な複数のウェブサービス間のデータフローを定義するサービス結合定義によって関係付けられている、出力データ項目と入力データ項目とから構成される複数の既存の対のうち、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とが一致しているとき、前記第１の対に含まれる該出力データ項目と前記第２の対に含まれる該入力データ項目とから構成され、前記既存の対と相違する新たな対を生成するデータ項目関係性推論ステップを含む。
【００１１】
本発明にかかる第１のプログラムは、
コンピュータに、
互いに接続可能な複数のウェブサービス間のデータフローを定義するサービス結合定義によって関係付けられている、出力データ項目と入力データ項目とから構成される複数の既存の対のうち、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とが一致しているとき、前記第１の対に含まれる該出力データ項目と前記第２の対に含まれる該入力データ項目とから構成され、前記既存の対と相違する新たな対を生成するデータ項目関係性推論処理を実行させる。
【００１２】
本発明によれば、接続可能なことが分かっている出力データ項目と入力データ項目との既存の対だけでなく、現時点では接続可能なことが分かっていない出力データ項目と入力データ項目との対であって、既存の対から推論可能な対も対象にして、指定された特定データ項目と接続可能なデータ項目を探し出すことが可能になる。
【図面の簡単な説明】
【００１３】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
【図１】本発明の第１の実施の形態の構成例を示すブロック図である。
【図２】サービス結合定義記憶部の内容例を示す図である。
【図３】データ項目関係性記憶部の内容例を示す図である。
【図４】データフロー解析部の処理例を示すフローチャートである。
【図５】サービス結合提案部の処理例を示すフローチャートである。
【図６】データ項目関係性推論部の処理例を示すフローチャートである。
【図７】開発中のサービス結合定義の一例を示す図である。
【図８】提案内容の一例を示す図である。
【図９】本発明の第２の実施の形態の構成例を示すブロック図である。
【図１０】サービス結合提案部の処理例を示すフローチャートである。
【図１１】開発中のサービス結合定義の別の例を示す図である。
【図１２】本発明の第３の実施の形態の構成例を示すブロック図である。
【図１３】推論部の処理例を示すフローチャートである。
【図１４】推論結果記憶部に情報が格納されていく様子を示した図である。
【図１５】従来技術を説明するためのブロック図である。
【図１６】他の従来技術を説明するための図である。
【発明を実施するための最良の形態】
【００１４】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。【００１５】
図１を参照すると、本実施の形態は、サービス結合支援装置１と、サービス結合定義作成装置２と、ディスク装置などの記憶装置３、４とを備えている。【００１６】
サービス結合定義作成装置２は、開発者がサービス結合定義を作成する際に使用する装置であり、パーソナルコンピュータ等により実現される。サービス結合定義作成装置２に接続されている記憶装置４は、サービス結合定義記憶部４１と、提案内容記憶部４２とを備えている。サービス結合定義記憶部４１には、開発中のサービス結合定義が登録されている。サービス結合定義については、後で詳細に説明する。提案内容記憶部４２には、接続先が定義されていないデータ項目に対する、サービス結合支援装置１によって提案された接続先の候補が登録される。【００１７】
サービス結合支援装置１は、サービス結合定義の開発を支援する装置であり、コンピュータによって実現される。サービス結合支援装置１は、データフロー解析部１１と、サービス結合提案部１２と、データ項目関係性推論部１３とを含み、更に、記憶装置３、４が接続されている。記憶装置３は、サービス結合定義記憶部３１と、データ項目関係性記憶部３２と、推論規則記憶部３３とを備えている。【００１８】
サービス結合定義記憶部３１には、既に開発済みの１つまたは複数のサービス結合定義が登録されている。サービス結合定義は、サービス間のデータ項目の流れを特定するものであり、具体的には、ＷＳ−ＢＰＥＬで記述されたビジネスプロセス定義や、Ｐｅｒｌ，Ｒｕｂｙなどをはじめとするスクリプト言語やマッシュアップ記述に特化された言語で記述されたコードなどが挙げられる。【００１９】
図２にサービス結合定義記憶部３１の内容例を示す。同図の例の第１行目および第２行目では、それぞれ呼び出し先のserviceA及びserviceXを定義している。第４行目では、serviceAを呼び出し、serviceAからの応答をresAに格納することを指示している。第６行目では、resAに格納されているserviceAからの応答中の「名前」属性に入っている値を、reqX中の「name」属性へ代入することを指示している。第７行目では、serviceXをreqXで呼び出し、その応答をresXに格納することを指示している。【００２０】
データフロー解析部１１は、サービス結合定義記憶部３１からサービス結合定義を読み込み、サービス間のデータ項目のやり取りを解析することにより、サービス結合定義によって関係付けられているデータ項目の対（接続可能なデータ項目の対）を抽出する機能や、抽出した対をデータ項目関係性記憶部３２に登録する機能を有する。より具体的には、データフロー解析部１１は、サービス結合定義記憶部３１に記憶されているサービス結合定義を解析して、該サービス結合定義によって定義されるデータフローにおける送信側のサービスと、受信側のサービスと、送受されるデータの各サービスにおけるデータ項目名（データ属性）と、をサービス結合定義から抽出する。そして、データフロー解析部１１は、抽出された送信側のサービスを示す送信元情報および送信側のサービスにおけるデータ属性を含む出力データ項目と、抽出された受信側のサービスを示す受信元情報および受信側のサービスにおけるデータ属性を含む入力データ項目と、を関連付けてデータ項目関係性記憶部３２に登録する。ここで送信元情報または受信元情報とは、例えば、その送信元または受信元のサービスのサービス名やそのサービスを示す識別情報等である。また、入力なのか出力なのかを示す入出力識別情報等も一緒に関連付けてもよい。【００２１】
図３にデータ項目関係性記憶部３２の内容例を示す。同図の例えば第１行目は、サービス名「serviceA」のサービスから出力されるデータ項目名「名前」のデータ項目と、サービス名「serviceX」のサービスが入力するデータ項目名「name」のデータ項目が接続可能であることを示している。なお、以下の説明では、データ項目名「ａａａ」のデータ項目をデータ項目「ａａａ」という場合もある。【００２２】
サービス結合提案部１２は、サービス結合定義記憶部４１から開発中のサービス結合定義を読み込み、接続先が定義されていないデータ項目を抽出する機能や、抽出したデータ項目と接続可能なデータ項目をデータ項目関係性推論部１３に問い合わせる機能や、この問い合わせに対する応答（接続可能なデータ項目のデータ項目特定情報などを含む）を必要に応じて編集し、提案内容記憶部４２に格納する機能を有する。【００２３】
データ項目関係性推論部１３は、サービス結合提案部１２から問い合わせがあった特定データ項目と接続可能なデータ項目をデータ項目関係性記憶部３２から検索する機能や、上記特定データ項目と接続可能なデータ項目を、データ項目関係性記憶部３２の内容（既存の対）と推論規則記憶部３３に登録されている推論規則を利用して推論する機能や、検索および推論したデータ項目のデータ項目特定情報をサービス結合提案部１２に返却する機能を有する。【００２４】
より具体的には、データ項目関係性推論部１３は、データ項目関係性記憶部３２に登録されている複数の既存の対のうち、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とが一致しているとき、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とから構成され、既存の対と相違する新たな対を生成する。ここで、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とが一致しているとは完全一致ではなくてもよく、上述した送信元情報、受信元情報、データ属性または入出力情報の少なくとも一つが一致していればよい。【００２５】
なお、データ項目関係性推論部１３は、データ項目関係性記憶部３２に登録されている複数の既存の対のうち、指定された特定のデータ項目（出力データ項目または入力データ項目）を含んでいる特定の対を検索して、検索された特定の対から新たな対を生成する。【００２６】
サービス結合支援装置１をコンピュータによって実現する場合は、例えば、次のようにする。コンピュータをサービス結合支援装置１として機能させるためのプログラムを記録したディスク、半導体メモリなどの記録媒体を用意し、コンピュータに上記プログラムを読み取らせる。コンピュータは、読み取ったプログラムに従って自身の動作を制御することにより、自コンピュータ上にデータフロー解析部１１、サービス結合提案部１２及びデータ項目関係性推論部１３を実現する。【００２７】
〔第１の実施の形態の動作の説明〕
次に、本実施の形態の動作について詳細に説明する。【００２８】
〔データフロー解析部１１の動作〕
先ず、データフロー解析部１１の動作を図４のフローチャートを参照して説明する。データフロー解析部１１は、起動されると、サービス結合定義記憶部３１からサービス結合定義を読み込み（ステップＳ４０１）、この定義によって関係付けられているデータ項目の対を抽出する（ステップＳ４０２）。その後、抽出した対を構成する２つのデータ項目それぞれのデータ項目特定情報を対応付けてデータ項目関係性記憶部３２に格納する（ステップＳ４０３）。前述したように、データ項目特定情報は、データ項目名と、そのデータ項目を有しているサービスのサービス名と、出力なのか入力なのかを示す識別情報とを含むものである。【００２９】
今、例えば、サービス結合定義記憶部３１の内容が図２に示すものであるとすると、ステップＳ４０２、Ｓ４０３において、データフロー解析部１１は次のような処理を行う。【００３０】
ステップＳ４０２では、先ず、第４行目の代入文からresAにはserviceAからの応答が格納されていることを解析する。次に、第６行目からresAの「名前」というデータ属性に入っている値がreqXの「name」というデータ属性に受け渡されていることを解析する。更に、第７行目からreqXがserviceXへの要求であり、resXがserviceXからの応答であることを解析する。そして、最後に、上記した解析結果からserviceAから出力されるデータ項目名「名前」と、serviceXの入力であるデータ項目名「name」とが関係付けられていること認識する。【００３１】
ステップＳ４０３では、上記２つのデータ項目それぞれのデータ項目特定情報（「serviceA/出力/名前」と「serviceX/入力/name」）を対応付けてデータ項目関係性記憶部３２に格納する（図３の第１行目参照）。【００３２】
〔サービス結合提案部１２及びデータ項目関係性推論部１３の動作〕
次に、サービス結合提案部１２及びデータ項目関係性推論部１３の動作を図５及び図６のフローチャートを参照して説明する。【００３３】
サービス結合定義作成装置２を利用してサービス結合定義を作成している開発者は、サービス結合定義の開発中に、或るデータ項目と接続可能なデータ項目を調べたい場合、サービス結合支援装置１内のサービス結合提案部１２を起動する。なお、このとき、サービス結合定義記憶部４１には開発中のサービス結合定義が格納されている。【００３４】
サービス結合提案部１２は、起動されると、サービス結合定義記憶部４１から開発中のサービス結合定義を読み込み、接続先が定義されていないデータ項目を抽出する（図５のステップＳ５０１、Ｓ５０２）。【００３５】
今、例えば、サービス結合定義記憶部４１から読み込んだサービス結合定義が図７に示すものであったとする。同図に示したサービス結合定義は、その第２行目の右辺が空欄になっている。即ち、開発者は、第２行目の左辺に設定されている「reqY.発明者」と接続可能なデータ項目を調べるためにサービス結合提案部１２を起動した状態である。なお、以下では、開発中のサービス結合定義が図７に示すものであるとして説明を行う。【００３６】
サービス結合提案部１２は、図７に示したサービス結合定義を読み込むと、その第２行目から「reqY．発明者」の接続先が未定義なことが分かり、第３行目からreqYはserviceYの入力であることが分かるので、接続先が定義されていないデータ項目「serviceY/入力/発明者」を抽出する。【００３７】
その後、サービス結合提案部１２は、ステップＳ５０２で抽出したデータ項目の１つに注目し、注目中のデータ項目と接続可能なデータ項目をデータ項目関係性推論部１３に問い合わせる（ステップＳ５０３、Ｓ５０５）。より具体的には、注目中のデータ項目を特定するデータ項目特定情報を含んだ問い合わせ文をデータ項目関係性推論部１３に対して出力する。その後、サービス結合提案部１２は、データ項目関係性推論部１３からの応答待ち状態となる。【００３８】
データ項目関係性推論部１３は、サービス結合提案部１２からの問い合わせ文を受け付けると、問い合わせのあったデータ項目と接続可能なデータ項目をデータ項目関係性記憶部３２から検索し、検索したデータ項目をリストに追加する（図６のステップＳ６０１、Ｓ６０２）。より具体的には、問い合わせ文に含まれているデータ項目特定情報と対になっているデータ項目特定情報をデータ項目関係性記憶部３２から検索し、検索したデータ項目特定情報をリストに追加する。なお、検索したデータ項目特定情報をリストに追加する際には、検索したデータ項目特定情報にそれが検索されたものであることを示す情報を付加するようにする。このようにするのは、後述する推論したデータ項目特定情報と区別するためである。【００３９】
今、例えば、データ項目関係性記憶部３２の内容が図３に示すものであり、問い合わせ文にデータ項目特定情報「serviceY/入力/発明者」が含まれていたとすると、ステップＳ６０１においては、データ項目特定情報「serviceB/出力/氏名」が検索されることになる。【００４０】
その後、データ項目関係性推論部１３は、データ項目関係性記憶部３２と、推論規則記憶部３３に格納されている推論規則とを利用して、問い合わせのあったデータ項目と接続可能なデータ項目を推論し、推論したデータ項目をリストに追加する（ステップＳ６０３、Ｓ６０４）。より具体的には、データ項目関係性記憶部３２に登録されているデータ項目の関係を、問い合わせ文に含まれているデータ項目を起点にし、推論規則に従ってたどることにより、接続可能なデータ項目を推論し、推論したデータ項目をリストに追加する。なお、推論したデータ項目をリストに追加する際には、そのデータ項目にそれが推論されたものであることを示す情報を付加するようにする。【００４１】
今、例えば、推論規則記憶部３３に次の２つの推論規則１、２が登録されているとする。
・推論規則１...同じ入力データ項目とサービス結合定義によって関連付けられている出力データ項目同士は、同じデータ型であるとみなす。
・推論規則２...同じ出力データ項目とサービス結合定義によって関連付けられている入力データ項目同士は、同じデータ型であるとみなす。
この推論規則１、２によってデータ型が同じであるとみなされた入力データ項目と出力データ項目とは、接続可能である（一致している）と判定される。【００４２】
推論規則記憶部３３に登録されている推論規則１および推論規則２は、上述の趣旨を反映したプログラムをサービス総合支援装置１が実行することにより実現される。【００４３】
推論規則記憶部３３に格納された上記２つの推論規則１、２に基づいて、データ項目関係性推論部１３は次のように動作する。データ項目関係性推論部１３は、既存の対のうち第３の対に含まれる出力データ項目と第１の対に含まれる出力データ項目とが推論規則１に基づいて一致していると判定し、かつ第３の対に含まれる入力データ項目と第２の対に含まれる入力データ項目とが推論規則２に基づいて一致していると判定した場合、第１の対に含まれる出力データ項目と第２の対に含まれる入力データ項目とが一致していると判定する。【００４４】
より具体的には、データ項目関係性記憶部３２に内容が図３に示すものであるときに、サービス結合提案部１２から渡された問い合わせ文にデータ項目特定情報「serviceY/入力/発明者」が含まれていたとすると、ステップＳ６０３、Ｓ６０４では、次のような処理が行われることになる。【００４５】
先ず、問い合わせ文に含まれているデータ項目特定情報の識別情報が「出力」であるか「入力」であるかを調べる。そして、「出力」となっている場合は、推論規則を推論規則１、推論規則２の順番で使用して接続可能なデータ項目を推論し、「入力」となっている場合は、推論規則を反対の順番（推論規則２、推論規則１）の順番で使用して接続可能なデータ項目を推論する。【００４６】
この例では、問い合わせ文には、データ項目特定情報「serviceY/入力/発明者」が含まれており、識別情報が「入力」となっているので、先ず、推論規則２を利用して、問い合わされたデータ項目特定情報「serviceY/入力/発明者」とデータ項目特定情報「serviceX/入力/name」とが同じデータ型であると見なす。即ち、データ項目特定情報「serviceY/入力/発明者」もデータ項目特定情報「serviceX/入力/name」も、同じデータ項目特定情報「serviceB/出力/氏名」からデータを受け取っているので、同じデータ型とみなす。【００４７】
次に、推論規則１を利用して、データ項目特定情報「serviceB/出力/氏名」とデータ項目特定情報「serviceA/出力/名前」とが同じデータ型であるとみなす。即ち、データ項目特定情報「serviceB/出力/氏名」もデータ項目特定情報「serviceA/出力/名前」も、同じデータ項目特定情報「serviceX/入力/name」にデータを供給しているので、同じデータ型であるとみなす。【００４８】
この結果、問い合わされたデータ項目特定情報「serviceY/入力/発明者」とデータ項目特定情報「serviceA/出力/名前」とが同じデータ型であり、データ項目特定情報「serviceY/入力/発明者」とデータ項目特定情報「serviceA/出力/名前」とが接続可能であると推論する。この推論された対は、データ項目関係性記憶部３２には登録されていない対である。その後、データ項目関係性推論部１３は、リストに推論したデータ項目特定情報「serviceA/出力/名前」を追加する。以上がステップＳ６０３、Ｓ６０４で行われる処理の具体例である。【００４９】
その後、データ項目関係性推論部１３は、ステップＳ６０１で検索したデータ項目特定情報（「serviceB/出力/氏名」とする）と、ステップＳ６０３で推論したデータ項目特定情報（「serviceA/出力/名前」とする）とが設定されたリストをサービス結合提案部１２に対して出力する（ステップＳ６０５）。【００５０】
図５に戻り、サービス結合提案部１２は、データ項目関係性推論部１３から上記リストが送られてくると、そのリストと、問い合わせたデータ項目のデータ項目特定情報「serviceY/入力/発明者」とを対応付けてメモリ（図示せず）に保存する（ステップＳ５０６）。【００５１】
その後、サービス結合提案部１２は、ステップＳ５０３に戻り、次のデータ項目に注目する。この例の場合、未注目のデータ項目がないので（ステップＳ５０４がＹＥＳ）、メモリに保存されているリストの内の１つに注目する（ステップＳ５０７）。【００５２】
その後、サービス結合提案部１２は、リスト中のデータ項目特定情報を、優先度が高い順に並べ替え（ステップＳ５０９）、並べ替えの済んだリストと、このリストに対応付けてメモリに保存しておいたデータ項目特定情報「serviceY/入力/発明者」とを提案内容記憶部４２に登録する（ステップＳ５１０）。即ち、開発者が上記問い合わせたデータ項目特定情報「serviceY/入力/発明者」と接続させる可能性が高いものから順に、リスト中のデータ項目特定情報を並べ替える。この例の場合（図７の例の場合）、問い合わせを行ったデータ項目特定情報「serviceY/入力/発明者」が存在する第２行目の直前の第１行目に、serviceAを呼び出し、その応答をresAに格納することが記述されているので、リスト中のデータ項目特定情報（「serviceB/出力/氏名」と「serviceA/出力/名前」）を、serviceAから出力されるデータ項目、その他のserviceから出力されるデータ項目の順に並べ替える。【００５３】
その後、サービス結合提案部１２は、ステップＳ５０７の処理に戻り、次のリストに注目する。この例の場合、未注目のリストがないので、その処理を終了する（ステップＳ５０８がＹＥＳ）。【００５４】
一方、サービス結合定義作成装置２は、提案内容記憶部４２からリストと、問い合わせたデータ項目のデータ項目特定情報を読み込み、それらに従って、表示部（図示せず）に、図８に示すような提案画面を表示する。この提案画面には、問い合わせたデータ項目と接続可能なデータ項目のデータ項目特定情報が高優先の順番に表示されている。更に、各データ項目特定情報に、それが検索されたものなのか、推論されたものなのかを示す情報も表示されている。図８の例では、「serviceA/出力/名前」「serviceB/出力/氏名」がそれぞれ「推論」「検索」されたものであることを示している。【００５５】
〔第１の実施の形態の効果〕
本実施の形態によれば、接続可能なことが分かっている出力データ項目と入力データ項目との既存の対だけでなく、現時点では接続可能なことが分かっていない出力データ項目と入力データ項目との対であって、既存の対から推論可能な対も対象にして、指定された特定データ項目と接続可能なデータ項目を探し出すことが可能になる。その理由は、サービス結合定義によって関係付けられている、データ型が同一の出力データ項目と入力データ項目との既存の複数の対について、異なる対の出力データ項目と入力データ項目間のデータ型の同一性を調査して、データ型が同一の出力データ項目と入力データ項目との対であって、出力データ項目と入力データ項目の組み合わせが既存の対と相違する新たな対を推論するデータ項目関係性推論部１３を備えているからである。【００５６】
〔本発明の第２の実施の形態〕
次に、本発明の第２の実施の形態について説明する。本実施の形態は、開発中のサービス結合定義に出現するサービスと接続可能なサービスを推論し、開発者に提示することを特徴とする。
【００５７】
〔第２の実施の形態の構成の説明〕
図９を参照すると、本発明の第２の実施の形態は、サービス結合支援装置１の代わりにサービス結合支援装置１ａを備えている点で、図１に示した第１の実施の形態と相違している。【００５８】
サービス結合支援装置１ａは、サービス結合提案部１２の代わりにサービス結合提案部１２ａを備えている点で、第１の実施の形態のサービス結合支援装置１と相違している。【００５９】
サービス結合提案部１２ａは、サービス結合定義記憶部４１から開発中のサービス結合定義を読み込み、そこに記述されている全てのデータ項目を抽出する機能や、抽出したデータ項目と接続可能なサービスをデータ項目関係性推論部１３に問い合わせる機能や、この問い合わせに応答してデータ項目関係性推論部１３から送られてくるリストに基づいて、開発中のサービス結合定義と接続可能なサービスのサービス名を設定したサービス名リストを生成し、提案内容記憶部４２に登録する機能を有する。【００６０】
なお、本実施の形態のサービス結合支援装置１ａも、第１の実施の形態のサービス結合支援装置１と同様にコンピュータによって実現することができる。【００６１】
〔第２の実施の形態の動作の説明〕
次に、本実施の形態の動作について説明する。なお、ここでは、第１の実施の形態との動作上の相違点についてのみ説明する。【００６２】
サービス結合提案部１２ａは、起動されると、図１０のフローチャートに示すように、サービス結合定義記憶部４１から開発中のサービス結合定義を読み込み、そこに記述されているデータ項目を全て抽出する（ステップＳ１００１、Ｓ１００２）。今、例えば、サービス結合定義記憶部４１に格納されている開発中のサービス結合定義が図１１に示すものであるとすると、データ項目特定情報「serviceA/出力/名前」「serviceX/入力/name」「serviceA/出力/住所」「serviceX/入力/address」によって特定される４個のデータ項目が抽出されることになる。【００６３】
その後、サービス結合提案部１２ａは、抽出したデータ項目の１つに注目し、そのデータ項目のデータ項目特定情報を含んだ問い合わせ文をデータ項目関係性推論部１３に対して出力し、データ項目関係性推論部１３からの応答を待つ（ステップＳ１００３、Ｓ１００５）。【００６４】
データ項目関係性推論部１３は、サービス結合提案部１２ａから問い合わせ文が送られてくると、第１の実施の形態で説明した処理と同様の処理（図６のステップＳ６０１〜Ｓ６０５）を行い、問い合わされたデータ項目と接続可能なデータ項目のデータ項目特定情報を含んだリストをサービス結合提案部１２ａに返却する。【００６５】
サービス結合提案部１２ａは、データ項目関係性推論部１３からリストが返却されると、それをメモリ（図示せず）に保存する（ステップＳ１００６）。その後、サービス結合提案部１２ａは、次のデータ項目に注目し、前述した処理と同様の処理を行う。そして、未注目のデータ項目がなくなると（ステップＳ１００４でＹＥＳ）、メモリに保存しておいたリストの１つに注目し、そのリストに設定されているサービス名を取り出し、サービス名リストに追加する（ステップＳ１００７、Ｓ１００９、Ｓ１０１０）。なお、サービス名リストに既に登録されているサービス名については、追加処理は行わない。【００６６】
その後、サービス結合提案部１２ａは、次のリストに注目し（ステップＳ１００７）、前述した処理と同様の処理を行う。そして、未注目のリストがなくなると、サービス名リストを提案内容記憶部４２に登録する（ステップＳ１００８がＹＥＳ、Ｓ１０１１）。【００６７】
サービス結合定義作成装置２は、提案内容記憶部４２に登録されたサービス名リストを読み込み、そこに設定されているサービス名を、開発中のサービス結合定義と接続可能なサービスとして表示部（図示せず）に表示する。【００６８】
〔第２の実施の形態の効果〕
本実施の形態によれば、接続可能なことが分かっている出力データ項目と入力データ項目との既存の対だけでなく、現時点では接続可能なことが分かっていない出力データ項目と入力データ項目との対であって、既存の対から推論可能な対も対象にして、開発中のサービス結合定義に出現するサービスと接続可能なサービスを探し出すことが可能になる。その理由は、開発中のサービス結合定義に定義されている全てのデータ項目それぞれについてデータ項目関係性推論部１３に対して問い合わせを行い、問い合わせに応答してサービス結合提案部１２ａが推論した新たな対に関するサービス名を提示するサービス結合提案部１２ａを備えているからである。
【００６９】
〔本発明の第３の実施の形態〕
次に、本発明の第３の実施の形態について説明する。本実施の形態は、特定データ項目と接続可能なデータ項目が問い合わされた際の応答時間を短くするため、予め接続可能なデータ項目を推測し、保存しておくことを特徴とする。【００７０】
〔第３の実施の形態の構成の説明〕
図１２を参照すると、本実施の形態は、サービス結合支援装置１および記憶装置３の代わりにそれぞれサービス結合支援装置１ｂおよび記憶装置３ｂを備えている点で第１の実施の形態と相違している。【００７１】
サービス結合支援装置１ｂは、データ項目関係性推論部１３の代わりにデータ項目関係性推論部１３ｂを備えている点で、サービス結合支援装置１と相違している。記憶装置３ｂは、推論規則記憶部３３の代わりに推論結果記憶部３４を備えている点で、記憶装置３と相違している。【００７２】
データ項目関係性推論部１３ｂは、推論部１３１と、検索部１３２とを備えている。【００７３】
推論部１３１は、データ項目関係性記憶部３２に格納されている出力データ項目と入力データ項目との既存の対を順次読み込み、データ型が同じデータ項目（データ型が同じ出力データ項目と入力データ項目とは接続可能）には同じデータ型番号を付して推論結果記憶部３４に格納する機能を有する。より具体的には、推論部１３１は、データ項目関係性記憶部３２に格納されている既存の対を構成する出力データ項目と入力データ項目のうち、サービス結合定義によって関連付けられている出力データ項目および入力データ項目、推論規則１において一致する出力データ項目同士、または推論規則２において一致する入力データ項目同士に同一のデータ型番号を付与し、データ型番号を付与された出力データ項目または入力データ項目を推論結果記憶部３４に格納させる。
【００７４】
検索部１３２は、サービス結合提案部１２から特定データ項目と接続可能なデータ項目が問い合わされた場合、推論結果記憶部３４に格納されているデータ項目の内の、上記特定データ項目のデータ型番号と同じデータ型番号のデータ項目を対象にして検索を行い、検索結果を載せたリストをサービス結合提案部１２に返却する機能を有する。より具体的には、検索部１３２は、推論結果記憶部３４に格納されている出力データ項目と入力データ項目とのうち、指定された特定のデータ型番号を付与されている出力データ項目と、該特定のデータ型番号を付与されている入力データ項目から構成される対を、新たな対として生成し、これをサービス結合提案部１２に返却する。【００７５】
なお、本実施の形態のサービス結合支援装置１ｂも、第１の実施の形態のサービス結合支援装置１と同様に、コンピュータによって実現することができる。【００７６】
〔第３の実施の形態の動作の説明〕
次に、本実施の形態の動作について説明する。ここでは、第１の実施の形態との相違部分についてのみ説明する。【００７７】
〔推論部１３１の動作〕
推論部１３１は、データ項目関係性記憶部３２の内容に変更があった場合などに起動され、図１３のフローチャートに示す処理を行う。【００７８】
推論部１３１は、先ず、データ項目関係性記憶部３２に格納されている出力データ項目と入力データ項目との対の１つを読み込む（ステップＳ１３０１）。【００７９】
そして、読み込んだ対を構成するデータ項目が両方とも推論結果記憶部３４に登録されていない場合は、新たなデータ型番号を１つ振り出し、それぞれのデータ項目を上記データ型番号と関係付けて推論結果記憶部３４に登録し（ステップＳ１３０３がＹＥＳ、Ｓ１３０４）、その後、次の対を読み込む（ステップＳ１３０１）【００８０】
また、一方のデータ項目だけが登録されている場合は、他方のデータ項目を上記一方のデータ項目と同じデータ型番号に関係付けて登録し（ステップＳ１３０５がＹＥＳ、Ｓ１３０６）、その後、次の対を読み込む（ステップＳ１３０１）。【００８１】
また、両方のデータ項目が登録され、且つ両方のデータ項目に異なるデータ型番号が関係付けられている場合は、どちらか一方のデータ型番号を選択して、もう一方のデータ型番号をそのデータ型番号で置き換え（ステップＳ１３０７がＮＯ、Ｓ１３０８）、その後、次の対を読み込む（ステップＳ１３０１）。【００８２】
また、両方のデータ項目が登録され、同じデータ番号が関係付けられている場合（ステップＳ１３０７がＹＥＳ）は、直ちに、次の対を読み込む（ステップＳ１３０１）。【００８３】
以上の処理を、未処理の対がなくなるまで行うと（ステップＳ１３０２でＹＥＳ）、推論部１３１はその処理を終了する。【００８４】
今、例えば、データ項目関係性記憶部３２の内容が図３に示すものであったとすると、推論部１３１においては次のような処理が行われる。【００８５】
第１行目の対（「serviceA/出力/名前」「serviceX/入力/name」）を読み込んだ場合は、両方のデータ項目が推論結果記憶部３４に登録されていないので、図１４（Ａ）に示すように、「serviceA/出力/名前」「serviceX/入力/name」にそれぞれデータ型番号「１」を関係付けて登録する（ステップＳ１３０３がＹＥＳ、Ｓ１３０４）。【００８６】
第２行目の対（「serviceB/出力/氏名」「serviceX/入力/name」）を読み込んだ場合は、一方のデータ項目「serviceX/入力/name」だけが推論結果記憶部３４に登録されているので、図１４（Ｂ）に示すように、他方のデータ項目「serviceB/出力/氏名」とデータ型番号「１」とを関係付けて推論結果記憶部３４に登録する（ステップＳ１３０５がＹＥＳ、Ｓ１３０６）。【００８７】
第３行目の対（「serviceB/出力/氏名」「serviceY/入力/発明者」を読み込んだ場合は、一方のデータ項目「serviceB/出力/氏名」だけが推論結果記憶部３４に登録されているので、図１４（Ｃ）に示すように、他方のデータ項目「serviceY/入力/発明者」とデータ型番号「１」とを関係付けて推論結果記憶部３４に登録する（ステップＳ１３０５、Ｓ１３０６）。【００８８】
〔検索部１３２の動作〕
検索部１３２は、サービス結合提案部１２からデータ項目特定情報を含んだ問い合わせ文が渡されると、先ず、推論結果記憶部３４を検索し、上記データ項目特定情報に関係付けられているデータ型番号（α）を求める。その後、データ型番号が上記求めたデータ型番号（α）と同じで、識別情報が逆方向のデータ項目特定情報を検索し、検索したデータ項目特定情報をリストに追加する。そして、推論結果記憶部３４の末尾まで、検索が終了すると、リストをサービス結合提案部１２に返却する。【００８９】
なお、本実施の形態では、データ項目関係性記憶部３２と推論結果記憶部３４とを異なる記憶部としたが、両者を１つの記憶部として構成することもできる。また、本実施の形態では、推論部１３１がデータ項目関係性記憶部３２に格納されている対を順次読み込み、データ型が同じデータ項目には同じデータ型番号を付して推論結果記憶部３４に格納するようにしたが、推論部１３１が、サービス結合定義記憶部３１に登録されているサービス結合定義から関係付けられている出力データ項目と入力データ項目との対を順次抽出し、データ型が同じデータ項目には同じデータ型番号を付して推論結果記憶部３４に格納するようにしても良い。【００９０】
〔第３の実施の形態の効果〕
本実施の形態によれば、特定データ項目と接続可能なデータ項目が問い合わされた際の応答時間を短くすることが可能になる。その理由は、データ項目関係性記憶部３２に格納されている既存の対から推論した、接続可能なデータ項目の対に関する情報を推論結果記憶部３４に登録しておく、推論部１３１を備えているからである。【００９１】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、以下のような形態も考えられる。【００９２】
（１）サービス結合定義によって関係付けられている、データ型が同一の出力データ項目と入力データ項目との既存の複数の対について、１つの対に含まれる出力データ項目と該対と異なる対に含まれる入力データ項目間のデータ型の同一性を調査して、データ型が同一の出力データ項目と入力データ項目との対であって、出力データ項目と入力データ項目の組み合わせが前記既存の対と相違する新たな対を推論するデータ項目関係性推論手段を備えたことを特徴とするサービス結合支援装置。【００９３】
（２）上記（１）のサービス結合支援装置において、
特定データ項目が指定されて、その特定データ項目と対になるデータ項目の推論が要求された場合、前記データ項目関係性推論手段は、前記特定データ項目とデータ型が同一の出力データ項目と入力データ項目との対であって、出力データ項目と入力データ項目との組み合わせが前記既存の対と相違する新たな対を推論することを特徴とするサービス結合支援装置。【００９４】
（３）上記（２）のサービス結合支援装置において、
前記データ項目関係性推論手段は、同じ入力データ項目にデータを供給する出力データ項目同士は同一のデータ型を持っているとみなし、同じ出力データ項目からデータを受け取る入力データ項目同士は同一のデータ型であるとみなすという推論規則を利用して、異なる対の出力データ項目と入力データ項目間のデータ型の同一性を調査することを特徴とするサービス結合支援装置。【００９５】
（４）上記（１）のサービス結合支援装置において、
データ項目関係性記憶部を備え、且つ、
前記データ項目関係性推論手段は、前記推論した新たな対に関する情報を前記データ項目関係性記憶部に格納し、特定データ項目が指定されて、該特定データ項目と対になるデータ項目の推論が要求された場合、前記データ項目関係性記憶部から前記特定データ項目と対になるデータ項目を検索することを特徴とするサービス結合支援装置。【００９６】
（５）上記（４）のサービス結合支援装置において、
前記データ項目関係性推論手段は、前記既存の複数の対それぞれについて、その対を構成する出力データ項目と入力データ項目とが両方とも前記データ項目関係性記憶部に登録されていない場合は、新たなデータ型番号に関係付けて前記出力データ項目と前記入力データ項目とを登録し、一方のデータ項目だけが登録されている場合は、他方のデータ項目を前記一方のデータ項目と同じデータ型番号に関係付けて登録し、両方のデータ項目が登録され、且つ両方のデータ項目に異なるデータ型番号が関係付けられている場合は、一方のデータ型番号を他方のデータ型番号に置き換えることを特徴とするサービス結合支援装置。【００９７】
（６）上記（５）のサービス結合支援装置において、
前記データ項目関係性推論手段は、特定データ項目が指定されて、該特定データ項目と対になるデータ項目の推論が要求された場合、前記データ項目関係性記憶部に登録されているデータ項目の内、前記特定データ項目のデータ型番号と同じデータ型番号のデータ項目を検索対象にすることを特徴とするサービス結合支援装置。【００９８】
（７）上記（２）のサービス結合支援装置において、
開発中のサービス結合定義から接続先が定義されていないデータ項目を抽出し、該抽出したデータ項目を前記特定データ項目として前記データ項目関係性推論手段に対して要求を行うサービス結合提案手段を備えたことを特徴とするサービス結合支援装置。【００９９】
（８）上記（２）のサービス結合支援装置において、
開発中のサービス結合定義に定義されている全てのデータ項目を抽出し、該抽出したデータ項目を前記特定データ項目として前記データ項目関係性推論手段に対して要求を行い、該要求に応答して前記データ項目関係性推論手段が推論した新たな対に含まれるデータ項目が属するサービスのサービス名を提示するサービス結合提案手段を備えたことを特徴とするサービス結合支援装置。【０１００】
（９）コンピュータが、サービス結合定義によって関係付けられている、データ型が同一の出力データ項目と入力データ項目との既存の複数の対について、１つの対に含まれる出力データ項目と該対と異なる対に含まれる入力データ項目間のデータ型の同一性を調査して、データ型が同一の出力データ項目と入力データ項目との対であって、出力データ項目と入力データ項目の組み合わせが前記既存の対と相違する新たな対を推論するデータ項目関係性推論ステップを含むことを特徴とするサービス結合支援方法。【０１０１】
（１０）上記（９）のサービス結合支援方法において、
特定データ項目が指定されて、その特定データ項目と対になるデータ項目の推論が要求された場合、前記データ項目関係性推論ステップでは、前記特定データ項目とデータ型が同一の出力データ項目と入力データ項目との対であって、出力データ項目と入力データ項目との組み合わせが前記既存の対と相違する新たな対を推論することを特徴とするサービス結合支援方法。【０１０２】
（１１）上記（９）または（１０）のサービス結合支援方法において、
前記データ項目関係性推論ステップでは、同じ入力データ項目にデータを供給する出力データ項目同士は同一のデータ型を持っているとみなし、同じ出力データ項目からデータを受け取る入力データ項目同士は同一のデータ型であるとみなすという推論規則を利用して、異なる対の出力データ項目と入力データ項目間のデータ型の同一性を調査することを特徴とするサービス結合支援方法。【０１０３】
（１２）コンピュータをサービス結合支援装置として機能させるためのプログラムであって、
前記コンピュータを、サービス結合定義によって関係付けられている、データ型が同一の出力データ項目と入力データ項目との既存の複数の対について、１つの対に含まれる出力データ項目と該対と異なる対に含まれる入力データ項目間のデータ型の同一性を調査して、データ型が同一の出力データ項目と入力データ項目との対であって、出力データ項目と入力データ項目の組み合わせが前記既存の対と相違する新たな対を推論するデータ項目関係性推論手段として機能させるためのプログラム。【０１０４】
（１３）上記（１２）のプログラムにおいて、
特定データ項目が指定されて、その特定データ項目と対になるデータ項目の推論が要求された場合、前記データ項目関係性推論手段は、前記特定データ項目とデータ型が同一の出力データ項目と入力データ項目との対であって、出力データ項目と入力データ項目との組み合わせが前記既存の対と相違する新たな対を推論することを特徴とするプログラム。【０１０５】
（１４）上記（１２）または（１３）のプログラムにおいて、
前記データ項目関係性推論手段は、同じ入力データ項目にデータを供給する出力データ項目同士は同一のデータ型を持っているとみなし、同じ出力データ項目からデータを受け取る入力データ項目同士は同一のデータ型であるとみなすという推論規則を利用して、異なる対の出力データ項目と入力データ項目間のデータ型の同一性を調査することを特徴とするプログラム。【０１０６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０１０７】
当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各構成要素の機能などを具体的に説明したが、その機能などは本願発明を満足する範囲で各種に変更することができる。【０１０８】
例えば、図１、図９および図１２において、サービス結合支援装置１（１ａ、１ｂ）と記憶装置３（３ｂ）とは、別の装置として記載しているが、サービス結合支援装置１の中に記憶装置３を内包してもよい。【０１０９】
また、本発明のサービス総合支援方法には複数のステップを順番に記載してあるが、その記載の順番は複数のステップを実行する順番を限定するものではない。このため、本発明のサービス総合支援方法を実行するときには、その複数のステップの順番は内容的に支障しない範囲で変更することができる。【０１１０】
本発明によれば、サービス結合の開発を支援するといった用途に適用できる。また、セマンティックＷｅｂ技術において、データ項目の構造化といった用途にも適用可能である。 【０１１１】
この出願は、２００８年５月１４日に出願された日本出願特願２００８−１２７０４０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
0005408129.tif 000002
【図２】
0005408129.tif 000003
【図３】
0005408129.tif 000004
【図４】
0005408129.tif 000005
【図５】
0005408129.tif 000006
【図６】
0005408129.tif 000007
【図７】
0005408129.tif 000008
【図８】
0005408129.tif 000009
【図９】
0005408129.tif 000010
【図１０】
0005408129.tif 000011
【図１１】
0005408129.tif 000012
【図１２】
0005408129.tif 000013
【図１３】
0005408129.tif 000014
【図１４】
0005408129.tif 000015
【図１５】
0005408129.tif 000016
【図１６】
0005408129.tif 000017