(57)【特許請求の範囲】
【請求項１】
サービスコンポーネントを連携した連携サービスを提供するサービス連携において、前記サービス連携の処理の一部あるいは全部を代理処理するサービス代理処理方法であって、
サービスコンポーネント提供装置においてオペレーションが実行されるサービスコンポーネントである具体サービスコンポーネントにより提供されるサービスの説明を記述したメタデータに基づいて、前記サービスコンポーネントの動作を抽象化して記述した抽象サービスコンポーネント情報を生成して抽象サービスコンポーネント蓄積手段に蓄積し、抽象サービスコンポーネントへのアクセスを標準的に利用される所定の種類のインタフェースにより公開する抽象サービスコンポーネント蓄積ステップと、
公開された前記抽象サービスコンポーネントに、前記標準的に利用される所定の種類のインタフェースによりアクセスを受けるインタフェース処理ステップと、
具体サービスコンポーネントが提供するサービスの説明を記述したメタデータの中から、アクセスを受けた前記抽象サービスコンポーネントに対応して前記抽象サービスコンポーネント蓄積手段に蓄積されている前記抽象サービスコンポーネント情報と同等の前記メタデータを検出し、検出した前記メタデータに基づいて、アクセスを受けた当該抽象サービスコンポーネントに対応した具体サービスコンポーネントを検出する具体サービスコンポーネント検出ステップと、
前記具体サービスコンポーネント検出ステップにおいて検出された具体サービスコンポーネントのメタデータと、前記アクセスにおいて受信した情報または受信した情報から得られる情報とから、実行すべき具体サービスコンポーネントを選択する具体サービスコンポーネント選択ステップと、
前記サービスコンポーネント選択ステップにおいて選択された具体サービスコンポーネントの実行を要求し、その実行結果を受信して、前記抽象サービスコンポーネントへのアクセス元へ返送する具体サービスコンポーネント結果受信ステップと
を有することを特徴とするサービス代理処理方法。
【請求項２】
前記インタフェースは、ＳＯＡＰ、あるいはブラウザによるアクセスインタフェースであることを特徴とする請求項１に記載のサービス代理処理方法。
【請求項３】
前記インタフェースがブラウザによるアクセスインタフェースである場合、前記具体サービスコンポーネント検出ステップにおいて検出された具体サービスコンポーネントの情報を、当該ブラウザへ出力する検出結果出力ステップをさらに有することを特徴とする請求項１または請求項２に記載のサービス代理処理方法。
【請求項４】
前記具体サービスコンポーネント選択ステップは、ユーザ識別子または認証用情報に基づいて取得した、当該ユーザのポリシまたはコンテキストの情報により実行すべき具体サービスコンポーネントを選択することを特徴とする請求項１に記載のサービス代理処理方法。
【請求項５】
前記具体サービスコンポーネント検出ステップを、前記具体サービスコンポーネント結果受信ステップにおいて実行結果を受信し、次の具体サービスコンポーネントを実行する段階になったときに起動する検出起動ステップをさらに有することを特徴とする請求項１に記載のサービス代理処理方法。
【請求項６】
サービスコンポーネントを連携した連携サービスを提供するサービス連携において、前記サービス連携の処理の一部あるいは全部を代理処理するサービス代理処理エンジンであって、
サービスコンポーネント提供装置においてオペレーションが実行されるサービスコンポーネントである具体サービスコンポーネントにより提供されるサービスの説明を記述したメタデータに基づいて、前記サービスコンポーネントの動作を抽象化して記述した抽象サービスコンポーネント情報を生成して蓄積し、抽象サービスコンポーネントへのアクセスを標準的に利用される所定の種類のインタフェースにより公開する抽象サービスコンポーネント蓄積手段と、
前記抽象サービスコンポーネント蓄積手段により公開された前記抽象サービスコンポーネントに、前記標準的に利用される所定の種類のインタフェースによりアクセスを受けるインタフェース処理手段と、
具体サービスコンポーネントが提供するサービスの説明を記述したメタデータの中から、アクセスを受けた前記抽象サービスコンポーネントに対応して前記抽象サービスコンポーネント蓄積手段に蓄積されている前記抽象サービスコンポーネント情報と同等の前記メタデータを検出し、検出した前記メタデータに基づいて、アクセスを受けた当該抽象サービスコンポーネントに対応した具体サービスコンポーネントを検出する具体サービスコンポーネント検出手段と、
前記具体サービスコンポーネント検出手段により検出された具体サービスコンポーネントのメタデータと、前記アクセスにおいて受信した情報または受信した情報から得られる情報とから、実行すべき具体サービスコンポーネントを選択する具体サービスコンポーネント選択手段と、
前記サービスコンポーネント選択手段により選択された具体サービスコンポーネントの実行を要求し、その実行結果を受信して、前記抽象サービスコンポーネントへのアクセス元へ返送する具体サービスコンポーネント結果受信手段と
を有することを特徴とするサービス代理処理エンジン。
【請求項７】
前記インタフェースは、ＳＯＡＰ、あるいはブラウザによるアクセスインタフェースであることを特徴とする請求項６に記載のサービス代理処理エンジン。
【請求項８】
前記具体サービスコンポーネント結果受信手段は、前記インタフェースがブラウザによるアクセスインタフェースである場合、前記具体サービスコンポーネント検出手段により検出された具体サービスコンポーネントの情報を、当該ブラウザへ出力することを特徴とする請求項６または請求項７に記載のサービス代理処理エンジン。
【請求項９】
前記具体サービスコンポーネント選択手段は、ユーザ識別子または認証用情報に基づいて取得した、当該ユーザのポリシまたはコンテキストの情報により実行すべき具体サービスコンポーネントを選択することを特徴とする請求項６に記載のサービス代理処理エンジン。
【請求項１０】
前記具体サービスコンポーネント検出手段を、前記具体サービスコンポーネント結果受信手段において実行結果を受信し、次の具体サービスコンポーネントを実行する段階になったときに起動する検出起動手段をさらに備えることを特徴とする請求項６に記載のサービス代理処理エンジン。
【請求項１１】
サービスコンポーネントを連携した連携サービスを提供するサービス連携において、前記サービス連携の処理の一部あるいは全部を代理処理するサービス代理処理エンジンとしてコンピュータを動作させるためのサービス代理処理プログラムであって、
サービスコンポーネント提供装置においてオペレーションが実行されるサービスコンポーネントである具体サービスコンポーネントにより提供されるサービスの説明を記述したメタデータに基づいて、前記サービスコンポーネントの動作を抽象化して記述した抽象サービスコンポーネント情報を生成して抽象サービスコンポーネント蓄積手段に蓄積し、抽象サービスコンポーネントへのアクセスを標準的に利用される所定の種類のインタフェースにより公開する抽象サービスコンポーネント蓄積ステップと、
公開された前記抽象サービスコンポーネントに、前記標準的に利用される所定の種類のインタフェースによりアクセスを受けるインタフェース処理ステップと、
具体サービスコンポーネントが提供するサービスの説明を記述したメタデータの中から、アクセスを受けた前記抽象サービスコンポーネントに対応して前記抽象サービスコンポーネント蓄積手段に蓄積されている前記抽象サービスコンポーネント情報と同等の前記メタデータを検出し、検出した前記メタデータに基づいて、アクセスを受けた当該抽象サービスコンポーネントに対応した具体サービスコンポーネントを検出する具体サービスコンポーネント検出ステップと、
前記具体サービスコンポーネント検出ステップにおいて検出された具体サービスコンポーネントのメタデータと、前記アクセスにおいて受信した情報または受信した情報から得られる情報とから、実行すべき具体サービスコンポーネントを選択する具体サービスコンポーネント選択ステップと、
前記サービスコンポーネント選択ステップにおいて選択された具体サービスコンポーネントの実行を要求し、その実行結果を受信して、前記抽象サービスコンポーネントへのアクセス元へ返送する具体サービスコンポーネント結果受信ステップと
をサービス代理処理エンジンのコンピュータに実行させることを特徴とするサービス代理処理プログラム。
【請求項１２】
前記インタフェースは、ＳＯＡＰ、あるいはブラウザによるアクセスインタフェースであることを特徴とする請求項１１に記載のサービス代理処理プログラム。
【請求項１３】
前記インタフェースがブラウザによるアクセスインタフェースである場合、前記具体サービスコンポーネント検出ステップにおいて検出された具体サービスコンポーネントの情報を、当該ブラウザへ出力する検出結果出力ステップをさらにサービス代理処理エンジンのコンピュータに実行させることを特徴とする請求項１１または請求項１２に記載のサービス代理処理プログラム。
【請求項１４】
前記具体サービスコンポーネント選択ステップは、ユーザ識別子または認証用情報に基づいて取得した、当該ユーザのポリシまたはコンテキストの情報により実行すべき具体サービスコンポーネントを選択することを特徴とする請求項１１に記載のサービス代理処理プログラム。
【請求項１５】
前記具体サービスコンポーネント検出ステップを、前記具体サービスコンポーネント結果受信ステップにおいて実行結果を受信し、次の具体サービスコンポーネントを実行する段階になったときに起動する検出起動ステップをさらにサービス代理処理エンジンのコンピュータに実行させることを特徴とする請求項１１に記載のサービス代理処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスコンポーネントを連携した連携サービスを提供するサービス連携において、サービス連携の処理の一部あるいは全部を代理処理するサービス代理処理技術に関する。
【背景技術】
【０００２】
従来のサービス連携に係る技術としては、個々のＷＳ（Web Service）を連携させる場合に用いられるＢＰＥＬ（Business Process Execution Language for Web Services）がある。本ＢＰＥＬは、複数のＷＳを順に呼び出して実行する手順を一連のビジネスの流れとして記述するための言語である。
これにより、例えば「注文を受け付ける」、「在庫を確認する」といった一連のビジネス・プロセスの中で、「いつ」、「どのような条件のときに」、「どのＷＳを呼び出すか」を定義することが可能になる（例えば、非特許文献１参照）。
【０００３】
しかしながら、ＢＰＥＬは、上記に述べたとおり元来、Ｂ２Ｂ（Business to Business）を対象にしたものであり、予め利用するＷＳを決定し、それに合わせたサービスフローであるＢＰＥＬ文書と接続定義とを、ＢＰＥＬ実行エンジンにデプロイする必要がある。このため、一般のユーザがユーザの状況に応じてＷＳを選択し（すなわち、予め利用するＷＳを決めないで）、バインドして実行する場合に適用するのは困難であり、状況依存性が無いものである。
【０００４】
また、他のサービス連携技術としては、ネットワーク上のサービス機能要素であるサービスコンポーネントをユーザの状況に応じて連携することで、ユーザに適切なサービスを提供するものがある。本技術は、サービスコンポーネントの機能動作（オペレーション）を、メタデータ情報を用いて抽象的に記述（オペレーションメタデータ）することで、インタフェースは異なるが、オペレーションが同等である、選択の候補となるサービスコンポーネントのオペレーションメタデータを幅広く検出し、それらの中から利用するサービスコンポーネントのオペレーションメタデータを選択し、選択したサービスコンポーネントのオペレーションメタデータとオペレーションのインタフェース情報との間のマッピング情報により、オペレーションのインタフェース情報を取得し、実行を要求し連携するものである。
【０００５】
ここでのオペレーションメタデータの記述には、ＯＷＬ−Ｓ（Web Ontology Language for Services）が適用されている（例えば、非特許文献２参照）。ＯＷＬ−Ｓは、Ｐｒｏｆｉｌｅと、Ｐｒｏｃｅｓｓ  Ｍｏｄｅｌと、Ｇｒｏｕｎｄｉｎｇとの３つの記述からなる。Ｐｒｏｆｉｌｅ記述には、どのようなサービスを提供するかを記述し、Ｐｒｏｃｅｓｓ  Ｍｏｄｅｌ記述には、サービスコンポーネントのオペレーションがどのようなオペレーションであるかを抽象化して表わしたＡｔｏｍｉｃ  Ｐｒｏｃｅｓｓや、Ａｔｏｍｉｃ  Ｐｒｏｃｅｓｓのパラメータを記述し、Ｇｒｏｕｎｄｉｎｇ記述には、どのようにサービスにアクセスするか、すなわち、Ｐｒｏｃｅｓｓ  Ｍｏｄｅｌ記述と実際のオペレーションのインタフェース情報とのマッピング情報を記述している。
【０００６】
図６は、上述した従来技術によるサービス連携処理を説明するための図である。同図は、サービス連携エンジン２が、ユーザ端末装置９から送信されるサービス提供依頼に含まれるサービスシナリオを受信する等により、カテゴリＡ〜カテゴリＣが記述されたサービスシナリオがサービスシナリオ設定部２１に設定された場合を示している。
【０００７】
サービスコンポーネント検出部２２は、サービスシナリオに記述されたカテゴリ名及びオペレーションメタデータに基づいて、選択の候補となるサービスコンポーネントのオペレーションメタデータを検出する（検出Ａ〜検出Ｃ）。次に、サービスコンポーネント選択部２３は、この検出した中から利用するサービスコンポーネントのオペレーションメタデータを選択する（選択Ａ〜選択Ｃ）。
【０００８】
次に、サービスコンポーネント実行・連携部２４は、選択されたサービスコンポーネントのオペレーションメタデータとオペレーションのインタフェース情報との間のマッピング情報（Ｇｒｏｕｎｄｉｎｇ記述）により、オペレーションのインタフェース情報を取得し（インタフェース情報取得Ａ〜インタフェース情報取得Ｃ）、インタフェース情報に基づきサービスコンポーネント提供装置６ａ〜６ｃに対して、順番にサービスコンポーネントの実行を要求し（実行Ａ〜実行Ｃ）、連携し、その実行結果を、依頼サービスの実行結果としてユーザ端末装置９に送信する。
【０００９】
これにより、サービスシナリオに記述されたカテゴリの記述に従って、カテゴリ毎にユーザの状況に応じた適切なサービスコンポーネントのオペレーションメタデータを選択し、選択したサービスコンポーネントのオペレーションのインタフェース情報を取得し、サービスコンポーネントに実行を要求し、連携することになる（例えば、非特許文献３参照）。
【００１０】
しかしながら、サービスシナリオの記述には独自記述が必要であるため、独自記述を習得する機会が少ない一般のユーザにとっては利便性が低いものである。
上記に述べたとおり、これらの従来のサービス連携技術では、状況依存性がなく、ユーザの利便性が低い。
【非特許文献１】Business Process Execution Language，［平成１９年８月１０日検索］，インターネット<http://www.oasis-open.org/committees/download.php/18714/wsbpel-specification-draft-Mayl7.htm>
【非特許文献２】ＯＷＬ−Ｓ  ｗｅｂ  ｓｉｔｅ，［平成１９年８月１０日検索］，インターネット<http://www.daml.org/services>
【非特許文献３】山登  庸次、中辻  真、須永  宏，“ユビキタス環境で動的にサービスを実現するためのサービス合成技術”，情報処理学会論文誌、第４８巻第２号別冊、ｐｐ．５６２−５７７，２００７年２月
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、上述した事情を考慮してなされたものであり、その主要な目的は、上記の問題を解決し、状況依存性があり、ユーザの利便性が高いサービス連携システムを提供するサービス代理処理方法及びエンジンならびにプログラムを実現することにある。
【課題を解決するための手段】
【００１２】
上述した課題を解決するために、本発明は、サービスコンポーネントを連携した連携サービスを提供するサービス連携において、前記サービス連携の処理の一部あるいは全部を代理処理するサービス代理処理方法であって、サービスコンポーネント提供装置においてオペレーションが実行されるサービスコンポーネントである具体サービスコンポーネントにより提供されるサービスの説明を記述したメタデータに基づいて、前記サービスコンポーネントの動作を抽象化して記述した抽象サービスコンポーネント情報を生成して抽象サービスコンポーネント蓄積手段に蓄積し、抽象サービスコンポーネントへのアクセスを標準的に利用される所定の種類のインタフェースにより公開する抽象サービスコンポーネント蓄積ステップと、公開された前記抽象サービスコンポーネントに、前記標準的に利用される所定の種類のインタフェースによりアクセスを受けるインタフェース処理ステップと、具体サービスコンポーネントが提供するサービスの説明を記述したメタデータの中から、アクセスを受けた前記抽象サービスコンポーネントに対応して前記抽象サービスコンポーネント蓄積手段に蓄積されている前記抽象サービスコンポーネント情報と同等の前記メタデータを検出し、検出した前記メタデータに基づいて、アクセスを受けた当該抽象サービスコンポーネントに対応した具体サービスコンポーネントを検出する具体サービスコンポーネント検出ステップと、前記具体サービスコンポーネント検出ステップにおいて検出された具体サービスコンポーネントのメタデータと、前記アクセスにおいて受信した情報または受信した情報から得られる情報とから、実行すべき具体サービスコンポーネントを選択する具体サービスコンポーネント選択ステップと、前記サービスコンポーネント選択ステップにおいて選択された具体サービスコンポーネントの実行を要求し、その実行結果を受信して、前記抽象サービスコンポーネントへのアクセス元へ返送する具体サービスコンポーネント結果受信ステップとを有することを特徴とするサービス代理処理方法である。
【００１３】
また、本発明は、上述するサービス代理処理方法であって、前記インタフェースは、ＳＯＡＰ、あるいはブラウザによるアクセスインタフェースであることを特徴とする。
【００１４】
また、本発明は、上述するサービス代理処理方法であって、前記インタフェースがブラウザによるアクセスインタフェースである場合、前記具体サービスコンポーネント検出ステップにおいて検出された具体サービスコンポーネントの情報を、当該ブラウザへ出力する検出結果出力ステップをさらに有することを特徴とする。
【００１５】
また、本発明は、上述するサービス代理処理方法であって、前記具体サービスコンポーネント選択ステップは、ユーザ識別子または認証用情報に基づいて取得した、当該ユーザのポリシまたはコンテキストの情報により実行すべき具体サービスコンポーネントを選択することを特徴とする。
【００１６】
また、本発明は、上述するサービス代理処理方法であって、前記具体サービスコンポーネント検出ステップを、前記具体サービスコンポーネント結果受信ステップにおいて実行結果を受信し、次の具体サービスコンポーネントを実行する段階になったときに起動する検出起動ステップをさらに有することを特徴とする。
上記に述べた方法により、状況依存性があり、更にユーザの利便性が高いサービス連携を可能にするサービス代理処理方法が実現可能になる。
【００１７】
また、本発明は、サービスコンポーネントを連携した連携サービスを提供するサービス連携において、前記サービス連携の処理の一部あるいは全部を代理処理するサービス代理処理エンジンであって、サービスコンポーネント提供装置においてオペレーションが実行されるサービスコンポーネントである具体サービスコンポーネントにより提供されるサービスの説明を記述したメタデータに基づいて、前記サービスコンポーネントの動作を抽象化して記述した抽象サービスコンポーネント情報を生成して蓄積し、抽象サービスコンポーネントへのアクセスを標準的に利用される所定の種類のインタフェースにより公開する抽象サービスコンポーネント蓄積手段と、前記抽象サービスコンポーネント蓄積手段により公開された前記抽象サービスコンポーネントに、前記標準的に利用される所定の種類のインタフェースによりアクセスを受けるインタフェース処理手段と、具体サービスコンポーネントが提供するサービスの説明を記述したメタデータの中から、アクセスを受けた前記抽象サービスコンポーネントに対応して前記抽象サービスコンポーネント蓄積手段に蓄積されている前記抽象サービスコンポーネント情報と同等の前記メタデータを検出し、検出した前記メタデータに基づいて、アクセスを受けた当該抽象サービスコンポーネントに対応した具体サービスコンポーネントを検出する具体サービスコンポーネント検出手段と、前記具体サービスコンポーネント検出手段により検出された具体サービスコンポーネントのメタデータと、前記アクセスにおいて受信した情報または受信した情報から得られる情報とから、実行すべき具体サービスコンポーネントを選択する具体サービスコンポーネント選択手段と、前記サービスコンポーネント選択手段により選択された具体サービスコンポーネントの実行を要求し、その実行結果を受信して、前記抽象サービスコンポーネントへのアクセス元へ返送する具体サービスコンポーネント結果受信手段とを有することを特徴とするサービス代理処理エンジンである。
【００１８】
また、本発明は、上述するサービス代理処理エンジンであって、前記インタフェースは、ＳＯＡＰ、あるいはブラウザによるアクセスインタフェースであることを特徴とする。
【００１９】
また、本発明は、上述するサービス代理処理エンジンであって前記具体サービスコンポーネント結果受信手段は、前記インタフェースがブラウザによるアクセスインタフェースである場合、前記具体サービスコンポーネント検出手段により検出された具体サービスコンポーネントの情報を、当該ブラウザへ出力することを特徴とする。
【００２０】
また、本発明は、上述するサービス代理処理エンジンであって、前記具体サービスコンポーネント選択手段は、ユーザ識別子または認証用情報に基づいて取得した、当該ユーザのポリシまたはコンテキストの情報により実行すべき具体サービスコンポーネントを選択することを特徴とする。
【００２１】
また、本発明は、上述するサービス代理処理エンジンであって、前記具体サービスコンポーネント検出手段を、前記具体サービスコンポーネント結果受信手段において実行結果を受信し、次の具体サービスコンポーネントを実行する段階になったときに起動する検出起動手段をさらに備えることを特徴とする。
上記に述べたエンジンにより、状況依存性があり、更にユーザの利便性が高いサービス連携を可能にするサービス代理処理エンジンが実現可能になる。
【００２２】
また、本発明は、サービスコンポーネントを連携した連携サービスを提供するサービス連携において、前記サービス連携の処理の一部あるいは全部を代理処理するサービス代理処理エンジンとしてコンピュータを動作させるためのサービス代理処理プログラムであって、サービスコンポーネント提供装置においてオペレーションが実行されるサービスコンポーネントである具体サービスコンポーネントにより提供されるサービスの説明を記述したメタデータに基づいて、前記サービスコンポーネントの動作を抽象化して記述した抽象サービスコンポーネント情報を生成して抽象サービスコンポーネント蓄積手段に蓄積し、抽象サービスコンポーネントへのアクセスを標準的に利用される所定の種類のインタフェースにより公開する抽象サービスコンポーネント蓄積ステップと、公開された前記抽象サービスコンポーネントに、前記標準的に利用される所定の種類のインタフェースによりアクセスを受けるインタフェース処理ステップと、具体サービスコンポーネントが提供するサービスの説明を記述したメタデータの中から、アクセスを受けた前記抽象サービスコンポーネントに対応して前記抽象サービスコンポーネント蓄積手段に蓄積されている前記抽象サービスコンポーネント情報と同等の前記メタデータを検出し、検出した前記メタデータに基づいて、アクセスを受けた当該抽象サービスコンポーネントに対応した具体サービスコンポーネントを検出する具体サービスコンポーネント検出ステップと、前記具体サービスコンポーネント検出ステップにおいて検出された具体サービスコンポーネントのメタデータと、前記アクセスにおいて受信した情報または受信した情報から得られる情報とから、実行すべき具体サービスコンポーネントを選択する具体サービスコンポーネント選択ステップと、前記サービスコンポーネント選択ステップにおいて選択された具体サービスコンポーネントの実行を要求し、その実行結果を受信して、前記抽象サービスコンポーネントへのアクセス元へ返送する具体サービスコンポーネント結果受信ステップとをサービス代理処理エンジンのコンピュータに実行させることを特徴とするサービス代理処理プログラムである。
【００２３】
また、本発明は、上述するサービス代理処理プログラムであって、前記インタフェースは、ＳＯＡＰ、あるいはブラウザによるアクセスインタフェースであることを特徴とする。
【００２４】
また、本発明は、上述するサービス代理処理プログラムであって、前記インタフェースがブラウザによるアクセスインタフェースである場合、前記サービスコンポーネント検出ステップにおいて検出された具体サービスコンポーネントの情報を、当該ブラウザへ出力する検出結果出力ステップをさらにサービス代理処理エンジンのコンピュータに実行させることを特徴とする。
【００２５】
また、本発明は、上述するサービス代理処理プログラムであって、前記具体サービスコンポーネント選択ステップは、ユーザ識別子または認証用情報に基づいて取得した、当該ユーザのポリシまたはコンテキストの情報により実行すべき具体サービスコンポーネントを選択することを特徴とする。
【００２６】
また、本発明は、上述するサービス代理処理プログラムであって、前記具体サービスコンポーネント検出ステップを、前記具体サービスコンポーネント結果受信ステップにおいて実行結果を受信し、次の具体サービスコンポーネントを実行する段階になったときに起動する検出起動ステップをさらにサービス代理処理エンジンのコンピュータに実行させることを特徴とする。
上記に述べたプログラムにより、状況依存性があり、更にユーザの利便性が高いサービス連携を可能にするサービス代理処理プログラムが実現可能になる。
【発明の効果】
【００２７】
本発明によれば、状況依存性があり、更にユーザの利便性が高いサービス連携を可能にするサービス代理処理ができるようになる。
また、本発明によれば、更に下記に述べる効果ないし利点がある。
（１）サービスの提供を依頼する側にとっては、サービス代理処理機能によりユーザの状況に応じたサービスコンポーネントの利用が手軽にできるため、満足度が高まることになる。例えば、ユーザ近傍の通知デバイスとして、会社ではスピーカが、家ではネットワークラジオが自動的に選択され起動されるようになる。
（２）サービスを提供する側にとっては、ユーザ、サービス作成者の満足度が高められることからユーザ、サービス作成者の囲い込みができるようになる。
【発明を実施するための最良の形態】
【００２８】
以下、本発明を実施するための最良の形態について図面を参照して説明する。
【００２９】
［システム構成］
図１は、本発明の一実施の形態によるサービス連携システムの構成例を示すブロック図である。同図は本サービス連携システムが、ネットワーク１と、サービス代理処理エンジン３と、サービスコンポーネント情報データベース（以下、「データベース」を「ＤＢ」と記載）４と、ユーザコンテキスト・ポリシＤＢ５と、サービスコンポーネント提供装置６、ＢＰＥＬ実行エンジン７と、サードベンダ端末装置８と、ユーザ端末装置９とを有して構成され、サービス代理処理エンジン３、サービスコンポーネント情報ＤＢ４、ユーザコンテキスト・ポリシＤＢ５、サービスコンポーネント提供装置６、ＢＰＥＬ実行エンジン７、サードベンダ端末装置８およびユーザ端末装置９はネットワーク１に接続されることを示している。
【００３０】
ネットワーク１は、電話交換等の通信ネットワークあるいは、インターネット等の情報ネットワークあるいは、移動体ネットワーク等のネットワークである。
サービス代理処理エンジン３は、サービスコンポーネントの抽象度を高めたものである抽象サービスコンポーネントを蓄積し、蓄積した抽象サービスコンポーネントのインタフェースを公開（他の装置からアクセス可能に）するエンジン（装置）である。また、サービス代理処理エンジン３は、蓄積した抽象サービスコンポーネントに、具体サービスコンポーネントにアクセスするためのインタフェースと同じ形式のインタフェースによりアクセスする処理を行い、アクセスした抽象サービスコンポーネントの機能と同等の機能を有し、実体が伴っている具体サービスコンポーネントを検出して選択し、選択した具体サービスコンポーネントに実行を要求する等の機能を有するエンジンである。具体サービスコンポーネントとは、サービスコンポーネント提供装置６において実際にオペレーションが実行されるサービスコンポーネントである。なお、サービス代理処理エンジン３の詳細についてはこの後説明する。
【００３１】
サービスコンポーネント情報ＤＢ４は、具体サービスコンポーネントのオペレーションメタデータ等を蓄積し、また具体サービスコンポーネントのオペレーションメタデータを検索キーとして、具体サービスコンポーネントのオペレーションのインタフェース情報が取得できるデータベースである。サービスコンポーネント情報ＤＢ４は、具体サービスコンポーネントのオペレーションメタデータを検出する場合、および具体サービスコンポーネントのオペレーションのインタフェース情報を取得する場合にアクセスされる。
【００３２】
ユーザコンテキスト・ポリシＤＢ５は、ユーザがどのようなサービスコンポーネントを優先するかのポリシ情報、ユーザがどのような状況であるかのコンテキスト情報を蓄積するデータベースであり、ユーザの状況に適応した具体サービスコンポーネントのオペレーションメタデータを選択するときにアクセスされる。ユーザコンテキスト・ポリシＤＢ５が蓄積するコンテキスト情報およびポリシ情報は、非特許文献３の技術を用いればよい。また、ユーザコンテキスト・ポリシＤＢ５には、ユーザ認証に用いられる情報も蓄積される。
【００３３】
サービスコンポーネント提供装置６は、具体サービスコンポーネントのオペレーションメタデータをサービス代理処理エンジン３に、また具体サービスコンポーネントのオペレーションメタデータ等をサービスコンポーネント情報ＤＢ４に通知する装置である。また更に、サービスコンポーネント提供装置６は、サービス代理処理エンジン３から具体サービスコンポーネントのオペレーションの実行要求を受信して、要求されたオペレーションを実行し、その実行結果をサービス代理処理エンジン３に返送する。
【００３４】
なお、ユーザのポリシ情報及びコンテキスト情報、具体サービスコンポーネントのオペレーションメタデータの一部（サービスコンポーネントＰｒｏｆｉｌｅなど）は、それぞれ、いくつかのデータの重ね合せで表される。例えば、位置を例に上げると、ユーザの位置がユーザのコンテキスト情報の一部であり、具体サービスコンポーネントの位置がオペレーションメタデータの一部であり、近いサービスコンポーネントを優先したいという要望がユーザのポリシ情報の一部である。その他にも、例えば、ユーザの所持金がユーザのコンテキスト情報の一部であり、具体サービスコンポーネントの利用料がオペレーションメタデータ情報の一部であり、安いサービスコンポーネントを優先したいという要望がユーザのポリシ情報の一部である。
【００３５】
ＢＰＥＬ（Business Process Execution Language for Web Services）実行エンジン７は、ＢＰＥＬ記述で記述されたサービス連携を実行するエンジンであり、サービス連携の処理の一部あるいは全部を標準インタフェースによりサービス代理処理エンジン３に依頼するものである。
【００３６】
サードベンダ端末装置８は、サードベンダが操作する端末装置であり、サービス連携の処理の一部あるいは全部を標準インタフェースによりサービス代理処理エンジン３に依頼するものである。
ユーザ端末装置９は、ユーザが操作する端末装置である。ユーザ端末装置９は、ＢＰＥＬ実行エンジン７あるいはサードベンダ端末装置８に連携サービスの提供依頼を行ったり、更には直接サービス代理処理エンジン３にサービス連携の処理の一部あるいは全部を標準インタフェースにより依頼したりするものである。
【００３７】
なお、図面の都合上サービスコンポーネント提供装置６、サードベンダ端末装置８およびユーザ端末装置９は一つずつ示しているが、それぞれ複数存在していてもよい。その場合はサービスコンポーネント提供装置６が３個であれば、サービスコンポーネント提供装置６ａ、サービスコンポーネント提供装置６ｂ、サービスコンポーネント提供装置６ｃのように表わすものとする。
また、図１に示した各機能要素は、独立して存在することも、併合して存在することもできるものとする。
【００３８】
［システム機能］
本サービス連携システムの機能は、サービス代理処理エンジン３が、ＢＰＥＬ実行エンジン７、サードベンダ端末装置８あるいはユーザ端末装置９から、標準のインタフェースによりアクセスされ、サービス連携の処理の一部あるいは全部を代理処理し、結果を再びＢＰＥＬ実行エンジン７、サードベンダ端末装置８あるいはユーザ端末装置９に返送することができるものである。
【００３９】
［サービス代理処理エンジン構成］
次に、上記に述べたシステム機能を実現する本サービス連携システムの構成装置の内部構成について説明する。
図２は、図１のサービス連携システムにおける構成装置のうち本発明に関係するサービス代理処理エンジン３の構成例を示すブロック図である。同図はサービス代理処理エンジン３の機能のうち本発明に関る部分のみを概念的に示している。
なお、図６に示したものと同一または同等の機能要素については同一の符号を付与するものとする。
【００４０】
図２において、サービス代理処理エンジン３は、サービスコンポーネント検出部２２と、サービスコンポーネント選択部２３と、サービスコンポーネント実行・連携部２４と、抽象サービスコンポーネントＤＢ３１と、代理処理化機能部３２とを有して構成されることを示している。
【００４１】
サービスコンポーネント検出部２２は、サービスコンポーネント情報ＤＢ４を参照し、選択の候補となる具体サービスコンポーネントのオペレーションメタデータ（ＯＷＬ−Ｓ記述等）を検出する機能を有する。
サービスコンポーネント選択部２３は、抽象サービスコンポーネントへのアクセスを受けたときのインタフェースから取得した情報、あるいは、インタフェースから取得した情報をキーとして検索するなど、当該情報に基づいて得られる情報などを用いた条件と、具体サービスコンポーネントのプロファイルを用いて、ユーザに適切な具体サービスコンポーネントのオペレーションメタデータを選択する。ここでは、ユーザコンテキスト・ポリシＤＢ５から得られるユーザのポリシ情報及びコンテキスト情報、サービスコンポーネント情報ＤＢ４内の具体サービスコンポーネントのプロファイル（ＯＷＬ−ＳのＰｒｏｆｉｌｅ記述等）を用いて、ユーザに適切な具体サービスコンポーネントのオペレーションメタデータを選択する機能を有する。
なお、サービスコンポーネント検出部２２による選択の候補となる具体サービスコンポーネントのオペレーションメタデータの検出と、サービスコンポーネント選択部２３による具体サービスコンポーネントのオペレーションメタデータの選択は、非特許文献３に記載の方法を用いる。
【００４２】
サービスコンポーネント実行・連携部２４は、具体サービスコンポーネントのオペレーションメタデータと当該オペレーションのインタフェース情報とのマッピング情報（ＯＷＬ−ＳのＧｒｏｕｎｄｉｎｇ記述等）によりオペレーションのインタフェース情報を取得し、サービスコンポーネント提供装置６にサービスコンポーネントの実行を要求し、実行結果を受信する機能を有する。
【００４３】
抽象サービスコンポーネントＤＢ３１は、本発明の特徴である抽象サービスコンポーネントを蓄積し、抽象サービスコンポーネントのインタフェースを公開する抽象サービスコンポーネント蓄積手段を有し、蓄積した抽象サービスコンポーネントにアクセスするための、アクセス手段をＷＳＤＬ（Web Services Description Language）やｈｔｍｌ（Hyper Text Markup Language）アクセス等の標準的なインタフェースにより公開する機能を有する。ここで、抽象サービスコンポーネントとは、例えば、ＯＷＬ−ＳのＰｒｏｃｅｓｓ  Ｍｏｄｅｌ記述等のように、具体的なプログラムの実体ではないが、具体的なサービスコンポーネント（具体サービスコンポーネント）がどのように動作するかの情報を抽象化して示したものである。例えば、プリンタを例に取ると、印刷する機能という意味ではどのプリンタも同様の動作であるため、Ｐｒｏｃｅｓｓ  ＭｏｄｅｌのＡｔｏｍｉｃ  Ｐｒｏｃｅｓｓは「印刷」であるが、具体サービスコンポーネントは、プリンタの機種や配置場所に応じて、数多く取りうる。
外部に公開する方法として、例えば、ＯＷＬ−ＳのＰｒｏｃｅｓｓ  Ｍｏｄｅｌを抽象サービスコンポーネントとし、それをＷＳＤＬで外部に公開する場合は、Ｐｒｏｃｅｓｓ  ＭｏｄｅｌのＡｔｏｍｉｃ  Ｐｒｏｃｅｓｓ名をＷＳＤＬのｏｐｅｒａｔｉｏｎ名に、ＰａｒａｍｅｔｅｒをＷＳＤＬのｍｅｓｓａｇｅに対応させて公開すればよい。
【００４４】
サービス代理処理エンジン３の抽象サービスコンポーネントが、具体サービスコンポーネントへのアクセスに用いられるインタフェースと同様な、ＷＳＤＬなどの標準的インタフェースにより公開されることで、代理処理依頼者はあたかも具体サービスコンポーネントにアクセスするのと同じ方法で、サービス代理処理エンジン３にアクセスし、アクセスを受けたサービス代理処理エンジン３が具体サービスコンポーネントを選択し実行することができる。
【００４５】
代理処理化機能部３２は、本発明の特徴であるインタフェース処理部３２１と、本発明の特徴である検出起動部３２２と、本発明の特徴である結果受信部３２３とを有している。
インタフェース処理部３２１は、蓄積した抽象サービスコンポーネントに、具体サービスコンポーネントにアクセスするインタフェースと同じ種類（形式）のインタフェースによりアクセスする処理を行うインタフェース処理手段を有する。検出起動部３２２は、アクセスした抽象サービスコンポーネントの機能と同等の機能を有する具体サービスコンポーネントの検出を起動する具体サービスコンポーネント検出手段を有する。結果受信部３２３は、検出し選択した具体サービスコンポーネントの実行結果を受信する具体サービスコンポーネント結果受信手段を有する。
【００４６】
なお、インタフェース処理部３２１が扱う抽象サービスコンポーネントにアクセスするインタフェースは、ＳＯＡＰ（Simple Object Access Protocol）、あるいは、ブラウザとのインタフェース（ユーザ端末装置９で実行されているブラウザとの間のインタフェース）である。ＳＯＡＰとは、ＸＭＬ（extensible markup language）とＨＴＴＰ（Hypertext Transfer Protocol）などをベースとした、他のコンピュータにあるデータやサービスを呼び出すためのプロトコルである。
また、検出起動部３２２は、ユーザ識別子および認証用情報に基づいて取得したユーザのポリシ情報、及び、コンテキスト情報を、具体サービスコンポーネントの検出の起動指示にさら付加するものである。
また、検出起動部３２２は、連携サービスが要求されたときには予め具体サービスコンポーネントの検出・選択を行わず、具体サービスコンポーネントを実際に実行する段階になったことを検出あるいは通知されたときに、具体サービスコンポーネントの検出を起動するようにしてもよい。
また、結果受信部３２３は、サービスコンポーネント検出部２２が検出した具体サービスコンポーネントの情報を受信し、抽象サービスコンポーネントのアクセス元へ出力する処理を行うようにしてもよい。
【００４７】
［サービス代理処理］
次に、サービス連携システムにおけるサービス代理処理について説明する。
図３は、図２におけるサービス代理処理エンジン３の代理処理例を説明するための図である。図３（１）は、説明のための連携サービスの例であり、ここでは、実行すべき連携サービスが「天気予報を音声で開く」であることを示している。図３（２）は、本連携サービスのサービスフローの例であり、天気予報を検索し（ａ）、検索結果を音声に変換し（ｂ）、最寄りのスピーカを探し通知する（Ｃ）であることを示している。図３（３）は、ＢＰＥＬ実行エンジン７、あるいはユーザ端末装置９からアクセスされた場合のサービス代理処理例を示している。ここでは、連携サービスのうち一部、最寄りのスピーカを探し通知する（Ｃ）のみをサービス代理処理エンジン３で実行する例を示す。
【００４８】
先ず、サービス代理処理の前提となる抽象サービスコンポーネントＤＢ３１について説明する。抽象サービスコンポーネントＤＢ３１は、サービスコンポーネント提供装置６が提供する具体サービスコンポーネントのオペレーションメタデータ（Ｐｒｏｃｅｓｓ Ｍｏｄｅｌ記述等）、あるいは更に抽象化したものを抽象サービスコンポーネントとして蓄積し、蓄積した抽象サービスコンポーネントをＷＳＤＬなどの標準的アクセス手段により公開する。ここでは「スピーカ通知」として、スピーカ機能が蓄積されているものとする。
【００４９】
また、サービスコンポーネント提供装置６が提供する具体サービスコンポーネントに新たな動作（オペレーションメタデータ）が加わると、それに伴い抽象サービスコンポーネントを更新し、ＷＳＤＬ等を更新し公開する。ここで、新たな動作とは、例えばプリンタの場合では、今までは白黒印刷という動作（オペレーションメタデータ）しか提供していなかったが、新たにカラー印刷という動作が加わった場合などである。このような場合は、抽象サービスコンポーネントの更新が必要であるため、サービス代理処理エンジン３の抽象サービスコンポーネントＤＢ３１に更新情報が通知される。
一方、オペレーションメタデータ自体（白黒印刷）は変わらず、単に、プリンタのＩＰアドレスが変更された場合や、プリンタの数が増えた場合などは、サービスコンポーネント情報ＤＢ４には更新情報が通知されるものの、サービス代理処理エンジン３の抽象サービスコンポーネントＤＢ３１には更新情報は通知されない。
【００５０】
ＢＰＥＬ実行エンジン７は、天気予報の検索（ａ）および検索結果の音声変換（ｂ）については予め利用するＷＳ（Web Service）を決めることができるため、標準的なインタフェースであるＳＯＡＰによりＷＳを提供しているサービスコンポーネント提供装置６ａ、６ｂにアクセスする。一方最寄りのスピーカによる通知（Ｃ）は、ユーザがどこにいるかにより変わるものであり状況依存性が求められることから、ＳＯＡＰにより「スピーカ通知」を起動する情報を付加してサービス代理処理エンジン３にアクセスする。アクセスにあたってはユーザ識別子およびそのユーザの認証情報をさらにＳＯＡＰ付加することによりユーザに対する状況依存性が確保されることになる。
【００５１】
サービス代理処理エンジン３において、インタフェース処理部３２１がインタフェースに応じて処理を行い、ＳＯＡＰによりアクセスされた場合は、ＳＯＡＰ解釈処理機能が動作し、ブラウザによりアクセスされた場合はブラウザ処理機能が動作する。ＢＰＥＬ実行エンジン７から「スピーカ通知」の起動情報、ユーザ識別子およびその認証情報を設定したＳＯＡＰによりアクセスされると、サービス代理処理エンジン３のインタフェース処理部３２１は、ユーザ識別子およびその認証情報によりユーザコンテキスト・ポリシＤＢ５にアクセスしてユーザを認証し、またユーザのポリシ・コンテキスト情報を取得する。
【００５２】
サービス代理処理エンジン３のインタフェース処理部３２１は、「スピーカ通知」の起動情報により抽象サービスコンポーネントＤＢ３１にアクセスし、「スピーカ通知」に対応した抽象サービスコンポーネントのオペレーションメタデータを取り出す。検出起動部３２２は、取り出した抽象サービスコンポーネントのオペレーションメタデータにより、同等の具体サービスコンポーネントのオペレーションメタデータの検出するよう、サービスコンポーネント検出部２２を起動する。
【００５３】
サービスコンポーネント検出部２２が、選択の候補となる具体サービスコンポーネントのオペレーションメタデータをサービスコンポーネント情報ＤＢ４から検出すると、サービスコンポーネント選択部２３が検出した中からユーザに適切な具体サービスコンポーネントのオペレーションメタデータを選択する。そして、サービスコンポーネント実行・連携部２４が具体サービスコンポーネントのオペレーションのインタフェース情報を取得して、具体サービスコンポーネントを提供しているサービスコンポーネント提供装置６ｃに実行を要求し、実行結果を受信すると、実行結果を結果受信部３２３に伝える。結果受信部３２３が実行結果を受け取るとインタフェース処理部３２１のＳＯＡＰ解釈処理機能に伝え、ＳＯＡＰ解釈処理機能がＢＰＥＬ実行エンジン７に返送することによりサービス代理処理が完了する。
【００５４】
また、この処理の中で、検出起動部３２２が検出を起動する場合には、ユーザコンテキスト・ポリシＤＢ５から読み出したポリシ情報、及び、コンテキスト情報を付すことにより、サービスコンポーネント検出部２２において、アクセスされた抽象サービスコンポーネントと同等の具体サービスコンポーネントのオペレーションメタデータの検出の対象範囲をあらかじめ絞って検出することを可能にする。
【００５５】
また、この処理の中で、ＢＰＥＬ実行エンジン７、またはユーザ端末装置９から複数のサービス代理処理があった場合、例えばＢＰＥＬ実行エンジン７から（Ｃ）に続いて何らかの処理（Ｄ）があった場合、あるいは抽象サービスコンポーネントＤＢ３１へのアクセスにより複数のカテゴリの具体サービスコンポーネントのオペレーションメタデータの検出を行うことになった場合には、検出起動部３２２は、結果受信部３２３が実行しているカテゴリの実行結果を受信したことを確認してから次のカテゴリの検出を起動するようにし、最新の具体サービスコンポーネントが利用できるようにする。
また、この処理の中で、ユーザ端末装置９等からブラウザによりアクセスされた場合には、サービスコンポーネント検出部２２が検出した時点で検出結果を結果受信部３２３が受け取り、ユーザ端末装置９等に送信することにより具体サービスコンポーネントの選択をインタラクティブに行うことを可能にする。
【００５６】
［サービス代理処理エンジン動作］
次に、上記に述べたサービス代理処理システム機能を実現する本サービス連携システムの構成装置の動作について説明する。
図４は、図２におけるサービス代理処理エンジン３の動作例を示すフローチャートである。
サービス代理処理エンジン３のインタフェース処理部３２１が、ＢＰＥＬ実行エンジン７、ユーザ端末装置９等からアクセスを受けると（ステップＳａ１）、インタフェース処理部３２１は、ユーザを認証するとともに（ステップＳａ２）、ユーザコンテキスト・ポリシＤＢ５からユーザのポリシ情報を取得する（ステップＳａ３）。
【００５７】
次に、インタフェース処理部３２１は、抽象サービスコンポーネントＤＢ３１にアクセスして、該当する抽象サービスコンポーネントのオペレーションメタデータを取り出す（ステップＳａ４）。検出起動部３２２は、この取り出された抽象サービスコンポーネントのオペレーションと同等の具体サービスコンポーネントのオペレーションメタデータの検索を起動する（ステップＳａ５）。これにより、サービスコンポーネント検出部２２が、選択の候補となる具体サービスコンポーネントのオペレーションメタデータを、サービスコンポーネント情報ＤＢ４から読み出し（ステップＳａ６）、サービスコンポーネント選択部２３が、この読み出されたオペレーションメタデータと、ステップＳａ３において読み出されたユーザのコンテキスト情報に基づいて、ユーザに適切な具体サービスコンポーネントのオペレーションメタデータを選択する（ステップＳａ７）。
【００５８】
これにより例えば、抽象サービスコンポーネント情報が「スピーカ通知」である場合、機能が音声出力であることを示す情報や、設置場所の情報がオペレーションメタデータに含まれる具体サービスコンポーネントが検出され、ユーザのコンテキスト情報に含まれるユーザの位置の情報に従って、具体サービスコンポーネントが選択される。あるいは、抽象サービスコンポーネント情報が「印刷」である場合、白黒印刷、カラー印刷などの機能の情報、設置場所の情報、印刷料金の情報などがオペレーションメタデータに含まれる具体サービスコンポーネントが検出され、ユーザのコンテキスト情報に含まれるユーザの位置の情報や、「白黒でも安い印刷」、「高くても高画質の印刷」などのユーザポリシ情報に従って、具体サービスコンポーネントが選択される。
【００５９】
サービスコンポーネント実行・連携部２４は、ステップＳａ７において選択された具体サービスコンポーネントのオペレーションのインタフェース情報をサービスコンポーネント情報ＤＢ４から取得し、取得したインタフェース情報により示されるインタフェースを用いて、サービスコンポーネント提供装置６の具体サービスコンポーネントに実行を要求する。
【００６０】
サービスコンポーネント提供装置６から、実行結果を受信すると、受信した結果を結果受信部３２３に伝える（ステップＳａ８）。結果受信部３２３は、実行結果を受信してインタフェース処理部３２１に伝えると（ステップＳａ９）、インタフェース処理部３２１は、実行結果をアクセスしてきたＢＰＥＬ実行エンジン７、ユーザ端末装置９等に送信する（ステップＳａ１０）。
【００６１】
なお、ステップＳａ１が扱うインタフェースは、ＳＯＡＰ、あるいはブラウザとの間のインタフェースである。
また、ステップＳａ５は、抽象サービスコンポーネントへのアクセスインタフェースから抽出したユーザ識別子および認証用情報に基づいて取得したユーザのポリシ情報、及び、コンテキスト情報を、具体サービスコンポーネントの検出の起動指示にさら付加するものである。このユーザのポリシ情報及びコンテキスト情報は、ステップＳａ７において、ユーザに適切な具体サービスコンポーネントのオペレーションメタデータを選択するときに用いられる。
【００６２】
そして、ステップＳａ１０に続き、次に処理するカテゴリがあるか否かを判断し（ステップＳａ１１）、処理するカテゴリがある場合はステップＳａ５の前に戻り、ない場合はステップＳａ１の前に戻る。
【００６３】
また、ユーザ端末装置９等からブラウザによりアクセスされた場合には、サービスコンポーネント検出部２２が検出した時点で検出結果を結果受信部３２３が受信し、検出結果をインタフェース処理部３２１に通知する（ステップＳａ１２）。インタフェース処理部３２１は、検出結果をアクセスしてきたユーザ端末装置９等に送信し（ステップＳａ１３）、ユーザ端末装置９等から送信されてくるユーザの意向の情報（例えば、どのサービスコンポーネントを実行するかの情報）を受信し、この情報に従って処理を継続する（ステップＳａ１４）。
【００６４】
例えば、抽象サービスコンポーネント情報が「印刷」である場合、機能が白黒印刷、カラー印刷などがオペレーションメタデータに含まれる具体サービスコンポーネントが検出され、検出された具体サービスコンポーネントから得られる機能、設置場所、料金の情報などをユーザ端末装置９のブラウザに表示させる。そして、サービスコンポーネント実行・連携部２４は、ユーザが選択した具体サービスコンポーネントの情報を受信し、当該具体サービスコンポーネントの実行をサービスコンポーネント提供装置６ｃへ要求する。サービスコンポーネント実行・連携部２４は、選択された具体サービスコンポーネントの実行を要求する。
【００６５】
［サービス連携システム動作］
次に、本サービス連携システムの動作について説明する。
図５は、図１におけるサービス連携システムの動作例を示すシーケンスチャートである。同図はＢＰＥＬ実行エンジン７、サービス代理処理エンジン３、サービスコンポーネント情報ＤＢ４、ユーザコンテキスト・ポリシＤＢ５およびサービスコンポーネント提供装置６間のシーケンスを示している。
【００６６】
サービスコンポーネント提供装置６は、新たな動作の具体サービスコンポーネントの提供を始めた、あるいは更新したことをサービス代理処理エンジン３とサービスコンポーネント情報ＤＢ４に送信する（ステップＳｂ１）。サービス代理処理エンジン３は、受信し抽象サービスコンポーネントを生成、あるいは更新し公開する（ステップＳｂ２）。ここで、新たな動作とは、例えばプリンタの場合では、今までは白黒印刷という動作（オペレーションメタデータ）しか提供していなかったが、新たにカラー印刷という動作が加わった場合などである。このような場合は、抽象サービスコンポーネントの更新が必要であるため、サービス代理処理エンジン３に更新情報が通知される。しかし、オペレーションメタデータ自体（白黒印刷）は変わらず、単に、プリンタのＩＰアドレスが変更された場合や、プリンタの数が増えた場合などは、サービスコンポーネント情報ＤＢ４には更新情報が通知されるものの、サービス代理処理エンジン３の抽象サービスコンポーネントＤＢ３１には更新情報は通知されない。
【００６７】
サービス代理処理エンジン３は、ＢＰＥＬ実行エンジン７からアクセスされると（ステップＳｂ３、ステップＳｂ４）、ユーザコンテキスト・ポリシＤＢ５にアクセスして、ユーザコンテキスト・ポリシＤＢ５内に記憶しているユーザ認証のための情報に基づいて、ユーザを認証する（ステップＳｂ５）。さらに、サービス代理処理エンジン３は、ユーザコンテキスト・ポリシＤＢ５からユーザのポリシ情報、及び、コンテキスト情報を取得する（ステップＳｂ６）。続いて、サービス代理処理エンジン３は、抽象サービスコンポーネントＤＢ３１から該当する抽象サービスコンポーネントのオペレーションメタデータを取り出して（ステップＳｂ７）、同等の具体サービスコンポーネントのオペレーションメタデータの検出を起動する（ステップＳｂ８）。これにより、サービスコンポーネント検出部２２は、サービスコンポーネント情報ＤＢ４にアクセスして、選択の候補となる具体サービスコンポーネントのオペレーションメタデータを検出する（ステップＳｂ９）。また、サービスコンポーネント選択部２３は、ステップＳｂ９において検出した選択候補となる具体サービスコンポーネントのオペレーションメタデータから、ユーザに適切な具体サービスコンポーネントのオペレーションメタデータを選択する（ステップＳｂ１０）。
【００６８】
サービスコンポーネント実行・連携部２４は、サービスコンポーネント情報ＤＢ４にアクセスしてステップＳｂ１０で選択された具体サービスコンポーネントのオペレーションのインタフェース情報を取得し、取得したインタフェースの情報で示されるインタフェースによりサービスコンポーネント提供装置６に具体サービスコンポーネントの実行を要求し（ステップＳｂ１１）、実行結果を受信し（ステップＳｂ１２）、受信した実行結果をアクセスしてきたＢＰＥＬ実行エンジン７に送信する（ステップＳｂ１３）。
【００６９】
なお、ステップＳｂ４において、使用されるインタフェースは、ＳＯＡＰ、あるいはブラウザとのインタフェースである。
また、ステップＳｂ８においては、ユーザ識別子および認証用情報に基づいて取得したユーザのポリシ情報、及び、コンテキスト情報を、具体サービスコンポーネントの検出の起動指示にさら付加するものである。このユーザのポリシ情報及びコンテキスト情報は、ステップＳｂ１０において、ユーザに適切な具体サービスコンポーネントのオペレーションメタデータを選択するときに用いられる。
【００７０】
また、ステップＳｂ１３においては、続いて次に処理するカテゴリがあるか否かを判断し、処理するカテゴリがある場合はステップＳｂ８の前に戻り、ない場合はステップＳｂ４の前に戻る。
また、ステップＳｂ４においてユーザ端末装置９のブラウザによりアクセスされた場合には、ステップＳｂ９において検出した時点でサービス代理処理エンジン３の結果受信部３２３が検出結果を受け取り（ステップＳｂ１４）、検出結果をユーザ端末装置９へ送信し（ステップＳｂ１５）、送信されてくるユーザの意向の情報を受信し、受信した情報に従ってサービスコンポーネント実行・連携部２４が処理を継続する（ステップＳｂ１６）。
【００７１】
上記に述べたとおり、本発明を実施するための最良の形態によれば、状況依存性があり、更にユーザの利便性が高いサービス連携を可能にするサービス代理処理ができるようになる。
【００７２】
なお、上述のサービス代理処理エンジン３、ＢＰＥＬ実行エンジン７、サードベンダ端末装置８、ユーザ端末装置９は、内部にコンピュータシステムを有している。そして、上述したサービス代理処理エンジン３の代理処理化機能部３２、サービスコンポーネント検出部２２、サービスコンポーネント選択部２３、及び、サービスコンポーネント実行・連携部２４、ならびに、ＢＰＥＬ実行エンジン７、サードベンダ端末装置８、ユーザ端末装置９の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＣＰＵや各種メモリ、ＯＳや周辺機器等のハードウェアを含むものである。
【００７３】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７４】
なお、本発明は、図１〜図５を用いて説明した形態に限定されるものではなく、その主旨を逸脱しない範囲において種々変更可能である。
【産業上の利用可能性】
【００７５】
上記に説明したとおり、本発明が産業上の利用が可能であることは明らかである。即ちサービスの提供を依頼する側にとっては、サービス代理処理機能によりユーザの状況に応じたサービスコンポーネントの利用が手軽にできるため、満足度が高まることになり、サービスを提供する側にとっては、ユーザ、サービス作成者の満足度が高められることからユーザ、サービス作成者の囲い込みができるようになり、サービスの利用拡大、導入拡大が進み、システムおよび関連装置の需要が一層高まることが期待できる。
【図面の簡単な説明】
【００７６】
【図１】本発明の一実施の形態におけるサービス連携システムの構成例を示す接読図である。
【図２】図１のサービス連携システムにおけるサービス代理処理エンジンの構成例を示すブロック図である。
【図３】図２のサービス代理処理エンジンの代理処理例を説明するための図である。
【図４】図２のサービス代理処理エンジンの動作例を示すフローチャートである。
【図５】図１におけるサービス連携システムの動作例を示すシーケンスチャートである。
【図６】従来のサービス連携処理を説明ための図である。
【符号の説明】
【００７７】
１…ネットワーク
２…サービス連携エンジン
２１…サービスシナリオ設定部
２２…サービスコンポーネント検出部
２３…サービスコンポーネント選択部
２４…サービスコンポーネント実行・連携部
３…サービス代理処理エンジン
３１…抽象サービスコンポーネントＤＢ
３２…代理処理化機能部
３２１…インタフェース処理部
３２２…検出起動部
３２３…結果受信部
４…サービスコンポーネント情報ＤＢ
５…ユーザコンテキスト・ポリシＤＢ
６…サービスコンポーネント提供装置
７…ＢＰＥＬ実行エンジン
８…サードベンダ端末装置
９…ユーザ端末装置
【図１】
0005025427.tif 000002
【図２】
0005025427.tif 000003
【図３】
0005025427.tif 000004
【図４】
0005025427.tif 000005
【図５】
0005025427.tif 000006
【図６】
0005025427.tif 000007