JP2010191865A - シナリオ開発支援装置、およびシナリオ開発支援方法 - Google Patents

シナリオ開発支援装置、およびシナリオ開発支援方法 Download PDF

Info

Publication number
JP2010191865A
JP2010191865A JP2009037895A JP2009037895A JP2010191865A JP 2010191865 A JP2010191865 A JP 2010191865A JP 2009037895 A JP2009037895 A JP 2009037895A JP 2009037895 A JP2009037895 A JP 2009037895A JP 2010191865 A JP2010191865 A JP 2010191865A
Authority
JP
Japan
Prior art keywords
scenario
group
component
service
service component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009037895A
Other languages
English (en)
Other versions
JP5084760B2 (ja
Inventor
Yasutoshi Miyagi
安敏 宮城
Yoji Yamato
庸次 山登
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009037895A priority Critical patent/JP5084760B2/ja
Publication of JP2010191865A publication Critical patent/JP2010191865A/ja
Application granted granted Critical
Publication of JP5084760B2 publication Critical patent/JP5084760B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】実用的かつ多様で複雑なサービスコンポーネント連携シナリオを容易に作成することができ、アプリケーション作成のための作業時間を短縮することができる、シナリオ開発支援装置を提供する。
【解決手段】本発明のシナリオ開発支援装置においては、サービスコンポーネント連携シナリオの開発者等が、シナリオ作成端末装置10に、サービスコンポーネント(または、コンポーネントを含むシナリオ)を入力すると、シナリオ推薦処理部110では、入力されたコンポーネントを基に、予めコンポーネントのグループが登録されたコンポーネント関係情報記憶部(例えば、コンポーネントデータベース等)120から、入力されたコンポーネントを含む最適なコンポーネントのグループを抽出し推薦する。
【選択図】図1

Description

本発明は、ユーザが要求するサービスに応じたサービスコンポーネントを含むサービスコンポーネント連携シナリオを推薦する、シナリオ開発支援装置、およびシナリオ開発支援方法に関する。
近年、既存の電話網を次世代ネットワークであるNGN(next generation network)へ置き換えるプロジェクトが進行中である。NGNでは電話網はIP化され、Webサービス(ウェブサービス)とテレコムネットワークの連携が容易になり、新規サービスの創出が期待されている。Webサービスとは、Web上のサービスを行うための部品として扱われるサービスコンポーネントのことである。
サービス連携アプリケーション推薦ツールとして、本願の発明者が提案する、サービス連携アプリケーション開発実行基盤(非特許文献1を参照)がある。この非特許文献1で開示する連携アプリケーション開発実行基盤では、サービスシナリオ開発ユーザの開発するサービスイメージと、開発するサービスがターゲットとする利用ユーザ情報とを基に、開発者のニーズに合致する最適なサービスコンポーネント(以下、単に「コンポーネント」とも呼ぶことがある)を推薦することによって、サービスコンポーネント連携シナリオ(以下、単に「シナリオ」とも呼ぶことがある)を推薦してくれるシステムを実現するものである。
上記サービス連携アプリケーション開発実行基盤において、最終的に開発者に推薦されるシナリオは、入力されたサービスコンポーネントの前後に推薦サービスコンポーネントが接続されたシナリオである。しかし、一般的なWebサービスを連携したマッシュアップと呼ばれるサービスでは、一つのサービスコンポーネントから複数のサービスコンポーネントを呼び出すなど、より多くのサービスコンポーネントが複雑に接続されたサービスがほとんどであり、より現実に利用される可能性のあるサービスを推薦するためには、上記のように複雑なサービスコンポーネント連携シナリオの作成を支援できるようにする必要がある。
宮城安敏他、"「コンポーネント接続頻度を用いたサービス連携シナリオ開発支援システムの評価」",電子情報通信学会,ソサイエティ大会,Sep.2008
前述のように、上記サービス連携アプリケーション開発実行基盤を用いて一般的なサービスコンポーネント連携シナリオの推薦を実現するためには、複雑なシナリオの作成を支援する仕組みが必要である。このため、サービス連携アプリケーション開発実行基盤においてサービスコンポーネント連携シナリオを推薦する際に、過去に登録されたシナリオにおいて、まとまりとして頻繁に利用されているグループから最適なグループを選択することで、複雑なシナリオの作成を支援することが望まれていた。また、過去に登録されたシナリオを用いて、将来的に作成される可能性のある複雑なサービスコンポーネントのグループを推薦することができ、開発者がサービスコンポーネント連携シナリオの作成に要する時間の短縮と、開発者への負担を軽減することが望まれていた。
本発明は上記課題に鑑みなされたものであり、本発明の目的は、シナリオ開発ユーザ等に対して、実用的かつ多様で複雑なサービスコンポーネントのグループを推薦できるようにし、シナリオ開発ユーザ等がサービスコンポーネント連携シナリオを容易に作成することができ、アプリケーション作成のための作業時間を短縮することができる、シナリオ開発支援装置、およびシナリオ開発支援方法を提供することにある。
本発明は、上記課題を解決するためになされたものであり、本発明のシナリオ開発支援装置は、予め指定されるサービスコンポーネントの情報、または、サービスコンポーネント連携シナリオにより示されるサービスコンポーネントの情報を入力とし、前記入力されるサービスコンポーネントの情報を基に、推薦するサービスコンポーネントのグループを含むサービスコンポーネント連携シナリオを生成して出力するシナリオ開発支援装置であって、予め利用されている既存のサービスコンポーネント連携シナリオに含まれるサービスコンポーネントの組み合わせを、サービスコンポーネント間の参照関係の態様に応じてグループ分けして記憶するコンポーネント関係情報記憶部と、前記入力されるサービスコンポーネント連携シナリオに含まれるサービスコンポーネントを抽出するシナリオ抽出処理部と、前記予め指定されるサービスコンポーネントの情報、または前記シナリオ抽出処理部により抽出されたサービスコンポーネントの情報を基に、前記コンポーネント関係情報記憶部を検索し、所定の基準により推薦するサービスコンポーネントのグループを抽出するグループ推薦処理部と、前記グループ推薦処理部により抽出されたサービスコンポーネントのグループを含む新たなサービスコンポーネント連携シナリオを生成して出力するシナリオ推薦処理部と、を備えることを特徴とする。
また、本発明のシナリオ開発支援装置は、前記シナリオ抽出処理部は、前記入力されるサービスコンポーネント連携シナリオに含まれるサービスコンポーネントのグループを抽出すると共に、該抽出したサービスコンポーネントのグループの情報を、前記コンポーネント関係情報記憶部に記憶させることを特徴とする。
また、本発明のシナリオ開発支援装置は、前記コンポーネント関係情報記憶部に記憶されるサービスコンポーネントのグループは、サービスコンポーネント間の参照関係の態様に応じて、1つのサービスコンポーネントから1つのサービスコンポーネントを呼び出す組からなる直鎖状グループと、1つのサービスコンポーネントから複数のサービスコンポーネントを呼び出す組からなる複数呼出グループと、複数のサービスコンポーネントから1つのサービスコンポーネントを呼び出す組からなる複数被参照グループと、にグループ分けされる、ことを特徴とする。
また、本発明のシナリオ開発支援装置は、前記シナリオ抽出処理部において、サービスコンポーネント連携シナリオから直鎖状グループを抽出する際に、サービスコンポーネント間での値の受け渡しがある場合のみ直鎖状グループとしてのグループ化を行うことを特徴とする。
また、本発明のシナリオ開発支援装置は、前記シナリオ抽出処理部において、サービスコンポーネント連携シナリオから複数呼出グループを抽出する際に、呼び出し順序が異なる場合、および値の引き渡しによる参照関係が異なる場合は、それぞれ別の複数呼出グループとして扱うと共に、前記シナリオ抽出処理部において、サービスコンポーネント連携シナリオから複数被参照グループを抽出する際に、参照の順序が異なる場合、および値の引き渡しによる参照関係が異なる場合は、それぞれ別の複数被参照グループとして扱うことを特徴とする。
また、本発明のシナリオ開発支援装置は、前記グループ推薦処理部において、前記コンポーネント関係情報記憶部から推薦するコンポーネントのグループを選択する際の所定の基準として、前記コンポーネント関係情報記憶部にコンポーネントのグループが登録された登録回数および利用回数を基に算出された推薦指数の大きなグループのものから選定することすることを特徴とする。
また、本発明のシナリオ開発支援装置は、サービスコンポーネント連携シナリオおよびサービスコンポーネントを利用者に提供する外部装置から、前記利用者により利用されたサービスコンポーネント連携シナリオおよびサービスコンポーネントの利用情報を取得する推薦前処理部を更に備え、前記コンポーネント関係情報記憶部は、前記各サービスコンポーネントのグループの登録回数に加えて、さらに各サービスコンポーネントのグループが利用された利用回数の情報を記憶するように構成され、前記推薦前処理部は、前記外部装置から取得した情報を基に、前記利用者により利用されたサービスコンポーネントのグループを抽出し、前記コンポーネント関係情報記憶部内の当該利用されたコンポーネントのグループの利用回数を示す情報を更新すると共に、前記グループ推薦処理部において、前記コンポーネント関係情報記憶部から推薦するコンポーネントのグループを選択する際の所定の基準として、前記登録回数と前記利用回数とを基に算出された推薦指数の大きなグループのものから選定する、ことを特徴とする。
また、本発明のシナリオ開発支援方法は、予め指定されるサービスコンポーネントの情報、または、サービスコンポーネント連携シナリオにより示されるサービスコンポーネントの情報を入力とし、前記入力されるサービスコンポーネントの情報を基に、推薦するサービスコンポーネントのグループを含むサービスコンポーネント連携シナリオを生成して出力するシナリオ開発支援装置におけるシナリオ開発支援方法であって、予め利用されている既存のサービスコンポーネント連携シナリオに含まれるサービスコンポーネントの組み合わせを、サービスコンポーネント間の参照関係の態様に応じてグループ分けして記憶するコンポーネント関係情報記憶手順と、前記入力されるサービスコンポーネント連携シナリオに含まれるサービスコンポーネントを抽出するシナリオ抽出処理手順と、前記予め指定されるサービスコンポーネントの情報、または前記シナリオ抽出処理手順により抽出されたサービスコンポーネントの情報を基に、前記コンポーネント関係情報記憶手順により記憶されたサービスコンポーネントのグループを検索し、所定の基準により推薦するサービスコンポーネントのグループを抽出するグループ推薦処理手順と、前記グループ推薦処理手順により抽出されたサービスコンポーネントのグループを含む新たなサービスコンポーネント連携シナリオを生成して出力するシナリオ推薦処理手順と、を含むことを特徴とする。
本発明のシナリオ開発支援装置においては、サービスコンポーネント連携シナリオの開発者等がサービスコンポーネント(または、サービスコンポーネントを含むシナリオ)を入力すると、入力されたサービスコンポーネントを基に、予めサービスコンポーネントのグループを登録したコンポーネント関係情報記憶部(例えば、コンポーネントデータベース等)から、入力されたサービスコンポーネントを含む最適なコンポーネントのグループを抽出して推薦する。
これにより、シナリオ開発ユーザ等に対して、実用的かつ多様で複雑なサービスコンポーネントのグループを推薦できる。これにより、シナリオ開発ユーザ等が推薦されたサービスコンポーネントのグループを組み合わせることにより、実用的かつ多様なサービスコンポーネント連携シナリオを容易に作成することができ、アプリケーション作成のための作業時間を短縮することができる。
また、本発明のシナリオ開発支援装置においては、シナリオ抽出処理部は、入力されるサービスコンポーネント連携シナリオに含まれるサービスコンポーネントのグループを抽出すると共に、該抽出したサービスコンポーネントのグループの情報を、前記コンポーネント関係情報記憶部に記憶させる。
これにより、所望のサービスコンポーネント連携シナリオを入力して、コンポーネント関係情報記憶部にサービスコンポーネントのグループの情報を記憶させることができる。
また、本発明のシナリオ開発支援装置においては、コンポーネント関係情報記憶部には、1つのサービスコンポーネントから1つのサービスコンポーネントを呼び出す組からなる直鎖状グループと、1つのサービスコンポーネントから複数のサービスコンポーネントを呼び出す組からなる複数呼出グループと、複数のサービスコンポーネントから1つのサービスコンポーネントを呼び出す組からなる複数被参照グループとが、グループ分けして記憶される。
これにより、多様で複雑な参照関係(接続構成)を有するコンポーネントのグループを推薦することができる。
また、本発明のシナリオ開発支援装置においては、シナリオ抽出処理部において、サービスコンポーネント連携シナリオから直鎖状グループのコンポーネントグループを抽出する際に、値の受け渡しがある場合のみグループ化を行う。
このようすることで、値の受け渡しがない参照関係は、一般的に弱い参照関係であるので、弱い参照関係を直鎖状グループと登録しないことにより、値の受け渡しがない参照関係に比べ、値の受け渡しがある強い参照関係を積極的に推薦することができる。
また、本発明のシナリオ開発支援装置においては、シナリオ抽出処理部において、サービスコンポーネント連携シナリオから複数呼出グループを抽出する際に、呼び出しの順序が異なる場合や、値の引き渡しによる参照関係が異なる場合は、それぞれ別の複数呼出グループとして扱う。また、複数被参照グループを抽出する際に、呼び出しの順序が異なる場合や、値の引き渡しによる参照関係が異なる場合は、それぞれ別の複数被参照グループとして扱う。
これにより、多様な参照関係を有するコンポーネントのグループを登録でき、推薦するサービスコンポーネントのグループに多様性を持たせることができる。
また、本発明のシナリオ開発支援装置においては、コンポーネント関係情報記憶部から推薦するコンポーネントのグループを選択する際には、コンポーネント関係情報記憶部に登録された回数およびコンポーネントのグループが利用された回数を基に算出された推薦指数の大きなグループのものから選定する。
これにより、使用頻度の高いサービスコンポーネントのグループを推薦することができる。
また、本発明のシナリオ開発支援装置においては、サービスコンポーネント連携シナリオおよびサービスコンポーネントに対する利用者の利用情報を外部装置から収集し、この利用情報を基に、サービスコンポーネントの利用回数をグループごとにコンポーネント関係情報記憶部に記憶させておき、コンポーネント関係情報記憶部から推薦するコンポーネントのグループを選択する際には、コンポーネント関係情報記憶部に登録された回数と利用回数とを基に算出された推薦指数の大きなグループのものから選定する。
これにより、サービスコンポーネントの利用情報を考慮した、より実用的なサービスコンポーネントのグループを推薦することができる。
また、本発明のシナリオ開発支援方法においては、サービスコンポーネント連携シナリオの開発者等がサービスコンポーネント(または、サービスコンポーネントを含むシナリオ)を入力すると、入力されたサービスコンポーネントを基に、予めサービスコンポーネントのグループを登録したコンポーネント関係情報記憶部(例えば、コンポーネントデータベース等)から、入力されたサービスコンポーネントを含む最適なコンポーネントのグループを抽出して推薦する。
これにより、シナリオ開発ユーザ等に対して、実用的かつ多様で複雑なサービスコンポーネントのグループを推薦できる。これにより、シナリオ開発ユーザ等が推薦されたサービスコンポーネントのグループを組み合わせることにより、実用的かつ多様なサービスコンポーネント連携シナリオを容易に作成することができ、アプリケーション作成のための作業時間を短縮することができる。
本発明のシナリオ開発支援装置の構成を示す概略ブロック図である。 シナリオ推薦処理部について説明するための図である。 シナリオ抽出処理部について説明するための図である。 シナリオ推薦処理部とシナリオ抽出処理部における処理動作について説明するための図である。 サービスコンポーネントのグループ推薦方法を説明するための図である 複数呼び出しを行うグループの抽出方法を示す図である。 サービスコンポーネント連携シナリオからグループテーブルへ登録するグループを抽出する方法の一例を示す概略図である。 複数サービスコンポーネント呼び出しグループにおける実行順序の表記例について説明するための概略図である。 シナリオ抽出処理部におけるグループ抽出処理とグループテーブルへのグループ登録処理の流れを示す図である。 入力シナリオから前段と後段のグループを推薦する処理について説明するための図である。 入力コンポーネントに対して前段を推薦する場合のグループ展開図である。 入力コンポーネントに対して後段を推薦する場合のグループ展開図である。 開発ユーザがサービスコンポーネント連携シナリオを開発するまでの処理の流れを示したシーケンス図である。 推薦前処理部の処理とシナリオ推薦処理部とにおけるシナリオ推薦フローについて説明するための概略図である。 グループテーブルの例を示す図である。
最初に、本明細書で使用される用語について説明しておく。「Webサービス」とは、前述のように、インターネットのWeb上のサービスを行うための部品として扱われるサービスコンポーネントのことである。例えば、サービスコンポーネントとして、地図を表示するサービスや、飲食店を紹介するサービスなどである。
また、「サービスコンポーネント連携シナリオ」は、具体的なサービスコンポーネントの指定や実行順序、サービスコンポーネント間の値やデータの引き渡しなどを記載したスクリプトを意味している。そして、サービスコンポーネント連携シナリオにより、例えば、地図上に飲食店を表示して紹介するサービスを提供する。
また、本明細書中において使用される「直鎖状グループ」とは、1つのサービスコンポーネントから1つのサービスコンポーネントを呼び出す組からなるグループであり、「複数呼出グループ」とは、1つのサービスコンポーネントから複数のサービスコンポーネントを呼び出す組からなるグループである。また、「複数被参照グループ」とは、複数のサービスコンポーネントから1つのサービスコンポーネントを呼び出す組からなるグループである(詳細については後述する)。
また、本明細書の説明の中では、前述したように、「サービスコンポーネント」を単に「コンポーネント」と呼ぶことがあり、また、「サービスコンポーネント連携シナリオ」を単に「シナリオ」と呼ぶことがある。
[発明の概要]
本発明のシナリオ開発支援装置は、サービスコンポーネント連携シナリオの開発者等がコンポーネント(または、コンポーネントを含むシナリオ)を入力すると、入力されたコンポーネントを基に、予め形態が異なる(参照関係が異なる)コンポーネントのグループ(コンポーネントグループ)を登録したコンポーネント関係情報記憶部、例えば、コンポーネントデータベースから、入力されたコンポーネントを含むグループを検索し、既存の開発・利用履歴を基に、最適なコンポーネントのグループを含むサービスコンポーネント連携シナリオを生成して推薦するシナリオ開発支援装置である。
[シナリオ開発支援装置の構成]
図1は、本発明の実施の形態に係るシナリオ開発支援装置100の構成を示す概略ブロック図である。
図1に示す本発明のシナリオ開発支援装置100においては、シナリオ開発ユーザ等に推薦するサービスコンポーネント連携シナリオに多様性を持たせるため、予め利用されているサービスコンポーネント連携シナリオに含まれる既存のサービスコンポーネントの組み合わせをグループとして記憶するためのコンポーネント関係情報記憶部120を備える。
このコンポーネント関係情報記憶部120は、グループデータベース121を有し、このグループデータベース121には、直鎖状グループのデータを記憶する直鎖状グループ記憶部122と、複数呼出グループのデータを記憶する複数呼出グループ記憶部123と、複数被参照グループのデータを記憶する複数被参照グループ記憶部124とを備える。
また、直鎖状グループ記憶部122は、直鎖状グループがテーブルデータとして記憶される直鎖状グループテーブル122Aを有し、複数呼出グループ記憶部123は、複数呼出グループがテーブルデータとして記憶される複数呼出グループテーブル123Aを有している。また、複数被参照グループ記憶部124は、複数被参照グループがテーブルデータとして記憶される複数被参照グループテーブル124Aを有している。
そして、シナリオ開発ユーザ等がシナリオ作成端末装置10を介して、シナリオ開発支援装置100にサービスコンポーネント(または、サービスコンポーネントを含むシナリオ)を入力すると、シナリオ開発支援装置100では、シナリオ推薦処理部110が入力されたコンポーネントを含むグループを、グループデータベース121内のデータベースから検索し、開発・利用履歴を基に最適なコンポーネントのグループを抽出し、この抽出したグループを推薦する。
また、図1に示す本発明のシナリオ開発支援装置100は、二つの処理系を有している。すなわち、シナリオ開発ユーザ等が入力したサービスコンポーネント連携シナリオからコンポーネントのグループを抽出するシナリオ抽出処理部101と、入力されたコンポーネントに対して、最適なコンポーネントのグループを抽出し、この抽出したグループを含むサービスコンポーネント連携シナリオを生成して推薦するシナリオ推薦処理部110を有している。
以下、図1に示すシナリオ開発支援装置100を構成する各部の構成について説明する。
シナリオ作成端末装置10は、シナリオ開発支援装置100内のシナリオ抽出処理部101と接続され、シナリオ作成ユーザ(シナリオ開発ユーザ等)の操作により、コンポーネントのグループを、グループデータベース121の各記憶部122,123,124に登録するためにシナリオを入力する。入力されたシナリオは、シナリオ抽出処理部101に出力される。
また、シナリオ作成端末装置10には、ユーザの操作により、シナリオの推薦を受けるために、コンポーネントを示す情報、又は、シナリオ及びシナリオ中のいずれかのコンポーネントを示す情報が入力される。そして、シナリオ作成端末装置10においてシナリオの推薦を受けるために入力されたシナリオ及びコンポーネントを示す情報は、シナリオ推薦処理部110のグループ推薦処理部111に出力される。
シナリオ抽出処理部101は、シナリオ作成端末装置10から入力されたシナリオから次の3つのグループ、直鎖状グループ、複数呼出グループ、および複数被参照グループを抽出する処理を行い、抽出したグループをグループデータベース121が有する直鎖状グループ記憶部122、複数呼出グループ記憶部123、及び、複数被参照グループ記憶部124)に書き込み記憶させる。
グループデータベース121は、前述のように、直鎖状グループ記憶部122、複数呼出グループ記憶部123、及び、複数被参照グループ記憶部124の3つの記憶部から構成される。そして、直鎖状グループ記憶部122は、直鎖状グループを登録するための直鎖状グループテーブル122Aを有している。複数呼出グループ記憶部123は、複数呼出グループを登録するための複数呼出グループテーブル123Aを有している。また、複数被参照グループ記憶部124は、複数被参照グループテーブル124Aを有している。
図15に、各グループテーブルのデータ構成例を示す。図15(A)は、直鎖状グループテーブル122Aのデータ構成例を示しており、図15(B)は、複数呼出グループテーブル123Aのデータ構成例を示しており、図15(C)は、複数被参照グループテーブル124Aのデータ構成例を示している。各グループテーブルには、サービスコンポーネントの組み合わせ(参照元と参照先)と、開発回数と、利用回数と、推薦指数との項目を備える。
図15に示すように、参照元及び参照先の情報には、「値の受け渡し」があるか否か、及び、呼出順序を示す情報が付加される。例えば、図15(B)の複数呼出グループテーブル123Aに示すように、値の引き渡しのある場合は、(E)などと、括弧( )を用いてコンポーネント名を括ることにより示される。また、開発回数については、シナリオ抽出処理部101がグループを登録すると、登録されたグループの開発回数は1回になる。以後、シナリオ抽出処理部101が同じグループを登録すると、開発回数を1づつ増加させる。すなわち、開発回数は、登録回数である。
また、利用回数は、サービス利用者が利用者端末装置20を用いてシナリオ管理サーバ200からシナリオを読み出して利用すると、利用されたシナリオに含まれるコンポーネントグループの利用回数に「1」が加算される。また、推薦指数の算出方法としては、図15に示すに示す例では、開発回数と利用回数との和を算出する方法を用いているが(例えば、開発回数12回、利用回数20回の場合、和(加算)を算出して32回にする)、これに限定されない。例えば、予め定めた算出方法を用いるなど、さらに、グループの複雑さを示す度合いとして、グループに含まれるコンポーネントの数を用いて算出するなどしても良い。
また、シナリオ推薦処理部110は、グループ推薦処理部111と、推薦前処理部112とで構成される。
グループ推薦処理部111は、シナリオ作成端末装置10から入力されたコンポーネントを示す情報(または、入力されたシナリオにより示されるコンポーネントの情報)が入力され、当該コンポーネントが、参照元又は参照先に含まれるグループを、直鎖状グループテーブル122Aと、複数呼出グループテーブル123Aと、複数被参照グループテーブル124Aのそれぞれテーブルから選択する。このとき、推薦指数が最も高いグループを選択する。なお、別の条件として、推薦指数が高い上位の複数のグループを選択することもできる。
推薦前処理部112は、サービス利用者管理情報記憶部130に記憶されているグループそれぞれの利用履歴(利用者識別子、日時時間)を読み出して、コンポーネント関係情報記憶部120中のグループデータベース121内の3つの記憶部122,123,124のそれぞれに記憶されているグループテーブル122A,123A,124Aのそれぞれの利用回数を更新する。このサービス利用者管理情報記憶部130には、シナリオ管理サーバ200において利用者端末装置20から利用されたサービスコンポーネント30の利用履歴の情報、および利用者端末装置20から利用されたシナリオに含まれるサービスコンポーネントの利用履歴の情報が記憶されている。
利用履歴更新部140は、シナリオ管理サーバ200にネットワークを介してアクセスして、シナリオ管理サーバ200のシナリオ記憶部210に記憶されているシナリオの利用履歴を受信して、受信した履歴からそれぞれのサービスコンポーネント連携シナリオに含まれるコンポーネントのグループの利用履歴を抽出して、サービス利用者管理情報記憶部130内に記憶されているコンポーネントグループの利用履歴を更新する。
シナリオ管理サーバ200は、シナリオ入出力部201と、シナリオ記憶部210とを備える。シナリオ入出力部201は、シナリオ作成端末装置10からネットワークを介して入力されたサービスコンポーネント連携シナリオを受信して、シナリオ記憶部210に記憶させる。シナリオ記憶部210には、サービスコンポーネント連携シナリオと、利用履歴の情報とが記憶される。
利用者端末装置20からシナリオ管理サーバ200に対して、ネットワークを介してサービスコンポーネント連携シナリオの利用が要求されると、シナリオ記憶部210から当該サービスコンポーネント連携シナリオを読み出して、当該利用者端末装置20に送信する。このとき、シナリオ記憶部210のサービスコンポーネント連携シナリオの利用履歴を更新する。
そして、シナリオ開発支援装置100の利用履歴更新部140からシナリオ管理サーバ200に対して、サービスコンポーネント連携シナリオの利用履歴の情報の送信が要求されると、シナリオ入出力部201は、シナリオ記憶部210からシナリオと、シナリオの利用履歴を読み出して利用履歴更新部140に送信する。
利用者端末装置20は、サービスコンポーネント連携シナリオを利用する端末であり、シナリオ管理サーバ200に対してシナリオの要求を送信し、要求したシナリオを受信して利用する。また、利用者端末装置20は、利用者の操作によりシナリオ管理サーバ200から読み出したシナリオに含まれるサービスコンポーネント30に対して利用要求を送信する。なお、サービスコンポーネント30は、利用者端末装置20から受信した利用要求に応じて、ネットワークを介して該利用者端末装置20にサービスの提供を行う。
図2は、本発明のシナリオ開発支援装置100におけるシナリオ推薦処理部110の動作について説明するための図である。シナリオ推薦処理部110は、開発ユーザやサービスコンポーネント連携シナリオ開発環境等11などによるサービスコンポーネントを入力として、グループデータベース121を検索し、サービスコンポーネントを含むシナリオを推薦する機能を備えている。ここで、推薦されるシナリオの表記方法としては、BPEL(Business Process Execution Language for WebServices)などのビジネスプロセス記述の形式としてもよい。
このシナリオ推薦処理部110では、複数のグループテーブル(直鎖状グループテーブル122A、複数呼出グループテーブル123A、複数被参照グループテーブル124A)に振り分けられたサービスコンポーネントのグループから、開発者のニーズに合致するサービスコンポーネントのグループを、他の開発者が既に作成した実績のあるサービスコンポーネントのグループの推薦指数を用いて、最も利用頻度が高いサービスコンポーネントのグループを、開発者に推薦する。
図3は、本発明のシナリオ開発支援装置100におけるシナリオ抽出処理部101について説明するための図である。シナリオ抽出処理部101では、登録するサービスコンポーネント連携シナリオから複数のコンポーネントのグループを抽出する。
すなわち、このシナリオ抽出処理部101では、一つのサービスコンポーネントから一つのサービスコンポーネントを呼び出す組み合わせにおいて、当該サービスコンポーネントの間で値の受け渡しがある組み合わせを直鎖状グループとして抽出する。また、一つのサービスコンポーネントから複数のサービスコンポーネントを呼び出している構造を複数呼出グループとして抽出する。また、複数のサービスコンポーネントから一つのサービスコンポーネントを呼び出している構造を複数被参照グループとして抽出する。このように、シナリオ抽出処理部101では、任意のサービスコンポーネント連携シナリオを入力とした際に、サービスコンポーネント連携シナリオに含まれるサービスコンポーネントの参照関係から、コンポーネントのグループを抽出するものである。
そして、抽出したコンポーネントのグループを、グループデータベース121の各記憶部122、123、123内のそれぞれに対応した直鎖状グループテーブル122A、複数呼出グループテーブル123A、複数被参照グループテーブル124Aへ登録する。
図4は、シナリオ推薦処理部110とシナリオ抽出処理部101について説明するための図である。シナリオ抽出処理部101は、サービスコンポーネント連携シナリオからサービスコンポーネントのグループを抽出しグループデータベース121に登録する処理部である。シナリオ推薦処理部110は、サービスコンポーネントを入力として、当該サービスコンポーネントを含むグループデータベース121を検索し、検出したコンポーネントのグループを推薦する処理部である。
すなわち、シナリオ抽出処理部101では、サービスコンポーネント連携シナリオに含まれるサービスコンポーネントの参照関係から、サービスコンポーネントのグループを抽出する。そして、シナリオ抽出処理部101は、抽出したコンポーネントのグループをグループデータベース121に記憶させ、複数のグループテーブルへ振り分ける。また、シナリオ推薦処理部110では、入力されたサービスコンポーネントを基に、グループデータベース121から入力されたコンポーネントを含むグループを検索し、最適なグループを推薦する。
次に、本発明のシナリオ開発支援装置100において、入力されたサービスコンポーネントを基にして、サービスコンポーネント連携シナリオを推薦する詳細な手順について、図5以降において説明する。
図5は、本発明のシナリオ開発支援装置100におけるサービスコンポーネントのグループ推薦方法を説明するための図である。図5に示す例では、入力されるサービスコンポーネント連携シナリオ301と、グループデータベース121(直鎖状グループテーブル122A、複数呼出グループテーブル123A、複数被参照グループテーブル124A)と、シナリオ推薦処理部110が検出した推薦する直鎖状グループ302、複数呼出グループ303を示している。
図5に示す例は、開発ユーザがサービス統合開発環境(例えば、図1に示すシナリオ作成端末装置10)などで作成したシナリオ301を基に、直鎖状グループ302、複数呼出グループ303を推薦する。
例えば、図4に示す例では、開発ユーザがサービスコンポーネント連携シナリオ301を作成し、本発明のシナリオ開発支援装置100に入力する(ステップS11)。このサービスコンポーネント連携シナリオ301は、サービス統合開発環境(例えば、図1に示すシナリオ作成端末装置10)において開発ユーザによって作成される任意のシナリオである。このシナリオ301には、コンポーネントBが含まれることが、シナリオ抽出処理部101により検出される。
シナリオ推薦処理部110では、入力されたシナリオ301内のコンポーネントBを含むグループをグループデータベース121内の直鎖状グループテーブル122A,複数呼出グループテーブル123A,複数被参照グループテーブル124Aから検索し(ステップS12)、推薦指数が最大のコンポーネント組み合わせを選択する(ステップS13)。
この際、構成するコンポーネントのグループの形状によって、複数のグループテーブル、すなわち、直鎖状グループテーブル122A,複数呼出グループテーブル123A,複数被参照グループテーブル124Aから、それぞれの最も推薦指数が多いものを選択し、ユーザに推薦する(ステップS14)。図5に示す例では「コンポーネントB→コンポーネントC」の直鎖状グループと、「コンポーネントB→コンポーネントC,コンポーネントD,コンポーネントE」の複数呼出グループを入力シナリオ301のコンポーネントBに対して、直鎖状グループ302、複数呼出グループ303を推薦する。
図6は、複数呼び出しを行う複数呼出グループの抽出方法を示す図である。図6において、コンポーネント間の値の受け渡しがあるコンポーネントはコンポーネントB(参照元はコンポーネントA)、コンポーネントE(参照元はコンポーネントB)、コンポーネントF(参照元はコンポーネントB)、コンポーネントH(参照元はコンポーネントC)であり、網掛して表している。なお、サービスコンポーネント連携シナリオを記述するスクリプトにおいて引数の受け渡しが記述されている場合に、コンポーネント間で値の受け渡しがあると判断する。
コンポーネント間で値の受け渡しがなく、単に呼び出されているだけの部品であるコンポーネントC、およびコンポーネントDは白色で表している。コンポーネントC、コンポーネントDのようなコンポーネントは、直鎖状グループテーブル122Aに登録されないので、推薦することができない。そこで、1つのコンポーネントから複数のコンポーネントを呼び出している場合を別グループとして抽出し、複数呼出グループテーブル123Aに登録する。このような方法により、単に呼び出されているだけの参照がない部品も推薦することができるため、グループ化の複雑性を高め、実サービスに近いコンポーネントのグループ化ができる。なお、図15(B)に複数呼出グループテーブル123Aが記憶する情報の例を示している。
また、対象コンポーネント(この場合コンポーネントB)から直接呼び出されているコンポーネントまでをグループとする(実線枠a)。ただし、「コンポーネントC→コンポーネントH」は参照関係があるため直鎖状コンポーネントのグループとして登録される(破線枠b)。また、対象コンポーネントから複数のコンポーネントを参照している(値の引き継ぎがある)場合は、最後に参照されたコンポーネントまでをグループ化する。
また、コンポーネントのグループの推薦時にその先に参照されているグループを推薦する場合は、直鎖状グループの推薦を行うことによって、その先の参照グループを接続することができる。また、図6には記載していないが、複数のコンポーネントから1つのコンポーネントを参照しているような場合も存在し、その場合の複数被参照グループテーブル124Aも用意する。図15(C)には、複数被参照グループテーブル124Aが記憶する情報の一例を示している。
図7は、シナリオ抽出処理部101において、サービスコンポーネント連携シナリオからグループテーブルへ登録するグループを抽出するための方法の一例を示す概略図である。
まず、直鎖状グループテーブル122Aへ登録するグループは、図7に示す「コンポーネントA→コンポーネントB」のように、直鎖状に2つのサービスコンポーネントが接続されたものとする。シナリオ抽出処理部101では、開発ユーザに入力された図7に示すような「コンポーネントA〜コンポーネントI」が含まれたシナリオから、直鎖状にコンポーネントが接続された有向グラフを持ったグループを検出し、図右の直鎖状グループテーブル122Aに示すように、直鎖状にサービスコンポーネントが接続された有向グラフで示されるサービスコンポーネントの組み合わせと推薦指数をテーブルに入力する。
なお、有向グラフとは、コンポーネントAからコンポーネントBへ値を受け渡しているような、参照関係の向きが存在するサービスコンポーネント間の接続状態のことであり、読み込むサービスコンポーネント連携シナリオの記述(スクリプト)を基に判断することができる(例えば、シナリオがBPELで記述されている場合、copyタグ内に含まれるfromが参照元であり、toが参照先である)。なお、コンポーネントIのように、値の受け渡しがない等、参照関係がない呼び出しの場合はグループ化を行わない(例えばBPELでシナリオが記述されている場合、BPELで記述されているシナリオを参照することで参照関係のない、単純に呼び出しているだけのサービスコンポーネントがわかる)。
このように、直鎖状グループについては、値の受け渡しがないなど参照関係が呼び出しの場合はグループ化を行わない。これは、値の受け渡しがない参照関係は、一般的に弱い参照関係であり、弱い参照関係をグループと登録しないことにより、値の受け渡しがない参照関係に比べ、値の受け渡しがある強い参照関係を積極的に推薦することができる。
また、コンポーネントの推薦時に図6に示す複数呼出を行うグループが推薦されるようにするため、複数呼出グループに登録したサービスコンポーネントについては直鎖状グループとして重複する登録はしない。図7に示すシナリオの場合、コンポーネントBからコンポーネントC,E,Hを参照する複数呼出グループが登録されるため、「コンポーネントB→コンポーネントC」、「コンポーネントB→コンポーネントE」、「コンポーネントB→コンポーネントH」のグループは複数呼出グループと重複部分が存在するため、直鎖状グループとしては登録しない。この処理を登録する全てのシナリオに対して行う。図7に示すように抽出されたグループ、「コンポーネントA→コンポーネントB」、「コンポーネントC→コンポーネントD」、「コンポーネントE→コンポーネントF」、「コンポーネントF→コンポーネントG」、を直鎖状グループとする。
図8は、複数呼出グループにおける、実行順序の表記例について説明するための概略図である。複数サービスコンポーネントを呼び出すグループが同じ組み合わせであったとしても、実行順序や参照の有無が異なる場合も考えられる。例えば、図8(A)に示す「コンポーネントB→コンポーネントC,コンポーネントD,コンポーネントE」と、図8(B)に示す「コンポーネントB→コンポーネントD,コンポーネントC,コンポーネントE」とは、実行順序が異なり別のグループである。そこで、複数呼出グループのコンポーネントのグループ化を行う際は、コンポーネント呼び出し順序に依存性があることが考えられるので、サービスコンポーネントの呼び出し順を含めてグループ化を行う。
まず、基準となる複数サービスコンポーネント呼び出しグループを、図8(A)に示す複数呼出グループとすると、図8(B)に示す複数呼出グループは、コンポーネントの組み合わせは同じだが、コンポーネント呼び出し順序(実行順序)のみが異なる。この際、呼び出し順番に依存がある場合と、ない場合との両方が考えられ、どちらかを判断することはできないので、呼び出し順番に依存性がある場合は一律別グループ扱いとする。
表記としては、図8(B)下側の表に示すように実行順序にサービスコンポーネントを記載し、値の参照があるコンポーネントを括弧で記述することで区別する。また、図8(C)に示すようなコンポーネントの参照関係が異なる場合は、呼び出している関数自体が異なる場合などが考えられるため、別グループ扱いとする。結局、図8(A)、図8(B)、図8(C)に示す複数呼出グループを全て別グループとして管理する。
また、サービスコンポーネントの複数呼出グループ、複数被参照グループは、基準コンポーネントと複数のコンポーネントとの組み合わせから成るため、同一グループの内包が起こる。例えば、グループ「コンポーネントX→コンポーネントA,コンポーネントB,コンポーネントC」は、「コンポーネントX→コンポーネントA,コンポーネントB」などのグループを内包していると考えられる。このときのグループのカウント方法として、大きく分けて次の2通りが考えられる。(a)内包する組み合わせもカウントする、(b)内包する組み合わせにはカウントしない、上記どちらを選択してもよいが、(a)の場合、グループを途中で切ることとなるため、頻繁に利用されているまとまりをグループに分けて扱うことになるので行わない。
図9は、シナリオ抽出処理部101において、入力されたサービスコンポーネント連携シナリオからグループ抽出処理を行い、グループテーブルへグループを登録する際の処理の流れを示す概略図である。
抽出方法は、まず、入力されたサービスコンポーネント連携シナリオに対して、シナリオ内のサービスコンポーネントがどのコンポーネントを参照しているのかというコンポーネント間の参照関係をシナリオ(スクリプト)のコードから把握する。
次に、複数呼出グループを抽出するために、1つのコンポーネントから複数のコンポーネントを呼び出している場合(複数呼出グループ)、または、複数のコンポーネントから1つのコンポーネントを呼び出している場合(複数被参照グループ)を見つける。
その後、図6で説明したように、複数のコンポーネントを呼び出しているコンポーネントから、直接呼び出し関係のある一つ隣のコンポーネントまでを含めてグループ化を行う。すなわち、参照先コンポーネントが複数の場合は、参照先コンポーネントまでを含めてグループ化を行い、複数呼出グループとして抽出し、複数呼出グループテーブル123Aに開発履歴として反映させる(ステップS21)。
また、参照元コンポーネントが複数の場合は、参照元コンポーネントを含めてグループ化を行う。すなわち、参照元コンポーネントが複数の場合は、参照元コンポーネントを含めてグループ化を行い、複数被参照グループとして抽出し、複数被参照グループテーブル124Aに開発履歴として反映させる(ステップS22)。
次に、直鎖状グループを抽出するために、1つのコンポーネントから1つのコンポーネントを呼び出している場合を見つけ、図6で説明したように、一つ先(参照先)のコンポーネントまでを含めてグループ化を行い、グループデータベース121内の直鎖状グループテーブル122A内に開発履歴として反映させる(ステップS23)。
図10は、シナリオ推薦処理部110が入力シナリオから前段と後段のそれぞれのグループを推薦する際の処理の流れを示した図である。すなわち、入力コンポーネントA,D,Cに対して、最初にコンポーネントAに対する前段のグループ展開を行い、その後、コンポーネントDに対する後段のグループ展開を行い、サービスコンポーネント連携シナリオを生成する。なお、グループは直鎖状グループ、複数呼び出しグループ、複数被参照グループの3種類があるが、それぞれの全グループ中で最も推薦指数の多いものを推薦する。この場合、複数のコンポーネントグループを推薦してもよい。
図11は、入力コンポーネントに対して前段を推薦する場合のグループ展開図である。この場合、入力シナリオに含む前段のグループを展開する場合を例としており、基準サービスコンポーネントをAとする。前段として推薦するサービスコンポーネントのグループを、3つのテーブルから選択するなどして、推薦する。
図11に示す例の場合、それぞれの最も利用されたグループとして、(a)直鎖状グループから「コンポーネントG→コンポーネントA」、(b)呼び出し先が複数個の複数呼出グループから「コンポーネントA→コンポーネントD,コンポーネントE」、(c)参照元が複数個の複数被参照グループから「コンポーネントH,コンポーネントB→コンポーネントA」の3種類を推薦することが可能である。なお、これ以降のグループ展開も同様の操作を繰り返し、複数の推薦されたグループを組み合わせることにより、複雑なシナリオの作成が可能となる。
図12は、図11と同様に、入力コンポーネントに対して後段を推薦する場合のグループ展開図である。この場合、入力シナリオに含む後段のグループを展開する場合を例としており、基準サービスコンポーネントをコンポーネントAとする。後段として推薦するサービスコンポーネントのグループを、3つのテーブルから選択するなどして、推薦する。
図12に示す例の場合、それぞれの最も利用されたグループとして、(a)直鎖状グループから「コンポーネントA→コンポーネントF」、(b)呼び出し先が複数個の複数呼出グループから「コンポーネントA→コンポーネントD,コンポーネントE」、(c)参照元が複数個の複数被参照グループから「コンポーネントH,コンポーネントB→コンポーネントA」の3種類を推薦することが可能である。なお、これ以降のグループ展開も同様の操作を繰り返し、複数の推薦されたグループを組み合わせることにより、複雑なシナリオの作成が可能となる。
図13は、開発ユーザや開発環境などが本システムを用いてサービスコンポーネント連携シナリオを開発するまでの流れを示したシーケンス図である。以下、図13を参照して、その処理の流れについて説明する。
まず、グループデータベース121に予めコンポーネントのグループが登録されている必要があるため、シナリオ開発ユーザや開発環境等11においてシナリオ作成端末装置10を用いて、シナリオ抽出処理部101に予めシナリオを登録する(ステップS101)。シナリオ抽出処理部101では、図6、図7で説明したように、登録されたシナリオから複数のグループを抽出する処理を行い(ステップS102)、グループデータベース121に抽出したグループの登録を行う(ステップS103)。登録するグループが既に登録されているグループの場合、開発回数を更新し推薦指数を増加させるなどの処理を行う(ステップS104)。
次に、シナリオ開発ユーザが、開発ユーザや開発環境等11においてシナリオ作成端末装置10を介して、本シナリオ開発支援装置100を用いてサービスコンポーネント連携シナリオの推薦要求をシナリオ推薦処理部110に行った場合の処理について述べる。開発ユーザや開発環境等11からシナリオ推薦処理部110に対し、コンポーネント推奨要求として、サービスコンポーネントが入力され(ステップS105)、それを基に、シナリオ推薦処理部110では、コンポーネントのグループを推薦するためグループデータベース121にグループ情報を要求する(ステップS106)。
グループデータベース121は、要求されたコンポーネントを含むグループから上位のグループを選択するなどの設定されたポリシに従い、推薦するコンポーネントを含むグループ情報をシナリオ推薦処理部110に提供する。この際、シナリオ推薦処理部110は、再度グループデータベース121に別のグループの要求を行ってもよい。その場合、グループデータベース121にアクセスするステップS106,ステップS107の処理を再度行うことになる。
シナリオ推薦処理部110では、提供されたコンポーネントのグループを基に推薦するサービスコンポーネント連携シナリオを作成し(ステップS108)、開発ユーザや開発環境等11に対して提供する(ステップS109)。
図14は、推薦前処理部112とシナリオ推薦処理部110とにおけるシナリオ推薦フローについて説明するための図である。シナリオ推薦処理部110は、前述のように、推薦前処理部112と、グループ推薦処理部111の2つに分かれている。
推薦前処理部112では、予め一定時間ごとに、サービス利用者管理情報記憶部130に記録されたサービスコンポーネント連携シナリオおよびサービスコンポーネントの利用履歴の情報を取得する。このサービス利用者管理情報記憶部130には、シナリオ管理サーバ200におけるサービスコンポーネント連携シナリオおよびサービスコンポーネントの利用履歴の情報が記憶されている。このシナリオ管理サーバ200における利用履歴の情報は、図1において説明したように、ネットワークを介してサービス利用者管理情報記憶部130に記憶される。すなわち、このサービス利用者管理情報記憶部130には、シナリオ抽出処理部101において誰がいつどのシナリオおよびコンポーネントを利用したかの情報が記憶されている。
そして、推薦前処理部112では、サービス利用者管理情報記憶部130から取得したシナリオおよびコンポーネントの利用履歴の情報を基に、コンポーネントのグループを抽出し、グループデータベース121内に含まれる各グループの利用回数を更新する。これによって、グループデータベース121内の各グループテーブル(直鎖状グループテーブル122A、複数呼出グループテーブル123A、および複数被参照グループテーブル124A)における推薦指数が一定時間ごとに更新され最新の値が反映される。
そして、グループ推薦処理部111では、開発ユーザや開発環境等(例えば、図1に示すシナリオ作成端末装置10)などによって入力されたシナリオに含まれるサービスコンポーネントを基に、前述の推薦前処理部112により更新されたグループデータベース121内のグループテーブルを検索する。そして、グループ推薦処理部111では、グループデータベース121から抽出(検出)したサービスコンポーネントのグループを開発ユーザに対して推薦する。開発ユーザは、推薦されたグループを組み合わせることにより、新たなサービスコンポーネント連携シナリオを作成する。
以上説明したように、本発明のシナリオ開発支援装置100においては、過去の利用履歴から開発者のニーズに合致するコンポーネントのグループを推薦できるため、サービスコンポーネント連携シナリオを作成する際のサービスコンポーネントの入出力変数を変換する記述などが必要ないため、開発者はコーディングをすることなくサービスコンポーネント連携シナリオを作成することができ、アプリケーション作成時間を短縮することができる。このため、中示企業の経営者やサービス企画者など、特別な技術がない開発者でもサービスコンポーネント連携シナリオを簡単に作ることができる。
また、開発者に推薦するためのアルゴリズムとして、他の開発者が既に作成した実績のあるサービスコンポーネント間の接続の度合いを示す推薦指数を用いて、最も利用頻度が高いサービスコンポーネントのグループを開発ユーザに提供できる。このため、提供されたサービスコンポーネントグループは頻繁に利用されるサービスコンポーネントの組み合わせであったり、相性の良い組み合わせであったり、有益なグループである可能性が高い。
なお、上述のシナリオ開発支援装置100は内部にコンピュータシステムを有している。そして、上述した処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。
すなわち、シナリオ開発支援装置100における、各処理は、CPU等の中央演算処理装置がROMやRAM等の主記憶装置に上記プログラムを読み出して、情報の加工、演算処理を実行することにより、実現されるものである。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、シナリオ開発支援装置100には、周辺機器として入力装置、表示装置等(いずれも表示せず)が接続されているものとする。ここで、入力装置としては、キーボード、マウス等の入力デバイスのことをいう。表示装置とは、CRT(Cathode Ray Tube)や液晶表示装置等のことをいう。
以上、本発明の実施の形態について説明したが、本発明のシナリオ開発支援装置100は、予め指定されるサービスコンポーネントの情報、または、サービスコンポーネント連携シナリオにより示されるサービスコンポーネントの情報を入力するシナリオ作成端末装置10と、予め利用されている既存のサービスコンポーネント連携シナリオに含まれるサービスコンポーネントの組み合わせを、サービスコンポーネント間の参照関係の態様に応じてグループ分けして記憶するコンポーネント関係情報記憶部120と、入力されるサービスコンポーネント連携シナリオに含まれるサービスコンポーネントを抽出するシナリオ抽出処理部101と、予め指定されるサービスコンポーネントの情報、またはシナリオ抽出処理部101により抽出されたサービスコンポーネントの情報を基に、コンポーネント関係情報記憶部120を検索し、所定の基準により推薦するサービスコンポーネントのグループを抽出するグループ推薦処理部111と、グループ推薦処理部111により抽出されたサービスコンポーネントのグループを推薦するグループとしてシナリオ作成端末装置10に出力する。
これにより、シナリオ開発ユーザ等に対して、実用的かつ多様で複雑なサービスコンポーネントのグループを推薦でき、シナリオ開発ユーザが推薦されたサービスコンポーネントのグループを組み合わせることにより、サービスコンポーネント連携シナリオを容易に作成することができ、アプリケーション作成のための作業時間を短縮することができる。
以上、本発明の実施の形態について説明したが、本発明のシナリオ開発支援装置は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
10…シナリオ作成端末装置
20…利用者端末装置
100…シナリオ開発支援装置、101…シナリオ抽出処理部
110…シナリオ推薦処理部、111…グループ推薦処理部、112…推薦前処理部
120…コンポーネント関係情報記憶部、121…グループデータベース
122…直鎖状グループ記憶部、122A…直鎖状グループテーブル
123…複数呼出グループ記憶部、123A…複数呼出グループテーブル
124…複数被参照グループ記憶部、124A…複数被参照グループテーブル
130…サービス利用者管理情報記憶部、140…利用履歴更新部
200…シナリオ管理サーバ、201…シナリオ入出力部、210…シナリオ記憶部

Claims (8)

  1. 予め指定されるサービスコンポーネントの情報、または、サービスコンポーネント連携シナリオにより示されるサービスコンポーネントの情報を入力とし、前記入力されるサービスコンポーネントの情報を基に、推薦するサービスコンポーネントのグループを含むサービスコンポーネント連携シナリオを生成して出力するシナリオ開発支援装置であって、
    予め利用されている既存のサービスコンポーネント連携シナリオに含まれるサービスコンポーネントの組み合わせを、サービスコンポーネント間の参照関係の態様に応じてグループ分けして記憶するコンポーネント関係情報記憶部と、
    前記入力されるサービスコンポーネント連携シナリオに含まれるサービスコンポーネントを抽出するシナリオ抽出処理部と、
    前記予め指定されるサービスコンポーネントの情報、または前記シナリオ抽出処理部により抽出されたサービスコンポーネントの情報を基に、前記コンポーネント関係情報記憶部を検索し、所定の基準により推薦するサービスコンポーネントのグループを抽出するグループ推薦処理部と、
    前記グループ推薦処理部により抽出されたサービスコンポーネントのグループを含む新たなサービスコンポーネント連携シナリオを生成して出力するシナリオ推薦処理部と、
    を備えることを特徴とするシナリオ開発支援装置。
  2. 前記シナリオ抽出処理部は、
    前記入力されるサービスコンポーネント連携シナリオに含まれるサービスコンポーネントのグループを抽出すると共に、該抽出したサービスコンポーネントのグループの情報を、前記コンポーネント関係情報記憶部に記憶させること
    を特徴とする請求項1に記載のシナリオ開発支援装置。
  3. 前記コンポーネント関係情報記憶部に記憶されるサービスコンポーネントのグループは、サービスコンポーネント間の参照関係の態様に応じて、
    1つのサービスコンポーネントから1つのサービスコンポーネントを呼び出す組からなる直鎖状グループと、
    1つのサービスコンポーネントから複数のサービスコンポーネントを呼び出す組からなる複数呼出グループと、
    複数のサービスコンポーネントから1つのサービスコンポーネントを呼び出す組からなる複数被参照グループと、
    にグループ分けされる、
    ことを特徴とする請求項1または請求項2に記載のシナリオ開発支援装置。
  4. 前記シナリオ抽出処理部において、サービスコンポーネント連携シナリオから直鎖状グループを抽出する際に、サービスコンポーネント間での値の受け渡しがある場合のみ直鎖状グループとしてのグループ化を行うこと
    を特徴とする請求項3に記載のシナリオ開発支援装置。
  5. 前記シナリオ抽出処理部において、サービスコンポーネント連携シナリオから複数呼出グループを抽出する際に、呼び出し順序が異なる場合、および値の引き渡しによる参照関係が異なる場合は、それぞれ別の複数呼出グループとして扱うと共に、
    前記シナリオ抽出処理部において、サービスコンポーネント連携シナリオから複数被参照グループを抽出する際に、参照の順序が異なる場合、および値の引き渡しによる参照関係が異なる場合は、それぞれ別の複数被参照グループとして扱うこと
    を特徴とする請求項3または請求項4に記載のシナリオ開発支援装置。
  6. 前記グループ推薦処理部において、前記コンポーネント関係情報記憶部から推薦するコンポーネントのグループを選択する際の所定の基準として、
    前記コンポーネント関係情報記憶部にコンポーネントのグループが登録された登録回数および利用回数を基に算出された推薦指数の大きなグループのものから選定することすること
    を特徴とする請求項1から請求項6のいずれか1項に記載のシナリオ開発支援装置。
  7. サービスコンポーネント連携シナリオおよびサービスコンポーネントを利用者に提供する外部装置から、前記利用者により利用されたサービスコンポーネント連携シナリオおよびサービスコンポーネントの利用情報を取得する推薦前処理部を更に備え、
    前記コンポーネント関係情報記憶部は、前記各サービスコンポーネントのグループの登録回数に加えて、さらに各サービスコンポーネントのグループが利用された利用回数の情報を記憶するように構成され、
    前記推薦前処理部は、前記外部装置から取得した情報を基に、前記利用者により利用されたサービスコンポーネントのグループを抽出し、前記コンポーネント関係情報記憶部内の当該利用されたコンポーネントのグループの利用回数を示す情報を更新すると共に、
    前記グループ推薦処理部において、前記コンポーネント関係情報記憶部から推薦するコンポーネントのグループを選択する際の所定の基準として、前記登録回数と前記利用回数とを基に算出された推薦指数の大きなグループのものから選定する、
    ことを特徴とする請求項6に記載のシナリオ開発支援装置。
  8. 予め指定されるサービスコンポーネントの情報、または、サービスコンポーネント連携シナリオにより示されるサービスコンポーネントの情報を入力とし、前記入力されるサービスコンポーネントの情報を基に、推薦するサービスコンポーネントのグループを含むサービスコンポーネント連携シナリオを生成して出力するシナリオ開発支援装置におけるシナリオ開発支援方法であって、
    予め利用されている既存のサービスコンポーネント連携シナリオに含まれるサービスコンポーネントの組み合わせを、サービスコンポーネント間の参照関係の態様に応じてグループ分けして記憶するコンポーネント関係情報記憶手順と、
    前記入力されるサービスコンポーネント連携シナリオに含まれるサービスコンポーネントを抽出するシナリオ抽出処理手順と、
    前記予め指定されるサービスコンポーネントの情報、または前記シナリオ抽出処理手順により抽出されたサービスコンポーネントの情報を基に、前記コンポーネント関係情報記憶手順により記憶されたサービスコンポーネントのグループを検索し、所定の基準により推薦するサービスコンポーネントのグループを抽出するグループ推薦処理手順と、
    前記グループ推薦処理手順により抽出されたサービスコンポーネントのグループを含む新たなサービスコンポーネント連携シナリオを生成して出力するシナリオ推薦処理手順と、
    を含むことを特徴とするシナリオ開発支援方法。
JP2009037895A 2009-02-20 2009-02-20 シナリオ開発支援装置、およびシナリオ開発支援方法 Expired - Fee Related JP5084760B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009037895A JP5084760B2 (ja) 2009-02-20 2009-02-20 シナリオ開発支援装置、およびシナリオ開発支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009037895A JP5084760B2 (ja) 2009-02-20 2009-02-20 シナリオ開発支援装置、およびシナリオ開発支援方法

Publications (2)

Publication Number Publication Date
JP2010191865A true JP2010191865A (ja) 2010-09-02
JP5084760B2 JP5084760B2 (ja) 2012-11-28

Family

ID=42817817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009037895A Expired - Fee Related JP5084760B2 (ja) 2009-02-20 2009-02-20 シナリオ開発支援装置、およびシナリオ開発支援方法

Country Status (1)

Country Link
JP (1) JP5084760B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606658B2 (en) 2016-03-22 2020-03-31 International Business Machines Corporation Approach to recommending mashups
KR102148439B1 (ko) * 2019-10-24 2020-08-26 한경훈 Api 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 서버, 방법 및 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149405A (ja) * 2000-11-07 2002-05-24 Fujitsu Ltd オブジェクト連携装置
JP2005317007A (ja) * 2004-04-30 2005-11-10 Xerox Corp ワークフロー自動生成システム、および、ワークフロー分析および制御システム
JP2008021095A (ja) * 2006-07-12 2008-01-31 Nippon Telegr & Teleph Corp <Ntt> 連携シナリオ作成支援システム及びその方法並びにプログラム
JP2008217161A (ja) * 2007-02-28 2008-09-18 Nippon Telegr & Teleph Corp <Ntt> シナリオ作成支援システム、シナリオ作成支援装置およびシナリオ作成支援方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149405A (ja) * 2000-11-07 2002-05-24 Fujitsu Ltd オブジェクト連携装置
JP2005317007A (ja) * 2004-04-30 2005-11-10 Xerox Corp ワークフロー自動生成システム、および、ワークフロー分析および制御システム
JP2008021095A (ja) * 2006-07-12 2008-01-31 Nippon Telegr & Teleph Corp <Ntt> 連携シナリオ作成支援システム及びその方法並びにプログラム
JP2008217161A (ja) * 2007-02-28 2008-09-18 Nippon Telegr & Teleph Corp <Ntt> シナリオ作成支援システム、シナリオ作成支援装置およびシナリオ作成支援方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606658B2 (en) 2016-03-22 2020-03-31 International Business Machines Corporation Approach to recommending mashups
KR102148439B1 (ko) * 2019-10-24 2020-08-26 한경훈 Api 기능 및 시나리오가 결합된 블럭 기반 적응적 개발환경을 제공하는 챗봇 서비스 제공 서버, 방법 및 시스템

Also Published As

Publication number Publication date
JP5084760B2 (ja) 2012-11-28

Similar Documents

Publication Publication Date Title
US9471616B2 (en) Managing user ratings in a web services environment
CN110263186A (zh) 用于识别、选择和呈现媒体内容项目的方法和系统
KR101283019B1 (ko) SaaS 어플리케이션 생성 방법 및 이를 실행하는 어플리케이션 생성 서버
CN103282152A (zh) 用于具有求助请求功能的焊机的系统和方法
US8839186B2 (en) Entity morphing in metamodel-based tools
EP2761570B1 (en) Extending a conversation across applications
US20200293557A1 (en) Efficient association of related entities
CN105791080A (zh) 群发消息处理方法和系统、电子设备
US20100318657A1 (en) Educational Adaptive Provider Architecture
US9208194B2 (en) Expanding high level queries
Liu et al. A multiple attribute decision making method based on uncertain linguistic Heronian mean
CN105893396A (zh) 基于附近位置来解释用户查询
JP5084760B2 (ja) シナリオ開発支援装置、およびシナリオ開発支援方法
JP2010049397A (ja) コンポーネント連携シナリオ統合開発環境提供システム、シナリオ作成支援方法、及び、プログラム
JP2019008663A (ja) ヘルプ画面提示システム、ヘルプ画面提示方法及びヘルプ画面提示プログラム
JP5861545B2 (ja) 情報処理装置、履歴制御方法および履歴制御プログラム
JP2009151374A (ja) 操作支援装置、操作支援方法および操作支援用プログラム
US20110134926A1 (en) Edge routing using connection regions
CN108140036A (zh) 拨号器应用
JP2006079224A (ja) Eaに基づく個別システムの構築を支援する方法およびシステム
JP2012242859A (ja) グラフ生成装置およびプログラム
JP2010204915A (ja) 電子文書開示システム、電子文書の開示方法およびプログラム
US20240095214A1 (en) Process &amp; system for managing metadata in a hypergraph
JP2011076202A (ja) 情報提供システム
JPWO2017158675A1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100526

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120828

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120904

R151 Written notification of patent or utility model registration

Ref document number: 5084760

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees