(57)【要約】【課題】  様々な要因を考慮して、サービスシステム実現のための適切なAPIやプラットフォームの組み合わせを選択することを容易にする。【解決手段】  構築対象システムで、トランザクションを連続して処理する機能の各ペアにおける、機能の各々を実現するプラットフォーム候補の各ペアに関連付けて評価項目の値を格納する、組み合わせ情報記憶手段と、トランザクションごとに与えられた機能順に実行される、複数のプラットフォームの評価項目の期待値を、組み合わせ情報記憶手段から与えられた機能順に順番を１つずつずらして選択された、プラットフォーム候補のペアに関連付けられている評価項目の値を基に決定し、決定した期待値に基づいて選択した、複数の機能の各々を実現するプラットフォーム候補の組み合わせと実行順序を出力する構成要素評価手段と、を備えるシステム構築支援装置。【選択図】      図１
2018055249.tif 000002
【特許請求の範囲】
【請求項１】
構築対象システムで、トランザクションを連続して処理する機能の各ペアにおける、前記機能の各々を実現するプラットフォーム候補の各ペアに関連付けて評価項目の値を格納する、組み合わせ情報記憶手段と、
前記トランザクションごとに与えられた機能順に実行される、複数のプラットフォームの前記評価項目の期待値を、前記組み合わせ情報記憶手段から前記与えられた機能順に順番を１つずつずらして選択された、前記プラットフォーム候補のペアに関連付けられている前記評価項目の値を基に決定し、決定した前記期待値に基づいて選択した、前記複数の前記機能の各々を実現する前記プラットフォーム候補の組み合わせと実行順序を出力する構成要素評価手段と、を備えるシステム構築支援装置。
【請求項２】
前記構成要素評価手段は、前記評価項目がコスト、処理時間、または、入出力時間である場合は、選択された前記プラットフォーム候補のペアに関連付けられている前記評価項目の値の総和を前記期待値として決定する、請求項１のシステム構築支援装置。
【請求項３】
前記構成要素評価手段は、前記評価項目が処理トランザクション数である場合は、選択された前記プラットフォーム候補のペアに関連付けられている前記評価項目の値の最小値を前記期待値として決定する、請求項１乃至請求項２の何れか１項のシステム構築支援装置。
【請求項４】
前記構成要素評価手段は、前記評価項目が所定機能の種類である場合は、選択された前記プラットフォーム候補のペアに関連付けられている前記評価項目の値の何れもが同じ種類を示す場合に、前記同じ種類を前記期待値として決定する、請求項１乃至請求項３の何れか１項のシステム構築支援装置。
【請求項５】
前記構成要素評価手段は、前記評価項目が装置設置場所である場合は、選択された前記プラットフォーム候補のペアに関連付けられている前記評価項目の値の何れもが同じ場所を示す場合に、前記同じ場所を前記期待値として決定する、請求項１乃至請求項４の何れか１項のシステム構築支援装置。
【請求項６】
前記構成要素評価手段は、前記評価項目が複数ある場合、前記期待値が所定条件を満たすと判定した前記評価項目に与えられた重みを加算し、加算値に基づいて、前記複数の前記機能の各々を実現するプラットフォーム候補の、前記与えられた順序の並びを与えられた数だけ選択して出力する請求項１乃至請求項５の何れか１項のシステム構築支援装置。
【請求項７】
前記構築対象システムで連続して実行される前記機能の各ペアにおける、前記機能の各々を実現する前記プラットフォーム候補の各ペアと、開発者識別子とに関連付けて、関連付けられている前記開発者識別子と前記プラットフォーム候補のペアに関するスキル情報を格納する、開発スキル情報記憶手段と、
前記構成要素評価手段が出力した前記プラットフォーム候補の組み合わせと実行順序から、前記与えられた機能順に選択された前記プラットフォーム候補の各ペア対応に、関連付けられている前記スキル情報に基づいて前記開発者識別子を選択して出力する要員候補評価手段と、をさらに備える請求項１乃至請求項６の何れか１項のシステム構築支援装置。
【請求項８】
構築対象システムで、トランザクションを連続して処理する機能の各ペアにおける、前記機能の各々を実現するプラットフォーム候補の各ペアに関連付けて評価項目の値を組み合わせ情報記憶手段に格納し、
前記トランザクションごとに与えられた機能順に実行される、複数のプラットフォームの前記評価項目の期待値を、前記組み合わせ情報記憶手段から前記与えられた機能順に順番を１つずつずらして選択された、前記プラットフォーム候補のペアに関連付けられている前記評価項目の値を基に決定し、決定した前記期待値に基づいて選択した、前記複数の前記機能の各々を実現する前記プラットフォーム候補の組み合わせと実行順序を出力する、システム構築支援方法。
【請求項９】
前記評価項目がコスト、処理時間、または、入出力時間である場合は、選択された前記プラットフォーム候補のペアに関連付けられている前記評価項目の値の総和を前記期待値として決定する、請求項８のシステム構築支援方法。
【請求項１０】
構築対象システムで、トランザクションを連続して処理する機能の各ペアにおける、前記機能の各々を実現するプラットフォーム候補の各ペアに関連付けて評価項目の値を組み合わせ情報記憶手段に格納する格納処理と、
前記トランザクションごとに与えられた機能順に実行される、複数のプラットフォームの前記評価項目の期待値を、前記組み合わせ情報記憶手段から前記与えられた機能順に順番を１つずつずらして選択された、前記プラットフォーム候補のペアに関連付けられている前記評価項目の値を基に決定し、決定した前記期待値に基づいて選択した、前記複数の前記機能の各々を実現する前記プラットフォーム候補の組み合わせと実行順序を出力する構成要素評価処理と、をコンピュータに実行させるシステム構築支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム構築支援装置、システム構築支援方法、および、システム構築支援プログラム、特に、多様化するプラットフォームに対応するシステム構築支援装置，システム構築支援方法、および、システム構築支援プログラムに関する。
【背景技術】
【０００２】
世の中の動向として、SoR (System of Record)から、SoE (Systems of Engagement)の開発に移行している。SoRは、顧客情報等のデータを扱うシステムであり、一度定めたシステムの仕様は変更されることが少なかった。このため、要求を満たすためのサービスシステムを自社で一から開発し、保守運用すれば十分であった。
【０００３】
しかしながら、SoEは、エンドユーザなどのサービス利用者の要求をとらえ、サービスとして即時実現することが求められるシステムである。サービス利用者の要求は、世の中の動向、流行や法律の改定を含む様々な外的要因により、頻繁に変化するものである。サービス利用者の要求に即時に対応しなければ、ビジネスチャンスを逃すことにつながる。このため、サービス提供者は、サービスの即時実現と、要求変化に対する柔軟なサービス変更が求められる。
【０００４】
サービスの即時実現と、要求変化に対する柔軟な対応のため、システムの開発方法にも変化が求められる。システム構築期間短縮を目的として、サービス提供者は、一からサービスを構築するのではなく、クラウドプラットフォーム上に存在するAPI (Application Programing Interface)を複数組み合わせて、サービスを構築することが主流となってきている。サービスの構築に用いることが出来るクラウドプラットフォーム上に存在するAPIは、例えば、IBM（登録商標）社のBlueMix（登録商標）やsalesforce（登録商標）社のSalesforce lightningが有る。
【０００５】
クラウドプラットフォーム上でのシステム構築を考えると、サービス提供者は、サービスシステムを実現するためのAPIとプラットフォームの組み合わせの複数の候補の中から、採用するAPIとプラットフォームの組み合わせを選択する必要がある。サービスを実現するために必要な複数のAPIやクラウドプラットフォームの組み合わせの候補を決定するためには、コストやシステムの性能等を見積もらなければならない。しかしながら、システム性能は、様々な要因により変化する。それらの要因は、ａ）サービス提供者が保有する技術的な制約、例えばサービス提供者が保有する既存システム依存の問題、ｂ）コスト、ｃ）APIを提供するプラットフォームの相性や依存関係、および、ｄ）設置場所のようなシステムの外的要因を含む。
【０００６】
現状では、サービス提供者は、多くの有識者に依存して、それらを加味してシステム設計をしているため、サービス提供者にとって大きなリスクとなり、問題となっている。
【０００７】
さらに、組み合わせを決定できたとしても、サービス提供者は、サービスを実現するAPIやプラットフォームの利用経験のある開発者をアサインしなければならない。利用経験のある開発者がいないと、開発経験により得られたAPIやプラットフォームの相性、例えばデータの整合性などに依存した組み合わせによる改造規模、に関するノウハウ不足が発生する。このため、バグの作りこみが発生し、システム構築期間が延びてしまうことが考えられる。
【０００８】
しかしながら、多種多様なAPIやクラウドプラットフォームが、システム構築の選択肢になり得る。このため、サービス提供者は、システム構築期間短縮のため、サービスを実現するAPIとプラットフォームの組み合わせの開発経験をもつ開発者を探し出さなければなない。このことも、サービス提供者の大きな負担となり問題となっている。
【０００９】
特許文献１は、APIやプラットフォームの相性の依存関係を明らかにする１つの方法を開示する。この方法は、クラウド上で提供するサービスや機能、ハードウェア等の資源や性能などの品質の依存関係を推定し、定性挙動表として保持する。そして、この定性挙動表を基に、Webサービス設計者は、クラウド上で提供されるサービスに与えるパラメータや依存関係を見積もる。クラウドでは、ミドルウェア・スタックがクラウド事業者によって管理されるため、Ｗｅｂサービス開発者は、ミドルウェア・スタックの構成や状態を正確に知り得ない。そのため、この方法においてWebサービス設計者は、定性推論等を利用し、クラウド上で提供するサービスや機能等の依存関係を推定し、定性挙動表として保持する定性挙動表を基に、クラウド上で提供されるサービスに与えるパラメータや依存関係を見積もる。
【００１０】
特許文献２は、システム構築期間を短縮するため、必要なスキルを持ったシステム開発者をアサインする開発体制管理方法を開示する。この方法は、ソフトウェア開発において、各々の工程によって必要とするレベル又はランクのから、必要とする開発人員を現実の開発人員と付き合わせて評価する。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開2014-170485号公報
【特許文献２】特開平8-329152号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
適切なシステムの構築を迅速に行うためには、様々な要因に鑑み、適切なAPIやプラットフォームを迅速に決定することが課題となる。鑑みるべき要因は、例えば、ａ）サービス提供者が保有する技術的な制約、ｂ）コスト、ｃ）APIを提供するプラットフォームの相性や依存関係、および、ｄ）設置場所のような外的要因である。しかしながら、特許文献１が開示する方法は、システム構築のコスト、APIを提供するプラットフォームの相性や依存関係、設置場所のような要因については考慮しない。
【００１３】
本発明は、上記の課題を鑑みてなされたものであり、コストや、技術制約や、APIやプラットフォームの相性や依存関係を反映して、サービスシステム実現のためのAPIやプラットフォームの適切な組み合わせをサービス提供者に提示する、システム構築支援装置、システム構築支援方法、および、システム構築支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一態様に係るシステム構築支援装置は、構築対象システムで、トランザクションを連続して処理する機能の各ペアにおける、前記機能の各々を実現するプラットフォーム候補の各ペアに関連付けて評価項目の値を格納する、組み合わせ情報記憶手段と、前記トランザクションごとに与えられた機能順に実行される、複数のプラットフォームの前記評価項目の期待値を、前記組み合わせ情報記憶手段から前記与えられた機能順に順番を１つずつずらして選択された、前記プラットフォーム候補のペアに関連付けられている前記評価項目の値を基に決定し、決定した前記期待値に基づいて選択した、前記複数の前記機能の各々を実現する前記プラットフォーム候補の組み合わせと実行順序を出力する構成要素評価手段と、を備える。
【００１５】
本発明の一態様に係るシステム構築支援方法は、構築対象システムで、トランザクションを連続して処理する機能の各ペアにおける、前記機能の各々を実現するプラットフォーム候補の各ペアに関連付けて評価項目の値を組み合わせ情報記憶手段に格納し、前記トランザクションごとに与えられた機能順に実行される、複数のプラットフォームの前記評価項目の期待値を、前記組み合わせ情報記憶手段から前記与えられた機能順に順番を１つずつずらして選択された、前記プラットフォーム候補のペアに関連付けられている前記評価項目の値を基に決定し、決定した前記期待値に基づいて選択した、前記複数の前記機能の各々を実現する前記プラットフォーム候補の組み合わせと実行順序を出力する。
【００１６】
本発明の一態様に係るシステム構築支援プログラムは、構築対象システムで、トランザクションを連続して処理する機能の各ペアにおける、前記機能の各々を実現するプラットフォーム候補の各ペアに関連付けて評価項目の値を組み合わせ情報記憶手段に格納する格納処理と、前記トランザクションごとに与えられた機能順に実行される、複数のプラットフォームの前記評価項目の期待値を、前記組み合わせ情報記憶手段から前記与えられた機能順に順番を１つずつずらして選択された、前記プラットフォーム候補のペアに関連付けられている前記評価項目の値を基に決定し、決定した前記期待値に基づいて選択した、前記複数の前記機能の各々を実現する前記プラットフォーム候補の組み合わせと実行順序を出力する構成要素評価処理と、をコンピュータに実行させる。
【発明の効果】
【００１７】
本発明にかかるシステム構築支援装置等は、様々な要因を反映して、サービスシステム実現のための適切なAPIやプラットフォームの組み合わせを出力する。これにより、サービス提供者は、適切なシステムの構築を迅速に行うことが可能となる。
【図面の簡単な説明】
【００１８】
【図１】図１は、第１の実施の形態に係るシステム構築支援装置１の構成を示すブロック図である。
【図２】図２は、API・プラットフォーム情報１０１の構成を示す図である。
【図３】図３は、機能候補情報１０６の構成を示す図である。
【図４】図４は、ユーザ要求情報１１１の構成を示す図である。
【図５】図５は、サービスプロセス情報１１６の構成を示す図である。
【図６】図６は、API候補情報１２６の構成を示す図である。
【図７】図７は、組み合わせ実績情報１３１の構造を示す図である。
【図８】図８は、性能情報１２１の構造を示す図である。
【図９】図９は、構成評価式情報１３６の構造を示す図である。
【図１０】図１０は、システム構成候補情報１５１の構造を示す図である。
【図１１】図１１は、開発スキル情報１４１の構造を示す図である。
【図１２】図１２は、システム構築支援装置１の動作概要を示すフローチャートである。
【図１３】図１３は、図１２のＳ１０３における構成要素評価部１２の動作のフローチャートである。
【図１４】図１４は、図１２のＳ１０４における要員候補評価部１３の動作のフローチャートである。
【図１５】図１５は、サービスプロセスを実現する機能の情報を入力する為の画面を示す図である。
【図１６】図１６は、サービス提供者の要求とコスト的な制約を入力する為の画面を示す図である。
【図１７】図１７は、APIの呼び出し順とそれに適した開発者を出力する為の画面を示す図である。
【図１８】図１８は、コンピュータ装置６００の構成図である。
【図１９】図１９は、第２の実施の形態に係るシステム構築支援装置１の構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
＜第１の実施の形態＞
[構成の説明]
図１は、第１の実施の形態に係るシステム構築支援装置１の構成を示すブロック図である。システム構築支援装置１は、API・プラットフォーム情報記憶部１００と機能候補情報記憶部１０５と、要求情報受付部１０と、ユーザ要求情報記憶部１１０とサービスプロセス情報記憶部１１５と、構成条件生成部１１と、を備える。システム構築支援装置１は、さらに、性能情報記憶部１２０と、API候補情報記憶部１２５と、組み合わせ実績情報記憶部１３０と、構成評価式情報記憶部１３５と、構成候補情報記憶部１５０と、構成要素評価部１２と、開発スキル情報記憶部１４０と、要員候補評価部１３とを備える。
【００２０】
API・プラットフォーム情報記憶部１００は、サービス提供者が要求を入力するために必要なAPI・プラットフォーム情報１０１を格納する。図２は、API・プラットフォーム情報１０１の構成を示す図である。API・プラットフォーム情報１０１は、システム開発に利用可能なAPIやプラットフォームの名称を包含している。
【００２１】
機能候補情報記憶部１０５は、サービスプロセスを実現する機能を選択するために必要な機能候補情報１０６を格納する。図３は、機能候補情報１０６の構成を示す図である。機能候補情報１０６は、サービスプロセスを実現する機能の各名称を包含している。
【００２２】
要求情報受付部１０は、例えば、画面やマウスなどの入力手段を用いて、サービス提供者から、サービス提供者の要求とコスト的な制約やコストとサービスプロセスを実現する機能の情報を受け付ける。このとき、要求情報受付部１０は、API・プラットフォーム情報１０１、および、機能候補情報１０６の情報を、例えば、入力の選択肢として表示しても良い。
【００２３】
構成条件生成部１１は、要求情報受付部１０がサービス提供業者から受け付けた情報に基づいて、ユーザ要求情報１１１と、サービスプロセス情報１１６と、を生成する。構成条件生成部１１は、生成したユーザ要求情報１１１を、ユーザ要求情報記憶部１１０に格納する。構成条件生成部１１は、生成したサービスプロセス情報１１６を、サービスプロセス情報記憶部１１５に格納する。
【００２４】
図４は、ユーザ要求情報１１１の構成を示す図である。ユーザ要求情報１１１は、システム構成条件として必要な、サービス提供者が構築対象システムに求める性能やコスト制約を表す情報を包含する。ユーザ要求情報１１１は、図４に示すような形式で、ファイル転送などで外部から与えられても良い。
【００２５】
図５は、サービスプロセス情報１１６の構成を示す図である。サービスプロセス情報１１６は、サービスを構成する機能の順序・組み合わせを表す情報を包含する。図５において、サービスＩＤ（Identification）は、構築対象システムの識別子である。呼び出し番号及び機能名は、構築対象システムが、トランザクションごとに機能名が示す各機能を呼び出して番号順に実行していくことを示す。図５の例は、構築対象システムが、トランザクションごとに旅券検索機能、旅券申込み機能、および、支払い機能の各機能を、この順序で実行することを表している。サービスプロセス情報１１６は、図５に示すような形式で、ファイル転送などで外部から与えられても良い。
【００２６】
API候補情報記憶部１２５は、API候補情報１２６を格納する。図６は、API候補情報１２６の構成を示す図である。API候補情報１２６は、機能に関連付けて、当該機能をインプリメントすることが出来るAPIの識別子と、当該APIを提供するプラットフォームの識別子と、当該APIを提供するサーバ等の場所に関する情報を記憶している。
【００２７】
API候補情報１２６が記憶する場所に関する情報は、接続元と接続先の２つがある。接続元は、当該APIを提供するサーバ等の環境にアクセスする場所を示す。接続先は、当該APIを提供するサーバ等の設置場所を示す。
【００２８】
例えば、図６の表の第一行目は、旅券検索機能は、Ａ社プラットフォームが提供する旅券検索ＡというAPIでインプリメント可能なこと、そして、当該APIを提供するサーバ等は東京に設置されていることを示す。
【００２９】
なお、一つの機能に対し、当該機能を実現することが出来るAPIは複数存在しても良い。システム構築支援装置１は、構築対象システムが必要とする機能に対し、サービス提供業者が適切なAPIを選択することを支援する。なお、APIに対し、当該APIを提供するプラットフォームは一つである。したがって、システム構築支援装置１は、構築対象システムが必要とする機能に対し、適切なプラットフォームをサービス提供業者が選択することを支援するとも言える。
【００３０】
API候補情報１２６は、例えば、サービス提供業者の経験や製品調査結果に基づいて、予めシステム構築支援装置１に設定されている。
【００３１】
組み合わせ実績情報記憶部１３０は、組み合わせ実績情報１３１を格納する。図７は、組み合わせ実績情報１３１の構造を示す図である。
【００３２】
組み合わせ実績情報１３１は、構築対象システムにおいて、トランザクションを連続して処理するAPIの各ペアに関連付けて、当該ペアをインプリメントする為のコスト情報やインプリメントした時の性能情報、その他情報を格納する。具体的には、組み合わせ実績情報１３１は、トランザクションを先に処理するAPI（以降、接続元APIと称する）と続いて処理するAPI（以降、接続先APIと称する）を連動させる為のコスト、連動させたときの処理性能、および、その他情報を格納する。
【００３３】
なお、組み合わせ実績情報１３１は、トランザクションを連続して処理する機能のペアをインプリメントできる全てのAPIのペアに関連付けて、コスト情報、性能情報、その他情報を格納する。例えば図６が示すように、機能のペアが、旅券検索機能と旅券申込み機能であり、前者が旅券検索_Aと旅券検索_Bの２つのAPIの何れでもインプリメント可能であり、後者が旅券申込み_Dと旅券申込み_Eの２つのAPIの何れでもインプリメント可能であるとする。この場合、組み合わせ実績情報１３１は、図７が示すように旅券検索_Aと旅券申込み_D、旅券検索_Aと旅券申込み_E、旅券検索_Bと旅券申込み_D、旅券検索_Bと旅券申込み_Eの４つのAPIのペアについて、コスト情報、性能情報、その他情報を格納する。
【００３４】
なお、上述したように、APIが決まれば、それを提供するプラットフォームが決まる。したがって、組み合わせ実績情報１３１は、トランザクションを連続して処理するプラットフォームの各ペアに関連付けて、当該ペアをインプリメントする為のコスト情報、インプリメントした時の性能情報、および、その他情報を格納するとも言える。
【００３５】
また、後述するように、コスト、処理性能、および、その他情報の値に基づいて、各機能に対して、AIP／プラットフォームが選択される。すなわち、組み合わせ実績情報１３１、および、その補助情報としての性能情報１２１が格納する、コスト、処理性能、および、その他情報は、選択を決定する為の評価項目となる。
【００３６】
図７によれば、組み合わせ実績情報１３１は、接続元APIと接続先APIのペアごとに、例えば、総コスト、開発コスト、ライセンス料、および、性能IDを記憶している。ここで、性能IDは、各種性能項目、その他項目の値のパターンの識別情報である。性能IDと、各種性能項目、その他項目の値との対応付け情報は、性能情報１２１に格納されている。
【００３７】
図８は、性能情報１２１の構造を示す図である。性能情報１２１は、性能情報記憶部１２０に格納されている。性能情報１２１は、性能IDに関連付けて、各性能項目やその他項目の値を格納している。
【００３８】
例えば、図７の組み合わせ実績情報１３１を参照することで、構成要素評価部１２は、旅券検索機能を旅券検索_AのAPIで、旅券申込み機能を旅券申込み_DのAPIでインプリメントした場合、総コストが100必要となり、性能IDがS1の性能等が得られることが分かる。また、構成要素評価部１２は、図８の性能情報１２１のS1を参照することで、当該AIPペアは、１５００BPS(Bit Per Second)のスループット、httpsによるセキュリティ、１０００TPS(Transaction Per Second)のトランザクション性能、３msecのディスクIO時間の性能等を達成することが分かる。
【００３９】
組み合わせ実績情報１３１と性能情報１２１は２つを統合して１つの表、例えば、組み合わせ情報としてまとめて作成されても良い。この場合、性能情報記憶部１２０と組み合わせ実績情報記憶部１３０に代えて、組み合わせ情報を格納する組み合わせ情報記憶部１６０が設置されても良い。
【００４０】
さらに、組み合わせ実績情報１３１と性能情報１２１、あるいは、組み合わせ情報は、例えば、サーバの設置場所に関する情報を評価項目として包含していても良い。
【００４１】
組み合わせ実績情報１３１と性能情報１２１、あるいは、組み合わせ情報は、例えば、サービス提供業者のシステムの実績データに基づいて、予めシステム構築支援装置１に設定されている。組み合わせ実績情報１３１と性能情報１２１、あるいは、組み合わせ情報は、机上計算データに基づいて、予めシステム構築支援装置１に設定されてもよい。
【００４２】
構成評価式情報記憶部１３５は、構成評価式情報１３６を格納する。図９は、構成評価式情報１３６の構造を示す図である。構成評価式情報１３６は、APIの組み合わせを評価する情報と開発要員を評価する為の情報である。
【００４３】
図９によれば、構成評価式情報１３６は、ａ）の構成評価用の図中左側の表と、ｂ）の開発要員評価用の図中右側の表とを包含する。ａ）の構成評価用の表は、各評価項目に関連付けて重みと閾値を格納する。ｂ）の開発要員評価用の表は、開発経験項目に関連付けて重みを格納する。
【００４４】
図９のａ）構成評価用の表によれば、構築対象システムのスループットは、図５のサービスプロセス情報１１６の全プロセスを通じて３０００BPS以内であることが要求されており、その達成の重要性の重みは、０．１である。同様に、構築対象システムのセキュリティは、図５のサービスプロセス情報１１６の全プロセスを通じてhttpsで保護されていることが要求されており、その達成の重要性の重みは、０．１である。同様に、構築対象システムの開発累計コストは、図５のサービスプロセス情報１１６の全プロセスを通じて６００以下であることが要求されており、その達成の重要性の重みは、０．３である。
【００４５】
図９の開発要員評価用の表によれば、開発要員はプラットフォームを問わない開発経験が要求されており、その経験の重要性の重みは、０．５である。また、開発要員は、APIのペアの接続元API、接続先APIの両者を用いたシステムの開発経験も要求されており、その経験の重要性の重みは、それぞれ、０．３、０．２である。
【００４６】
構成評価式情報１３６は、例えば、要求情報受付部１０が取得した情報（コスト、性能の制約条件に加え、重み情報を含む）から構成条件生成部１１が生成する。構成評価式情報１３６は、図９に示すような形式で、ファイル転送などで外部から与えられても良い。
【００４７】
構成要素評価部１２は、サービスを実現する機能の組み合わせと呼び出し順序に対応するAPIの組み合わせと呼び出し順序を決定し、その情報を例えば、画面を用いて提示する。このとき、構成要素評価部１２は、APIの組み合わせや呼び出し順序により期待される、コスト、性能、および、その他項目についての評価項目の値に基づいて、APIの組み合わせと呼び出し順序を決定する。
【００４８】
開発スキル情報記憶部１４０は、開発スキル情報１４１を格納する。図１１は、開発スキル情報１４１の構造を示す図である。開発スキル情報１４１は、システム開発者が有する、APIの組み合わせやクラウドプラットフォームの開発スキルを表す。具体的には、開発スキル情報１４１は、開発者の識別子とAPIのペアに関連付けて、当該開発者が当該APIのペアに対して有するスキルの高さを示す指数を格納する。当該指数は、接続元APIと接続先APIの各々に対して格納されている。図１１によれば、例えば、開発者の○○太郎は、旅券検索_Aと旅券申込み_DのAPIのペアにおける接続元APIである旅券検索_Aに関し指数３のスキルを持ち、接続先APIである旅券申込み_Dに関し指数４のスキルを持つ。
【００４９】
要員候補評価部１３は、構成要素評価部１２が決定したAPIの組み合わせや呼び出し順序に含まれるAPIのペアごとに、当該APIのペアに関するスキルを持つシステム開発要員を検索する。次いで、要員候補評価部１３は、開発要員のスキルを評価し、評価値に従って、APIのペアごとに開発要員を選択して、例えば、画面などを用いてサービス提供者に提示する。
【００５０】
ここで、システム構築支援装置１の、要求情報受付部１０、構成条件生成部１１、構成要素評価部１２、および、要員候補評価部１３は、論理回路で構成される。API・プラットフォーム情報記憶部１００、機能候補情報記憶部１０５、ユーザ要求情報記憶部１１０、および、サービスプロセス情報記憶部１１５は、磁気記憶装置、または、半導体記憶装置で構成される。性能情報記憶部１２０、API候補情報記憶部１２５、組み合わせ実績情報記憶部１３０、構成評価式情報記憶部１３５、構成候補情報記憶部１５０、および、開発スキル情報記憶部１４０も、磁気記憶装置、または、半導体記憶装置で構成される。
【００５１】
システム構築支援装置１は、コンピュータ装置６００により実現されても良い。図１８は、コンピュータ装置６００の構成図である。コンピュータ装置６００は、バス６４０で相互に接続された、プロセッサ６１０、主記憶部６３０、および、外部記憶装置６２０を備える。プロセッサ６１０は、バス６４０を経由して、主記憶部６３０、および、外部記憶装置６２０に対してデータの読み書きを行う。また、プロセッサ６１０は、主記憶部６３０に格納されているプログラム６５０を実行する。なお、プログラム６５０は、当初外部記憶装置６２０に格納されており、コンピュータ装置６００の初期設定時に、プロセッサ６１０が外部記憶装置６２０から主記憶部６３０にロードしても良い。
【００５２】
ここで、主記憶部６３０は半導体メモリ装置である。外部記憶装置６２０はディスク装置、または、半導体記憶装置等の記憶装置である。
【００５３】
プロセッサ６１０は、プログラム６５０を実行することにより、例えば、要求情報受付部１０と、構成条件生成部１１、構成要素評価部１２と、要員候補評価部１３として機能する。すなわち、プロセッサ６１０は、プログラム６５０を実行することにより、例えば、要求情報受付部１０、構成条件生成部１１、構成要素評価部１２、および、要員候補評価部１３が行う処理を実行する。主記憶部６３０または、外部記憶装置６２０は、例えば、API・プラットフォーム情報記憶部１００を含む、記憶部として機能する。
【００５４】
[動作の説明]
図１２は、システム構築支援装置１の動作概要を示すフローチャートである。図１２を参照して、システム構築支援装置１の動作の詳細について説明する。
【００５５】
図１２のＳ１０１において、要求情報受付部１０は、先ず、API・プラットフォーム情報記憶部１００からAPI・プラットフォーム情報１０１を読み込み、機能候補情報記憶部１０５から機能候補情報１０６を読み込む。さらに、要求情報受付部１０は、サービス提供者から、サービスプロセスを実現する機能の情報を、例えば、図１５に示す入力画面を用いて受け付ける。さらに、要求情報受付部１０は、サービス提供者から、要求とコスト的な制約、および、評価用の重み情報を、例えば、図１６に示す画面を用いて受け付ける。
【００５６】
図１２のＳ１０２において、構成条件生成部１１は、要求情報受付部１０が受け付けた情報を受けると、構成対象システムを構成する機能の組み合わせ・呼び出し順序を表すサービスプロセス情報１１６（図５）を生成する。さらに、構成条件生成部１１は、サービス提供者がシステムに求める性能やコスト制約を表すユーザ要求情報１１１（図４）を生成する。
【００５７】
このとき、構成条件生成部１１は、サービス提供者がシステムに求める性能やコスト制約とあらかじめ登録されている重み情報とから、さらに、構成評価式情報１３６（図９）を生成しても良い。構成条件生成部１１は、生成したそれぞれの情報を、サービスプロセス情報記憶部１１５、ユーザ要求情報記憶部１１０、および、構成評価式情報記憶部１３５に格納する。
【００５８】
図１２のＳ１０３において、構成要素評価部１２は、構築対象システムにおけるサービスプロセスのインプリメントに必要なAPIの組み合わせと実行順序（以降、インプリメント案）を検索し、評価し、選択する。後で説明する図１３は、この処理の詳細を示す。
【００５９】
ついで、図１２のＳ１０４において、要員候補評価部１３は、構成要素評価部１２が選択したインプリメント案に適した開発要員を検索し、評価し、選択する。図１４は、この処理の詳細を示す。
【００６０】
最後に、構成要素評価部１２は、図１２のＳ１０５において、選択したインプリメント案と開発要員を、例えば、図１７に示す画面を用いて、サービス提供者に提示する。
【００６１】
図１３は、図１２のＳ１０３における構成要素評価部１２の動作のフローチャートである。
【００６２】
まず、構成要素評価部１２は、サービスプロセス情報１１６からサービスを実現する機能の組み合わせと呼び出し順を取り出し、当該機能の呼び出し順に従って、API候補情報１２６からAPIの組み合わせと呼び出し順序を抽出する。すなわち、構成要素評価部１２は、与えられた複数の機能を与えられた順序で実行するシステムをインプリメントする為に選択し得る、APIの組み合わせと呼び出し順序（以降、インプリメント案）をすべて抽出する（Ｓ２００）。例えば、サービスプロセス情報１１６が図５、API候補情報１２６が図６の通りである場合、構成要素評価部１２は、以下の８つのインプリメント案を抽出する。
ａ１）旅券検索_A、旅券申込み_D、支払機能_A
ｂ１）旅券検索_A、旅券申込み_D、支払機能_B
ｃ１）旅券検索_A、旅券申込み_E、支払機能_A
ｄ１）旅券検索_A、旅券申込み_E、支払機能_B
ｅ１）旅券検索_B、旅券申込み_D、支払機能_A
ｆ１）旅券検索_B、旅券申込み_D、支払機能_B
ｇ１）旅券検索_B、旅券申込み_E、支払機能_A
ｈ１）旅券検索_B、旅券申込み_E、支払機能_B
ついで、構成要素評価部１２は、抽出した各インプリメント案について、呼び出しが早い順から１つずつ順番をずらしながら、２つの機能（以降、機能のペア）をインプリメントするためのAPIのペアを、順次抽出する（Ｓ２０１）。これは、１回目に、１番目と２番目に呼び出されるAPIのペアを抽出し、２回目に、２番目と３番目に呼び出されるAPIのペアを抽出し、以降、ｎ（ｎは３以上）回目に、ｎ番目とｎ+１番目のAPIペアを抽出することを意味する。抽出は、ｎ+１が機能数（上記例においては３）に達すると終了する。
【００６３】
構成要素評価部１２は、例えば、上述の８つのインプリメント案の各々から、以下の２つのAPIのペアを抽出する。
ａ２）（旅券検索_A、旅券申込み_D）、（旅券申込み_D、支払機能_A）
ｂ２）（旅券検索_A、旅券申込み_D）、（旅券申込み_D、支払機能_B）
ｃ２）（旅券検索_A、旅券申込み_E）、（旅券申込み_E、支払機能_A）
ｄ２）（旅券検索_A、旅券申込み_E）、（旅券申込み_E、支払機能_B）
ｅ２）（旅券検索_B、旅券申込み_D）、（旅券申込み_D、支払機能_A）
ｆ２）（旅券検索_B、旅券申込み_D）、（旅券申込み_D、支払機能_B）
ｇ２）（旅券検索_B、旅券申込み_E）、（旅券申込み_E、支払機能_A）
ｈ２）（旅券検索_B、旅券申込み_E）、（旅券申込み_E、支払機能_B）
ついで、構成要素評価部１２は、抽出した各インプリメント案の評価項目の期待値を、各インプリメント案に含まれるAPIのペアについて図７の組み合わせ実績情報１３１と図８の性能情報１２１から得られる値に基づいて、決定する（Ｓ２０２）。具体的には、例えば、上記ａ１）のインプリメント案の評価項目の期待値は、ａ２）で示した（旅券検索_A、旅券申込み_D）と（旅券申込み_D、支払機能_A）の２つのAPIのペアの評価項目値から決定される。
【００６４】
複数のAPIのペアの値から、構成要素評価部１２がどのようにして期待値を決定するかは、評価項目の性格によって異なる。評価項目が、例えば、コスト、処理時間、遅延時間、または、入出力時間であれば、期待値は、各APIのペアの値の総和となる。評価項目が、例えば、処理件数、または、シーケンシャルに実行される複数の処理のボトルネックを表すような値であれば、期待値は、各APIのペアの値の最小値となる。評価項目が、例えば、機密保護機能の種類、または、サーバ設置場所であれば、期待値は、各APIのペアの値が全て同一機能、同一場所であるときだけ、当該機能、当該場所となる。
【００６５】
ついで、構成要素評価部１２は、決定した期待値を図９の構成評価式情報１３６の閾値または指定値と比較して、条件を満足する評価項目の重みの総和を取ることで、インプリメント案の評価値を算出する（Ｓ２０３）。
【００６６】
複数のAPIのペアの算出された期待値が条件を満足するかどうかの判断は、評価項目の性格によって異なる。評価項目が、例えば、コスト、処理時間、遅延時間、または、入出力時間であれば、期待値が与えられた閾値以下である場合に、構成要素評価部１２は、条件を満足すると判断する。評価項目が、処理件数、または、シーケンシャルに実行される複数の処理のボトルネックを表すような値であれば、期待値が閾値以上である場合に、構成要素評価部１２は、条件を満足すると判断する。評価項目が、例えば、機密保護機能の種類、または、サーバ設置場所であれば、期待値が与えられた指定地と同じである場合に、構成要素評価部１２は、条件を満足すると判断する。
【００６７】
従って、評価値は、各インプリメント案が、構成評価式情報１３６の閾値を達成する度合いを示す指標となる。
【００６８】
そして、構成要素評価部１２は、評価値が、サービス提供者から与えられた閾値以上であるインプリメント案を抜粋する。最後に、構成要素評価部１２は、抜粋されたインプリメント案のうち、評価値の高い順に、サービス提供者が定めた数だけのインプリメント案を選択し、システム構成候補情報１５１を生成し、例えば画面などを用いて、サービス提供者に提示する（Ｓ２０４）。
【００６９】
インプリメント案の評価方法は、サービス提供者が任意に決定しても良い。
【００７０】
構成候補情報記憶部１５０は、システム構成候補情報１５１を格納する。図１０は、システム構成候補情報１５１の構造を示す図である。システム構成候補情報１５１は、サービス提供者が定めた数だけのインプリメント案を格納する。図１０の例では、上述のインプリメント案のうち、ａ１）とｃ１）の２案が選択されている。
【００７１】
図１４は、図１２のＳ１０４における要員候補評価部１３の動作のフローチャートである。
【００７２】
要員候補評価部１３は、先ず、図１０のシステム構成候補情報１５１から得られる各インプリメント案からAPIのペアを抽出する（Ｓ３００）。具体的には、上述したａ１）のインプリメント案からは、上述したａ２）で示す２つのＡＰＩのペアが、上述したｃ１）のインプリメント案からは、上述したｃ２）で示す２つのＡＰＩのペアが抽出される。
【００７３】
次いで、要員候補評価部１３は、図１１の開発スキル情報１４１から、APIのペアごとに当該APIのペアに関するスキルを持つシステム開発要員を検索する。次いで、要員候補評価部１３は、図９の構成評価式情報１３６から得られる開発要員評価用の表を用いて開発要員のスキルを表す評価値を算出する（Ｓ３０１）。
【００７４】
最後に、要員候補評価部１３は、評価値に従って、APIのペアごとに開発要員を選択して、例えば、図１７に示す画面を用いてサービス提供者に提示する（Ｓ３０２）。
【００７５】
例えば、要員候補評価部１３は、ａ２）における（旅券検索_Aと旅券申し込み_D）というAPIのペアに対して、図１１の開発スキル情報１４１からこれらのAPIを利用したことのあるシステム開発経験者として、○○太郎と××次郎を検索する。
【００７６】
そして、要員候補評価部１３は、構成評価式情報１３６から重みを取得し、各システム開発経験者の評価値を算出する。算出において、要員候補評価部１３は、例えば、１）構成評価式情報１３６から得た接続元APIと接続先APIの重みを加算する。次いで、要員候補評価部１３は、２）開発スキル情報１４１から得た接続元プラットフォームの利用経験と接続先プラットフォームの利用経験の和に、構成評価式情報１３６から得た開発経験の重みを乗算する。要員候補評価部１３は、１）と２）の値を足し合わせることによりシステム開発者の評価値を算出する。
【００７７】
具体的に、○○太郎は、0.3+0.2+（0.5*3+0.5*4）＝4.0となり、××次郎は、0.3+0.2+（0.5*3+0.5*2）＝3.0となる。したがって、要員候補評価部１３は、旅券検索_Aと旅券申し込み_D）というAPIのペアに対して、○○太郎を選択する。
【００７８】
システム開発者の評価方法は、サービス提供者が任意に決定しても良い。
【００７９】
このように、システム構築支援装置１は、コスト・技術制約や依存関係を考慮して、構築対象システムをインプリメントするためのAPIやクラウドプラットフォームの組み合わせと実行順序、および、その開発経験をもつ開発者をサービス提供者に提示する。これにより、システム構築支援装置１は、システム開発期間を短縮する支援を行うことができる。
【００８０】
[効果の説明]
以上のように、本実施の形態に係るシステム構築支援装置１は、様々な要因を考慮して、サービスシステム実現のための適切なAPIやプラットフォームの組み合わせを選択することを容易にする。その理由は、構成要素評価部１２が、APIの組み合わせや呼び出し順序により期待される、コスト、性能等の評価項目の値を、APIのペアごとの値に基づいて算出して、算出した値を基準にAPIの組み合わせと呼び出し順序を選択して、提示するからである。
【００８１】
構成要素評価部１２は、APIやプラットフォーム毎にコストと性能を計算するのではなく、APIやプラットフォームのペアごとに性能やコスト情報を取得して、その値に基づいて、各インプリメント案の評価を行う。図７の組み合わせ実績情報１３１に示したAPIやプラットフォームのペアごとの性能やコスト情報は、APIやプラットフォーム単体のカタログスペックからは直接得られない、APIやプラットフォームの組み合わせ固有の情報を含むのである。
【００８２】
実際のシステム開発においては、APIを提供するプラットフォームの相性や依存関係，システムの外的要因（設置場所等）など様々な要因が、性能やコストの見積もりに影響する。したがって、APIやプラットフォームの単体のカタログスペックだけ考えていても、適切なAPIやプラットフォームの選択は困難なのである。本実施の形態に係るシステム構築支援装置１は、その困難さを克服する支援を行う。
【００８３】
さらに、本実施の形態に係るシステム構築支援装置１は、選択されたAPIの組み合わせと呼び出し順序を実現するための要員選定を容易にする。その理由は、要員候補評価部１３が、決定されたAPIの組み合わせや呼び出し順序に含まれるAPIのペアごとに、当該APIのペアに関するスキルを持つシステム開発要員スキルを評価し、評価値に従って開発要員を選択し提示するからである。
【００８４】
すなわち、システム構築支援装置１は、コスト・技術制約や依存関係を考慮して、サービスを実現するためのAPIやクラウドプラットフォームの組み合わせと、その開発経験をもつ開発者をサービス提供者に提示する。したがって、サービス提供者は、適切なシステムの構築を迅速に行うことが可能となる。
【００８５】
＜第２の実施形態＞
図１９は、第２の実施の形態に係るシステム構築支援装置１の構成を示すブロック図である。システム構築支援装置１は、組み合わせ情報記憶部１６０と、構成要素評価部１２を備える。
【００８６】
組み合わせ情報記憶部１６０は、構築対象システムで、トランザクションを連続して処理する機能の各ペアにおける、機能の各々を実現するプラットフォーム候補の各ペアに関連付けて評価項目の値を格納する。
【００８７】
構成要素評価部１２は、トランザクションごとに与えられた機能順に実行される、複数のプラットフォームの評価項目の期待値を、組み合わせ情報記憶部１６０から与えられた機能順に順番を１つずつずらして選択された、プラットフォーム候補のペアに関連付けられている評価項目の値を基に決定する。そして、構成要素評価部１２は、決定した期待値に基づいて選択した、複数の機能の各々を実現するプラットフォーム候補の組み合わせと実行順序を出力する。
【００８８】
以上のように、本実施の形態に係るシステム構築支援装置１は、様々な要因を考慮して、サービスシステム実現のための適切なAPIやプラットフォームの組み合わせを選択することを容易にする。その理由は、構成要素評価部１２が、APIの組み合わせや呼び出し順序により期待される、コスト、性能等の評価項目の値を、APIのペアごとの値に基づいて算出して、算出した値を基準にAPIの組み合わせと呼び出し順序を選択して、提示するからである。
【００８９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００９０】
１    システム構築支援装置
１０    要求情報受付部
１１    構成条件生成部
１２    構成要素評価部
１３    要員候補評価部
１００    API・プラットフォーム情報記憶部
１０１    API・プラットフォーム情報
１０５    機能候補情報記憶部
１０６    機能候補情報
１１０    ユーザ要求情報記憶部
１１１    ユーザ要求情報
１１５    サービスプロセス情報記憶部
１１６    サービスプロセス情報
１２０    性能情報記憶部
１２１    性能情報
１２５    API候補情報記憶部
１２６    API候補情報
１３０    組み合わせ実績情報記憶部
１３１    組み合わせ実績情報
１３５    構成評価式情報記憶部
１３６    構成評価式情報
１４０    開発スキル情報記憶部
１４１    開発スキル情報
１５０    構成候補情報記憶部
１５１    構成候補情報
１６０    組み合わせ情報記憶部
６００    コンピュータ装置
６１０    プロセッサ
６２０    外部記憶装置
６３０    主記憶部
６４０    バス
６５０    プログラム
【図１】
2018055249.tif 000003
【図２】
2018055249.tif 000004
【図３】
2018055249.tif 000005
【図４】
2018055249.tif 000006
【図５】
2018055249.tif 000007
【図６】
2018055249.tif 000008
【図７】
2018055249.tif 000009
【図８】
2018055249.tif 000010
【図９】
2018055249.tif 000011
【図１０】
2018055249.tif 000012
【図１１】
2018055249.tif 000013
【図１２】
2018055249.tif 000014
【図１３】
2018055249.tif 000015
【図１４】
2018055249.tif 000016
【図１５】
2018055249.tif 000017
【図１６】
2018055249.tif 000018
【図１７】
2018055249.tif 000019
【図１８】
2018055249.tif 000020
【図１９】
2018055249.tif 000021