(57)【要約】【課題】開発ユーザがシナリオを容易に作成することができるコンポーネント連携シナリオ統合開発環境提供システムを提供する。【解決手段】コンポーネント連携シナリオ統合開発環境提供システム１において、シナリオ開発支援システム２０は、開発用端末装置２から入力される主コンポーネントを連携対象のコンポーネントとして含むシナリオの作成を要求する信号の入力に応じて、主コンポーネントと連携コンポーネントである他のコンポーネントとを連携させるシナリオを生成するシナリオ開発ＧＵＩ２１と、既存のシナリオ３０のうち、主コンポーネントを連携対象のコンポーネントとして含むシナリオに基づき、主コンポーネントと他のコンポーネントとの関連度を示す重み値を算出し、算出した重み値に基づき選択した連携コンポーネントの識別情報をシナリオ開発ＧＵＩ２１に出力するコンポーネント推薦処理部２２とを備える。【選択図】図１
2010049397.tif 000002
【特許請求の範囲】
【請求項１】
サービスを提供するコンポーネントを複数連携させる処理手順を示すシナリオの作成を支援する開発支援システムと、前記シナリオに基づき前記コンポーネントの連携処理を実行する実行制御システムとを備えるコンポーネント連携シナリオ統合開発環境提供システムであって、
前記開発支援システムは、
主コンポーネントを連携対象のコンポーネントとして含むシナリオの作成を要求する信号として、前記主コンポーネントの識別情報を含むシナリオ作成要求信号の入力に応じて、前記主コンポーネントと連携コンポーネントである他のコンポーネントとを連携させるシナリオを生成するシナリオ開発部と、
複数のシナリオのうち、前記主コンポーネントを連携対象のコンポーネントとして含むシナリオに基づき、前記主コンポーネントと他のコンポーネントとの関連度を示す重み値を算出し、算出した重み値に基づき前記連携コンポーネントを選択し、選択した前記連携コンポーネントの識別情報を前記シナリオ開発部に出力するコンポーネント推薦処理部と
を備えることを特徴とするコンポーネント連携シナリオ統合開発環境提供システム。
【請求項２】
前記コンポーネント推薦処理部は、
前記コンポーネントごとに前記主コンポーネントとの連携数に基づき前記重み値を算出する
ことを特徴とする請求項１に記載のコンポーネント連携シナリオ統合開発環境提供システム。
【請求項３】
前記実行制御システムは、
前記シナリオごとの実行履歴情報を記憶する実行履歴情報記憶部と、
シナリオ実行要求の入力に応じてシナリオを実行し、実行した前記シナリオの実行履歴情報を前記実行履歴情報記憶部に書き込むサービス制御部とを備え、
前記コンポーネント推薦処理部は、
前記実行履歴情報に基づき算出する前記コンポーネントごとの前記主コンポーネントとの連携実行回数に基づき前記重み値を算出する
ことを特徴とする請求項１又は２のいずれかに記載のコンポーネント連携シナリオ統合開発環境提供システム。
【請求項４】
前記実行制御システムは、
前記シナリオの利用者情報と、当該利用者によるシナリオ実行履歴情報とを対応付けて記憶する利用者情報記憶部と、
シナリオ実行要求の入力に応じて実行したシナリオ実行履歴情報を前記利用者情報記憶部に書き込むサービス制御部とを備え、
前記シナリオ開発部が受信する前記シナリオ作成要求信号は、作成対象のシナリオの提供対象者の属性を示す対象者情報がさらに含まれており、
前記コンポーネント推薦処理部は、
前記提供対象者情報に対応するシナリオ実行履歴情報を前記利用者情報記憶部から読み出し、読み出した前記シナリオ実行履歴情報に基づき、前記提供対象者により実行された前記主コンポーネントとの連携実行回数を前記コンポーネントごとに算出し、算出した前記提供対象者により実行された前記連携実行回数に基づき前記重み値を算出する
ことを特徴とする請求項１から３のいずれかに記載のコンポーネント連携シナリオ統合開発環境提供システム。
【請求項５】
前記シナリオ開発部は、
前記コンポーネント推薦処理部から入力される前記連携コンポーネントの識別情報に対応する前記連携コンポーネントと、前記主コンポーネントとを連携対象のコンポーネントとして含む前記シナリオに基づき、前記主コンポーネントと前記連携コンポーネントとを連携させるシナリオを作成する
ことを特徴とする請求項１から４のいずれかに記載のコンポーネント連携シナリオ統合開発環境提供システム。
【請求項６】
サービスを提供するコンポーネントを複数連携させる処理手順を示すシナリオの作成を支援する開発支援システムと、前記シナリオに基づき前記コンポーネントの連携処理を実行する実行制御システムとを備えるコンポーネント連携シナリオ統合開発環境提供システムにおけるシナリオ作成支援方法であって、
前記開発支援システムが、
主コンポーネントを連携対象のコンポーネントとして含むシナリオの作成を要求する信号として、前記主コンポーネントの識別情報を含むシナリオ作成要求信号を受信する過程と、
複数のシナリオのうち、前記主コンポーネントを連携対象のコンポーネントとして含むシナリオに基づき、前記主コンポーネントと他のコンポーネントとの関連度を示す重み値を算出し、算出した重み値に基づき前記連携コンポーネントを選択する過程と、
前記主コンポーネントと選択した前記連携コンポーネントとを連携させるシナリオを生成する過程と
を有することを特徴とするシナリオ作成支援方法。
【請求項７】
サービスを提供するコンポーネントを複数連携させる処理手順を示すシナリオの作成を支援する開発支援システムと、前記シナリオに基づき前記コンポーネントの連携処理を実行する実行制御システムとを備えるコンポーネント連携シナリオ統合開発環境提供システムにおける開発支援システムのコンピュータを、
主コンポーネントを連携対象のコンポーネントとして含むシナリオの作成を要求する信号として、前記主コンポーネントの識別情報を含むシナリオ作成要求信号の入力に応じて、前記主コンポーネントと連携コンポーネントである他のコンポーネントとを連携させるシナリオを生成するシナリオ開発部、
複数のシナリオのうち、前記主コンポーネントを連携対象のコンポーネントとして含むシナリオに基づき、前記主コンポーネントと他のコンポーネントとの関連度を示す重み値を算出し、算出した重み値に基づき前記連携コンポーネントを選択し、選択した前記連携コンポーネントの識別情報を前記シナリオ開発部に出力するコンポーネント推薦処理部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンポーネントを連携させるシナリオの作成を支援するコンポーネント連携シナリオ統合開発環境提供システム、シナリオ作成支援方法、及び、プログラムに関する。
【背景技術】
【０００２】
近年、既存の電話網を次世代ネットワークであるＮＧＮ（Next Generation Network）へ置き換えるプロジェクトが進められている。ＮＧＮでは、電話網がＩＰ（Internet Protocol）化され、Ｗｅｂサービスとテレコムネットワークとの連携が容易になり、新規サービスの創出が期待されている。Ｗｅｂサービスとは、Ｗｅｂ上のサービスを行うための部品として扱われるサービスコンポーネント（要求部品）である。
このようなＷｅｂサービスを連携させるサービスシナリオ（サービス連携アプリケーション）の開発ツールには、例えば、特許文献１に示されるサービス連携アプリケーション開発ツールであるサービス合成エンジンや、非特許文献１に示すＭｉｃｒｏｓｏｆｔ  Ｐｏｐｆｌｙ（登録商標）などが提案されている。
特許文献１に示されるサービス合成エンジンは、サービス実行シナリオに基づき、合成エンジンが各種コンポーネントを発見、実行することにより、ユーザの嗜好や、状況に応じたサービス提案を行う。
また、非特許文献１に示される技術は、ブラウザ上でサービスコンポーネントを連携したアプリケーションを作成するものである。また、過去の接続実績に基づき、接続履歴のあるサービスコンポーネントの入出力を解決する機能や、頻繁に利用されるマッシュアップサービスの推薦機能などがある。
【特許文献１】特開２００５−１９６６７６号公報
【非特許文献１】マイクロソフトｐｏｐｆｌｙ（登録商標），[online]，マイクロソフト株式会社，[平成２０年６月２７日検索]、インターネット<http://www.popfly.com/>
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述のサービス合成エンジンにおいて、サービステンプレートを記述するために、複数のＷｅｂサービスを連携するシナリオを作成する必要がある。このサービスシナリオの作成は、開発ユーザにより、手動で作成することになるため、この開発ユーザのスキルや、開発経験によっては、サービスシナリオの作成が困難になる。
【０００４】
また、上述の非特許文献１に示す技術において、サービス連携アプリケーションを作成する際、連携するサービスコンポーネント間の入出力変数に変更が無いことが前提となり、入出力変数に変更が生じうるサービスコンポーネントについては、推薦することができないという問題がある。したがって、このようにサービスコンポーネント間の連携時に変数の変換作業が必要となる場合、ＸＳＬＴ（Extensible Stylesheet Language Transformations）等を用いた変換機能を開発ユーザが作成しなければならないため、開発ユーザ側のスキル習得が求められることとなる。
【０００５】
したがって、上述したように、サービス連携アプリケーションの開発環境において、接続するサービスコンポーネントの検索や、サービスコンポーネント間の入出力変換解決が必要となる。このため、開発ユーザにとって、検索したサービスコンポーネント間ごとに入出力変換解決の実装することでサービス連携アプリケーションの開発が複雑化するため、開発に時間がかかり、サービス連携アプリケーション開発の効率を下げる要因の一つになっているという問題がある。
【０００６】
本発明は、このような事情を考慮し、上記の問題を解決すべくなされたもので、その目的は、開発ユーザの開発対象となるサービスシナリオ像に合致するサービスコンポーネントの候補を選択し、選択した複数のサービスコンポーネントを連携させるシナリオを、開発ユーザが容易に作成することができるコンポーネント連携シナリオ統合開発環境提供システム、シナリオ作成支援方法、及び、プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記問題を解決するために、本発明は、コンポーネント連携シナリオ統合開発環境提供システムが、サービスを提供するコンポーネントを複数連携させる処理手順を示すシナリオの作成を支援する開発支援システムと、前記シナリオに基づき前記コンポーネントの連携処理を実行する実行制御システムとを備えるコンポーネント連携シナリオ統合開発環境提供システムであって、前記開発支援システムは、主コンポーネントを連携対象のコンポーネントとして含むシナリオの作成を要求する信号として、前記主コンポーネントの識別情報を含むシナリオ作成要求信号の入力に応じて、前記主コンポーネントと連携コンポーネントである他のコンポーネントとを連携させるシナリオを生成するシナリオ開発部と、複数のシナリオのうち、前記主コンポーネントを連携対象のコンポーネントとして含むシナリオに基づき、前記主コンポーネントと他のコンポーネントとの関連度を示す重み値を算出し、算出した重み値に基づき前記連携コンポーネントを選択し、選択した前記連携コンポーネントの識別情報を前記シナリオ開発部に出力するコンポーネント推薦処理部とを備えることを特徴とするコンポーネント連携シナリオ統合開発環境提供システムである。
【０００８】
また、本発明の前記コンポーネント推薦処理部は、前記コンポーネントごとに前記主コンポーネントとの連携数に基づき前記重み値を算出することを特徴とする。
【０００９】
また、本発明の前記実行制御システムは、前記シナリオごとの実行履歴情報を記憶する実行履歴情報記憶部と、シナリオ実行要求の入力に応じてシナリオを実行し、実行した前記シナリオの実行履歴情報を前記実行履歴情報記憶部に書き込むサービス制御部とを備え、前記コンポーネント推薦処理部が、前記実行履歴情報に基づき算出する前記コンポーネントごとの前記主コンポーネントとの連携実行回数に基づき前記重み値を算出することを特徴とする。
【００１０】
また、本発明の前記実行制御システムは、前記シナリオの利用者情報と、当該利用者によるシナリオ実行履歴情報とを対応付けて記憶する利用者情報記憶部と、シナリオ実行要求の入力に応じて実行したシナリオ実行履歴情報を前記利用者情報記憶部に書き込むサービス制御部とを備え、前記シナリオ開発部が受信する前記シナリオ作成要求信号に、作成対象のシナリオの提供対象者の属性を示す対象者情報がさらに含まれており、前記コンポーネント推薦処理部が、前記提供対象者情報に対応するシナリオ実行履歴情報を前記利用者情報記憶部から読み出し、読み出した前記シナリオ実行履歴情報に基づき、前記提供対象者により実行された前記主コンポーネントとの連携実行回数を前記コンポーネントごとに算出し、算出した前記提供対象者により実行された前記連携実行回数に基づき前記重み値を算出することを特徴とする。
【００１１】
また、本発明の前記シナリオ開発部は、前記コンポーネント推薦処理部から入力される前記連携コンポーネントの識別情報に対応する前記連携コンポーネントと、前記主コンポーネントとを連携対象のコンポーネントとして含む前記シナリオに基づき、前記主コンポーネントと前記連携コンポーネントとを連携させるシナリオを作成することを特徴とする。
【００１２】
また、本発明のシナリオ作成支援方法は、サービスを提供するコンポーネントを複数連携させる処理手順を示すシナリオの作成を支援する開発支援システムと、前記シナリオに基づき前記コンポーネントの連携処理を実行する実行制御システムとを備えるコンポーネント連携シナリオ統合開発環境提供システムにおけるシナリオ作成支援方法であって、前記開発支援システムが、主コンポーネントを連携対象のコンポーネントとして含むシナリオの作成を要求する信号として、前記主コンポーネントの識別情報を含むシナリオ作成要求信号を受信する過程と、複数のシナリオのうち、前記主コンポーネントを連携対象のコンポーネントとして含むシナリオに基づき、前記主コンポーネントと他のコンポーネントとの関連度を示す重み値を算出し、算出した重み値に基づき前記連携コンポーネントを選択する過程と、前記主コンポーネントと選択した前記連携コンポーネントとを連携させるシナリオを生成する過程とを有することを特徴とするシナリオ作成支援方法である。
【００１３】
また、本発明のプログラムは、サービスを提供するコンポーネントを複数連携させる処理手順を示すシナリオの作成を支援する開発支援システムと、前記シナリオに基づき前記コンポーネントの連携処理を実行する実行制御システムとを備えるコンポーネント連携シナリオ統合開発環境提供システムにおける開発支援システムのコンピュータを、主コンポーネントを連携対象のコンポーネントとして含むシナリオの作成を要求する信号として、前記主コンポーネントの識別情報を含むシナリオ作成要求信号の入力に応じて、前記主コンポーネントと連携コンポーネントである他のコンポーネントとを連携させるシナリオを生成するシナリオ開発部、複数のシナリオのうち、前記主コンポーネントを連携対象のコンポーネントとして含むシナリオに基づき、前記主コンポーネントと他のコンポーネントとの関連度を示す重み値を算出し、算出した重み値に基づき前記連携コンポーネントを選択し、選択した前記連携コンポーネントの識別情報を前記シナリオ開発部に出力するコンポーネント推薦処理部として機能させることを特徴とするプログラムである。
【発明の効果】
【００１４】
本発明によれば、コンポーネント連携シナリオ統合開発環境提供システムにおいて、シナリオ開発支援システムのコンポーネント推薦処理部が、主コンポーネントと他のコンポーネントとを連携させる既存のシナリオに基づき、主コンポーネントへの関連度に基づきコンポーネントを選択し、シナリオ開発部が選択されたコンポーネントと主コンポーネントとを連携させるシナリオを作成することとした。
これにより、コンポーネント推薦処理部がコンポーネントを選択するため、開発ユーザが、多くのコンポーネントから主コンポーネントへの連携に適したコンポーネントを検索することなくシナリオを作成することができ、シナリオ作成にかかる手間や時間を短縮することが可能になるという効果がある。
【００１５】
また、この発明によれば、コンポーネント推薦処理部は、主コンポーネントとの連携数に基づき、コンポーネントごとの重み値を算出するようにした。
これにより、関連度として、既存のシナリオにおける主コンポーネントとの連携数に応じた重み値をコンポーネントごとに算出することができるため、主コンポーネントとの連携により適したコンポーネントを含むシナリオを作成することが可能になるという効果がある。
【００１６】
また、この発明によれば、コンポーネント推薦処理部が、実行制御システムにおいて実行されたシナリオの実行履歴情報に基づくコンポーネントごとの主コンポーネントとの連携回数に基づき重み値を算出するようにした。
これにより、連携回数に応じた重み値を算出することができるため、主コンポーネントとの連携により適したコンポーネントを含むシナリオを作成することが可能になるという効果がある。
【００１７】
また、この発明によれば、実行制御システムが、実行されたシナリオの利用者ごとのシナリオ実行履歴情報を記憶する利用者情報記憶部を備え、コンポーネント推薦処理部が、作成対象のシナリオの提供対象者の属性を示す対象者属性に対応するシナリオ実行履歴情報を利用者情報記憶部から読み出す。コンポーネント推薦処理部は、読み出したシナリオ実行履歴情報に基づき、提供対象者により実行された主コンポーネントとの連携回数に応じた重み値を算出することができるため、開発ユーザが想定するシナリオの提供対象者にさらに適したコンポーネントを含むシナリオを作成することが可能になるという効果がある。
【００１８】
また、この発明によれば、シナリオ開発部が、コンポーネント推薦処理部により選択された連携コンポーネントと主コンポーネントとを含む既存のシナリオに基づき、主コンポーネントと連携コンポーネントとを連携させるシナリオを作成するようにした。
これにより、既存のシナリオに記述された連携コンポーネントと主コンポーネントとの入出力変換に基づき、シナリオ開発部が主コンポーネントと連携コンポーネントとを連携させるシナリオを作成する。これにより、サービスコンポーネント間の入出力変換の解決ができるため、開発ユーザのシナリオ開発スキルによらず、シナリオ作成にかかる全体的な処理時間の短縮と、開発ユーザへの負担を軽減することが可能になるという効果がある。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の一実施形態によるコンポーネント連携シナリオ統合開発環境提供システム１を図１を参照して説明する。
図１は、本実施形態によるコンポーネント連携シナリオ統合開発環境提供システム１を示す概略ブロック図である。コンポーネント連携シナリオ統合開発環境提供システム１は、Ｗｅｂサービスを提供するコンポーネント４０−１〜４０−ｎと、コンポーネント４０−１〜４０−ｎのうちの複数を連携させる手順が記述されたシナリオ３０と、ユーザ端末装置３からのシナリオ利用要求に応じてシナリオ３０に基づき、コンポーネント４０−１〜４０−ｎの連携処理を実行する実行制御システム１０と、開発用端末装置２からのシナリオ作成要求に応じるシナリオ開発支援ツールとしてのシナリオ開発支援システム２０とを備えており、コンポーネント連携シナリオ統合開発環境提供システム１の利用者端末装置としての開発用端末装置２、及びユーザ端末装置３に接続される。
【００２０】
開発用端末装置２は、コンポーネント連携シナリオ統合開発環境提供システム１のシナリオ開発支援システム２０に接続されるコンピュータ端末であり、シナリオの開発ユーザの操作に応じて、シナリオ開発支援システム２０に作成対象シナリオコンセプト情報を含むシナリオ作成要求を送信し、シナリオ開発支援システム２０からの応答を受信する。
作成対象シナリオコンセプト情報は、作成対象のシナリオの特徴を示す情報であり、ここでは、例えば、開発ユーザによる入力操作によって入力された主コンポーネントの識別情報と、対象者属性情報とを含む情報である。
【００２１】
ここで、主コンポーネントとは、作成対象のシナリオが、連携対象のコンポーネントのいずれかとして含むコンポーネントである。作成対象シナリオコンセプト情報として、主コンポーネントの識別情報を用いることにより、作成対象のシナリオは、連携対象のコンポーネントに主コンポーネントを含むという特徴を有することを示す。また、対象者属性情報は、作成対象のシナリオにおけるターゲット、すなわち、作成したシナリオの主な利用ユーザ層として想定する利用ユーザの特徴を示す情報であり、例えば、性別や、年齢、居住地域、サービス利用時間帯、サービス利用場所など、利用ユーザの特徴を示すエンドユーザ属性情報であれば、いずれの情報でも対象者属性情報として適用可能である。
【００２２】
ユーザ端末装置３は、コンポーネント連携シナリオ統合開発環境提供システム１の実行制御システム１０に接続されるコンピュータ端末であり、シナリオ利用者である利用ユーザの操作に応じて、実行制御システム１０にシナリオ利用要求を送信し、実行制御システム１０から送信される応答を受信する。
【００２３】
＜コンポーネント連携シナリオ統合開発環境提供システム１の概要＞
次に、コンポーネント連携シナリオ統合開発環境提供システム１について、その処理の概要を説明し、各構成について詳細に説明する。コンポーネント連携シナリオ統合開発環境提供システム１において、実行制御システム１０は、ユーザ端末装置３からのシナリオ利用要求に応じてシナリオを実行し、実行結果を応答するとともに、シナリオ実行の履歴情報を蓄積する。シナリオ開発支援システム２０は、開発用端末装置２からのシナリオ作成要求に応じて、既存のシナリオ３０と、実行制御システム１０が蓄積するシナリオ実行履歴情報とに基づき、開発ユーザの要望にマッチするシナリオを作成する。
【００２４】
＜コンポーネント連携シナリオ統合開発環境提供システム１の構成＞
コンポーネント連携シナリオ統合開発環境提供システム１において、シナリオ３０は、コンポーネント４０−１〜４０−ｎのうちのいずれか複数を連携させる手順が記述された開発済みの既存のシナリオである。以下、シナリオ３０により連携される複数のコンポーネントを「シナリオ３０の連携コンポーネント」と称する。また、本実施形態において、参照関係を以下のとおり定義する。
【００２５】
連携コンポーネントＡ、Ｂ、Ｃがこの順に連携するシナリオにおいて、連携コンポーネントＢは、連携コンポーネントＡの出力を入力値としてＷｅｂサービスを実行し、この実行結果が、連携コンポーネントＣのＷｅｂサービスの実行の際の入力値となるシナリオを例に説明する。このシナリオにおいて連携コンポーネントＢのように、他の連携コンポーネント（ここでは、連携コンポーネントＡ）から出力される情報を入力値としてＷｅｂサービスを実行する場合、「連携コンポーネントＢは、連携コンポーネントＡを呼び出すコンポーネント、すなわち、連携コンポーネントＡの参照元コンポーネントである」と称する。
一方、連携コンポーネントＢは、連携コンポーネントＣに呼び出されることとなり、このとき、「連携コンポーネントＢは、連携コンポーネントＣに参照されるコンポーネント、すなわち、連携コンポーネントＣの参照先コンポーネントである」と称する。
【００２６】
なお、図１においてシナリオの例として、１つのシナリオ３０を図示しているが、コンポーネント連携シナリオ統合開発環境提供システム１は、開発済みの既存のシナリオとして、固有の識別情報が付与された複数のシナリオ３０を予め有している。例えば、複数のシナリオ３０は、シナリオ開発支援システム２０において開発されたシナリオや、開発ユーザによって開発されたシナリオなど、既に開発済みのシナリオであれば、いずれのシナリオでも適用可能である。本実施形態においては、例として、複数のシナリオ３０は、シナリオ開発支援システム２０において開発されたシナリオとして説明する。
【００２７】
コンポーネント４０−１〜４０−ｎは、Ｗｅｂサービスを提供するサービスコンポーネントであり、例えば、検索システムや、地図提供機能、利用するユーザの位置情報に応じた近隣店舗情報などを通知するサービスを提供するサービスコンポーネント（要求部品ともいう）である。コンポーネント４０−１〜４０−ｎは、例えば、ＳＯＡＰ（Simple Object Access Protocol）等のＷｅｂ標準インタフェースで呼び出すことができるサービスコンポーネントである。
【００２８】
実行制御システム１０は、サービス制御部１１とトラフィック管理データベース１２とを備えるコンピュータであり、ユーザ端末装置３から入力されるシナリオ利用要求に応じてシナリオ実行処理を行うとともに、シナリオ実行履歴情報を蓄積する。
実行制御システム１０において、サービス制御部１１は、ユーザ端末装置３から入力される実行対象のシナリオの識別情報を含むシナリオ利用要求に応じて、ユーザ認証、認可を行い、シナリオを実行する。また、実行制御システム１０は、シナリオ実行時にトラフィック管理データベース１２が記憶するシナリオ実行履歴情報を更新する。
【００２９】
トラフィック管理データベース１２は、利用ユーザに関する情報と、シナリオ実行履歴情報とを記憶する記憶装置である。図２は、トラフィック管理データベース１２がテーブル形式で記憶する情報のデータ構成例とデータ例とを示す図である。
同図に示すように、トラフィック管理データベース１２が記憶する情報は、行と列からなる２次元の表形式のデータであり、利用ユーザの識別情報であるユーザＩＤと、利用ユーザの名前であるユーザ名と、ユーザ属性情報と、当該利用ユーザに利用が許可されている契約シナリオ情報との各項目の列を有している。この利用ユーザに関する情報の各行は、ユーザＩＤごとに存在する。
【００３０】
ユーザ属性情報は、上述したように、利用ユーザの特徴を示す情報であり、例えば、性別と年齢とをユーザ属性情報の例として説明する。なお、利用ユーザは、シナリオを利用する際に、予め加入者情報の登録を行うことで利用するシナリオの契約を行っており、ユーザ属性情報は、シナリオの利用契約時に登録された情報である。
また、契約シナリオ情報は、利用ユーザが契約したシナリオの識別情報であるシナリオＩＤと、当該利用ユーザによるシナリオ利用回数と、当該利用ユーザによるシナリオの利用履歴を示すアクセスログとの項目からなる情報であり、利用ユーザが契約するシナリオごとに存在する。シナリオ利用回数は、契約時からの総利用回数や、日別、月別の利用回数などでもよい。
【００３１】
次に、シナリオ開発支援システム２０について説明する。シナリオ開発支援システム２０は、シナリオ開発ＧＵＩ（Graphical User Interface）２１と、コンポーネント推薦処理部２２と、推薦用学習データベース２３とを備えるコンピュータであり、開発用端末装置２から入力されるシナリオ作成要求に応じてシナリオを作成し、作成したシナリオを推薦シナリオとして開発用端末装置２に応答する。言い換えると、シナリオ開発支援システム２０は、開発ユーザがシナリオを容易に作成することができるようにする開発環境として動作する開発支援システムであり、ＧＵＩ上の開発環境において、開発ユーザに要求に応じたシナリオを提案する機能を備えている。
【００３２】
シナリオ開発支援システム２０において、シナリオ開発ＧＵＩ２１は、開発用端末装置２に接続され、開発用端末装置２からのシナリオ作成要求に応じて、コンポーネント推薦処理部２２が選択する連携コンポーネントと、既存のシナリオ３０に基づき、連携コンポーネントを連携させるシナリオを作成する。
コンポーネント推薦処理部２２は、主コンポーネントへの連携度を示す重み値を他コンポーネントごとに算出し、算出した重み値が高い他コンポーネントを連携コンポーネントとして選択し、選択した連携コンポーネントの情報をシナリオ開発ＧＵＩ２１に出力する。
【００３３】
具体的には、コンポーネント推薦処理部２２は、シナリオ作成要求に含まれる主コンポーネント識別情報を検索キーとして、学習情報テーブルを推薦用学習データベース２３から読み出し、実行制御システム１０のトラフィック管理データベース１２が記憶するシナリオ実行履歴情報を読み出す。コンポーネント推薦処理部２２は、過去に作成されたシナリオに用いられたコンポーネント間の接続情報、コンポーネントの参照情報である学習情報テーブルと、対象者属性情報に該当する利用ユーザに利用されたシナリオの利用状況に基づき、対象者属性情報に該当する利用ユーザによるシナリオ利用履歴に対して重みを付加して主コンポーネントへの連携度を示す重み値を算出し、算出した重み値が高い他コンポーネントを連携コンポーネントとして選択する。
なお、対象者属性情報として、シナリオを利用した時間帯、利用したユーザの性別情報、利用回数などを用いてもよい。
【００３４】
推薦用学習データベース２３は、シナリオ開発支援システム２０が作成したシナリオにおける連携コンポーネントの情報をコンポーネントごとに学習情報テーブルとして記憶する。図３は、推薦用学習データベース２３が記憶する学習情報テーブルのデータ構成例と、その具体例として、主コンポーネントの学習情報テーブルのデータ例とを示す図である。同図に示すように、学習情報テーブルは、行と列からなる２次元の表形式のデータであり、参照元のコンポーネントの情報と、参照先のコンポーネントの情報と、当該テーブルに対応するコンポーネントにおける平均処理時間と、コンポーネント利用頻度と、重み値との各項目の列を有している。
【００３５】
参照元のコンポーネントは、既存のシナリオ３０において、この学習情報テーブルに対応するコンポーネント（ここでは、主コンポーネント）を呼び出す、すなわち、主コンポーネントの出力情報を入力値とするコンポーネントである。また、参照先コンポーネントは、この学習情報テーブルに対応するコンポーネントが参照するコンポーネントである。
参照元のコンポーネントの情報は、参照元のコンポーネントごとに、参照元コンポーネントの識別情報である参照元コンポーネントＩＤと、この参照元コンポーネントの呼び出し数（参照元数）と、呼び出し回数との各項目を有する。また、参照先のコンポーネントの情報は、参照先のコンポーネントごとに、参照先コンポーネントＩＤと、この参照元コンポーネントの参照先数と、参照回数との各項目を有する。
【００３６】
主コンポーネントの呼び出し数は、複数のシナリオ３０において、主コンポーネントと他コンポーネントとが直接連携する組合せのうち、主コンポーネント、他コンポーネントの順に連携する組合せの合計の数である。
また、主コンポーネントにおける呼出し回数は、主コンポーネント、他コンポーネントの順に連携する組合せの実行回数、すなわち、この組合せを含むシナリオが実行制御システム１０において実行された回数の合計の数である。
【００３７】
主コンポーネントの参照数は、複数のシナリオ３０において、主コンポーネントと他コンポーネントとが直接連携する組合せのうち、他コンポーネント、主コンポーネントの順に連携する組合せの合計の数である。
また、主コンポーネントにおける参照回数は、他コンポーネント、主コンポーネントの順に連携する組合せの実行回数、すなわち、この組合せを含むシナリオが実行制御システム１０において実行された回数の合計の数である。
【００３８】
次に、コンポーネント連携シナリオ統合開発環境提供システム１における動作処理の流れについて、システム全体の処理フローの概要を図４を用いて説明する。また、シナリオ作成処理の詳細について、具体例を用いて図５を参照し、説明する。
図４は、コンポーネント連携シナリオ統合開発環境提供システム１の処理の概要を示すフローチャートである。
【００３９】
開発用端末装置２は、開発ユーザの入力操作に応じて、シナリオ開発支援システム２０の対象者属性情報と、利用する主コンポーネントＩＤと含むシナリオ作成要求をシナリオ開発ＧＵＩ２１に送信する（ステップＳ１）。
シナリオ開発ＧＵＩ２１は、受信したシナリオ作成要求を含むコンポーネント推薦要求をコンポーネント推薦処理部２２に出力する（ステップＳ２）。コンポーネント推薦処理部２２は、実行制御システム１０のトラフィック管理データベース１２からシナリオ実行履歴を読み出し（ステップＳ３）、主コンポーネントＩＤに対応する学習情報テーブルを推薦用学習データベース２３から読み出す（ステップＳ４）。
【００４０】
推薦用学習データベース２３は、読み出したシナリオ実行履歴と、学習情報テーブルとに基づき、対象者属性情報を反映した重み値を算出する（ステップＳ５）。ここで、対象者属性情報を反映した重み値とは、対象者属性情報に該当する利用ユーザのシナリオ実行履歴に基づき、当該ユーザに実行されたコンポーネントの重み値に所定値を加算することにより、算出する値である。
コンポーネント推薦処理部２２は、算出した重み値の高い順に、主コンポーネントに連携する連携コンポーネントを選択し、選択した連携コンポーネントの識別情報を含む連携コンポーネント情報をシナリオ開発ＧＵＩ２１に出力する（ステップＳ６）。
【００４１】
シナリオ開発ＧＵＩ２１は、コンポーネント推薦処理部２２から入力される連携コンポーネント情報に基づき、主コンポーネントとコンポーネント推薦処理部２２が選択した連携コンポーネントとを連携させるシナリオを作成する（ステップＳ７）。ここで、シナリオ開発ＧＵＩ２１は、既存のシナリオである複数のシナリオ３０のうち、主コンポーネントと入力された連携コンポーネントとを連携させるシナリオを読み出し、読み出したシナリオの記述に基づき、作成対象のシナリオを作成する。次に、シナリオ開発ＧＵＩ２１は、作成したシナリオを推薦シナリオとして開発用端末装置２に応答する（ステップＳ８）。
【００４２】
一方、実行制御システム１０において、ユーザ端末装置３からの利用対象のシナリオＩＤと、ユーザＩＤとを含むシナリオ利用要求を受信すると（ステップＳ１０）、サービス制御部１１が、利用ユーザの認証、認可を行い、認証された場合にシナリオＩＤに対応するシナリオを実行する。また、サービス制御部１１は、シナリオの実行ごとにトラフィック管理データベース１２のシナリオ実行履歴を更新する（ステップＳ１１）。
【００４３】
次に、シナリオ開発支援システム２０において入力された主コンポーネントの識別情報に基づき、シナリオを推薦するアルゴリズムの詳細について具体例を示し、説明する。なお、シナリオを推薦するとは、入力情報に基づき、シナリオ開発支援システム２０が連携させる連携コンポーネントをコンポーネント４０−１〜４０−ｎから選択し、選択した連携コンポーネント同士を連携させるシナリオを作成し、作成したシナリオを推薦シナリオとして開発用端末装置２に出力することをいう。
【００４４】
図５は、シナリオ開発支援システム２０におけるシナリオの作成手順の具体例を示す図である。開発用端末装置２を操作する開発ユーザは、主コンポーネントの識別情報と、ターゲットとする利用ユーザを示す対象者属性情報とを開発用端末装置２を介してシナリオ開発支援システム２０に送信する。このとき、開発ユーザは、レンタカー予約コンポーネントを用いて、若い男性をターゲットとするシナリオを開発したいとする。
【００４５】
次に、シナリオ開発支援システム２０のシナリオ開発ＧＵＩ２１が、コンポーネント推薦処理部２２にコンポーネント推薦要求を出力し、コンポーネント推薦処理部２２が、推薦用学習データベース２３からレンタカー予約コンポーネントの学習情報テーブルを読み出す。また、コンポーネント推薦処理部２２は、トラフィック管理データベース１２から、若い男性に利用されているシナリオのリストとシナリオ実行履歴情報を読み出す。
【００４６】
次に、コンポーネント推薦処理部２２は、読み出したシナリオ実行履歴情報に基づき、コンポーネントごとの利用頻度、参照情報を、反映させた重み値をコンポーネントごとに算出する。コンポーネント推薦処理部２２は、例えば、シナリオ実行履歴情報から、若い男性のコンポーネント利用頻度が高いコンポーネントの重みに所定値を加算することにより、重み値を高くする。図５に示すテーブルは、コンポーネント推薦処理部２２が一時的に作成するテーブルであり、コンポーネントごとのレンタカー予約コンポーネントへの参照関係と、重み値とを対応付けたテーブルを示す図である。
【００４７】
ここで、コンポーネント推薦処理部２２が一時的に作成するテーブルにおけるコンポーネントごとの利用頻度は、トラフィック管理データベース１２から読み出したシナリオ実行履歴に基づき、各コンポーネントが利用された回数を求め、全体のコンポーネント利用回数で割った値である。
また、重み値は、既存のシナリオ３０において、各コンポーネントが主コンポーネントを参照する回数（参照元数）と、各コンポーネントが主コンポーネントから呼び出しされた回数（参照先数）とを加算して算出する合計数に基づき、最も合計数の多いコンポーネントが最も高い重みとなるように設定し、重み値はコンポーネント推薦処理部２２のテーブルにおける全コンポーネント合算で１とする。
【００４８】
この図において、コンポーネント推薦処理部２２は、テーブル内の重み値が最も高い地図コンポーネントを連携コンポーネントとして選択し、選択した地図コンポーネントについて、参照元数「２１」と、参照先数「２」とを比較する。地図コンポーネントがレンタカー予約コンポーネントを参照する数、すなわち、参照元数が多いことから、コンポーネント推薦処理部２２は、レンタカー予約コンポーネントを参照する連携コンポーネントとして、地図コンポーネントを選択する。次に重み値の高いコンポーネントとして、イベント情報コンポーネントを連携コンポーネントとして選択し、参照元数と参照先数とを比較し、参照先数が多いことから、レンタカー予約コンポーネントの参照先となる連携コンポーネントとしてイベント情報コンポーネントを選択する。
【００４９】
ここで、仮に、イベント情報コンポーネントについて参照元数が参照先数より多い場合、レンタカー予約コンポーネントを参照する連携コンポーネントとして、イベント情報コンポーネントを選択することとなる。この選択処理は、開発ユーザが希望する所定回数繰り返され、シナリオ開発ＧＵＩ２１が、コンポーネント推薦処理部２２により選択されたイベント情報コンポーネントとレンタカー予約コンポーネントと地図コンポーネントとを連携させるシナリオを作成する。
【００５０】
上述したように、本実施形態によれば、開発ユーザは、シナリオの作成時に作成対象シナリオコンセプト情報として、主コンポーネントの識別情報と、対象者属性情報との二つの情報を開発用端末装置２を介してシナリオ開発支援システム２０に入力することで、シナリオをコーディングすることなくシナリオを作成することが可能になるという効果がある。
【００５１】
また、コンポーネント推薦処理部２２が、主コンポーネントを含む既存のシナリオに基づき、主コンポーネントと連携する連携コンポーネントを選択することにより、開発ユーザが主コンポーネントに連携させる他のコンポーネントを選択する作業をすることなくシナリオを作成することができる。
【００５２】
また、コンポーネント推薦処理部２２は、既存のシナリオにおける主コンポーネントとの連携数（参照数と呼出し数）と、トラフィック管理データベース１２が記憶するシナリオ実行履歴とを過去の利用履歴とし、この過去の利用履歴に基づき連携コンポーネントを選択することにより、主コンポーネントへの連携の利用頻度が高い、すなわち、既に利用実績のあるコンポーネントを作成対象のシナリオの連携コンポーネントとして選択することができる。これらの連携の利用頻度が高いコンポーネントの組合せを用いてシナリオを作成することにより、開発ユーザ側は、利用ユーザに対して利用価値の高い連携サービスを提供することができる有益なシナリオを作成することが可能になる。
【００５３】
また、シナリオ開発支援システム２０は、対象者属性情報に該当する利用ユーザによって利用されたシナリオ利用履歴に基づき、対象者による利用頻度が高いコンポーネントの組合せによる連携サービスを提供するシナリオを作成する。これにより、開発ユーザは、対象者属性ごとに特化した利用価値の高い連携サービスを提供することができるシナリオを作成することが可能になるという効果がある。また、実行制御システム１０のサービス制御部１１がトラフィック管理データベース１２に書き込んだシナリオ利用履歴を用いることにより、コンポーネント推薦処理部２２は、最新のサービス利用状況に基づき、主コンポーネントに連携させる連携コンポーネントを選択することが可能になるという効果がある。
【００５４】
また、コンポーネント推薦処理部２２が既存のシナリオの過去の利用履歴に基づいて主コンポーネントへの連携コンポーネントを選択するため、シナリオ開発ＧＵＩ２１は、作成対象のシナリオにおける主コンポーネントと連携コンポーネントとの間の入出力変換の記述を既存のシナリオに基づき記述することができる。これにより、開発ユーザは、コーディングせずにシナリオを作成することができ、１シナリオあたりの開発作業時間を短縮することが可能になるという効果がある。さらに、中小企業の経営者や、サービス企画者など、特別な技術がない開発ユーザもシナリオを容易に作成することが可能になるという効果がある。
【００５５】
なお、上述した実施形態において、コンポーネント連携シナリオ統合開発環境提供システム１は、シナリオ３０とコンポーネント４０−１〜４０−ｎとを備える場合を例に説明したが、これに限られず、ネットワーク等を介して、実行制御システム１０が、コンポーネント連携シナリオ統合開発環境提供システム１の外部のシナリオを実行することでもよい。
【００５６】
また、コンポーネント推薦処理部２２は、参照数と呼び出し数により、重み値を算出することでも良い。また、コンポーネント推薦処理部２２は、対象者属性情報に該当する利用ユーザによる実行回数のみを用いて重み値を算出することでもよい。
【００５７】
なお、上述の実行制御システム１０、シナリオ開発支援システム２０、開発用端末装置２、及び、ユーザ端末装置３は、内部にコンピュータシステムを有している。そして、実行制御システム１０のサービス制御部１１、シナリオ開発支援システム２０のシナリオ開発ＧＵＩ２１、コンポーネント推薦処理部２２の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいう「コンピュータシステム」とは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００５８】
また、図４に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、また、図１に示す実行制御システム１０、シナリオ開発支援システム２０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、開発ユーザに推薦するシナリオを作成する処理を行ってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００５９】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００６０】
【図１】本発明の一実施形態によるコンポーネント連携シナリオ統合開発環境提供システム１と開発用端末装置２とユーザ端末装置３との全体構成を示すブロック図である。
【図２】同実施形態におけるトラフィック管理データベース１２のデータ構成例を示す図である。
【図３】同実施形態における推薦用学習データベース２３のデータ構成例を示す図である。
【図４】同実施形態におけるコンポーネント連携シナリオ統合開発環境提供システム１の動作の流れを示すフロー図である。
【図５】同実施形態におけるシナリオ作成手順の具体例を示す図である。
【符号の説明】
【００６１】
１  コンポーネント連携シナリオ統合開発環境提供システム
２  開発用端末装置
３  ユーザ端末装置
１０  実行制御システム
１１  サービス制御部
１２  トラフィック管理データベース
２０  シナリオ開発支援システム
２１  シナリオ開発ＧＵＩ
２２  コンポーネント推薦処理部
２３  推薦用学習データベース
３０  シナリオ
４０−１  コンポーネント
４０−１〜４０−ｎ  コンポーネント
【図１】
2010049397.tif 000003
【図２】
2010049397.tif 000004
【図３】
2010049397.tif 000005
【図４】
2010049397.tif 000006
【図５】
2010049397.tif 000007