(57)【要約】  サービス仲介システムによって複数のサービス供給者のサービスを提供する場合に、異なるシステム間の差を吸収し、統一したユーザインタフェースによってサービスを提供する。  サービス仲介システム１２は、ブローカープログラム３１と、アダプタプログラム３２とを有する。ブローカープログラム３１は、ユーザ装置１３との間のデータ通信における、メニュー統合等のユーザインタフェース管理機能、セッション統合等のセッション管理機能、ユーザ管理機能などのブローカー機能（仲介処理機能）を有している。アダプタプログラム３２は、サービスプロバイダシステム１１との間で送受信されるデータと、ユーザ装置１３との間で送受信されるデータとでデータ変換を行い、複数のサービスプロバイダシステム１１間の差を吸収するアダプタ機能（変換処理機能）を有している。
2011114536.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置上に構成された所定のサービスを供給するサービスプロバイダシステムと、サービス利用者のユーザ装置との間で、ネットワークを介してサービスを仲介する機能を持つサービス仲介システムであって、
前記サービスプロバイダシステムとの間で送受信される個別のデータ仕様のデータと、前記ユーザ装置との間で送受信される標準仕様のデータとを変換し、複数の前記サービスプロバイダシステムの各々で使用される個別のデータ仕様の間の差を吸収するアダプタ機能部と、
前記ユーザ装置との間、及び前記サービスプロバイダシステムとの間のデータ通信における、サービス要求に関するデータであるリクエストパラメータ及び前記サービス要求に対するサービス応答に関するデータであるレスポンスデータを送受信するとともに、ユーザ認証の認証結果情報を含む、各標準仕様のデータのセッションに対応するセッション情報を管理するセッション管理機能を有するブローカー機能部と、
を有するサービス仲介システム。
【請求項２】
請求項１に記載のサービス仲介システムであって、
当該サービス仲介システムにおける標準仕様を定義した標準データ情報を格納する標準データ情報格納部と、
前記標準データ情報に基づき、前記アダプタ機能部におけるデータ変換の仕様の定義を行うアダプタ定義部と、
前記データ変換の仕様を定義したアダプタ定義情報を格納するアダプタ定義情報格納部と、
を有するサービス仲介システム。
【請求項３】
請求項１に記載のサービス仲介システムであって、
前記アダプタ機能部におけるデータ変換の仕様を定義したアダプタ定義情報を格納するアダプタ定義情報格納部と、
前記アダプタ定義情報に基づき、前記アダプタ機能部を生成するアダプタ生成部と、
を有するサービス仲介システム。
【請求項４】
請求項１に記載のサービス仲介システムであって、
前記アダプタ機能部は、複数のサービスプロバイダシステムに対してそれぞれ設けた複数のアダプタ部を有し、前記ブローカー機能部との間で送受信される標準仕様のデータと、前記複数のサービスプロバイダシステムとの間でそれぞれ送受信される個別のデータ仕様のデータとを変換するものであり、
前記ブローカー機能部は、前記ユーザ装置からの前記複数のサービスプロバイダシステムに対するリクエストパラメータを受けて前記アダプタ機能部における該当するサービスプロバイダシステムのアダプタ部に送信するとともに、前記アダプタ機能部の複数のアダプタ部からのレスポンスデータを受けて前記ユーザ装置に対して送信するものであるサービス仲介システム。
【請求項５】
請求項４に記載のサービス仲介システムであって、
前記ブローカー機能部は、ユーザ認証が行われたユーザに関して前記認証結果情報を含むセッション情報をユーザ毎に集約して管理するものであり、前記セッション情報に基づき、前記ユーザ装置と前記複数のサービスプロバイダシステムとの間のセッションを統合して、前記ユーザ装置からの前記複数のサービスプロバイダシステムに対するリクエストパラメータ、及び、前記複数のサービスプロバイダシステムからの前記ユーザ装置に対するレスポンスデータの送受信を行うサービス仲介システム。
【請求項６】
請求項１に記載のサービス仲介システムであって、
前記アダプタ機能部は、複数のサービスプロバイダシステムとの間でそれぞれ送受信される個別のデータ仕様のデータと、前記ブローカー機能部との間で送受信される標準仕様のデータとを変換し、前記複数のサービスプロバイダシステムからのサービス応答のデータを標準仕様のデータにおいて結合する多重アダプタ機能部を有するサービス仲介システム。
【請求項７】
請求項６に記載のサービス仲介システムであって、
当該サービス仲介システムにおける標準仕様を定義した標準データ情報を格納する標準データ情報格納部と、
前記標準データ情報に基づき、前記多重アダプタ機能部におけるデータ変換の仕様の定義を行う多重アダプタ定義部と、
前記データ変換の仕様を定義したアダプタ定義情報を格納するアダプタ定義情報格納部と、
を有するサービス仲介システム。
【請求項８】
請求項６に記載のサービス仲介システムであって、
前記多重アダプタ機能部は、前記複数のサービスプロバイダシステムとの間でそれぞれデータ変換を行う複数のアダプタ部と、前記複数のアダプタ部と前記ブローカー機能部との間でデータを結合する多重部とを有するサービス仲介システム。
【請求項９】
請求項６に記載のサービス仲介システムであって、
前記多重アダプタ機能部は、前記複数のサービスプロバイダシステムと前記ブローカー機能部との間でデータの変換及び結合を行う多重アダプタ部を有するサービス仲介システム。
【請求項１０】
請求項１に記載のサービス仲介システムであって、
前記アダプタ機能部は、複数のサービスプロバイダシステムに対してそれぞれ設けた複数のアダプタ部を有し、前記ブローカー機能部との間で送受信される標準仕様のデータと、前記複数のサービスプロバイダシステムとの間でそれぞれ送受信される個別のデータ仕様のデータとを変換するものであり、
前記ブローカー機能部は、第１のサービスプロバイダシステムのアダプタ部から第２のサービスプロバイダシステムに対するデータを受けた場合に、該当する第２のサービスプロバイダシステムのアダプタ部に転送するものであるサービス仲介システム。
【請求項１１】
請求項１０に記載のサービス仲介システムであって、
前記ブローカー機能部は、第１のサービスプロバイダシステムのアダプタ部から第２のサービスプロバイダシステムに対するリクエストパラメータを受けた場合に、該当する第２のサービスプロバイダシステムのアダプタ部に転送するとともに、前記リクエストパラメータに対する前記第２のサービスプロバイダシステムのアダプタ部からのレスポンスデータを受けて前記第１のサービスプロバイダシステムのアダプタ部に対して転送するものであるサービス仲介システム。
【請求項１２】
請求項１に記載のサービス仲介システムであって、
前記ブローカー機能部は、前記ユーザ装置の表示画面を制御する画面制御情報として、当該サービス仲介システムにおいて統一した仕様の画面制御情報を、前記サービスプロバイダシステムから受信し、前記ユーザ装置に対して送信して画面制御を行わせるサービス仲介システム。
【請求項１３】
請求項１に記載のサービス仲介システムであって、
前記ブローカー機能部は、前記ユーザ装置の表示画面に表示するメニューを定義したメニュー定義情報を、一つまたは複数の前記サービスプロバイダシステムから受信し、前記ユーザ装置に対して送信してサービスに関するメニューの表示を行わせるサービス仲介システム。
【請求項１４】
請求項１に記載のサービス仲介システムであって、
前記アダプタ機能部におけるデータ変換の仕様を定義したアダプタ定義情報を格納するアダプタ定義情報格納部と、
前記サービスプロバイダシステムより供給されるサービスに関するサービス識別情報を格納するサービス識別情報格納部と、
前記アダプタ定義情報と前記サービス識別情報とに基づき、前記サービスの説明に関するサービスカタログのカタログ情報を登録するカタログ管理部と、
前記カタログ情報を格納するカタログ情報格納部と、
を有するサービス仲介システム。
【請求項１５】
請求項１に記載のサービス仲介システムであって、
前記サービスプロバイダシステムより供給されるサービスの説明に関するサービスカタログのカタログ情報を格納するカタログ情報格納部と、
前記カタログ情報格納部より利用者属性に適合するカタログ情報を抽出し、サービス供給者が使用するプロバイダ装置またはサービス利用者が使用するユーザ装置に対して、抽出したカタログ情報に基づくサービスカタログを出力するカタログ管理部と、
を有するサービス仲介システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス供給者のシステムとサービス利用者のユーザ装置との間でサービスを仲介するサービス仲介システムに関する。
【背景技術】
【０００２】
コンピュータを用いた情報処理システムによって、各種コンテンツの利用、各種アプリケーションソフトウェアの利用、オンラインでの商品購入、各種専門サービスの利用など、種々のサービスを受けることが可能になっている。この種の情報処理技術を用いたサービス提供システムは、サービス供給者のシステムとサービス利用者のユーザ装置とをネットワークを介して接続し、相互にデータを送受信することでサービス提供を行っている。一般には、いわゆるインターネット等のオープンなネットワークを介したシステムによるサービス提供、あるいは、企業等の組織内のプライベートなネットワークに構築したシステムによるサービス提供が行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】日本国特開２００３−３００１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
複数のサービス供給者のサービスを利用することを想定した場合、システムごとに利用環境が異なり、また、それぞれのシステムにアクセスする必要があるなど、サービス利用者にとって利用しづらいという課題がある。そこで、複数のサービス供給者のサービスを一つのシステムで利用可能にするために、サービス供給者のシステムとサービス利用者のユーザ装置との間でサービスを仲介するサービス仲介システムが開発されている。【０００５】
サービス仲介システムの例としては、インターネット上で提供されるいわゆるポータルサイトなどがある。ポータルサイトのシステムでは、ユーザ装置からブラウザソフトウェアによってポータルサイトのサーバにアクセスし、ブラウザソフトウェアの表示画面に複数のサービス供給者のサービスを表示する。この場合、個々のサービス供給者のサービス提供画面を切り替えて利用する、あるいは、表示画面の複数領域にそれぞれサービス供給者のサービス提供画面を表示して利用する、などの形態がとられる。【０００６】
上記のような従来例のサービス仲介システムでは、一般に個々のサービス供給者によるサービス提供は独立して行われる。このため、コンテンツ等の表示態様、操作ボタン等の操作オブジェクトの態様、入力画面の態様など、ユーザインタフェースがサービスごとに異なることがある。この場合、サービス利用者にとっては、一つのシステムにアクセスしてもサービスごとに操作が異なり、操作性に課題が生じる。また、各サービス利用者にとって必要なサービスを柔軟に組み合わせて利用することができない。一方、サービス供給者にとっても、複数のサービス仲介システムがある場合、サービス仲介システムごとにユーザインタフェース、データ構造などの仕様を変更するには、対応に多くの工数がかかるという課題がある。また、個々のサービス利用者ごとに異なるサービス要求に対応することは困難である。さらに、複数のサービス供給者によるサービスを連携させてサービス利用者に提供することも困難であった。【０００７】
例えば特許文献１には、複数システム間でデータを授受するために必要とされるデータ形式の変換を行うデータ変換方法が開示されている。しかし、このデータ変換方法は、複合システム内でデータを授受する場合の方法であり、上記のようなサービス仲介システムとはシステム構成及びシステムの目的が全く異なるものであり、複数のサービス供給者のサービスを利用するための手段として有用ではない。【０００８】
本発明の一つの目的は、サービス仲介システムによって複数のサービス供給者のサービスを提供する場合に、異なるシステム間の差を吸収し、データ仕様を統一した標準仕様のデータによってサービスを提供可能にすることにある。
また、本発明の他の目的は、複数のサービス供給者のサービスを統一したユーザインタフェースによって提供し、サービス利用者において、複数のサービスを一つの利用環境で利用可能にすることにある。
また、本発明の他の目的は、サービス供給者において、サービスを提供する場合に少ない工数で対応できるようにすることにある。
また、本発明の他の目的は、複数のサービス供給者のサービスを用いて、異なるシステム間で連携させて統一したサービスを提供可能にすることにある。
また、本発明の他の目的は、各サービス利用者ごとの属性、設定条件等に応じて柔軟に適応したサービスを提供可能にすることにある。
【課題を解決するための手段】
【０００９】
本発明のサービス仲介システムは、サーバ装置上に構成された所定のサービスを供給するサービスプロバイダシステムと、サービス利用者のユーザ装置との間で、ネットワークを介してサービスを仲介する機能を持つサービス仲介システムであって、サービスプロバイダシステムとの間で送受信される個別のデータ仕様のデータと、ユーザ装置との間で送受信される標準仕様のデータとを変換し、複数のサービスプロバイダシステムの各々で使用される個別のデータ仕様の間の差を吸収するアダプタ機能部と、ユーザ装置との間、及びサービスプロバイダシステムとの間のデータ通信における、サービス要求に関するデータであるリクエストパラメータ及びサービス要求に対するサービス応答に関するデータであるレスポンスデータを送受信するとともに、ユーザ認証の認証結果情報を含む、各標準仕様のデータのセッションに対応するセッション情報を管理するセッション管理機能を有するブローカー機能部と、を有する。【００１０】
また、本発明は、上記のサービス仲介システムであって、当該サービス仲介システムにおける標準仕様を定義した標準データ情報を格納する標準データ情報格納部と、標準データ情報に基づき、アダプタ機能部におけるデータ変換の仕様の定義を行うアダプタ定義部と、データ変換の仕様を定義したアダプタ定義情報を格納するアダプタ定義情報格納部と、を有するものを含む。【００１１】
また、本発明は、上記のサービス仲介システムであって、アダプタ機能部におけるデータ変換の仕様を定義したアダプタ定義情報を格納するアダプタ定義情報格納部と、アダプタ定義情報に基づき、アダプタ機能部を生成するアダプタ生成部と、を有するものを含む。【００１２】
また、本発明は、上記のサービス仲介システムであって、アダプタ機能部は、複数のサービスプロバイダシステムに対してそれぞれ設けた複数のアダプタ部を有し、ブローカー機能部との間で送受信される標準仕様のデータと、複数のサービスプロバイダシステムとの間でそれぞれ送受信される個別のデータ仕様のデータとを変換し、ブローカー機能部は、ユーザ装置からの複数のサービスプロバイダシステムに対するリクエストパラメータを受けてアダプタ機能部における該当するサービスプロバイダシステムのアダプタ部に送信するとともに、アダプタ機能部の複数のアダプタ部からのレスポンスデータを受けてユーザ装置に対して送信するものを含む。【００１３】
また、本発明は、上記のサービス仲介システムであって、ブローカー機能部は、ユーザ認証が行われたユーザに関して認証結果情報を含むセッション情報をユーザ毎に集約して管理し、セッション情報に基づき、ユーザ装置と複数のサービスプロバイダシステムとの間のセッションを統合して、ユーザ装置からの複数のサービスプロバイダシステムに対するリクエストパラメータ、及び、複数のサービスプロバイダシステムからのユーザ装置に対するレスポンスデータの送受信を行うものを含む。【００１４】
また、本発明は、上記のサービス仲介システムであって、アダプタ機能部は、複数のサービスプロバイダシステムとの間でそれぞれ送受信される個別のデータ仕様のデータと、前記ブローカー機能部との間で送受信される標準仕様のデータとを変換し、複数のサービスプロバイダシステムからのサービス応答のデータを標準仕様のデータにおいて結合する多重アダプタ機能部を有するものを含む。【００１５】
また、本発明は、上記のサービス仲介システムであって、当該サービス仲介システムにおける標準仕様を定義した標準データ情報を格納する標準データ情報格納部と、標準データ情報に基づき、多重アダプタ機能部におけるデータ変換の仕様の定義を行う多重アダプタ定義部と、データ変換の仕様を定義したアダプタ定義情報を格納するアダプタ定義情報格納部と、を有するものを含む。【００１６】
また、本発明は、上記のサービス仲介システムであって、アダプタ機能部は、複数のサービスプロバイダシステムに対してそれぞれ設けた複数のアダプタ部を有し、ブローカー機能部との間で送受信される標準仕様のデータと、複数のサービスプロバイダシステムとの間でそれぞれ送受信される個別のデータ仕様のデータとを変換し、ブローカー機能部は、第１のサービスプロバイダシステムのアダプタ部から第２のサービスプロバイダシステムに対するデータを受けた場合に、該当する第２のサービスプロバイダシステムのアダプタ部に転送するものを含む。【００１７】
また、本発明は、上記のサービス仲介システムであって、ブローカー機能部は、第１のサービスプロバイダシステムのアダプタ部から第２のサービスプロバイダシステムに対するリクエストパラメータを受けた場合に、該当する第２のサービスプロバイダシステムのアダプタ部に転送するとともに、リクエストパラメータに対する第２のサービスプロバイダシステムのアダプタ部からのレスポンスデータを受けて第１のサービスプロバイダシステムのアダプタ部に対して転送するものを含む。【００１８】
また、本発明は、上記のサービス仲介システムであって、ブローカー機能部は、ユーザ装置の表示画面を制御する画面制御情報として、当該サービス仲介システムにおいて統一した仕様の画面制御情報を、サービスプロバイダシステムから受信し、ユーザ装置に対して送信して画面制御を行わせるものを含む。【００１９】
また、本発明は、上記のサービス仲介システムであって、ブローカー機能部は、ユーザ装置の表示画面に表示するメニューを定義したメニュー定義情報を、一つまたは複数のサービスプロバイダシステムから受信し、ユーザ装置に対して送信してサービスに関するメニューの表示を行わせるものを含む。【００２０】
また、本発明は、上記のサービス仲介システムであって、アダプタ機能部におけるデータ変換の仕様を定義したアダプタ定義情報を格納するアダプタ定義情報格納部と、サービスプロバイダシステムより供給されるサービスに関するサービス識別情報を格納するサービス情報格納部と、アダプタ定義情報とサービス識別情報とに基づき、サービスの説明に関するサービスカタログのカタログ情報を登録するカタログ管理部と、カタログ情報を格納するカタログ情報格納部と、を有するものを含む。【００２１】
また、本発明は、上記のサービス仲介システムであって、サービスプロバイダシステムより供給されるサービスの説明に関するサービスカタログのカタログ情報を格納するカタログ情報格納部と、カタログ情報格納部より利用者属性に適合するカタログ情報を抽出し、サービス供給者が使用するプロバイダ装置またはサービス利用者が使用するユーザ装置に対して、抽出したカタログ情報に基づくサービスカタログを出力するカタログ管理部と、を有するものを含む。【００２２】
また、本発明は、上記いずれかに記載のサービス仲介システムの各部の機能を実現させるためのプログラムをも含む。
【発明の効果】
【００２３】
本発明によれば、サービス仲介システムによって複数のサービス供給者のサービスを提供する場合に、異なるシステム間の差を吸収し、統一したユーザインタフェースによってサービスを提供することができる。サービス利用者においては、複数のサービス供給者のサービスであっても、あたかも一つのサービスプロバイダシステムが存在しているかのように、一つの利用環境で利用可能になる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係るサービス提供システム全体の概念構成を示すブロック図
【図２】本発明の実施形態に係るサービス提供システムを実現するネットワーク上の装置構成を示すブロック図
【図３】本発明の実施形態に係るサービス提供システムの主要部の機能構成を示すブロック図
【図４】本実施形態のアダプタプログラムにおけるデータ変換処理の一例を示す動作説明図
【図５】本実施形態のサービス仲介システムにおけるアダプタ定義機能に関するプログラム構成及び動作を示す機能ブロック図
【図６】本実施形態のサービス仲介システムにおけるアダプタ生成機能に関するプログラム構成及び動作を示す機能ブロック図
【図７】本実施形態のアダプタ定義及びアダプタ生成に関するデータの一例を示す動作説明図
【図８】（Ａ）、（Ｂ）、（Ｃ）はサービス仲介システム辞書及びアダプタ定義データベースにおける格納データの一例を示す図
【図９】本実施形態のサービス仲介システムにおけるサービスカタログ登録機能に関するプログラム構成及び動作を示す機能ブロック図
【図１０】本実施形態のサービス仲介システムにおけるカタログ情報提供機能に関するプログラム構成及び動作を示す機能ブロック図
【図１１】本実施形態のサービス仲介システムにおけるメニュー統合機能に関する動作を示す機能ブロック図
【図１２】本実施形態のサービス仲介システムにおけるセッション統合機能に関する動作を示す機能ブロック図
【図１３】本実施形態のサービス仲介システムにおけるサービス提供画面の画面制御機能に関する動作を示す機能ブロック図
【図１４】本実施形態のサービス仲介システムにおけるシステム統合機能に関する動作を示す機能ブロック図
【図１５】本実施形態のサービス仲介システムにおけるシステム間のデータ結合機能に関する動作を示す機能ブロック図
【図１６】（Ａ）、（Ｂ）はサービス多重アダプタプログラムの機能構成を示すブロック図
【図１７】複数システム間のデータ連携機能の第１例を示す動作説明図
【図１８】複数システム間のデータ連携機能の第２例を示す動作説明図
【図１９】本実施形態のサービス仲介システムにおけるサービス管理方法の説明として、サービスの登録から公開までの手順を示す図
【図２０】本実施形態のサービス仲介システムにおけるサービス管理方法の説明として、各定義情報の活用イメージを示す図
【図２１】本実施形態に係るサービス仲介システムの実施例１の画面表示を示す動作説明図
【図２２】本実施形態に係るサービス仲介システムの実施例２の画面表示を示す動作説明図
【図２３】本実施形態に係るサービス仲介システムの実施例３の処理フローを示す動作説明図
【図２４】本実施形態に係るサービス仲介システムの実施例４の画面表示を示す動作説明図
【図２５】本実施形態に係るサービス仲介システムの実施例５の画面表示を示す動作説明図
【図２６】本実施形態に係るサービス仲介システムの実施例６の画面表示を示す動作説明図
【発明を実施するための形態】
【００２５】
以下の実施形態では、本発明に係るサービス仲介システム、及びサービス仲介システムを含むサービス提供システムの構成及びその動作の形態をいくつか例示して説明する。
【００２６】
図１は本発明の実施形態に係るサービス提供システム全体の概念構成を示すブロック図である。サービス提供システムは、複数のサービス供給者からそれぞれ供給される複数のサービスプロバイダシステム１１Ａ、１１Ｂ、１１Ｃ、１１Ｄ、１１Ｅ、１１Ｆと、これらのサービスプロバイダシステム１１Ａ〜１１Ｆより供給されるサービスを仲介してサービス利用者のユーザ装置１３Ａ、１３Ｂ、１３Ｃに提供するサービス仲介システム１２とを有して構成される。以下では、複数のサービスプロバイダシステム１１Ａ〜１１Ｆをまとめて説明する際は、単にサービスプロバイダシステム１１と記載する。なお、サービスプロバイダシステム１１の数は任意である。また、複数のユーザ装置１３Ａ〜１３Ｃをまとめて説明する際は、単にユーザ装置１３と記載する。なお、ユーザ装置１３の数は任意である。
【００２７】
サービスプロバイダシステム１１は、コンテンツ配信、通信販売、ＡＳＰ、アウトソーシング、コンサルタント、決済などの各種サービスを供給するシステムであり、コンピュータを用いたサーバ装置等によってその機能が実現される。コンテンツ配信サービスは、動画、静止画、音楽、テキスト等の各種コンテンツを配信するサービスである。コンテンツには、企業情報、地図情報、道路または交通機関の経路情報などが含まれる。通信販売サービスは、オンラインで商品の通信販売を行うサービスである。ＡＳＰサービスは、ＡＳＰ（Application Service Provider）／ＳａａＳ（Software as a Service）等の各種アプリケーションを提供するサービスである。アウトソーシングサービスは、企業の給与計算、福利厚生等の各種業務の外部委託を受けて提供するサービスである。コンサルタントサービスは、コンサルタント、シンクタンク、弁護士、会計士等の各種士業など、各種専門役務を提供するサービスである。例えば、会計士が提供するサービスとして、利用者が決算データを登録し、この決算データに基づいて会計診断を行い、経営の評価あるいは今後の経営シミュレーションなどから企業の強みと弱みの分析レポートを生成するものなどがある。あるいは、人事コンサルタントが提供するサービスとして、利用者が社員の意識調査をアンケート入力し、この入力データから社員の不満要素を分析して人事制度の改善ポイント、あるいは社員教育の重点テーマなどを抽出してレポートを生成するものなどがある。決済サービスは、商取引、サービス利用などによって生じる決済処理を代行して実行するサービスである。
【００２８】
サービス仲介システム１２は、サービスプロバイダシステム１１Ａ〜１１Ｆとユーザ装置１３Ａ〜１３Ｃとの間を仲介し、利用環境が統一されたサービスを提供するシステムであり、コンピュータを用いた専用のサーバ装置、あるいはコンピュータを用いた機器において構成されるサーバ装置等によってその機能が実現される。なお、サービス仲介システム１２は、図示例では一つで示しているが、サービス仲介システム、及びサービス仲介システムを構成するサーバ装置の数は任意であり、複数のシステムあるいはサーバ装置を協働させて機能を実現することも可能である。サービス仲介システム１２の機能については後で詳しく説明する。
【００２９】
ユーザ装置１３は、パーソナルコンピュータ（ＰＣ）、携帯電話機、スマートフォン、携帯情報端末（ＰＤＡ）、ゲーム装置、音楽再生装置等の通信機能及び情報処理機能を有する各種電子機器によって構成され、サービス利用者が使用して各種サービスを利用する装置である。ユーザ装置１３は、汎用のブラウザプログラムまたは専用のサービスアクセスプログラムなど、サービス仲介システム１２のサーバにアクセスしてサービス利用に関するサービス提供画面を表示するためのプログラムを備えている。
【００３０】
サービス仲介システム１２は、ユーザ装置１３に対して、ユーザインタフェースが統一された一つの利用環境を表現するためのユーザインタフェースデータ（以下、ＵＩデータと記載する）を送信する。なお、ユーザ装置１３において、ＵＩデータ、ユーザインタフェース表示のためのＵＩ表示プログラムなどを予め保持していてもよい。ユーザ装置１３は、ＵＩデータに応じて、サービス利用に関するサービス提供画面を表示する。そして、サービス利用者の操作に応じて、ユーザ装置１３はサービス要求としてのリクエストパラメータをサービス仲介システム１２に対して送信する。サービス仲介システム１２は、ユーザ装置１３からのリクエストパラメータを受けると、そのリクエストパラメータを翻訳し、該当するサービスプロバイダシステム１１に対して送信する。リクエストパラメータを受信したサービスプロバイダシステム１１は、そのリクエストパラメータに対応するサービス応答としてのレスポンスデータをサービス仲介システム１２に送信する。サービス仲介システム１２は、サービスプロバイダシステム１１からのレスポンスデータを翻訳し、リクエストパラメータを送信したユーザ装置１３に対してレスポンスデータを送信する。ユーザ装置１３は、サービス仲介システム１２からのレスポンスデータに基づき、提供を受けたサービスの表示、再生等を実行する。
【００３１】
図２は本発明の実施形態に係るサービス提供システムを実現するネットワーク上の装置構成を示すブロック図である。ネットワーク２５は、インターネット等のＷＡＮ（Wide Area Network）、固定電話網または移動体通信網などの公衆通信回線網、ケーブルＴＶまたはデジタル放送等のデジタル通信が可能な放送網、専用回線による通信網、特定の事業者等におけるイントラネット、各拠点のＬＡＮ（Local Area Network）等、各種ネットワークの少なくともいずれかを含み、データ伝送を行うネットワークである。ネットワーク２５には、サービスプロバイダシステム１１の機能を持つサービスプロバイダサーバ２１Ａ、２１Ｂと、サービス仲介システム１２の機能を持つサービス仲介サーバ２２と、ユーザ装置１３の機能を持つユーザ端末２３Ａ、２３Ｂとが接続される。なお、各サーバ及び端末間を接続するネットワーク２５は、一つのネットワークで構成されていてもよいし、複数のネットワークを経由した構成であってもよい。
【００３２】
図３は本発明の実施形態に係るサービス提供システムの主要部の機能構成を示すブロック図である。サービス仲介システム１２は、ブローカープログラム３１と、アダプタプログラム３２とを有して構成される。ブローカープログラム３１は、ユーザ装置１３との間、及びサービスプロバイダシステム１１との間のデータ通信における、メニュー統合等のユーザインタフェース管理機能、セッション統合等のセッション管理機能、ユーザ管理機能などのブローカー機能（仲介処理機能）を有している。アダプタプログラム３２は、サービスプロバイダシステム１１との間で送受信される個別のデータ仕様のデータと、ユーザ装置１３との間で送受信される標準仕様のデータとを変換し、複数のサービスプロバイダシステム１１の各々で使用される個別のデータ仕様の間の差を吸収するアダプタ機能（変換処理機能）を有している。ここで、ブローカープログラム３１がブローカー機能部の一例に相当し、アダプタプログラム３２がアダプタ機能部の一例に相当する。
【００３３】
サービスプロバイダシステム１１は、サービス供給者により供給される各種サービスを実行するサービスプログラム３５を有している。ユーザ装置１３は、サービス利用者が利用する各種サービスを表示、再生等するための、汎用のブラウザプログラムまたは専用のサービスアクセスプログラムなどのクライアントプログラム３６を有している。
【００３４】
ユーザ装置１３→ブローカープログラム３１→アダプタプログラム３２→サービスプロバイダシステム１１の方向には、サービス要求として、各プログラム間でリクエストパラメータＲＰが伝送される。この際、サービスプロバイダシステム１１とサービス仲介システム１２との間で仕様を統一させるように、アダプタプログラム３２によってリクエストパラメータがＲＰ→ＲＰｘに変換される。また、サービスプロバイダシステム１１→アダプタプログラム３２→ブローカープログラム３１→ユーザ装置１３の方向には、サービス応答として、各プログラム間でレスポンスデータＲＤが伝送される。この際、サービスプロバイダシステム１１とサービス仲介システム１２との間で仕様を統一させるように、アダプタプログラム３２によってレスポンスデータがＲＤｘ→ＲＤに変換される。リクエストパラメータＲＰは、サービス利用者がクライアントプログラム３６を操作して要求した指示データを、要求先のサービスプロバイダシステム１１のサービスプログラム３５に伝えるための要求データである。レスポンスデータＲＤは、要求されたサービスプログラム３５がリクエストパラメータＲＰの内容に従って処理を行った結果を示す結果データである。リクエストパラメータＲＰ、レスポンスデータＲＤは、例えばＸＭＬ（Extensible Markup Language）によって記述する。また、サービス仲介システム１２は、ユーザ装置１３との間、及びサービスプロバイダシステム１１との間のデータ通信において送受信される、各データのセッションに対応するセッション情報３３を保持しており、ブローカープログラム３１がセッション管理処理を行う際にセッション情報３３を入出力する。
【００３５】
アダプタプログラム３２によるデータ変換処理の具体例を示す。図４は本実施形態のアダプタプログラムにおけるデータ変換処理の一例を示す動作説明図である。図４の例では、サービスプロバイダシステム１１として、最寄駅検索サービス１１αとレストラン検索サービス１１βとを有している。これら複数のサービスプロバイダシステム１１に対して、それぞれアダプタプログラム３２α、３２βを介在させ、ブローカープログラム３１との間でリクエストパラメータＲＰ及びレスポンスデータＲＤのデータ変換を行う。アダプタプログラム３２α、３２βの変換処理３７α、３７βでは、（１）データ構造、（２）データ項目名称、（３）データ値に関する変換を行う。この際、サービスプロバイダシステム１１とアダプタプログラム３２との間は、個々のサービスが公開するインタフェース仕様（個別のデータ仕様）に従ってデータをやり取りする。また、ブローカープログラム３１を中心に、アダプタプログラム３２との間、またはユーザ装置１３のクライアントプログラム３６との間は、標準化されたデータ構造、項目の名称、データの値を用いた標準仕様のデータをやり取りする。これにより、各サービスにおいて異なる入出力データ仕様を統一し（各サービスプロバイダシステム１１の個別のデータ仕様の間の差を吸収する）、ユーザ装置においては共通のデータ仕様によって処理することが可能となる。ここで、各サービスに対応して設けたアダプタプログラム３２α、３２βがアダプタ機能部の複数のアダプタ部の一例に相当する。
【００３６】
ここでは、サービス利用者がユーザ装置１３を操作して最寄駅検索サービス１１α及びレストラン検索サービス１１βに対してサービスの処理要求を行い、所定位置に対する最寄駅及び周辺のレストランの情報を得る場合を想定する。サービス利用者がクライアントプログラム３６上の地図の任意の位置をクリックして位置を指示すると、クライアントプログラム３６は、最寄駅検索サービス１１α及びレストラン検索サービス１１βに対するリクエストパラメータＲＰ１をブローカープログラム３１に送信する。リクエストパラメータＲＰ１の一例として、該当位置の座標を示すCTYPE=1（世界測地系）、LAT=35.703304（緯度）、LNG=139.7404484（経度）を送信するものとする。このユーザ装置１３のクライアントプログラム３６からブローカープログラム３１を経てアダプタプログラム３２α、３２βまでの間で使用されるリクエストパラメータＲＰ１は、サービス仲介システム１２の標準仕様に適合したものである。ここでは、アダプタプログラム３２α、３２βにおいてリクエストパラメータ及びレスポンスデータのデータ項目名称を変換する例を示す。
【００３７】
ブローカープログラム３１は、リクエストパラメータＲＰ１を受け取り、該当サービスに対応するアダプタプログラム３２α、３２βに転送する。一方のアダプタプログラム３２αは、変換処理３７αを実行し、最寄駅検索サービス１１αの仕様に適合する位置座標を示すリクエストパラメータＲＰ１→ＲＰ１αに変換する。一例として、C_CODE=0（世界測地系）、LAT=35.703304（緯度）、LON=139.7404484（経度）に変換するものとする。そして、変換後のリクエストパラメータＲＰ１αを最寄駅検索サービス１１αのサービスプログラム３５αに転送する。他方のアダプタプログラム３２βは、変換処理３７βを実行し、レストラン検索サービス１１βの仕様に適合する位置座標を示すリクエストパラメータＲＰ１→ＲＰ１βに変換する。一例として、CND_CD=1（世界測地系）、LATITUDE=35.703304（緯度）、LONGITUDE=139.7404484（経度）に変換するものとする。そして、変換後のリクエストパラメータＲＰ１βをレストラン検索サービス１１βのサービスプログラム３５βに転送する。
【００３８】
最寄駅検索サービス１１αのサービスプログラム３５αは、リクエストパラメータＲＰ１αに対して、最寄駅情報に関するレスポンスデータＲＤ１ａαとして、STATION=新宿（最寄駅）、LINE=JR中央線（路線）、DISTANCE=250（最寄駅までの距離）等をアダプタプログラム３２αに返信する。アダプタプログラム３２αは、変換処理３７αを実行し、サービス仲介システム１２の標準仕様に適合する最寄駅情報を示すレスポンスデータＲＤ１ａα→ＲＤ１ａに変換する。ここでは、STAT=新宿（最寄駅）、EXP_LINE=JR中央線（路線）、DIST=250（最寄駅までの距離）に変換するものとする。
【００３９】
レストラン検索サービス１１βのサービスプログラム３５βは、リクエストパラメータＲＰ１βに対して、周辺レストラン情報に関するレスポンスデータＲＤ１ｂβとして、NAME=あすなろ飯店（店舗名）、TEL=999-9999-9999（電話番号）、CATEGORY=10（中華レストラン）等をアダプタプログラム３２βに返信する。アダプタプログラム３２βは、変換処理３７βを実行し、サービス仲介システム１２の標準仕様に適合する周辺レストラン情報を示すレスポンスデータＲＤ１ｂβ→ＲＤ１ｂに変換する。ここでは、SHOP_NAME=あすなろ飯店（店舗名）、SHOP_TEL=999-9999-9999（電話番号）、SHOP_TYPE=021（中華レストラン）に変換するものとする。
【００４０】
ブローカープログラム３１は、それぞれのアダプタプログラム３２α、３２βからのレスポンスデータＲＤ１ａ、ＲＤ１ｂを受け取り、これらをリクエストパラメータＲＰ１の送信元であるユーザ装置１３のクライアントプログラム３６に転送する。そして、クライアントプログラム３６は、受け取ったレスポンスデータＲＤ１ａ、ＲＤ１ｂに基づき、最寄駅情報及び周辺レストラン情報を表示する。これにより、サービス利用者は指定した位置に対する最寄駅及び周辺レストランの情報を得ることができる。
【００４１】
以下に、本実施形態のサービス仲介システムにおける各機能を実現するプログラムの構成及びその動作について詳しく説明する。
【００４２】
［アダプタ定義］
図５は本実施形態のサービス仲介システムにおけるアダプタ定義機能に関するプログラム構成及び動作を示す機能ブロック図である。本実施形態のサービス仲介システムは、上述したアダプタプログラム３２の定義を行うためのアダプタ定義プログラム４１を有している。アダプタ定義プログラム４１は、サービス仲介システム辞書４５に格納された各サービス要素の標準データ情報に基づき、各種データ変換の仕様を決定する処理を行い、処理結果のアダプタ定義情報をアダプタ定義データベース４６に保存する。ここで、アダプタ定義プログラム４１がアダプタ定義部の一例に相当し、サービス仲介システム辞書４５が標準データ情報格納部の一例に相当し、アダプタ定義データベース４６がアダプタ定義情報格納部の一例に相当する。サービス仲介システム辞書４５は、各種提供サービスに関する標準データ情報として、サービス仲介システム１２における標準仕様のデータ構造、項目の名称、データの値等を示す情報を格納している。アダプタ定義プログラム４１は、リクエストパラメータ仕様登録処理４２、レスポンスデータ仕様登録処理４３の各処理を実行する。また、サービス仲介システムは、利用可能なサービスの内容閲覧、選択、比較検討等に用いられる情報提供用のサービスカタログの登録、表示等の管理を行うカタログ管理プログラム７１を有している。このカタログ管理プログラム７１は、サービスの仕様登録処理６２を実行し、サービスに関する各種情報の登録処理を行い、サービスカタログデータベース６５に保存する。ここで、定義対象となるサービスプロバイダシステム１１のサービスＡを実行するサービスプログラム３５は、そのサービスＡの仕様４８として、リクエストパラメータの仕様４８Ａ、レスポンスデータの仕様４８Ｂ、サービスの仕様４８Ｃの各仕様を実装しているものである。
【００４３】
アダプタ定義プログラム４１は、リクエストパラメータ仕様登録処理４２として、サービスプログラム３５が受け取るリクエストパラメータの仕様を登録する。リクエストパラメータの仕様には、受け取るデータの項目名称、値の有効範囲、内容の説明などが含まれる。また、レスポンスデータ仕様登録処理４３として、サービスプログラム３５から返すレスポンスデータの仕様を登録する。レスポンスデータの仕様には、返すデータの項目名称、値の説明などが含まれる。この際、リクエストパラメータとレスポンスデータのそれぞれについて、各項目とサービス仲介システム辞書４５における標準データ情報とを参照して関連付けを行い、その関連付け及びデータ変換に関する情報をアダプタ定義情報としてアダプタ定義データベース４６に登録する。また、カタログ管理プログラム７１は、サービスの仕様登録処理６２として、サービスの概要、契約内容、利用料金、バージョンなどサービスの仕様を登録する。
【００４４】
このアダプタ定義プログラム４１によって、サービスプロバイダシステム１１とサービス仲介システム１２とを容易に接続するためのデータ仕様を定義する。この際、サービス仲介システム１２が持つ辞書を利用し、供給されるサービスに関する各データ仕様の対応付け情報をアダプタ定義情報として定義する。このアダプタ定義情報は、サービス利用者がサービス供給者から提供されるサービスの仕様、利用条件等を理解できるように定義する。また、アダプタ定義情報は、各種の定義をサービス利用者が簡易的に操作できるように補助する機能を持たせる。
【００４５】
［アダプタ生成］
図６は本実施形態のサービス仲介システムにおけるアダプタ生成機能に関するプログラム構成及び動作を示す機能ブロック図である。本実施形態のサービス仲介システムは、上述したアダプタプログラム３２の生成を行うためのアダプタ生成プログラム５１を有している。ここで、アダプタ生成プログラム５１がアダプタ生成部の一例に相当する。アダプタ生成プログラム５１は、アダプタ定義データベース４６に登録されたアダプタ定義情報に基づき、アダプタプログラム３２を生成する。アダプタ生成プログラム５１は、リクエストパラメータ変換処理部の生成処理５２、レスポンスデータ変換処理部の生成処理５３の各処理を実行する。
【００４６】
アダプタ生成プログラム５１は、アダプタ定義データベース４６から、リクエストパラメータの仕様、レスポンスデータの仕様をデータとして入力する。そして、リクエストパラメータ変換処理部の生成処理５２として、アダプタプログラム３２のリクエストパラメータ変換処理部５４を生成する。また、レスポンスデータ変換処理部の生成処理５３として、アダプタプログラム３２のレスポンスデータ変換処理部５５を生成する。
【００４７】
このアダプタ生成プログラム５１によって、ブローカープログラム３１からのリクエストパラメータを、サービスプログラム３５が理解できる形式に変換したうえでサービスプログラム３５を呼び出すアダプタプログラム（データ変換プログラム）３２を生成する。また、サービスプログラム３５が処理したレスポンスデータを、ブローカープログラム３１が理解できる形式にデータ変換するアダプタプログラム３２を生成する。
【００４８】
上記のアダプタ定義とアダプタ生成の機能に関する具体例を示す。図７は本実施形態のアダプタ定義及びアダプタ生成に関するデータの一例を示す動作説明図である。図８（Ａ）〜（Ｃ）はサービス仲介システム辞書及びアダプタ定義データベースにおける格納データの一例を示す図である。図７及び図８の例は、図４に示したデータ変換処理の一例に対応するものである。
【００４９】
最寄駅検索サービス１１αに対応するアダプタプログラム３２αは、リクエストパラメータＲＰ１→ＲＰ１αへのデータ変換、及び、レスポンスデータＲＤ１ａα→ＲＤ１ａへのデータ変換を行う変換処理３７αの機能を有している。このアダプタプログラム３２αは、上述したように、サービス仲介システム辞書４５及びアダプタ定義データベース４６に登録された標準データ情報、アダプタ定義情報に基づき、アダプタ生成プログラム５１によって生成される。ここで、サービス仲介システム辞書４５には、標準データ情報として、図８（Ａ）に示すように標準データ項目（標準項目名称、標準項目フィールド名）としては測地系タイプ：CTYPE、緯度：LAT、経度：LNG、半径：RAD、駅名：STAT、電車路線名：EXP_LINE、目的地までの距離：DISTなどが登録され、図８（Ｂ）に示すように標準データ値（標準項目フィールド名、フィールド値、値の意味）としてはCTYPE=1：世界測地系、CTYPE=2：日本測地系などの各データの標準仕様が登録されている。また、アダプタ定義データベース４６には、アダプタ定義情報として、図８（Ｃ）に示すように各サービスにおけるパラメータ及びデータについて、サービスＩＤ、パラメータ名、パラメータ値、メモ、標準項目フィールド名、フィールド値、値の意味、ＸＭＬ階層などが登録されている。
【００５０】
このようなアダプタ定義によって、変換処理３７αでのデータ変換処理において、リクエストパラメータＲＰ１→ＲＰ１αの場合はCTYPE=1（世界測地系）、LAT=35.703304（緯度）、LNG=139.7404484（経度）、RAD=300（半径）がC_CODE=0（世界測地系）、LAT=35.703304（緯度）、LON=139.7404484（経度）、RADIUS=2（半径）に変換される。また、レスポンスデータＲＤ１ａα→ＲＤ１ａの場合はSTATION=新宿（最寄駅）、LINE=JR中央線（路線）、DISTANCE=250（最寄駅までの距離）がSTAT=新宿（最寄駅）、EXP_LINE=JR中央線（路線）、DIST=250（最寄駅までの距離）に変換される。
【００５１】
上記のようなアダプタプログラム３２におけるデータ変換によって、サービス仲介システム１２におけるブローカープログラム３１、ユーザ装置１３のクライアントプログラム３６等のサービス利用者側の領域では、サービス仲介システム辞書４５に定義され登録された標準仕様によって各データが処理される。一方、サービスプロバイダシステム１１のサービスプログラム３５等のサービス供給者側の領域では、それぞれの個別サービス独自のデータ仕様によって各データが処理される。したがって、各サービスプロバイダシステム１１においては独自仕様のデータを用いて処理を行いながら、サービス仲介システム１２を介して統一した標準仕様のデータによって処理を行うことが可能になる。このため、複数のサービスに関するデータの統合などが容易になる。
【００５２】
［サービスカタログ登録］
図９は本実施形態のサービス仲介システムにおけるサービスカタログ登録機能に関するプログラム構成及び動作を示す機能ブロック図である。本実施形態のサービス仲介システムは、上記のカタログ管理プログラム７１において、サービスプロバイダシステムより供給されるサービスの説明に関する各種情報を記載したサービスカタログへのカタログ情報の登録を行うサービスカタログ登録機能を有している。サービス利用者は、サービスカタログを閲覧することで、自ら利用したいサービスあるいはサービスプロバイダシステムを選択することができる。カタログ管理プログラム７１は、入力される所定のサービスに関する各種情報を含むサービス仕様情報と、サービス識別コード管理簿６６に登録されたサービス識別情報とに基づき、提供サービスの説明に関するサービスカタログの登録処理を行い、処理結果のカタログ情報をサービスカタログデータベース６５に保存する。カタログ管理プログラム７１は、サービス識別コードの割り当て処理６３、サービスカタログの登録処理６４の各処理を実行する。
【００５３】
カタログ管理プログラム７１は、サービス供給者が使用するプロバイダ装置７５のクライアントプログラム７６から、図５に示したサービスの仕様４８Ｃ等のサービス仕様情報の入力を受け付ける。そして、サービス識別コードの割り当て処理６３として、サービス識別コード管理簿６６に登録されたサービス識別情報を基に、各種サービスのバージョンの違いも考慮した識別コードを割り当てる。また、サービスカタログの登録処理６４として、サービス仕様情報と識別コードとを含むカタログ情報を、サービスカタログデータベース６５に登録する。サービスカタログデータベース６５には、サービスＡ、サービスＢ、サービスＣ…など、各サービス毎にカタログ情報が登録されて保存される。ここで、サービス識別コード管理簿６６がサービス識別情報格納部の一例に相当し、カタログ管理プログラム７１がカタログ管理部の一例に相当し、サービスカタログデータベース６５がカタログ情報格納部の一例に相当する。
【００５４】
このカタログ管理プログラム７１によって、サービス利用者が自ら利用したいサービスあるいはサービスプロバイダシステムを選択するためのカタログ情報を登録する。また、サービスプロバイダシステムを提供するサービス供給者、あるいはサービス供給者としてサービスプロバイダシステムをコーディネートする事業者が、システム間連携を検討するためのカタログ情報を登録する。この際、複数の異なるサービス、あるいは同一サービスの異なるバージョンに対して、ユニークな識別コードを割り当てて、管理、識別可能にする。
【００５５】
［カタログ情報の提供］
図１０は本実施形態のサービス仲介システムにおけるカタログ情報提供機能に関するプログラム構成及び動作を示す機能ブロック図である。本実施形態のサービス仲介システムは、上記のカタログ管理プログラム７１において、サービスカタログに登録されたカタログ情報の提供を行うカタログ情報提供機能を有している。カタログ管理プログラム７１は、サービス利用者、サービス供給者のそれぞれからの要求に応じて、サービス利用者向けまたはサービス供給者向けのカタログ情報を抽出して出力する。カタログ管理プログラム７１は、利用者属性の識別処理７２、サービス利用者向けのカタログ情報抽出処理７３、サービス供給者向けのカタログ情報抽出処理７４の各処理を実行する。
【００５６】
カタログ管理プログラム７１は、サービス利用者が使用するユーザ装置１３のクライアントプログラム３６、または、サービス供給者が使用するプロバイダ装置７５のクライアントプログラム７６から、指定されたカタログの抽出条件を示すリクエストパラメータを受け付ける。そして、リクエストパラメータで指定された抽出条件に合致するカタログ情報をサービスカタログデータベース６５から抽出する。ここで、利用者属性の識別処理７２として、リクエストパラメータまたは抽出したカタログ情報から利用者属性がサービス利用者であるかサービス供給者であるかを識別する。この利用者属性識別結果に応じて、利用者属性がサービス利用者である場合は、サービス利用者向けのカタログ情報抽出処理７３を実行し、抽出したカタログ情報をサービス利用者向けの情報として出力し、レスポンスデータによってユーザ装置１３のクライアントプログラム３６に返信する。また、利用者属性がサービス供給者である場合は、サービス供給者向けのカタログ情報抽出処理７４を実行し、抽出したカタログ情報をサービス供給者向けのカタログ情報として出力し、レスポンスデータによってプロバイダ装置７５のクライアントプログラム７６に返信する。
【００５７】
このカタログ管理プログラム７１によって、サービス利用者が自ら利用したいサービスあるいはサービスプロバイダシステムを選択可能なカタログ情報を提供する。また、サービスプロバイダシステムを提供するサービス供給者、あるいはサービス供給者としてサービスプロバイダシステムをコーディネートする事業者が、システム間連携を実現するうえでの検討材料となるカタログ情報を提供する。この際、ユーザ装置１３またはプロバイダ装置７５からのリクエストパラメータによって指定された抽出条件に合致するサービスのカタログ情報を抽出したうえで提供する。
【００５８】
［メニュー統合］
図１１は本実施形態のサービス仲介システムにおけるメニュー統合機能に関する動作を示す機能ブロック図である。本実施形態のサービス仲介システムは、複数のサービスのメニューを統合するためのメニュー統合プログラム８１を有している。メニュー統合プログラム８１は、ルートメニュー制御プログラム８２を有し、利用者別のメニュー定義情報の登録、及び利用者別のルートメニューの生成を行う。また、メニュー統合プログラム８１は、利用者別に登録されたメニュー定義８９を有している。ユーザ装置１３のクライアントプログラム３６では、メニューデータを受け付けると、メニュー生成処理８３を実行する。ここで、サービスＡ＿８６Ａ、サービスＢ＿８６Ｂ、サービスＣ＿８６Ｃの各サービス毎に、サービスプログラム３５Ａ、３５Ｂ、３５Ｃ、アダプタプログラム３２Ａ、３２Ｂ、３２Ｃ、対話シナリオ８７Ａ、８７Ｂ、８７Ｃ、メニュー定義８８Ａ、８８Ｂ、８８Ｃを有している。
【００５９】
対話シナリオ８７（８７Ａ、８７Ｂ、８７Ｃを代表する）は、ＵＩデータの一例に相当するもので、各サービスのユーザインタフェースに関連する情報を記述したものである。この対話シナリオは、提供サービスの表示画面（サービス提供画面）における入出力の対話処理の台本（シナリオ）、表示画面上での情報入力及び表示出力の仕様情報などが記述されている。つまり、対話シナリオ８７は、提供サービスの表示画面の画面制御情報の一つに相当する。この対話シナリオ８７は、サービス仲介システム１２の標準仕様に従って生成される。ユーザ装置１３のクライアントプログラム３６では、自装置の表示画面の生成及び制御を行う画面制御処理部の機能を有しており、対話シナリオ８７による画面制御情報を用いて所定のユーザインタフェース仕様に従った表示画面の生成及び制御を行う。これにより、統一された利用環境を実現するユーザインタフェースをもつサービス提供画面が生成されて表示される。メニュー定義８８（８８Ａ、８８Ｂ、８８Ｃを代表する）は、各サービスにおける項目を示すメニューを定義したメニュー定義情報である。ある項目においてさらに細分化された項目がある場合、これらを対応付けた階層構造のメニュー定義情報を設定する。対話シナリオ８７、メニュー定義８８は、上述したアダプタ定義プログラムと同様にして、対話シナリオ生成プログラム、メニュー定義プログラムによってサービス毎にサービス仲介システム１２に適合したものを生成することができる。
【００６０】
メニュー統合プログラム８１は、サービス利用者のユーザ装置１３からの選択指示に応じて、サービスカタログデータベース６５のサービスカタログ８５より、当該ユーザが利用するサービスを選択し、利用者別のメニュー定義情報を登録する。この際、ルートメニュー制御プログラム８２は、上述のように登録、提供されたサービスカタログ８５のカタログ情報を取得し、利用者別のサービス選択設定に従って、選択されたサービスのメニュー情報をメニュー定義８９として登録する。サービスカタログ８５には、登録されている各サービスの内容とともに、各サービスの稼働状況（Ｏｎ／Ｏｆｆ）を記録して管理している。ルートメニュー制御プログラム８２は、メニュー定義８９に対応させて、ユーザ毎に、選択された各サービスの名称、ＵＲＬ（Uniform Resource Locator）等の参照先アドレス等をユーザ別設定として登録する。そして、ルートメニュー制御プログラム８２は、利用者別に登録されたメニュー定義８９を取得し、利用者ごとの選択サービスのメニューツリーとして、複数のサービスのメニューを統合したルートメニューを生成し、メニューデータとして出力する。また、選択されたサービス（図示例ではサービスＡとＣ）に関して、該当するサービスの対話シナリオ及びメニュー定義情報を参照する。
【００６１】
そして、ユーザ装置１３のクライアントプログラム３６において、メニューデータを受け付けると、メニュー生成処理８３として、選択されたサービスを統合したルートメニューを自動生成し、第１のメニューツリー８４Ａとして出力する。これにより、ユーザ装置１３のサービス提供画面には、ユーザ別設定に応じて統合されたサービスのルートメニューが表示される。ルートメニューは、階層構造を持つメニューのうち最上位階層のメニューを表示したものである。ここで、サービス利用者がいずれかのメニューを選択すると、メニュー生成処理８３として、この選択指示に従い、選択されたサービスメニューの下位メニューのメニューデータを取得し、取得した下位メニューを挿入した第２のメニューツリー８４Ｂとして出力する。この際、下位メニューの情報は各サービスのメニュー定義８８として定義されたメニュー定義情報から動的にロードされる。これにより、サービス提供画面には統合されたサービスの中の選択メニューの下位メニューが表示される。
【００６２】
［セッション統合］
図１２は本実施形態のサービス仲介システムにおけるセッション統合機能に関する動作を示す機能ブロック図である。本実施形態のサービス仲介システムは、ブローカープログラム３１において、複数のサービスプロバイダシステムとユーザ装置のクライアントプログラムとの間のセッションを統合するセッション統合機能を有している。
【００６３】
ブローカープログラム３１は、サービスＡ＿８６Ａのサービスプログラム３５Ａ、サービスＢ＿８６Ｂのサービスプログラム３５Ｂ、サービスＣ＿８６Ｃのサービスプログラム３５Ｃのそれぞれとの間で、リクエストパラメータとレスポンスデータの送受信を行う。この際、各データのセッションに対応して各サービスプログラム３５Ａ、３５Ｂ、３５Ｃが生成したセッション情報を受け取る。そして、受け取ったセッション情報を集約して、情報保持部９１にそのセッション情報３３を保存する。次に、ユーザ装置１３のクライアントプログラム３６より、セッション情報を必要とする処理要求を受け付ける。この処理要求に従って、情報保持部９１に保存されたセッション情報３３から該当のセッション情報を取り出す。そして、該当のサービスプログラムに取り出したセッション情報を送信する。
【００６４】
セッション情報は、サービス利用者であるユーザ毎に集約されて保持されるものであり、サービス仲介システム１２にユーザがログインした後から取得されて記録される。サービス利用者は、サービスの利用に際して、ユーザごとにクライアントプログラム３６からサービス仲介システム１２にログインして、ユーザＩＤとパスワード等によってそれぞれユーザ認証を行う。ブローカープログラム３１は、各ユーザの認証、ログインに関する情報を管理し、ユーザ毎にセッション情報を統合して授受、保持等を行う。このセッション情報には、ユーザ毎の認証結果情報が含まれる。認証結果情報は、ユーザＩＤ情報（ユーザ名、ユーザ番号などの特定情報）、ユーザ属性情報、利用可能なサービス及び項目の情報などを有する認証結果を示す情報である。
【００６５】
このセッション統合機能によって、各個別サービスが必要とするセッション情報をブローカープログラム３１において一元的に保持する仕組みが実現される。これにより、個々のサービスのサービスプロバイダシステム１１がそれぞれにクライアントプログラム３６との間でセッションを維持する必要がなくなる。
【００６６】
［表示画面制御］
図１３は本実施形態のサービス仲介システムにおけるサービス提供画面の画面制御機能に関する動作を示す機能ブロック図である。本実施形態では、ユーザ装置１３に設けられるクライアントプログラム３６において、サービス提供画面のユーザインタフェースの編集、生成、制御を行う画面制御機能を有している。
【００６７】
クライアントプログラム３６は、表示画面としてサービス提供画面の生成制御処理を行う画面制御処理部１５１と、サービス提供画面の表示処理を行う表示処理部１５２とを有している。表示処理部１５２は、汎用のブラウザプログラム等によって構成されるもので、ＸＭＬ等によるサービス提供画面のコンテンツデータに基づいて装置の表示部にサービス提供画面の表示を行う。画面制御処理部１５１は、汎用のブラウザプログラム上で動作するスクリプト言語（Java（登録商標）Script）、あるいはブラウザのプラグイン（Flash（登録商標）、Silverlight（登録商標）など）として動作するプログラム、などにより構成されるものである。この画面制御処理部１５１は、統一された画面デザインを表現する所定のユーザインタフェース仕様に従った表示画面の編集、生成、及び制御を実行する。画面制御処理部１５１の処理としては、データ受信制御、画面の表示編集、入力制御、リクエスト送信制御などを実行する。
【００６８】
ユーザ装置１３のクライアントプログラム３６より、サービス項目の選択指示などの処理要求に関するリクエストパラメータＲＰが出力され、ブローカープログラム３１を介して対象のサービスプロバイダシステム１１のサービスプログラム３５に転送される。サービスプログラム３５は、受け取ったリクエストパラメータＲＰに対応するレスポンスデータＲＤを出力する。ここで、クライアントプログラム３６に送信するサービス提供画面に関するレスポンスデータＲＤがある場合、対話シナリオ８７の中から該当するシナリオデータＳＤを出力する。これらのレスポンスデータＲＤ、シナリオデータＳＤは、ブローカープログラム３１を介してユーザ装置１３のクライアントプログラム３６に転送される。この際、ブローカープログラム３１は、サービス仲介システム１２において統一した仕様に従って生成された対話シナリオ８７のシナリオデータＳＤを、サービスプロバイダシステム１１から画面制御情報として受信し、このシナリオデータＳＤをユーザ装置１３のクライアントプログラム３６に対して送信する。
【００６９】
クライアントプログラム３６の画面制御処理部１５１は、シナリオデータＳＤに記述された各種データ及びパラメータに従った表示内容を持つように画面の編集を行い、予め設定してある所定のユーザインタフェース仕様に従った表示画面を生成する。この際、対話シナリオのシナリオデータＳＤは、表示内容の定義、指定を行ったり、入力方法または入力手順の指定を行うものであり、表示画面のレイアウト、デザイン等は画面制御処理部１５１において決定する。シナリオデータＳＤに対話処理情報を含む場合は、対話型の入力支援処理として自動対話処理を実行し、ユーザによる情報入力時の入力支援、入力チェックなどを行う。この場合、画面制御処理部１５１は自動対話処理システムとして機能する。そして、表示処理部１５２は、画面制御処理部１５１での画面制御処理がなされた表示画面をサービス提供画面として表示する。これにより、統一された利用環境を実現するユーザインタフェースを持つサービス提供画面が表示される。この際のサービス提供画面としては、一つの画面（シングルウィンドウ画面）によって統一環境で複数のサービスを利用可能な画面を表示する。
【００７０】
なお、上記のサービス提供画面の画面制御機能については、画面制御システムとして独立して設けることも可能である。また、画面制御機能の一部または全部をサービス仲介システム１２においてブローカープログラム３１、アダプタプログラム３２等とともに備えるようにし、サーバ装置側で補佐する構成とすることも可能である。
【００７１】
［システム統合］
図１４は本実施形態のサービス仲介システムにおけるシステム統合機能に関する動作を示す機能ブロック図である。本実施形態のサービス仲介システムは、複数のサービスプロバイダシステムを統合し、サービス利用者において統一された一つの利用環境を提供するシステム統合機能を有している。このシステム統合機能としては、サービス仲介システムによる一括したユーザ認証、複数サービスの統合、統一したユーザインタフェースの提供などの機能が含まれる。
【００７２】
サービスプロバイダシステムとしては、ユーザ認証等の認証サービスを提供するサービスＡ＿１６１Ａ、ルートメニュー制御等のメニューサービスを提供するサービスＢ＿１６１Ｂ、各種アプリケーションサービスを提供するサービスＣ＿１６１Ｃ及びサービスＤ＿１６１Ｄを有するものとする。ここで、ユーザ認証を行うサービスＡ＿１６１Ａ、ルートメニュー制御を行うサービスＢ＿１６１Ｂは、サービス仲介システム１２の一つの機能として備えるものである。これらのサービスＡ＿１６１Ａ、サービスＢ＿１６１Ｂは、サービス仲介システム１２のサーバ装置内にブローカープログラム３１、アダプタプログラム３２等とともに設けてもよいし、外部のサービスプロバイダシステムの一つとして設けてもよい。認証サービス及びメニューサービス等のサービスを、サービス仲介システム本体から切り離して独立して設けることで、これらの機能を持つサービスを適宜、任意に選択して使用することが可能になる。例えば、認証サービスとしては、OpenID（登録商標）、ＳＡＭＬ（Security Assertion Markup Language）（登録商標）などの外部の認証プログラムを利用したり、組織内部のネットワークに設けた認証サーバを利用することなどが可能である。
【００７３】
ブローカープログラム３１は、ユーザ毎に集約したセッション情報３３を保持するとともに、制御情報１７１を有している。制御情報１７１は、どの認証サービス、メニューサービスを使用するかを示す使用サービス設定情報を含むものである。ユーザ装置１３のクライアントプログラム３６は、図１３に示した画面制御処理部１５１及び表示処理部１５２を有している。このクライアントプログラム３６は、アクセス要求、認証要求、メニュー要求、画面要求等の処理要求に関するリクエストパラメータ、リクエストパラメータに対する結果を示すレスポンスデータ、サービスメニューに関するメニューデータ、画面制御に関する対話シナリオなどを入出力する。そして、クライアントプログラム３６は、ログイン画面、サービス提供画面等を表示部に表示し、サービス利用者であるユーザからの操作入力を受け付け、この操作入力または入出力データに基づく表示等を行う。
【００７４】
ここで、システム統合機能に関する動作の例として、サービス利用者のログイン及びユーザ認証から、ユーザの要求に対して提供されるサービスの内容を示すサービス提供画面の表示までの処理手順を説明する。図１４では、自社の内線番号を検索するサービスを利用する場合の表示例を示している。この際、以下に述べる一連の処理を実行する。
【００７５】
（１）ユーザ装置１３のクライアントプログラム３６は、サービス利用者のユーザ操作に応じて、アクセス対象の参照先アドレス情報を示すＵＲＬリクエスト１８１を送信する。この場合のＵＲＬリクエスト１８１は、ブローカープログラム３１が動作するサーバ装置のネットワーク上のアドレスを示すＵＲＬである。ブローカープログラム３１は、クライアントプログラム３６からのＵＲＬリクエスト１８１を受けると、ログイン用の画面要求をユーザ認証を行うサービスＡ＿１６１Ａに対して送信する。
（２）サービスＡ＿１６１Ａのサービスプログラム１６２Ａは、ブローカープログラム３１からの画面要求を受けると、対話シナリオ１６４Ａからログイン用対話シナリオ１８２を抽出して送信する。ブローカープログラム３１は、ログイン用対話シナリオ１８２を受信すると、クライアントプログラム３６に転送する。ログイン用対話シナリオ１８２には、ログイン用の入力情報の項目と、各項目に対応する入力領域の指定情報が記述されている。クライアントプログラム３６は、ログイン用対話シナリオ１８２に基づいて画面の編集及び制御を行い、表示画面としてログイン画面１８７Ａを表示部に表示し、サービス利用者からのユーザＩＤ、パスワード等のログイン情報の入力を待ち受ける。
【００７６】
（３）クライアントプログラム３６は、入力されたログイン情報をブローカープログラム３１に送信する。ブローカープログラム３１は、ログイン情報を含む認証要求をサービスＡ＿１６１Ａに対して送信する。
（４）サービスＡ＿１６１Ａのサービスプログラム１６２Ａは、ブローカープログラム３１からの認証要求を受けると、保持している認証データ１６５Ａと照合し、認証結果をステータスとして送信する。認証データ１６５Ａは、ユーザＩＤ情報（ユーザ名、ユーザ番号などの特定情報）、パスワード情報、各ユーザの属性情報及び利用可能なサービス、項目の情報などを含むものである。ブローカープログラム３１は、認証結果のステータスを受信すると、ユーザ毎の認証結果情報としてセッション情報３３に保持する。セッション情報３３には、ユーザ認証を完了してからユーザ毎に各セッションの情報が保持される。ユーザ認証が正常に行われた後は、ブローカープログラム３１と各サービスとの間でユーザ毎の認証結果情報を共有する。また、ユーザ認証に関する情報は、ユーザ認証の完了後はユーザ装置１３側に伝送されないようにすることで、予期せぬ情報漏洩を防止し、セキュリティを向上できる。ここで、ユーザ認証に失敗した場合は、ブローカープログラム３１は、認証失敗を示すレスポンスデータをクライアントプログラム３６に送信する。クライアントプログラム３６は、認証失敗を示すレスポンスデータを受けた場合、認証失敗メッセージを表示画面に表示する。なお、ユーザ認証処理時の送受信データに関して、標準仕様へのデータ変換が必要な場合は、アダプタプログラム１６３Ａを介してデータの送受信を行う。ユーザ認証処理は、上記処理例の代わりに、ユーザ装置１３のＯＳが持っているログイン機能、あるいは、ユーザ装置１３の動作時にデフォルトで使用する認証モジュールなどを利用して、その認証情報を引き継ぐことによってユーザ認証を行うことも可能である。
【００７７】
（５）（１）〜（４）でのユーザ認証処理の完了後、ブローカープログラム３１は、ルートメニューのメニュー要求をサービスＢ＿１６１Ｂに対して送信する。この際、メニュー要求には、要求元である対象ユーザの認証結果情報を含める。
（６）サービスＢ＿１６１Ｂのサービスプログラム１６２Ｂは、ブローカープログラム３１からのメニュー要求を受けると、メニュー定義１６６Ｂから対象ユーザのルートメニューデータ１８３を抽出して送信する。このメニュー定義１６６Ｂは、上述したサービスカタログ８５のカタログ情報と連動して設定されているものとする。ブローカープログラム３１は、ルートメニューデータ１８３を受信すると、クライアントプログラム３６に転送する。クライアントプログラム３６は、ルートメニューデータ１８３に基づいて画面の編集及び制御を行い、表示画面としてルートメニュー画面１８７Ｂを表示部に表示し、サービス利用者からのメニュー選択の指示入力を待ち受ける。このルートメニューは、認証されたユーザが利用可能なサービスの主項目を示すもので、複数のサービスのメニューが表示される。なお、ルートメニュー制御処理時の送受信データに関して、標準仕様へのデータ変換が必要な場合は、アダプタプログラム１６３Ｂを介してデータの送受信を行う。
【００７８】
（７）サービス利用者のユーザ操作により、特定のメニュー項目（図示例では「内線検索」）のクリックによってメニューの選択指示がなされた場合、クライアントプログラム３６は、該当するサブメニュー表示を要求するリクエストパラメータを送信する。ルートメニューデータ１８３には、各メニュー項目に対応する処理要求先の情報が含まれている。ブローカープログラム３１は、クライアントプログラム３６からのサブメニュー表示のリクエストパラメータを受けると、選択されたメニュー項目に対応するサービスＣ＿１６１Ｃに対してサブメニューのメニュー要求を送信する。この際、メニュー要求には、要求元である対象ユーザを特定するユーザ情報、あるいは認証結果情報を含める。
（８）サービスＣ＿１６１Ｃのサービスプログラム１６２Ｃは、ブローカープログラム３１からのメニュー要求を受けると、まず認証確認部１６７ＣによってサービスＣの認証データ１６５Ｃを照合し、自サービスを利用可能な登録ユーザであるか確認する。この際、認証データ１６５Ｃに基づき、各ユーザが利用可能なサービス、データ等に関する利用権限を識別する。この認証確認により、登録ユーザである場合は、サービスプログラム１６２Ｃは、メニュー定義１６６Ｃから対象ユーザのサブメニューデータ１８４を抽出して送信する。ブローカープログラム３１は、サブメニューデータ１８４を受信すると、クライアントプログラム３６に転送する。クライアントプログラム３６は、サブメニューデータ１８４に基づいて画面の編集及び制御を行い、表示画面としてサブメニュー画面１８７Ｃを表示部に表示し、サービス利用者からのメニュー選択の指示入力を待ち受ける。
【００７９】
（９）サービス利用者のユーザ操作により、特定のメニュー項目（図示例では「社員検索」）のクリックによってメニューの選択指示がなされた場合、クライアントプログラム３６は、該当するサービス（社員検索サービス）を要求するリクエストパラメータを送信する。サブメニューデータ１８４には、各メニュー項目に対応する処理要求先の情報が含まれている。ブローカープログラム３１は、クライアントプログラム３６からの特定サービスのリクエストパラメータを受けると、サービスＣ＿１６１Ｃに対して該当サービスの画面要求を送信する。
（１０）サービスＣ＿１６１Ｃのサービスプログラム１６２Ｃは、ブローカープログラム３１からの画面要求を受けると、対話シナリオ１６４Ｃから検索条件画面の対話シナリオ１８５を抽出して送信する。ブローカープログラム３１は、検索条件画面の対話シナリオ１８５を受信すると、クライアントプログラム３６に転送する。検索条件画面の対話シナリオ１８５には、検索条件の入力項目と、各項目に対応する入力領域、及び、検索結果の表示領域の指定情報が記述されている。クライアントプログラム３６は、対話シナリオ１８５に基づいて画面の編集及び制御を行い、表示画面として検索条件指定領域を含む社員検索画面１８７Ｄを表示部に表示し、サービス利用者からの社員番号、氏名等の検索条件指定情報の入力を待ち受ける。
【００８０】
（１１）サービス利用者のユーザ操作により、検索条件指定情報の入力がなされた場合、クライアントプログラム３６は、その検索条件指定情報を含むリクエストパラメータを送信する。ブローカープログラム３１は、クライアントプログラム３６からのリクエストパラメータを受けると、サービスＣ＿１６１Ｃに対して検索条件指定情報を含めた検索要求を送信する。
（１２）サービスＣ＿１６１Ｃのサービスプログラム１６２Ｃは、ブローカープログラム３１からの検索要求を受けると、検索条件指定情報に基づく検索処理を実行し、ＸＭＬによる検索結果データ１８６を送信する。ブローカープログラム３１は、検索結果データ１８６を受信すると、クライアントプログラム３６に転送する。クライアントプログラム３６は、検索結果データ１８６を受信すると、社員検索画面１８７Ｄにおいて、検索結果表示領域に検索結果を表示する。ここで、サービスＣ＿１６１Ｃとブローカープログラム３１との間の送受信データについては、アダプタプログラム１６３Ｃを介して標準仕様へのデータ変換を行うようにする。これにより、各サービス側では個々のサービス特有の仕様のデータによって処理要求の受信、処理要求に対する結果の送信を行うことが可能である。
【００８１】
サービスＤ＿１６１Ｄに対しても、サービスＣ＿１６１Ｃの場合と同様に上記（７）〜（１２）の処理を行い、サービス利用者からの処理要求に従って対応するサービスの仲介、提供を行う。
【００８２】
このシステム統合機能によって、複数のサービスをあたかも一つのサービスプロバイダシステムであるかのようにサービス利用者に対して提供することができる。これにより、サービス利用者は、複数のサービスを一つのメニュー、一つのサービス提供画面（シングルウィンドウ画面）で操作できるようになり、統一感のあるユーザインタフェースを用いた画面操作が可能になる。また、認証結果情報を含むセッション情報の管理により、１回のユーザ認証処理によって、複数のサービスプロバイダシステムの認証処理を通過させることができるようになる。
【００８３】
［システム間のデータ結合］
図１５は本実施形態のサービス仲介システムにおけるシステム間のデータ結合機能に関する動作を示す機能ブロック図である。本実施形態のサービス仲介システムは、複数のサービスプロバイダシステムのデータを結合するための多重アダプタ定義プログラム１０１を有している。ここで、多重アダプタ定義プログラム１０１が多重アダプタ定義部の一例に相当する。多重アダプタ定義プログラム１０１は、各サービスのアダプタプログラム３２とアダプタ定義データベース４６に保存されたレスポンスデータの仕様とに基づき、複数のサービスから取得したデータを結合するためのデータ結合の仕様を生成し、多重アダプタ定義情報としてアダプタ定義データベース４６に保存する。多重アダプタ定義プログラム１０１は、複数のサービス選択処理１０２、データ結合の項目及び条件の指定処理１０３、複数サービスの取得データの結合処理１０４の各処理を実行する。
【００８４】
多重アダプタ定義プログラム１０１は、複数のサービス選択処理１０２として、データを結合したいサービスプログラムを２つ以上選択する。図示例では、サービスＡ＿８６Ａのサービスプログラム３５Ａ、サービスＢ＿８６Ｂのサービスプログラム３５Ｂを選択した場合を示している。そして、選択したサービスプログラムのうちの一つを主なサービスプログラムとして指定する。例えば、サービスＡ＿８６Ａのサービスプログラム３５Ａを主なサービスプログラムとする。そして、アダプタ定義データベース４６から、選択した各サービスプログラムのレスポンスデータの仕様１０５をデータとして入力する。
【００８５】
次に、データ結合の項目及び条件の指定処理１０３として、入力した複数サービスのレスポンスデータの項目のうち、データを結合する項目間の対応付けを行い、これらの対象項目を結合キーとして指定する。なお、ここで各データの対応付けを行わなくても構わない。そして、指定した結合キーで示される項目間の結合に対して、どのような結合方法にするのか条件指定をする。ここで、結合方法とは、主となるサービスプログラムの全レスポンスデータに対して、従となるサービスプログラムのうち結合キーに合致したレスポンスデータのみ取得対象とするなどの条件をいう。これらの処理により、データ結合の仕様が決定される。
【００８６】
そして、複数サービスの取得データの結合処理１０４として、各サービスのアダプタプログラム３２Ａ、３２Ｂを呼び出したうえで、上記の処理結果の内容（データ結合の仕様）を実行し、このデータ結合処理により取得したデータをサンプル表示して確認する。そして、決定したデータ結合の仕様１０６をアダプタ定義データベース４６に保存する。
【００８７】
この多重アダプタ定義プログラム１０１によって、複数のサービスプログラムのデータを結合し、あたかも一つのサービスプロバイダシステムから得たデータであるかのように処理する。複数のサービスプログラムのデータ結合の例としては、サービス利用者側で持っている組織内の顧客管理データと、サービス供給者が提供する企業与信データサービスのデータとを結合することなどが挙げられる。サービスプログラムを提供する複数のシステムの組合せは、組織内の異なるシステム、組織内のシステムと組織外部のシステム、異なる外部のシステム間など、あらゆる組合せ例が想定される。
【００８８】
ここで、複数のサービスプロバイダシステムのデータを結合する多重アダプタプログラムの構成例を示す。図１６（Ａ）、（Ｂ）は多重アダプタプログラムの機能構成を示すブロック図である。図１６（Ａ）に示す第１例は、サービスＡ＿８６ＡとサービスＢ＿８６Ｂのそれぞれのサービスプログラム３５Ａ、３５Ｂに対して、それぞれ授受データのデータ変換をして翻訳を行うアダプタプログラム１０７Ａ、１０７Ｂと、これら複数のアダプタプログラム１０７Ａ、１０７Ｂにおけるデータを結合して多重する多重プログラム１０８とを有する構成である。ここで、アダプタプログラム１０７Ａ、１０７Ｂ及び多重プログラム１０８が多重アダプタ機能部の一例に相当し、このうち、アダプタプログラム１０７Ａ、１０７Ｂが複数のアダプタ部の一例に相当し、多重プログラム１０８が多重部の一例に相当する。
【００８９】
図１６（Ｂ）に示す第２例は、サービスＡ＿８６ＡとサービスＢ＿８６Ｂのそれぞれのサービスプログラム３５Ａ、３５Ｂに対して、それぞれ授受データの翻訳及び多重（データ変換及び結合）を行う多重アダプタプログラム１０９を有する構成である。ここで、多重アダプタプログラム１０９が多重アダプタ部の一例に相当する。これらのアダプタプログラム１０７Ａ、１０７Ｂ及び多重プログラム１０８、あるいは多重アダプタプログラム１０９は、上記の多重アダプタ定義プログラム１０１によるアダプタ定義及びデータ結合の仕様に基づき、システム環境に応じた形態で生成される。
【００９０】
［システム間のデータ連携（１）］
複数のサービスプロバイダシステム間におけるデータ連携機能について説明する。図１７は複数システム間のデータ連携機能の第１例を示す動作説明図である。この第１例は、複数のサービスプロバイダシステム間でデータを授受する例として、主に少量データの場合に用いられる例を示すものである。図示例では、サービスＡ＿１１１がデータ送信元のサービス（第１のサービスプロバイダシステム）であり、サービスＢ＿１１２がデータ送信先のサービス（第２のサービスプロバイダシステム）となる。サービスＡ＿１１１のサービスプログラムは、ログイン、データ送信、処理結果入力の各処理を実行する。サービスＢ＿１１２のサービスプログラムは、データ受信、処理結果出力の各処理を実行する。ここで、それぞれのサービスＡ＿１１１、サービスＢ＿１１２のサービスプログラムとブローカープログラム３１との間には、システム間の仕様の差を吸収するアダプタプログラム１１５Ａ、１１５Ｂが設けられる。ブローカープログラム３１は、サービスＡ＿１１１のアダプタプログラム１１５ＡからサービスＢ＿１１２に対するデータを受けた場合に、該当するサービスＢ＿１１２のアダプタプログラム１１５Ｂに転送する。
【００９１】
サービスＡ＿１１１のサービスプログラムは、ブローカープログラム３１に対してログイン要求を行い、セッションを確立する。これにより、サービスＡ＿１１１のサービスプログラムは、見かけ上、サービス利用者のユーザ装置（クライアントプログラム）と同じに扱われる。つまり、見なしクライアントとして機能する。この際、ブローカープログラム３１は、あらかじめサービスＡに対してもユーザＩＤとパスワードを付与しておく。そして、サービスＡ＿１１１のサービスプログラムは、ブローカープログラム３１に対してテキストデータ、バイナリデータ等のデータをリクエストパラメータとして送信する。この際、例えばデータを「multipart/form-data」でＰＯＳＴする。送信パラメータ（Request.Form）には、データの送信先となるサービスプロバイダシステムのＵＲＬも含める。データ送信の起動タイミング等は、サービスＡ＿１１１における個別要件とし、サービス仲介システム１２側では特に関知しない。例えば、サービス利用者による起動操作、タイマ起動による自動処理等により起動される。
【００９２】
ブローカープログラム３１は、サービスＡ＿１１１のサービスプログラムからの送信データを、目的の送信先のサービスＢ＿１１２のサービスプログラムに転送する。ここで、ブローカープログラム３１においては、サービスプログラムからの送信データによるリクエストパラメータが、一般のクライアントプログラムからのサブミットと同じものとして認識される。サービスＢ＿１１２のサービスプログラムは、ブローカープログラム３１から転送されたデータを受信する。そして、処理結果出力として、データの受信が成功したかどうかのレスポンスデータをブローカープログラム３１に返信する。ブローカープログラム３１は、サービスＢ＿１１２のサービスプログラムからのレスポンスデータで示される処理ステータス（データ受信の可否）を、サービスＡ＿１１１のサービスプログラムに転送する。サービスＡ＿１１１のサービスプログラムは、処理結果入力として、レスポンスデータを受け取り、処理ステータスに応じた後処理を実行する。例えば、データ受信に失敗した場合は再送を行い、成功した場合は当該データの消去等を行う。
【００９３】
このような複数システム間のデータ連携によって、ユーザ装置を介さずに複数のサービスプロバイダシステム間でデータの受け渡しが可能となる。複数システム間のデータ連携の例としては、勤怠管理サービスシステムが生成した勤怠データを、給与計算サービスシステムに引き渡すことなどが挙げられる。
【００９４】
［システム間のデータ連携（２）］
図１８は複数システム間のデータ連携機能の第２例を示す動作説明図である。この第２例は、複数のサービスプロバイダシステム間でデータを授受する例として、主に大量データの場合に用いられる例を示すものである。図示例では、サービスＡ＿１２１がデータ送信元のサービス（第１のサービスプロバイダシステム）であり、サービスＢ＿１２２がデータ送信先のサービス（第２のサービスプロバイダシステム）となる。サービスＡ＿１２１のサービスプログラムは、取得依頼、要求受付、ファイル出力、報告受付の各処理を実行する。サービスＢ＿１２２のサービスプログラムは、依頼受付、ログイン、ファイル要求、ファイル取得、受領報告の各処理を実行する。ここで、それぞれのサービスＡ＿１２１、サービスＢ＿１２２のサービスプログラムとブローカープログラム３１との間には、システム間の仕様の差を吸収するアダプタプログラム１２５Ａ、１２５Ｂが設けられる。ブローカープログラム３１は、サービスＡ＿１２１のアダプタプログラム１２５ＡからサービスＢ＿１２２に対するリクエストパラメータを受けた場合に、該当するサービスＢ＿１２２のアダプタプログラム１２５Ｂに転送するとともに、このリクエストパラメータに対するサービスＢ＿１２２のアダプタプログラム１２５Ｂからのレスポンスデータを受けてサービスＡ＿１２１のアダプタプログラム１２５Ａに対して転送する。
【００９５】
サービスＡ＿１２１のサービスプログラムは、第１例と同様にブローカープログラム３１にログインしてセッションを確立した後、リクエストパラメータによってサービスＢ＿１２２に対するファイル取得依頼を行う。このとき、ファイル名等のＩＤ情報、ワンタイムパスワードなどの認証情報、取得期限などを伝達する。ブローカープログラム３１はこのファイル取得依頼をサービスＢ＿１２２のサービスプログラムに転送する。
【００９６】
サービスＢ＿１２２のサービスプログラムは、ブローカープログラム３１に対してログイン要求を行い、セッションを確立する。これにより、サービスＢ＿１２２のサービスプログラムは、見かけ上、サービス利用者のユーザ装置（クライアントプログラム）と同じに扱われる。サービスＢ＿１２２のサービスプログラムは、サービスＡ＿１２１からのファイル取得依頼を受け付けると、リクエストパラメータによってサービスＡ＿１２１に対するファイル取得要求を行う。ブローカープログラム３１はこのファイル取得要求をサービスＡ＿１２１のサービスプログラムに転送する。
【００９７】
サービスＡ＿１２１のサービスプログラムは、サービスＢ＿１２２からのファイル取得要求を受け付けると、該当データのファイルをストリーム出力する。そして、送信されたファイルがブローカープログラム３１を介してサービスＢ＿１２２のサービスプログラムに転送される。サービスＢ＿１２２のサービスプログラムは、転送されたファイルを取得し、受領報告として、必要に応じて処理ステータス（データ受信の可否）をサービスＡ＿１２１のサービスプログラムに通知する。サービスＡ＿１２１のサービスプログラムは、報告受付として、サービスＡ＿１２１からの受領報告を受け取り、処理ステータスに応じた後処理を実行する。例えば、データ受信に失敗した場合は再送を行い、成功した場合は当該データの消去等を行う。
【００９８】
このような複数システム間のデータ連携によって、ユーザ装置を介さずに複数のサービスプロバイダシステム間でデータの受け渡しが可能となる。
【００９９】
ここで、複数システム間のデータ連携に用いるアダプタプログラムの生成について説明する。システム間のデータ連携用のアダプタプログラムは、前述したユーザ装置のクライアントプログラムとサービスプロバイダシステム間のアダプタプログラムと同様にして定義、生成が可能である。図５に示したアダプタ定義機能を用いて、リクエストパラメータ及びレスポンスデータの仕様を定義し、アダプタ定義情報をアダプタ定義データベース４６に登録する。この際、データのコード変換等の独自処理を必要とする場合は、変換方法などの高度なアダプタ定義を行う。そして、図６に示したアダプタ生成機能を用いて、アダプタプログラム３２を生成する。これにより、複数のサービス同士でのデータ受け渡しを可能にするためのアダプタプログラムが生成できる。
【０１００】
［サービス管理］
本実施形態のサービス仲介システム１２における提供サービスの管理方法について説明する。図１９及び図２０は本実施形態のサービス仲介システムにおけるサービス管理方法を説明する図であり、図１９はサービスの登録から公開までの手順を示す図、図２０は各定義情報の活用イメージを示す図である。
【０１０１】
図１９に示すように、サービス供給者は、サービス公開に至るまでの作業工程として、手順（１）：サービス提供の企画・計画、手順（２）：アダプタプログラムのインタフェース定義、手順（３）：アダプタプログラムの生成及びテスト、手順（４）：アダプタプログラムの公開、の各作業を実行する。一方、サービス利用者は、サービス利用に至るまでの作業工程として、手順（１）：サービス利用の企画・計画、手順（２）：サンプルレスポンスを用いたプロトタイプ開発、手順（４）：サービスの本番利用、の各作業を実行する。ここでいうサービス利用者は、サービスを利用する一般の利用者だけでなく、サービス利用者側のシステム管理者、あるいは、サービスを提供するシステムインテグレータ、コーディネータ等、管理業務を行う利用者も含んでいる。
【０１０２】
この際、図２０に示すように、サービス供給者は、開発工程に沿って順次定義情報（カタログ情報、アダプタ定義情報、アダプタプログラム）を登録、生成する。サービス利用者は、これらの定義情報を参照して、目的のサービスの検索、対象サービス用のアプリケーションの作成、対象サービスのデータ統合用の多重アダプタ定義などを行う。
【０１０３】
手順（１）では、サービス供給者は、上述したカタログ管理プログラム７１等のカタログ管理プログラムを用いて、提供するサービスに関するカタログ情報の新規登録を行う。これに対し、サービス利用者は、クライアントプログラムを用いてカタログ情報を参照することで、サービスの検索が可能である。ここで、参照可能な情報として、サービスの名称、目的、機能概要、公開日、終了（予定）日、提供者、利用対象者などがある。この際、図２０に示すように、サービス供給者は、サービスの登録１３１を行い、サービスカタログ１３５を生成する。サービス利用者は、サービスカタログ１３５を参照して、目的のサービスの検索１４１をしたり、サービスの概要を確認したりする。カタログ情報は、一般利用者、管理者などの利用者の属性に応じて抽出して提供する。
【０１０４】
手順（２）では、サービス供給者は、上述したアダプタ定義プログラム４１等のアダプタ定義プログラムを用いて、提供するサービスに関するアダプタ定義情報（サービスのＡＰＩ仕様）を登録する。また、カタログ情報の進捗ステータスを更新する。また、アダプタ定義情報を用いて任意のリクエストパラメータに対するサンプルレスポンスを生成する。これに対し、サービス利用者は、クライアントプログラムを用いてアダプタ定義を参照することで、変換データの仕様の確認が可能である。ここで、参照可能な情報として、リクエストパラメータの仕様、レスポンスデータの仕様、サンプルレスポンスなどがある。また、アダプタ定義に基づくサンプルレスポンスを用いて、対象サービス用のアプリケーションのプロトタイプを作成可能である。この際、図２０に示すように、サービス供給者は、インタフェースの定義１３２を行い、アダプタ定義１３６を生成する。また、アダプタ定義１３６に基づき、サンプルレスポンス（ＸＭＬ等）１３７を生成する。サービス利用者は、アダプタ定義１３６を参照して、インタフェース仕様の確認１４２をする。また、サンプルレスポンス１３７を用いて、サービス利用アプリケーションのプロトタイプの作成１４３を行う。ここで、プロトタイプを用いて、データ仕様等の仕様の確認、ユーザインタフェースの対話シナリオのチューニング等を行う。
【０１０５】
手順（３）では、サービス供給者は、上述したアダプタ生成プログラム５１等のアダプタ生成プログラムを用いて、アダプタプログラムを生成する。また、カタログ情報の進捗ステータスを更新する。この際、図２０に示すように、サービス供給者は、アダプタプログラムの生成１３３を行い、アダプタプログラム１３８を生成する。また、生成したアダプタプログラム１３８を用いて、アダプタのテスト１３４を行う。テスト結果に問題が無い場合は、次の手順（４）に進む。
【０１０６】
手順（４）では、サービス供給者は、上述したカタログ管理プログラム７１等のカタログ管理プログラムを用いて、提供するサービスに関するカタログ情報の公開設定を行う。また、カタログ情報の進捗ステータスを更新する。また、アダプタプログラム（サービスのＡＰＩ）をサービス利用者に対して公開する。これに対し、サービス利用者は、クライアントプログラムを用いてアダプタプログラムの利用が可能であり、アダプタプログラムを通じて対象サービスの本番利用が行えるようになる。この際、図２０に示すように、サービス供給者は、アダプタのテスト結果に基づき、更新したサービスカタログ１３９において公開設定をする。サービス利用者は、公開されたアダプタプログラム１３８を用いて、サービスの本番利用１４４を行う。ここで、アダプタプログラム１３８の公開によりサービスのインタフェース仕様が正式に公開されると、アダプタプログラムのリクエスト先（ＵＲＬ）を変更し、実際のサービス利用を開始する。
【０１０７】
このようなサービス管理手順によって、サービス仲介システムを通じて利用者に提供されるサービスの管理方法を提供する。また、サービス利用者が目的のサービスを発見する手段として、サービスカタログという独自のサービスを用意する。また、カタログ管理プログラムを利用することにより、サービスカタログの登録、更新、検索、参照が可能となる。また、サービス供給者は、自身が提供するサービスをより広く利用者に周知させることが可能になる。また、サービス利用者は、自身の目的に合ったサービスを効率よく見つけ出すことが可能になる。
【０１０８】
次に、本実施形態に係るサービス仲介システムを含むサービス提供システムの具体的な実施例をいくつか例示する。
【０１０９】
＜実施例１：外部のシステムと組織内システムとの連携＞
実施例１は、外部のサービスプロバイダシステムと組織内のサービスプロバイダシステムとを連携させる例を示したものである。図２１は本実施形態に係るサービス仲介システムの実施例１の画面表示を示す動作説明図である。
【０１１０】
ユーザ装置１３のモニタ等の表示部には、サービス仲介システム１２より提供されるサービス利用画面２１０が表示される。サービス利用画面２１０には、左側部にメニュー表示領域２１１、その右側の中央部を含む広い領域にサービス表示領域２１２が配置されている。サービス表示領域２１２には、当該サービスが提供する内容、タイトル、コンテンツ、操作オブジェクトなど、サービスの利用、操作に関する各種オブジェクトが表示される。
【０１１１】
実施例１では、自社の社員情報システム、Ａ社の勤怠管理ＡＳＰサービス、Ｂ社の旅費精算ＡＳＰサービス、Ｃ社の人事考課ＡＳＰサービスを統合し、複数サービスを統一感のある表示形態、操作性を持つユーザインタフェースによって利用可能としている。ユーザインタフェースは、サービス仲介システム１２によって提供され、データのみがサービスプロバイダシステムとの間で授受される。サービス利用者は、各メニューを選択することで、目的のサービスを利用可能である。サービス表示領域２１２に表示される内容は、選択したメニュー項目によって、社内のサービスプロバイダシステムからのデータ、あるいは外部のサービスプロバイダシステムからのデータが適宜提供される。このサービス仲介システム１２では、ユーザ認証はシングルサインオンで行うことが可能であり、サービス利用者は、一度ログインするだけで複数のサービスを利用でき、各サービスの切替等を全く意識する必要がない。なお、サービス利用者のユーザ属性、権限などに応じて、メニュー、表示内容、操作オブジェクト等を異なるものとすることも可能である。このように、本実施例では、複数のサービスを統合し操作性の統一されたサービス利用環境を構築可能である。
【０１１２】
このような複数システムを連携する場合、サービス仲介システム１２を組織内に設けるようにすれば、自社の社員情報システムの登録情報などの内部情報を外部に出すことなく、外部のサービスプロバイダシステムと連携させて複合サービスを構築し、提供及び利用することが可能である。
【０１１３】
＜実施例２：外部のコンテンツと組織内データとの連携＞
実施例２は、外部のサービスプロバイダシステムのコンテンツと組織内のサービスプロバイダシステムのデータとを連携させる例を示したものである。図２２は本実施形態に係るサービス仲介システムの実施例２の画面表示を示す動作説明図である。
【０１１４】
ユーザ装置１３のモニタ等の表示部には、サービス仲介システム１２より提供されるサービス利用画面２２０が表示される。サービス利用画面２２０には、サービス表示領域として、左側部に訪問顧客情報領域２２１、右側上部に地図情報領域２２２、右側下部に乗換経路情報領域２２３が配置されている。訪問顧客情報領域２２１には、組織内のシステムより、自社の顧客データ及び営業担当者の訪問計画データが抽出されて、訪問先に関する訪問顧客情報が表示される。この訪問顧客情報は、自社のスケジューラに入力されて反映される。地図情報領域２２２には、Ｂ社の地図情報サービスより供給される地図情報が表示される。乗換経路情報領域２２３には、Ａ社の乗換案内サービスより供給される乗換経路情報が表示される。
【０１１５】
地図情報には、訪問先の顧客の住所データに基づき、各訪問先の位置がマーキングされる。そして、サービス利用者が、例えば訪問顧客情報の中から主要訪問先の名称または地図上のマーカーを選択すると、その訪問先から半径３ｋｍ以内の訪問顧客候補がリスト表示され、訪問先を回るための推奨経路が乗換経路情報として表示され、地図上に候補ルートが表示される。そして、サービス利用者が訪問ルートの確認、及び訪問先の決定を行うと、決定された訪問顧客情報がスケジューラに反映される。このように、本実施例では、外部のコンテンツと組織内データとを連携させた利便性の高いサービスの提供及び利用が容易に可能である。
【０１１６】
＜実施例３：複数のサービスの連携＞
実施例３は、複数のサービスプロバイダシステムのサービスを連携させたサービスの利用形態の例を示したものである。図２３は本実施形態に係るサービス仲介システムの実施例３の処理フローを示す動作説明図である。
【０１１７】
実施例３では、勤怠管理ＡＳＰサービス事業者２３１より供給される勤怠管理サービス、給与計算アウトソーサー２３２より供給される給与計算サービス、印刷・郵送サービス事業者２３３より供給される印刷及び郵送サービスの各サービスを連携させる。ここでは、勤怠管理サービスに対して、組織の人員が勤怠入力２３５を行い、組織の管理者が入力された勤怠情報のワークフロー承認２３６を行う。勤怠情報の承認がなされ、給与計算担当者が指示を行うと、勤怠管理サービスのサービスプログラムは、勤怠情報のデータ集計及び送信２３７を行い、給与計算サービスのサービスプログラムに対して集計した勤怠情報を受け渡す。給与計算サービスのサービスプログラムは、勤怠情報を受け取ると、あらかじめ保持しているかまたは勤怠情報とともに送られる対応する給与情報に基づいて、給与計算処理を行い、給与計算結果を出力する。この給与計算結果は、印刷及び郵送サービスのサービスプログラムに受け渡され、印刷及び郵送サービスのサービスプログラムは、スケジュールに合わせて給与明細書の印刷、封入、郵送等の管理処理２３８を実行する。この印刷及び郵送サービスの処理は、給与計算結果の受領に基づいて自動処理される。
【０１１８】
この際、サービス利用者は、勤怠管理サービス等の各提供サービスについて、自身で使いやすいサービスを選択して利用することができる。また、組織内のサービスと外部のサービスとを組み合わせることも可能である。このように、本実施例では、複数のサービス提供者のサービスを連携させて、複数システム間でデータを連携させたサービスを構築し、提供及び利用することが可能である。
【０１１９】
＜実施例４：サービスカタログによるサービス選択＞
実施例４は、サービスカタログを用いたサービス選択の具体例を示したものである。図２４は本実施形態に係るサービス仲介システムの実施例４の画面表示を示す動作説明図である。ここでは、サービス利用者がサービスの利用にあたって用いる利用者向け管理サイトの表示画面の例を示す。
【０１２０】
この利用者向け管理サイトの管理画面２４１には、各種サービスの情報を提供するサービスカタログ２４２が表示される。サービスカタログ２４２としては、サービスの一覧と、その中の特定サービスを説明するサービス詳細とが表示される。サービス利用者が希望のサービスを選択して利用申込、メニュー設定を行うと、サービス利用画面２４３のメニュー表示領域２４４には、選択したサービスのメニューが表示され、当該サービスが利用可能になる。例えば、サービスカタログ２４２において、サービス利用者がジャンル、キーワード等により目的のサービスを絞り込む指示を行うと、該当するサービスがサービスの一覧に絞込み表示される。そして、サービス利用者がサービスの一覧の中から利用を希望するサービスを選択すると、選択されたサービスの詳細内容がサービス詳細に表示される。このサービス詳細によって、当該サービスにより提供される情報、機能のサンプル、実績、契約条件などを参照可能である。サービス利用者は、利用を希望する場合は、契約条項及び取引条件に同意し、利用申込を行って契約開始時期を入力する。そして、メニュー設定によって自身のサービス利用画面のメニューに組み込む指示を行い、利用サービスとして登録する。
【０１２１】
このように、本実施例では、サービスカタログによって、サービス利用者が容易に複数のサービスの参照、比較を行い、希望するサービスを選択して利用可能にすることができる。
【０１２２】
＜実施例５：アダプタ定義＞
実施例５は、アダプタプログラムの定義、生成に用いるデータ仕様の入力画面の具体例を示したものである。図２５は本実施形態に係るサービス仲介システムの実施例５の画面表示を示す動作説明図である。ここでは、サービス提供者がサービスの提供にあたって用いる事業者向けサービス管理サイトの表示画面の例を示す。
【０１２３】
この事業者向けサービス管理サイトの管理画面２５１には、サービス内容２５２、インタフェース仕様２５３が表示される。サービス内容２５２には、サービスの詳細内容、バージョン情報、リリース時期などの各種のサービス識別情報を詳細に登録する。インタフェース仕様２５３には、インタフェースとなる入力及び出力のパラメータまたはデータのデータ仕様を登録する。これらの登録情報に基づき、アダプタ定義及びアダプタ生成、サービスカタログ登録が行われる。サービス内容２５２、インタフェース仕様２５３等の登録情報は、サービス仲介システムのデータベースに格納しておく。
【０１２４】
アダプタ定義プログラム４１は、当該サービスのインタフェース仕様２５３とサービス仲介システム辞書４５に登録された標準データ情報とを比較して、データ仕様の変換のためのアダプタ定義を行い、アダプタ定義情報をアダプタ定義データベース４６に登録する。アダプタ生成プログラム５１は、アダプタ定義データベース４６のアダプタ定義情報に基づき、アダプタプログラム３２を生成する。このようにして、システム間の仕様の差を吸収するアダプタプログラムの定義、生成が可能である。
【０１２５】
＜実施例６：システム間のデータ連携定義＞
実施例６は、システム間のデータ連携における、多重アダプタプログラムの定義、生成に用いるデータ仕様の入力画面の具体例を示したものである。図２６は本実施形態に係るサービス仲介システムの実施例６の画面表示を示す動作説明図である。ここでは、サービス利用者側のシステム管理者またはサービスを提供するコーディネータ等の管理者がデータ連携サービスの提供にあたって用いる利用者向けサービス管理サイトの表示画面の例を示す。
【０１２６】
この利用者向けサービス管理サイトの管理画面２６１には、連携サービスのサービス指定２６２、結合データ仕様２６３、データプレビュー２６４が表示される。サービス指定２６２には、管理者が選択、指定を行った、システム間のデータ連携を行う対象のサービスが表示される。管理者は、データを連携させたいサービス（システム）を主、副で選択する。対象サービスは、異なるサービス供給者、システムのものであってもよい。結合データ仕様２６３には、データ連携対象の複数のシステム間でデータを結合する際の、データ結合の項目（結合キー）及び結合条件などを示す結合方法の情報を登録する。データプレビュー２６４には、上記の結合方法によって結合したサンプルデータのプレビュー表示が行われる。このデータプレビュー２６４により、管理者はこのデータ結合処理により取得されるデータ内容を確認できる。例えば、顧客コード、顧客名、営業担当者などは、自社の顧客管理システムからデータを取得し表示する。顧客に対する与信評価点のデータなどは、企業情報提供サービスからデータを取得し表示する。この際、例えば自社の顧客で与信評価点が４０点未満のデータを抽出するなども可能である。
【０１２７】
多重アダプタ定義プログラム１０１は、対象サービスの結合データ仕様２６３に基づき、複数システム間のデータ結合のための多重アダプタ定義を行い、多重アダプタ定義情報をアダプタ定義データベース４６に登録する。アダプタ生成プログラム５１は、アダプタ定義データベース４６の多重アダプタ定義情報に基づき、多重アダプタプログラム１０９を生成する。このようにして、複数システム間でデータを連携して結合する際にシステム間の仕様の差を吸収する多重アダプタプログラムの定義、生成が可能である。
【０１２８】
上述したように、本実施形態によれば、サービス仲介システムによって複数のサービス供給者のサービスを提供する場合に、アダプタプログラムによりデータ変換することで、異なるシステム間の差を吸収し、データ仕様を統一した標準仕様のデータによってサービスを提供することができる。また、ブローカープログラムによって、リクエストパラメータ、レスポンスデータ、認証結果情報等を含むデータのセッションに対応するセッション情報を管理することで、複数のサービスプロバイダシステムと複数のユーザ装置との間でサービスの要求と応答とを統合して授受することができる。また、サービス仲介システムにおいて統一した仕様の対話シナリオをユーザ装置の画面制御情報として用い、これを複数のサービスプロバイダシステムからブローカープログラムを介してユーザ装置に送信して画面制御を行わせることで、ユーザ装置において統一した利用環境（デザイン、レイアウト）の表示画面を表示させることができる。これにより、複数のサービス供給者のサービスを統一したユーザインタフェースによって提供でき、サービス利用者においては、複数のサービスを一つの利用環境で利用可能にできる。また、サービス供給者においては、サービスを提供する場合に少ない工数で対応可能にできる。さらに、複数のサービス供給者のサービスを用いて、異なるシステム間で連携させて統一したサービスを提供することができる。また、各サービス利用者ごとの属性、設定条件等に応じて柔軟に適応したサービスを提供することも可能である。
【０１２９】
本発明に係る実施形態の種々の態様として、以下のものが含まれる。
【０１３０】
サーバ装置上に構成された所定のサービスを供給するサービスプロバイダシステムと、サービス利用者のユーザ装置との間で、ネットワークを介してサービスを仲介するサービス仲介方法であって、
前記サービスプロバイダシステムとの間で送受信される個別のデータ仕様のデータと、前記ユーザ装置との間で送受信される標準仕様のデータとを変換し、複数の前記サービスプロバイダシステムの各々で使用される個別のデータ仕様の間の差を吸収するステップと、
前記ユーザ装置との間、及び前記サービスプロバイダシステムとの間のデータ通信における、サービス要求に関するデータであるリクエストパラメータ及び前記サービス要求に対するサービス応答に関するデータであるレスポンスデータを送受信するとともに、ユーザ認証の認証結果情報を含む、各標準仕様のデータのセッションに対応するセッション情報を管理するステップと、
を有するサービス仲介方法。
【０１３１】
上記記載のサービス仲介方法の各ステップを実現させるためのプログラム。
【０１３２】
サーバ装置上に構成された所定のサービスを供給するサービスプロバイダシステムと、サービス利用者のユーザ装置との間で、ネットワークを介してサービスを仲介する機能を持つサービス仲介システムに適用されるアダプタ機能部であって、
前記アダプタ機能部は、前記ユーザ装置との間、及び前記サービスプロバイダシステムとの間のデータ通信における、サービス要求に関するデータであるリクエストパラメータ及び前記サービス要求に対するサービス応答に関するデータであるレスポンスデータを送受信するとともに、ユーザ認証の認証結果情報を含む、各標準仕様のデータのセッションに対応するセッション情報を管理するセッション管理機能を有するブローカー機能部に標準仕様のデータを送るものであり、さらに前記アダプタ機能部は、
前記サービスプロバイダシステムとの間で送受信される個別のデータ仕様のデータと、前記ユーザ装置との間で送受信される標準仕様のデータとを変換し、複数の前記サービスプロバイダシステムの各々で使用される個別のデータ仕様の間の差を吸収する、アダプタ機能部。
【０１３３】
サーバ装置上に構成された所定のサービスを供給するサービスプロバイダシステムと、サービス利用者のユーザ装置との間で、ネットワークを介してサービスを仲介する機能を持つサービス仲介システムに適用されるブローカー機能部であって、
前記ブローカー機能部は、前記サービスプロバイダシステムとの間で送受信される個別のデータ仕様のデータと、前記ユーザ装置との間で送受信される標準仕様のデータとを変換し、複数の前記サービスプロバイダシステムの各々で使用される個別のデータ仕様の間の差を吸収するものであり、さらに前記ブローカー機能部は、
前記ユーザ装置との間、及び前記サービスプロバイダシステムとの間のデータ通信における、サービス要求に関するデータであるリクエストパラメータ及び前記サービス要求に対するサービス応答に関するデータであるレスポンスデータを送受信するとともに、ユーザ認証の認証結果情報を含む、各標準仕様のデータのセッションに対応するセッション情報を管理するセッション管理機能を有する、ブローカー機能部。
【０１３４】
なお、本発明は、本発明の趣旨ならびに範囲を逸脱することなく、明細書の記載、並びに周知の技術に基づいて、当業者が様々な変更、応用することも本発明の予定するところであり、保護を求める範囲に含まれる。また、発明の趣旨を逸脱しない範囲で、上記実施形態における各構成要素を任意に組み合わせてもよい。
【符号の説明】
【０１３５】
１１、１１Ａ〜１１Ｆ…サービスプロバイダシステム
１２…サービス仲介システム
１３、１３Ａ〜１３Ｃ…ユーザ装置
２１Ａ、２１Ｂ…サービスプロバイダサーバ
２２…サービス仲介サーバ
２３Ａ、２３Ｂ…ユーザ端末
２５…ネットワーク
３１…ブローカープログラム
３２…アダプタプログラム
３３…セッション情報
３５…サービスプログラム
３６…クライアントプログラム
４１…アダプタ定義プログラム
４５…サービス仲介システム辞書
４６…アダプタ定義データベース
５１…アダプタ生成プログラム
６５…サービスカタログデータベース
７１…カタログ管理プログラム
７５…プロバイダ装置
７６…クライアントプログラム
８１…メニュー統合プログラム
８５…サービスカタログ
８７…対話シナリオ
８８、８９…メニュー定義
９１…情報保持部
１０１…多重アダプタ定義プログラム
１０７Ａ、１０７Ｂ…アダプタプログラム
１０８…多重プログラム
１０９…多重アダプタプログラム
１５１…画面制御処理部
１５２…表示処理部
【図１】
2011114536.tif 000003
【図２】
2011114536.tif 000004
【図３】
2011114536.tif 000005
【図４】
2011114536.tif 000006
【図５】
2011114536.tif 000007
【図６】
2011114536.tif 000008
【図７】
2011114536.tif 000009
【図８】
2011114536.tif 000010
【図９】
2011114536.tif 000011
【図１０】
2011114536.tif 000012
【図１１】
2011114536.tif 000013
【図１２】
2011114536.tif 000014
【図１３】
2011114536.tif 000015
【図１４】
2011114536.tif 000016
【図１５】
2011114536.tif 000017
【図１６】
2011114536.tif 000018
【図１７】
2011114536.tif 000019
【図１８】
2011114536.tif 000020
【図１９】
2011114536.tif 000021
【図２０】
2011114536.tif 000022
【図２１】
2011114536.tif 000023
【図２２】
2011114536.tif 000024
【図２３】
2011114536.tif 000025
【図２４】
2011114536.tif 000026
【図２５】
2011114536.tif 000027
【図２６】
2011114536.tif 000028
【国際調査報告】
2011114536.tif 000029
2011114536.tif 000030