(57)【要約】【課題】既存のサービス部品の組み合わせを選択する方法について、アプリケーション開発者が画面と対話的に確認するシステムを構築する場合、サービス部品ごとの画面と呼び出しプログラム、画面遷移プログラムを作成する必要があった。【解決手段】各業務と入出力データを定義し、各業務で利用可能なサービス部品との対応関係を定義し、業務間のフローを定義することにより、業務ごとに入力画面、出力画面を生成し、業務のフロー定義情報を画面のフロー定義情報に変換し、生成した画面遷移プログラムをアプリケーション開発者の入力操作により対話的に実行することから、対話的に確認するシステムを生成する。【選択図】  図１
2004185166.tif 000002
【特許請求の範囲】
【請求項１】
画面による対話型システムを用いて利用者が業務を実行するサービス部品の組み合わせを検証するためのサービス部品選択支援方法であって、
業務間の流れを示す業務フロー定義情報における業務の遷移元及び先の画面の種類と前記画面の表示フローを設定することにより、画面フロー定義情報を作成し、
前記画面フロー定義情報、及び業務とサービス部品の対応関係を示す業務−サービス対応関係定義情報に基づいて、各業務に対応した前記サービス部品を実行するための入出力画面を作成し、
前記画面フロー定義情報に従った手順で、前記業務−サービス対応関係定義情報に基づいた前記入出力画面を用いた前記サービス部品の呼出しと実行結果の出力を行うことにより、前記サービス部品の組み合わせを検証することを特徴とするサービス部品選択支援方法。
【請求項２】
前記画面フロー定義情報の作成処理は、
前記業務フロー定義情報の各行を読み込み、遷移元業務一つにつき、遷移元画面に遷移元業務の入力画面、業務に遷移元業務、及び遷移先画面に遷移元業務の出力画面となるそれぞれの行を前記画面フロー定義情報に追加し、
前記業務フロー定義情報の次行が同じ遷移元業務であれば、前記遷移元画面が遷移元業務の出力画面、及び前記遷移先画面が分岐選択画面となる行と、前記遷移元画面が分岐選択画面、及び前記遷移先画面が遷移先業務の入力画面となる行を追加し、
前記業務フロー定義情報の次行が同じ遷移元業務でなければ、前記遷移元画面が遷移元業務の出力画面、及び前記遷移先画面が遷移先業務の入力画面となる一行を追加することにより、前記画面フロー定義情報を作成することを特徴とする請求項１記載のサービス部品選択支援方法。
【請求項３】
前記入出力画面の作成処理は、
前記画面フロー定義情報の各行を読み込み、
遷移元画面が入力画面であれば、前記業務−サービス対応関係定義情報に基づき、入力画面に入力データの名前とテキストフィールドを追加し、
対応するサービス部品が複数存在する場合、サービス部品名を選択するコンボボックスを追加し、要求を実行するためのボタンを画面に追加し、
前記遷移元画面が分岐選択画面であれば、前記遷移先画面へ遷移するためのボタンを画面に追加し、
前記遷移先画面が出力画面であれば、前記業務−サービス対応関係定義情報に基づき、前記出力画面に出力データの名前とテキストフィールドを追加し、性能評価結果や信頼性評価結果を表示するためのテキストフィールドを追加し、次画面へ遷移するボタンを画面に追加することを特徴とする請求項１記載のサービス部品選択支援方法。
【請求項４】
前記サービス部品の組み合わせを検証する処理は、
前記利用者により入力画面から画面フロー制御部へ入力データやサービス名を含む要求を送信し、
前記画面フロー制御部は、前記画面フロー定義情報から、前記要求が送信された入力画面に対応する行を読み込み、業務が存在するかどうかを判定し、業務が存在すれば、サービス呼び出し部を呼び出し、
前記要求を受け取って、前記サービス呼び出し部がサービス部品を呼び出し、前記サービス部品の実行結果を共通データ格納部へ保存し、
前記画面フロー制御部は、前記画面フロー定義情報から遷移先画面を呼び出し、前記実行結果を含む情報を前記遷移先画面に埋めて、前記利用者へ表示することを特徴とする請求項１記載のサービス部品選択支援方法。
【請求項５】
前記サービス部品は、ネットワークを介して呼び出されることを特徴とする請求項１記載のサービス部品選択支援方法。
【請求項６】
画面による対話型システムを用いて利用者が業務を実行するサービス部品の組み合わせを検証するためのサービス部品選択支援装置は、
業務間の流れを示す業務フロー定義情報を入力とし画面フロー定義情報を作成する手段として、
画面フロー定義情報、及び業務とサービス部品の対応関係を示す業務−サービス対応関係定義情報を入力とし各業務に対応したサービス部品を実行するための入出力画面を作成する手段として、
業務−サービス対応関係定義情報と作成された画面フロー定義情報、入出力画面を用いてサービス部品の組み合わせを検証する手段を有することを特徴とするサービス部品選択支援装置。
【請求項７】
画面による対話型システムを用いて利用者が業務を実行するサービス部品の組み合わせを検証するためのサービス部品選択支援方法を実行するプログラムを格納した、計算機で読み取り可能な記憶媒体であって、前記方法は、
業務間の流れを示す業務フロー定義情報における業務の遷移元及び先の画面の種類と前記画面の表示フローを設定することにより、画面フロー定義情報を作成し、
前記画面フロー定義情報、及び業務とサービス部品の対応関係を示す業務−サービス対応関係定義情報に基づいて、各業務に対応した前記サービス部品を実行するための入出力画面を作成し、
前記画面フロー定義情報に従った手順で、前記業務−サービス対応関係定義情報に基づいた前記入出力画面を用いた前記サービス部品の呼出しと実行結果の出力を行うことにより、前記サービス部品の組み合わせを検証することを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は既存のサービス部品の組み合わせを選択する方法について、アプリケーション開発者が画面と対話的に確認する機構に関する。
【０００２】
【従来の技術】
近年のシステム開発では、ビジネスの変化の速さに応じて、アプリケーションを短期間に、低コストで開発するため、既存の流通プログラム部品を購入し、それらを組み合わせてアプリケーションを開発することが多い。既存のプログラム部品を使用することで、アプリケーション開発の工数が減り、生産性の向上が図られる。ここで、プログラム部品を利用するプログラムをクライアントプログラムと呼ぶ。
【０００３】
プログラム部品は、インタフェース定義方法、クライアントからの利用方法、通信方法などの一定の規則によって作成される。プログラム部品の一形態であるサービス部品は、一定の規則に従って作成され、かつインターネットなどのネットワーク上で公開されているプログラムへのアクセス権を購入し、アプリケーションから呼び出すことによって再利用されるプログラム部品である。つまり、サービス部品の運用はサービス部品提供者が行い、クライアントはそれを利用するだけである。
【０００４】
アプリケーションでは、機能や性能、信頼性、保守性、価格などに基づいて、多数流通している利用可能なプログラム部品から最適な部品を選択しなければならない。しかし、サービス部品の場合、複数の利用者でサービスを共用するため、インタフェース定義を変えることは難しい。また、サービス部品自体はサービス部品提供者が運用しているため、アプリケーション側からの性能改善や信頼性向上の要求に応えられない場合がある。
【０００５】
そこで、アプリケーション開発の上流工程において、利用するサービス部品と正しく接続できるか、サービス部品の応答性能や信頼性は要件を満たすかを検証しておかないと、下流工程で大きな手戻りを引き起こす可能性がある。特に、サービス部品の性能や信頼性に問題があっても、アプリケーションのシステム構成を容易に変更できないため、サービス部品提供者に改善を促す、他のサービスを利用するようにプログラムを変更する、サービス部品自体が行なっていた処理を始めから作り直す、などの対策を行なわないと問題を解決できない。そのため、サービス部品の利用は、アプリケーション開発のリスクを高める要因となる。
【０００６】
また、アプリケーションを開発する場合、サービス部品を単体ではなく、組み合わせて利用する場合がある。例えば、価格検索サービスにより商品の価格を調べ、価格が予算内であれば発注サービスによって発注し、価格が予算を超えれば類似商品検索サービスにより類似した商品を検索するアプリケーションを考える。上記の業務を実現するためのサービス部品として、価格検索サービスを実現するのはＡ社検索サービスまたはＢ社検索サービス、発注サービスはＣ社購買サービス、類似商品検索サービスはＤ社検索サービスなどが対応するものとする。価格検索サービスのように一つの業務に類似したサービス部品が複数存在した場合、どのサービス部品が一番良いか評価する必要がある。さらに、価格検索サービスから発注サービスまたは類似商品検索サービスへの流れなど、業務の流れに従って複数の異種サービス部品を組み合わせる場合、全体的な視点で、どのサービス部品同士を組み合わせるのが一番良いか評価する必要がある。
【０００７】
しかし、サービス部品はプログラムから呼び出されるものであるため、画面などの視覚的な確認手段がないと上記のような評価を事前に行うことは難しい。
【０００８】
従来技術においても、単一のサービス部品から、サービス部品を呼び出すサンプル画面を自動的に作成するものがある（例えば、非特許文献１参照）。ただし、これは単一のサービス部品の仕様を評価するためのものであり，複数の異種サービス部品を組み合わせた場合における組み合わせの評価には使えない。
【０００９】
【非特許文献】
Ｕ．Ｗａｈｌｉ，  ｅｔ．ａｌ．，”  Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｗｉｚａｒｄｒｙ  ｗｉｔｈ  ＷｅｂＳｐｈｅｒｅ  Ｓｔｕｄｉｏ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄｅｖｅｌｏｐｍｅｎｔ（２００２）”，ｐ．３５４−３５７，  ＩＢＭ  Ｒｅｄｂｏｏｋｓ，Ａｐｒｉｌ  ２００２．
【００１０】
【発明が解決しようとする課題】
サービス部品同士の組み合わせを評価するため、サービス部品を実行する入力画面と、結果を表示する出力画面を作成することを考えた場合、サービス部品の数だけ入力画面と出力画面、およびサービス部品を呼び出すクライアントプログラムを作成する必要がある。また業務の流れに従って、画面を遷移させる画面遷移プログラムを作成する必要がある。画面を遷移させる場合、前画面から出力されたデータを次画面へ受け渡すなどのプログラムも作成する必要がある。前記のプログラム群は評価対象となるサービス部品を変更にプログラムの追加、削除、修正が必要となる。
【００１１】
本発明の目的は、業務の流れに従って、アプリケーション開発者が画面と対話しながらサービス部品の組み合わせを確認できるようにすることである。
【００１２】
【課題を解決するための手段】
上記目的を達成するため、本発明は、各業務と入出力データを定義し、各業務で利用可能なサービス部品との対応関係を定義し、業務間のフローを定義することにより、業務のフロー定義情報を画面のフロー定義情報に変換し、業務ごとに入力画面と出力画面を生成し、生成した画面遷移プログラムをアプリケーション開発者の入力操作により対話的に実行する。
【００１３】
【発明の実施の形態】
本発明の実施例について図面を用いて説明する。
【００１４】
図１はサービス部品同士の組み合わせを評価するためのサービス選択支援サーバ１０１、及びサービス部品提供サーバ１０２を中心としたシステム群を示している。本実施例では、サービス選択支援サーバ１０１において各種定義情報から画面や画面フロー定義情報を作成することにより、実行部１０３においてサービス部品同士の組み合わせを評価できる。
【００１５】
画面フロー定義情報の作成では、画面フロー生成手続き１０５は、業務間の流れを示す業務フロー定義情報１０４における業務の遷移元及び遷移先の画面の種類と上記画面の表示フローを設定することにより、画面の流れを示す画面フロー定義情報１０６を作成する。その方法は、以下のとおり。
【００１６】
（１）業務フロー定義情報１０４の各行を読み込み、遷移元業務１１５一つにつき、遷移元画面１１７に遷移元業務１１５の入力画面、業務に遷移元業務１１５、遷移先画面に遷移元業務１１５の出力画面となる行を画面フロー定義情報１０６に追加する。
【００１７】
（２）業務フロー定義情報１０４の次行が同じ遷移元業務１１５であれば、遷移元画面１１７に遷移元業務１１５の出力画面、遷移先画面１１９に分岐選択画面となる行と、遷移元画面１１７に分岐選択画面、遷移先画面１１９に遷移先業務１１６の入力画面となる行を追加する。
【００１８】
（３）業務フロー定義情報１０４の次行が同じ遷移元業務でなければ、遷移元画面１１７に遷移元業務１１５の出力画面、遷移先画面１１９に遷移先業務１１６の入力画面となる一行を追加し、画面フロー定義情報１０６を作成する。
【００１９】
次に、画面の作成では、画面生成手続き１０８は、画面フロー定義情報１０６、及び業務とサービス部品の対応関係を示す業務−サービス対応関係定義情報１０７に基づいて、アプリケーション開発者が評価するための、各業務に対応するサービス部品を実行するための入力画面１０９または出力画面１１０等を作成する。その方法は、以下のとおり。
【００２０】
（１）画面フロー定義情報１０６の各行を読み込み、遷移元画面１１７が入力画面１０９であれば、業務−サービス対応関係定義情報１０７に基づき、入力画面１０９に入力データの名前とテキストフィールドを追加する。
【００２１】
（２）対応するサービス部品が複数存在する場合、サービス部品名を選択するコンボボックスを追加し、要求を実行するためのボタンを画面に追加する。
【００２２】
（３）遷移元画面１１７が分岐選択画面であれば、遷移先画面１１９へ遷移するためのボタンを画面に追加する。
【００２３】
（４）遷移先画面１１９が出力画面であれば、業務−サービス対応関係定義情報１０７に基づき、出力画面１１０に出力データの名前とテキストフィールドを追加し、性能評価結果や信頼性評価結果を表示するためのテキストフィールドを追加し、次画面へ遷移するボタンを画面に追加する。
【００２４】
以上の手続きにより、実行部１０３において評価を開始できる。
【００２５】
実行部１０３における評価は、まず、アプリケーション開発者が入力画面１０９に情報を入力し、画面フロー制御部１１１へ要求を送信することによって開始され、以下の処理が行われる。
【００２６】
（１）画面フロー制御部１１１は要求を受け付け、サービス呼び出し部１１３を呼び出す。
【００２７】
（２）サービス呼び出し部１１３は指示に従って、業務−サービス対応関係定義情報１０７で定義されたサービス部品１１４を呼び出す。
【００２８】
（３）サービス呼び出し部１１３は共通データ格納部１１２に実行結果を保存する。
【００２９】
（４）画面フロー制御部１１１は画面フロー定義情報１０６で定義された出力画面１１０に実行結果を埋め込み、クライアントに表示する。
【００３０】
即ち、実行部１０３では、画面フロー定義情報に従った手順で、業務−サービス対応関係定義情報に基づいた入出力画面を用いたサービス部品の呼出しと実行結果の出力を行うことにより、サービス部品の組み合わせの検証が行われる。
【００３１】
図２はサービス選択支援サーバ１０１の構成図を示す。サービス選択支援サーバ１０１は、主記憶２０１、二次記憶装置２０２、ＣＰＵ  ２０３、ディスプレイ２０４、キーボード２０５、マウス２０６、ネットワークインタフェース２０７と、これらを相互接続するバス２０８からなる。そして、サービス選択支援サーバ１０１は、ネットワークインタフェース２０７を介してネットワーク２０９に接続される。
【００３２】
また、主記憶２０２の中に、オペレーティングシステム（以下、ＯＳ）２１０、本発明の方法を実行する定義ツール２１１、生成手続き２１２、及び実行部１０３が記憶されている。さらに、二次記憶装置２０２の中に、定義情報２１８、及び画面２１９が記憶されている。本発明の方法を実行するプログラムを、計算機で読み取り可能な記憶媒体に格納し、主記憶２０２に読み込んで実行することもできる。
【００３３】
定義ツール２１１は、本発明の入力となる業務フロー定義情報１０４および業務−サービス対応関係定義情報１０７を作成するためのツールであり、インタフェース定義読み込みツール２１３、共通データ定義ツール２１４、業務定義ツール２１５、業務−サービス対応関係定義ツール２１６、及び業務フロー定義ツール２１７からなる。インタフェース定義読み込みツール２１３はアプリケーション開発者の指示に従って、サービス部品１１４のインタフェース定義情報２２０を読み込む。共通データ定義ツール２１４は共通データ定義情報２２１を作成する。業務定義ツール２１５は共通データ定義情報２２１を入力し、アプリケーション開発者の指示に従って、業務定義情報２２２を作成する。業務−サービス対応関係定義ツール２１６はインタフェース定義情報２２０、及び業務定義情報２２２を入力し、アプリケーション開発者の指示に従って、業務−サービス対応関係定義情報１０７を作成する。業務フロー定義ツール２１７は業務定義情報２２２を入力し、アプリケーション開発者の指示に従って、業務フロー定義情報を作成する。
【００３４】
生成手続き２１２は、画面フロー生成手続き１０５、及び画面生成手続き１０８からなる。画面フロー生成手続き１０５は業務フロー定義情報１０４を入力して、画面フロー定義情報１０６を生成する。画面生成手続き１０８は業務−サービス対応関係定義情報１０７、及び画面フロー定義情報１０６を入力して、画面２１９を生成する。
【００３５】
実行部１０３は、画面フロー制御部１１１、共通データ格納部１１２、及びサービス呼び出し部１１３からなる。画面フロー制御部１１１は入力画面１０９の指示に従って、サービス呼び出し部１１３を呼び出し、共通データ格納部１１２に実行結果を保存し、画面フロー定義情報１０６で定義された出力画面１１０を表示する。共通データ格納部１１２は画面間でデータを共有するために、サービス呼び出し部１１３の実行結果を保存する。サービス呼び出し部１１３は画面フロー制御部１１１の指示に従って、業務−サービス対応関係定義情報１０７で定義されたサービス部品を呼び出す。
【００３６】
定義情報２１８は、インタフェース定義情報２２０、共通データ定義情報２２１、業務定義情報２２２、業務−サービス関係定義情報１１５、業務フロー定義情報１０４、及び画面フロー定義情報１０６からなる。画面２１９は、入力画面１０９、出力画面１１０、及び分岐選択画面２２３からなる。
【００３７】
図３はサービス部品提供サーバ１０２の構成図を示す。サービス選択支援サーバ１０２は、主記憶２０１、二次記憶装置２０２、ＣＰＵ  ２０３、ネットワークインタフェース２０７と、これらを相互接続するバス２０８からなる。そして、サービス部品提供サーバ１０２は、ネットワークインタフェース２０７を介してネットワーク２０９に接続される。つまり、サービス選択支援サーバ１０１とサービス部品提供サーバ１０２はネットワーク２０９を経由して相互接続できる。
【００３８】
また、主記憶２０１の中に、ＯＳ２１０、及びサービス部品１１４が格納されている。さらに、二次記憶装置２０２の中に、インタフェース定義情報２２０が格納されている。
【００３９】
次に、各定義情報と各ツールとの関係について図４を用いて説明する。
【００４０】
まず、アプリケーション開発者は、インタフェース定義読み込みツール２１３を利用して、サービス部品提供サーバ１０２等の外部サーバから、サービス部品１１４のインタフェースを定義した情報であるインタフェース定義情報２２０を読み込む。次に、共通データ定義ツール２１４を利用して、画面間で共通に利用するデータの情報である共通データ定義情報２２１を作成する。次に、業務定義ツール２１５は、共通データ定義情報２２１を入力して、アプリケーションの各業務の内容を示す業務定義情報２２２を作成する。次に、業務−サービス対応関係定義ツール２１６は、インタフェース定義情報２２０及び業務定義情報２２２を入力して、業務とサービス部品の対応関係を示す業務−サービス対応関係定義情報１０７を作成する。次に、業務フロー定義ツール２１７は、業務定義情報２２２を入力して、業務の流れを示す業務フロー定義情報を作成する。
【００４１】
次に、各定義情報や画面等を詳細に説明する。図５は定義情報２１８の詳細を示す。定義情報２１８には、インタフェース定義情報２２０、共通データ定義情報２２１、業務定義情報２２２、業務−サービス対応関係定義情報１０７、業務フロー定義情報１０４、及び画面フロー定義情報１０６が含まれる。
【００４２】
インタフェース定義情報２２０はサービス部品１１４のインタフェース仕様を表したものであり、サービス部品の名称を示すサービス名５０１、サービス部品がクライアントに提供する操作の名称を示す操作名５０２、及び操作の入出力データの内容を示す入出力データ５０３からなる。入出力データ５０３は、入力データ５０４、及び出力データ５０５からなり、入力データ５０４および出力データ５０５はそれぞれ、データの名称を示す項目５０６、及びデータの型を示す型名５０７からなる。
【００４３】
共通データ定義情報２２１は業務共通で利用することができるデータ群を表したものであり、データの名称を示す項目５０８、及びデータの型を示す型名５０９からなる。
【００４４】
業務定義情報２２２は各業務の入出力データの情報を表したものであり、業務の名称を示す業務名５１０、及び入出力データの内容を示す入出力データ５１１からなる。入出力データ５１１は、入力データ５１２、及び出力データ５１３からなり、入力データ５１２および出力データ５１３はそれぞれ、データの名称を示す項目５１４、及びデータの型を示す型名５１５からなる。
【００４５】
業務−サービス対応関係定義情報１０７は業務とサービス部品の対応関係を表したものであり、業務の名称を示す業務名１２０、及び業務に関連するサービスの内容を示す関連サービス１２１からなる。関連サービス１２１はサービスの名称を示すサービス名１２２、業務と関連する操作の名称を示す操作名１２３及び操作の入出力データの内容を示す入出力データ１２４からなる。入出力データ１２４は、入力データ１２５、及び出力データ１２６からなり、入力データ１２５および出力データ１２６は、サービス部品が定義したデータの名称を示すサービス１２７、業務が定義したデータの名称を示す業務１２８、及び業務定義情報２２２における業務１２８の定義順序を示す順序１２９からなる。
【００４６】
業務フロー定義情報１０４は業務の流れを表したものであり、フローの遷移元を示す遷移元業務１１５、及びフローの遷移先を示す遷移先業務１１６からなる。業務フロー定義情報１０４の各行のうち、遷移元業務１１５が同じで遷移先業務１１６が異なる行がいくつかある場合、業務処理の結果に従って遷移先業務１１６を決定するものとする。これを分岐と呼ぶ。
【００４７】
画面フロー定義情報１０６は、画面フロー生成手続き１０５により、業務の流れを画面の流れに変換したものであり、フローの遷移元を示す遷移元画面１１７、遷移元画面から遷移先画面に遷移する際に実行する業務を示す業務１１８、及びフローの遷移先を示す遷移先画面１１９からなる。業務１１８は空欄である場合もあり、空欄の場合は、遷移元画面１１７から遷移先画面１１９へ単純に遷移するものとする。
【００４８】
図６は図２の画面２１９の詳細を示す。
【００４９】
入力画面１０９は業務に対応したサービス部品１１４に実行を要求するための画面を表したものであり、メーカー名１３０、商品名１３１、単価１３２、数量１３３などのそれぞれの入力データの名称とデータを入力するテキストフィールド、業務に関連するサービスを選択するコンボボックスであるサービス１３４、及び要求を実行するＯＫボタン１３５からなる。なお、入力データのテキストフィールドには以前に実行した業務が使っていた入出力データと同じ項目を使っている場合のみ、以前のデータが表示される。このような表示は、業務間でデータの受け渡しができるかどうかを確認するのが目的である。
【００５０】
出力画面１１０はサービス部品の実行結果を表示するための画面を表したものであり、価格１３６、店舗名１３７などのそれぞれの出力データの名称とデータを表示するためのテキストフィールド、性能結果を表示するための性能（単体平均）１３８、性能（合計平均）１３９、信頼性を表示するための信頼性（単体平均）１４０、信頼性（合計平均）１４１、及び次画面への遷移を指示するＯＫボタン１４２からなる。性能（単体平均）１３８は、サービス部品単体を実行した時間を計測し、さらに過去に同じサービス部品を計測した時間と合わせて、平均値を算出したものである。性能（合計平均）１３９は、業務の流れに従って各サービス部品を実行した時間の平均値を加算し、合計値を算出したものである。信頼性（単体平均）１４０は、サービス部品単体を実行した際に正しい結果が返ってくるかどうかを判定し、正しい結果が返ってきた場合を１、エラーが帰ってきた場合を０とした際の平均値を算出したものである。信頼性（合計平均）１３９は、業務の流れに従って実行した各サービス部品の信頼性の平均値を加算し、合計値を算出したものである。
【００５１】
分岐選択画面２２３は、業務フロー定義情報１０４に分岐があった場合に生成される画面を表したものであり、類似検索６０１、発注６０２などの次業務の名称を示すボタンからなる。
【００５２】
次に、画面フロー生成手続き１０５が画面フロー定義情報１０６を生成する流れを、図７を用いて説明する。
【００５３】
（ステップ７０１）業務フロー定義情報１０４の一行を読み込む。図５の業務フロー定義情報１０４を例にすると、遷移元業務１１５の「価格検索」、及び遷移先業務１１６の「類似検索」を読み込む。
【００５４】
（ステップ７０２）遷移元業務１１５一つに付き、遷移元画面１１７に入力画面、業務１１８に業務、及び遷移先画面１１９に出力画面となる一行を画面フロー定義情報１０６に追加する。図５の業務フロー定義情報１０４、及び画面フロー定義情報１０６を例にすると、遷移元画面１１７が「価格検索入力画面」、業務１１８が「価格検索」、及び遷移先画面１１９が「価格検索出力画面」となる一行を追加する。
【００５５】
（ステップ７０３）分岐があるかどうか判断するため、業務フロー定義情報１０４の次行の遷移元業務１１５が、現在読み込んでいる行の遷移元業務１１５の名称と同じであるかどうかを判定する。同じでない場合はステップ７０４へ、同じである場合はステップ７０５へ進む。図５の業務フロー定義情報１０４を例にすると、次行の遷移元業務１１５も「価格検索」であり、現在読み込んでいる行の遷移元業務１１５の名称と同じであるためステップ７０５へ進む。
【００５６】
（ステップ７０４）遷移元画面１１７が遷移元業務１１５の出力画面、及び遷移先業務１１９が遷移先業務１１６の入力画面となる一行を画面フロー定義情報１０６に追加する。
【００５７】
（ステップ７０５）遷移元画面１１７が遷移元業務１１５の出力画面、及び遷移先業務１１９が分岐選択画面となる一行を画面フロー定義情報１０６に追加する。図５の業務フロー定義情報１０４、及び画面フロー定義情報１０６を例にすると、遷移元画面１１７が「価格検索出力画面」、及び遷移先画面１１９が「分岐選択画面」となる一行を追加する。
【００５８】
（ステップ７０６）遷移元画面１１７が分岐選択画面、及び遷移先業務１１９が遷移先業務１１６の入力画面となる一行を画面フロー定義情報１０６に追加する。図５の業務フロー定義情報１０４、及び画面フロー定義情報１０６を例にすると、遷移元画面１１７が「分岐選択画面」、及び遷移先画面１１９が「類似検索入力画面」となる一行を追加する。
【００５９】
（ステップ７０７）業務フロー定義情報１０４の一行を読み込む。図５の業務フロー定義情報１０４を例にすると、遷移元業務１１５の「価格検索」、及び遷移先業務１１６が「発注」を読み込む。
【００６０】
（ステップ７０８）遷移元画面１１７に分岐選択画面、及び遷移先業務１１９に遷移先業務１１６の入力画面となる一行を画面フロー定義情報１０６に追加する。図５の業務フロー定義情報１０４、及び画面フロー定義情報１０６を例にすると、遷移元画面１１７が「分岐選択画面」、及び遷移先画面１１９が「発注入力画面」となる一行を追加する。
【００６１】
（ステップ７０９）さらなる分岐があるかどうか判断するため、業務フロー定義情報１０４の次行の遷移元業務１１５が、現在読み込んでいる行の遷移元業務１１５の名称と同じであるかどうかを判定する。同じでない場合はステップ７１０へ、同じである場合はステップ７０５へ進む。図５の業務フロー定義情報１０４を例にすると、次行の遷移元業務１１５は存在しないためステップ７１０へ進む。
【００６２】
（ステップ７１０）業務フロー定義情報１０４全行の読み込みが終了したかどうかを判定する。終了した場合は終了へ、終了していない場合はステップ７０１へ進む。図５の業務フロー定義情報１０４を例にすると、次行の遷移元業務１１５は存在しないため終了へ進む。
【００６３】
次に、画面生成手続き１０８が画面２１９を生成する流れについて図８を用いて説明する。
【００６４】
（ステップ８０１）画面フロー定義情報１０６の一行を読み込む。図５の画面フロー定義情報１０６を例にすると、遷移元画面１１７が「価格検索入力画面」、業務１１８が「価格検索」、及び遷移先業務１１９が「価格検索出力画面」となる一行を読み込む。
【００６５】
（ステップ８０２）遷移元画面１１７が入力画面１０９かどうかを判定する。入力画面１０９である場合はステップ８０３へ、入力画面１０９でない場合はステップ８０７へ進む。図５の画面フロー定義情報１０６を例にすると、遷移元画面１１７である「価格検索入力画面」は入力画面１０９であるためステップ８０３へ進む。
【００６６】
（ステップ８０３）新規に入力画面１０９の枠組みを作成し、業務−サービス対応関係定義情報１０７に基づき、入力データ１２５となる業務１２８の名称とデータを入力するためのテキストフィールドを画面に追加する。図５の業務−サービス対応関係定義情報１０７、及び図６の入力画面１０９を例にすると、業務−サービス対応関係定義情報１０７の業務１２８を入力データ１２５として、順序１２９に従い、入力画面１０９にメーカー名１３０、商品名１３１、単価１３２、数量１３３などのそれぞれの入力データの名称とデータを入力するテキストフィールドとを追加する。
【００６７】
（ステップ８０４）対応するサービス名１２２が複数存在するかどうかを判定する。複数存在する場合はステップ８０５へ、１つのみ存在する場合はステップ８０６へ進む。図５の業務−サービス対応関係定義情報１０７を例にすると、業務−サービス対応関係定義情報１０７のサービス名１２２が複数存在するためステップ８０５へ進む。
【００６８】
（ステップ８０５）サービス名１２２を選択することができるコンボボックスを画面に追加する。図５の業務−サービス対応関係定義情報１０７、及び図６の入力画面１０９を例にすると、サービス１３４などのサービスを選択するコンボボックスを追加する。
【００６９】
（ステップ８０６）要求を実行するためのボタンを画面に追加する。ステップ８０３からステップ８０６で一つの画面を作成するものとする。図６の入力画面１０９を例にすると、ＯＫボタン１３５を追加する。
【００７０】
（ステップ８０７）遷移元画面１１７が分岐先選択画面２１７かどうかを判定する。分岐先選択画面２１７である場合はステップ８０８へ、分岐先選択画面２１７でない場合はステップ８０９へ進む。図５の画面フロー定義情報１０６を例にすると、遷移元画面１１７である「価格検索入力画面」は入力画面１０９であるためステップ８０９へ進む。
【００７１】
（ステップ８０８）分岐選択画面２２３の枠組みがなければ新規に作成し、遷移先画面１１９へ遷移するためのボタンを画面に追加する。なお、次行以降において遷移元画面１１７が同じ場合、既に作成した分岐選択画面２２３にボタンを追加するものとする。図６の分岐選択画面２２３を例にすると、類似検索６０１や発注６０２などのボタンを追加する。
【００７２】
（ステップ８０９）遷移先画面１１９が出力画面１１０かどうかを判定する。出力画面１１０である場合はステップ８１０へ、出力画面１１０でない場合はステップ８１３へ進む。図５の画面フロー定義情報１０６を例にすると、遷移先画面１１９である「価格検索出力画面」は出力画面１１０であるためステップ８１０へ進む。
【００７３】
（ステップ８１０）新規に出力画面１１０の枠組みを作成し、業務−サービス対応関係定義情報１０７に基づき、出力データ１２６となる業務１２８の名称とデータを出力するためのテキストフィールドを画面に追加する。図５の業務−サービス対応関係定義情報１０７、及び図６の出力画面１１０を例にすると、業務−サービス対応関係定義情報１０７の業務１２８を出力データ１２６として、順序１２９に従い、出力画面１１０に価格１３６、店舗名１３７などのそれぞれの出力データの名称とデータを表示するテキストフィールドを追加する。
【００７４】
（ステップ８１１）性能評価結果や信頼性評価結果を表示するためのテキストフィールドを画面に追加する。図６の出力画面１１０を例にすると、性能結果を表示するための性能（単体平均）１３８、性能（合計平均）１３９、信頼性を表示するための信頼性（単体平均）１４０、及び信頼性（合計平均）１４１のそれぞれの名称とデータを表示するためのテキストフィールドを追加する。
【００７５】
（ステップ８１２）次画面へ遷移するためのボタンを画面に追加する。ステップ８１０からステップ８１２で一つの画面を作成するものとする。図６の出力画面１１０を例にすると、ＯＫボタン１４２を追加する。
【００７６】
（ステップ８１３）画面フロー定義情報１０６全行の読み込みが終了したかどうかを判定する。終了した場合は処理終了へ、終了していない場合はステップ８０１へ進む。図５の画面フロー定義情報１０６を例にすると、次行が存在するためステップ８０１へ進む。
【００７７】
次に、実行環境の詳細について図９、及び図１０を用いて説明する。
【００７８】
図９は共通データ格納部１１２が保存するデータの詳細を示す。共通データ格納部１１２は、共通データの値を保存する共通データ値９０１、サービス単体の性能や信頼性評価結果を保存する性能、信頼性評価結果（単体）９０２、及び現在評価しているサービス部品の組み合わせ全体としての性能や信頼性評価結果を保存する性能、信頼性評価結果（合計）９０３からなる。共通データ値９０１は共通データの名称を示す項目９０４、及び共通データの値を示す値９０５からなる。性能、信頼性評価結果（単体）９０２は各サービスの名称を示すサービス名９０６、サービスを今まで実行してきた際の性能の各測定値を示す性能９０７、平均値を示す性能（平均）９０８、信頼性の各測定値を示す信頼性９０９、及び信頼性の平均値を示す信頼性（平均）９１０からなる。性能、信頼性評価結果（合計）９０３はサービス部品の組み合わせ全体の性能の平均値を示す性能（平均）９１１、及び信頼性の平均値を示す信頼性（平均）９１２からなる。
【００７９】
次に、実行環境の処理の流れについて図１０を用いて説明する。図１０に示す処理は、主に、画面フロー制御部１１１で実行される。
【００８０】
（ステップ１００１）ユーザ操作によりクライアントに表示されている画面から画面フロー制御部１１１へ要求を送信する。表示されている画面が入力画面１０９の場合、要求の中には入力データの値や実行するサービスの名称が含まれているものとする。図６の入力画面１０９を例にすると、メーカー名１３０、商品名１３１、単価１３２、数量１３３などの入力データと、Ａ社検索サービス（価格検索）などのサービス１３４のコンボボックスにより選択されたサービスの名称を要求内容として送信する。
【００８１】
（ステップ１００２）画面フロー制御部１１１は、画面フロー定義情報１０６の対応する行を読み込み、業務１１８に業務の名称が入っているかどうかを判定する。業務の名称が入っている場合はステップ１００３へ、入っていない場合はステップ１００６へ進む。図５の画面フロー定義情報１０６を例にすると、遷移元画面１１７が「価格検索入力画面」、業務１１８が「価格検索」、さらに遷移先画面１１９が「価格検索出力画面」となっており、業務１１８に業務の名称が入っているためステップ１００３へ進む。
【００８２】
（ステップ１００３）画面フロー制御部１１１は、サービス呼び出し部１１３を呼び出し、入力データの値や実行するサービスの名称などの要求内容を渡す。図６の入力画面１０９を例にすると、入力画面１０９にメーカー名１３０、商品名１３１、単価１３２、数量１３３などの入力データと、Ａ社検索サービス（価格検索）などのサービスの名称を要求内容として、そのままサービス呼び出し部１１３に渡す。
【００８３】
（ステップ１００４）サービス呼び出し部１１３は、業務−サービス対応関係定義情報１０７に基づき、入力データを並び替え、サービス部品１１４を呼び出す。図５の業務−サービス対応関係定義情報１０７を例にすると、サービス名１２２として「Ａ社検索サービス」が選択されるため、サービス１２７と業務１２８の対応関係に基づき、入力データを並び替える。その後、「Ａ社検索サービス」を呼び出し、「価格検索」操作を実行する。
【００８４】
（ステップ１００５）サービス呼び出し部１１３は、サービス部品１１４から実行結果を受け取り、共通データ格納部１１２へ結果を保存する。図５の業務−サービス対応関係定義情報１０７を例にすると、サービス部品から「店舗名」と「販売価格」という出力データが実行結果として得られ、サービス１２７と業務１２８の対応関係に基づき、出力データを並び替える。その後、共通データ格納部１１２へ「価格」と「店舗名」を保存する。図９の例では、「価格」と「店舗名」の値を値９０５に保存する。また、サービス単体の性能や信頼性を計測し、平均値等を算出して、性能９０７、性能（平均）９０８、信頼性９０９、信頼性（平均）９１０を求め、性能（平均）９１１と信頼性（平均）９１２を更新する。
【００８５】
（ステップ１００６）画面フロー制御部１１１は、画面フロー定義情報１０６の対応する行を読み込み、遷移先画面１１９をクライアントの画面に表示する。遷移先画面１１９が出力画面１１０の場合、実行結果や性能、信頼性評価結果を埋め込み後、表示するものとする。図５の画面フロー定義情報１０６、及び図６の出力画面１１０を例にすると、遷移元画面１１７が「価格検索入力画面」、業務１１８が「価格検索」、さらに遷移先画面１１９が「価格検索出力画面」となっているため、「価格検索出力画面」を表示する。「価格検索出力画面」は出力画面１１０であるため、価格１３６、店舗名１３７などにそれぞれ実行結果を埋め込んだ後、表示する。
【００８６】
【発明の効果】
業務フローに基づいて、画面と画面フロー定義情報を生成することにより、サービス部品の組み合わせを対話的に確認できる。また、上流工程で既存サービス部品の仕様確認と実証を行なうことにより、下流工程での手戻りや問題発生の未然に防止できる。
【図面の簡単な説明】
【図１】処理概要を示す。
【図２】サービス選択サーバの構成図である。
【図３】サービス部品提供サーバの構成図である。
【図４】定義情報と定義ツールの関係を示す。
【図５】定義情報の内容を示す。
【図６】画面の内容を示す。
【図７】画面フロー定義情報生成処理の流れを示す。
【図８】画面生成処理の流れを示す。
【図９】共通データ格納部を示す。
【図１０】実行環境の処理の流れを示す。
【符号の説明】
１０１：サービス選択支援サーバ、１０２：サービス部品提供サーバ、１０３：実行部、１０４：業務フロー定義情報、１０５：画面フロー生成手続き、１０６：画面フロー定義情報、１０７：業務サービス対応関係定義情報、１０８：画面生成手続き、１０９：入力画面、１１０：出力画面、１１１：画面フロー制御部、１１２：共通データ格納部、１１３：サービス呼出し部、１１４：サービス部品
【図１】
2004185166.tif 000003
【図２】
2004185166.tif 000004
【図３】
2004185166.tif 000005
【図４】
2004185166.tif 000006
【図５】
2004185166.tif 000007
【図６】
2004185166.tif 000008
【図７】
2004185166.tif 000009
【図８】
2004185166.tif 000010
【図９】
2004185166.tif 000011
【図１０】
2004185166.tif 000012