(57)【特許請求の範囲】
【請求項１】
ビジネスプロセスを構築し、その構成要素にサービスを割り当てるＳＯＡアーキテクチャのシステム設計支援方法であって、
情報処理装置上の中央演算処理装置で処理手段を実行し、前記処理手段により、記録装置に格納された情報から細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットの全ての呼出における入力変数を抽出し、抽出した入力変数から、その変数自体またはその変数を関連付けられた変数が他のサービス呼出の出力変数を除きマクロサービスへの入力変数を求め、設計者が選択した前記マクロサービスからの出力変数を入力とし、前記マクロサービスへの入力変数から前記マクロサービスの入力用要素を生成し、前記マクロサービスからの出力変数から前記マクロサービスの出力用要素を生成し、前記マクロサービスの入力用要素および前記マクロサービスの出力用要素の全ての要素を含有する詳細な要素を生成し前記記録装置に格納することにより、前記ビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成することを特徴とするＳＯＡアーキテクチャのシステム設計支援方法。
【請求項２】
請求項１記載のＳＯＡアーキテクチャのシステム設計支援方法において、
前記処理手段に含まれるビジネスプロセス解析／マクロサービス生成手段により、記録装置に格納された情報から細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットの全ての呼出における入力変数を抽出し、抽出した入力変数から、その変数自体またはその変数を関連付けられた変数が他のサービス呼出の出力変数を除きマクロサービスへの入力変数を求め、設計者が選択した前記マクロサービスからの出力変数を入力とし、前記マクロサービスへの入力変数から前記マクロサービスの入力用要素を生成し、前記マクロサービスからの出力変数から前記マクロサービスの出力用要素を生成し、前記マクロサービスの入力用要素および前記マクロサービスの出力用要素の全ての要素を含有する詳細な要素を生成し前記記録装置に格納することにより、前記ビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成し、
前記処理手段に含まれるシミュレート手段により、前記記録装置に格納された前記ビジネスプロセスのサブセットを構成する個々の構成要素の非機能情報に基づいたシミュレーションをそれぞれ実行し、前記シミュレーション結果に基づいて、サブセット全体の非機能情報を算出し前記記録装置に格納することを特徴とするＳＯＡアーキテクチャのシステム設計支援方法。
【請求項３】
請求項１または２記載のＳＯＡアーキテクチャのシステム設計支援方法において、
前記処理手段に含まれるビジネスプロセス構築手段により、前記設計者から入力されたビジネスプロセスに関する情報に基づいて、特定の粒度においてビジネスプロセスを構築し、
前記処理手段に含まれるデータ関連付け手段により、前記設計者から入力されたサービスを呼び出す際に利用する変数間の関連付けの情報に基づいて、前記特定の粒度においてサービスを前記ビジネスプロセスの構成要素に割り当てることを特徴とするＳＯＡアーキテクチャのシステム設計支援方法。
【請求項４】
ビジネスプロセスを構築し、その構成要素にサービスを割り当てるＳＯＡアーキテクチャのシステム設計支援装置であって、
処理手段が格納される主記憶装置と、
前記ビジネスプロスセスに関する情報が格納される記録装置と、
前記主記憶装置に格納された前記処理手段を実行する中央演算処理装置とを備え、
前記中央演算処理装置は、前記処理手段を実行し、前記記録装置に格納された情報から細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットの全ての呼出における入力変数を抽出し、抽出した入力変数から、その変数自体またはその変数を関連付けられた変数が他のサービス呼出の出力変数を除きマクロサービスへの入力変数を求め、設計者が選択した前記マクロサービスからの出力変数を入力とし、前記マクロサービスへの入力変数から前記マクロサービスの入力用要素を生成し、前記マクロサービスからの出力変数から前記マクロサービスの出力用要素を生成し、前記マクロサービスの入力用要素および前記マクロサービスの出力用要素の全ての要素を含有する詳細な要素を生成し前記記録装置に格納することにより、前記ビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成することを特徴とするＳＯＡアーキテクチャのシステム設計支援装置。
【請求項５】
請求項４記載のＳＯＡアーキテクチャのシステム設計支援装置において、
前記処理手段は、前記記録装置に格納された情報から性能やアーキテクチャに関する情報である非機能情報を持つサービスが割り当てられた構成要素の集合であるビジネスプロセスのサブセットの全ての呼出における入力変数を抽出し、抽出した入力変数から、その変数自体またはその変数を関連付けられた変数が他のサービス呼出の出力変数を除きマクロサービスへの入力変数を求め、設計者が選択した前記マクロサービスからの出力変数を入力とし、前記マクロサービスへの入力変数から前記マクロサービスの入力用要素を生成し、前記マクロサービスからの出力変数から前記マクロサービスの出力用要素を生成し、前記マクロサービスの入力用要素および前記マクロサービスの出力用要素の全ての要素を含有する詳細な要素を生成し前記記録装置に格納することにより、前記ビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成するビジネスプロセス解析／マクロサービス生成手段と、
前記記録装置に格納された前記ビジネスプロセスのサブセットを構成する個々の構成要素の非機能情報に基づいたシミュレーションをそれぞれ実行し、前記シミュレーション結果に基づいて、サブセット全体の非機能情報を算出し前記記録装置に格納するためのシミュレート手段とを有することを特徴とするＳＯＡアーキテクチャのシステム設計支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサービスの設計装置および方法に関するものであり、特に設計しようとしているビジネスプロセスのシステム構成要素の詳細度（以下「粒度」と呼ぶ）と、ビジネスプロセスの構成要素に割り当てるサービスの粒度とが異なる場合に、ビジネスプロセスの粒度のサービスを用意することで、ビジネスプロセスの設計者の設計作業を容易にするＳＯＡアーキテクチャのシステム設計支援方法およびＳＯＡアーキテクチャのシステム設計支援装置に関する。
【０００２】
ビジネスプロセスの構成要素に対してサービスを割り当てる際には、そのサービスが提供する機能情報／非機能情報を考慮することになるが、本発明で使用しているサービスの機能情報とは、「プログラムの動きそのものに関する項目」を意味し、非機能情報とは、「プログラムの動きに関する性質を表す項目（応答時間等）」を意味する。
【背景技術】
【０００３】
コンピュータシステムの設計においては、高度な技術を要するため、設計者の負担は大きい。そのため、その負担を軽減するために、容易に設計を行えるための設計ツールが要求されている。Ｗｅｂサービスを利用したＳＯＡアーキテクチャのシステム構築についても、既に数社から設計支援ツールが販売されているが、実際の現場での設計に利用するに当たってはまだ解決すべき課題が少なくなく、そうした課題を克服した設計支援ツールの開発が待たれている状況にある。
【０００４】
例えば、設計は扱う対象の粒度／抽象度によっていくつかのレベルに分けることができる。ここではそれを単純化して、より粒度の粗い「業務レベルの設計」と、個々の計算機システムのアプリケーションインタフェースの関数の知識が必要になるような、より粒度の細かい「実装レベルの設計」の２つのレベルがあるものとして、図１７を用いて課題を例示する。図１７は現在のＳＯＡシステム設計手段が抱えている課題を説明するための説明図である。
【０００５】
業務レベルのビジネスプロセスの設計者は、実装レベルの関数呼び出しまで考慮したくなく、あくまでも業務レベルでの議論を行いたい。この対象領域が図１７の３０１である。これに対して、世の中に多く存在するのは、既存の計算機システムをそのままＳＯＡサービス化した実装レベルのサービスである（図１７の３０２）。
【０００６】
このように、業務レベルの設計者が扱いたいレベルと、実際にサービスが用意されているレベルとの間に乖離が生じており、業務レベルのビジネスプロセスに実装レベルのサービスを割り当てることはできない。このような乖離を解決していくことが、ＳＯＡアーキテクチャに則ったシステムを構築していく上での重要な課題となっている。
【０００７】
この課題を解決するために、従来、例えば、特開平１１−３１６７８０号公報（特許文献１）に開示されているような、階層化されたビジネスプロセス（ＢＰ）定義において、サブＢＰを上位のメインＢＰから独立させることによって体系的で理解の容易なＢＰ定義を行い、そのメンテナンス性を向上させる階層化されたビジネスプロセス定義を有するワークフローシステムがあった。
【特許文献１】特開平１１−３１６７８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１が開示している方法を用いて、上述した「ビジネスプロセスとサービス間の粒度の乖離」を解決しようとすると、図１８に示すような形になる。図１８は現在のＳＯＡシステム設計手段が抱えている課題を、特許文献１の手法を適用して解決を図る場合の概要を示す図である。
【０００９】
すなわち、業務レベルのビジネスプロセスの構成要素（例：図１８の４０１）を、実装レベルの粒度の細かいビジネスプロセス（例：図１８の４０２）として展開し、その実装レベルのビジネスプロセスの構成要素に対して実装レベルのサービスを割り当てる（図１８の４０３）ことにより、完結したＳＯＡモデルを構築しようとする方法である。
【００１０】
しかし、この解決方法には以下のような問題点があった。
・ＳＯＡモデルがビジネスプロセス＋サービスの組合せとして完結するのはサービスが用意されている実装レベルのみであり、業務レベルで閉じた議論ができない。
・既存のＢＰＥＬ（”Ｂｕｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｅｘｅｃｕｔｉｏｎ  Ｌａｎｇｕａｇｅ  ｆｏｒ  Ｗｅｂ  Ｓｅｒｖｉｃｅｓ”  の略で、複数のＷｅｂサービスを組合せたビジネスプロセスを定義するためのＸＭＬベースの言語仕様）＋ＷＳＤＬ（”Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ”の略で、Ｗｅｂサービスを記述するためのＸＭＬをベースの言語仕様）対応ツールを使って取り扱えるレベルが実装レベルに限定されるため、業務レベルの設計者が動作環境やシミュレーションを行ったり、トライ＆エラーで設計を進めたりするには、実装レベルの知識を持つことを強要される。
【００１１】
よって、特許文献１では、より粒度の粗いモデルを扱う業務レベルの設計者の要望を満たす形で課題を解決することができないという問題があった。
【００１２】
そこで、本発明の目的は、ＳＯＡシステム設計時に、サービスが用意されていない粒度（システム構成要素の詳細度）においてもビジネスプロセス＋サービスの形でＳＯＡシステム設計が完結するように、細かい粒度におけるビジネスプロセスとサービスの組合せから、粒度の粗い仮想的なサービスである「マクロサービス」を生成することができるＳＯＡアーキテクチャのシステム設計支援方法およびＳＯＡアーキテクチャのシステム設計支援装置を提供することにある。
【００１３】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１５】
本発明によるＳＯＡアーキテクチャのシステム設計支援方法は、ビジネスプロセスを構築し、その構成要素にサービスを割り当てるＳＯＡアーキテクチャのシステム設計支援方法であって、情報処理装置上で処理手段を実行し、処理手段により、細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成するものである。
【００１６】
また、本発明によるＳＯＡアーキテクチャのシステム設計支援装置は、ビジネスプロセスを構築し、その構成要素にサービスを割り当てるＳＯＡアーキテクチャのシステム設計支援装置であって、処理手段が格納される主記憶装置と、主記憶装置に格納された処理手段を実行する中央演算処理装置とを備え、中央演算処理装置は、処理手段を実行し、細かいシステム構成要素の詳細度におけるサービス割当済みのビジネスプロセスのサブセットから、システム構成要素の詳細度の粗い仮想的なサービスであるマクロサービスを生成するものである。
【発明の効果】
【００１７】
本発明によれば、ＳＯＡシステム設計時に、サービスが用意されていない粒度（システム構成要素の詳細度）においてもビジネスプロセス＋サービスの形でＳＯＡシステム設計が完結するように、細かい粒度におけるビジネスプロセスとサービスの組合せから、粒度の粗い仮想的なサービスである「マクロサービス」を生成することができる。
【発明を実施するための最良の形態】
【００１８】
まず、本発明の概要について説明する。
【００１９】
本発明は、特定の粒度においてビジネスプロセスを構築する手段［手段１］と、特定の粒度において非機能情報を持つサービスに関する情報を蓄積する手段［手段２］と、特定の粒度においてサービスをビジネスプロセスの構成要素に割り当てる手段［手段３］と、サービスを割り当てた複数のビジネスプロセスの構成要素の間で、サービスとやりとりする変数間の変換を行う手段［手段４］と、より細かい粒度におけるサービス割当済みのビジネスプロセスのサブセットから、より粗い粒度の粗い仮想的なサービスである「マクロサービス」を生成する手段［手段５］とを具備する。
【００２０】
前記［手段５］は、「応答時間」等の非機能情報を持つサービスが割り当てられた構成要素（以下「アクティビティ」と呼ぶ）の集合であるビジネスプロセスのサブセットに対して、ＢＰＥＬ形式で表現されるビジネスプロセスのサブセットからＷＳＤＬ形式で表現されるマクロサービスを生成するビジネスプロセス解析／マクロサービス生成手段［手段５−Ａ］と、サブセットを構成する個々のアクティビティの非機能情報（例えば、個々のアクティビティに割り当てられたサービスの応答時間）からサブセット全体の非機能情報（例えば、サブセット全体としての応答時間）を算出するためのシミュレート手段［手段５−Ｂ］を具備する。
【００２１】
これらの手段を具備することにより、上述したような「より詳細な粒度ｓｍａｌｌにおけるサービス群と、より粗い粒度ｌａｒｇｅのビジネスプロセスとの乖離の問題」を以下のようにして解決できる。
【００２２】
［Ｓｔｅｐ１］まず、粒度ｌａｒｇｅのビジネスプロセスを［手段１］により構成する。
【００２３】
［Ｓｔｅｐ２］前記Ｓｔｅｐ１のビジネスプロセスを基に、実際にサービスが存在している粒度ｓｍａｌｌのビジネスプロセスを生成する。このとき、粒度ｌａｒｇｅの各アクティビティは、粒度ｓｍａｌｌのビジネスプロセスのサブセットと１：１で対応する。
【００２４】
［Ｓｔｅｐ３］［手段４］を用いて、［手段３］に蓄積されている粒度ｓｍａｌｌのサービスを上記Ｓｔｅｐ２で生成した粒度ｓｍａｌｌのビジネスプロセスのアクティビティに割り当てる。このとき、サービスが保持していた非機能情報が、割当先のアクティビティに引き継がれる。
【００２５】
［Ｓｔｅｐ４］手段［５−Ａ］を用いて、粒度ｓｍａｌｌのビジネスプロセスの各サブセットを表現するＢＰＥＬから、粒度ｌａｒｇｅのマクロサービスのＷＳＤＬを生成する。さらに、手段［５−Ｂ］を用いてサブセットを構成する個々の非機能情報からサブセット全体の非機能情報をシミュレートにより算出し、これをマクロサービスの非機能情報とする（このとき、粒度ｓｍａｌｌのビジネスプロセスにおける各サブセットは、粒度ｌａｒｇｅにおける各マクロサービスと１：１で対応する）。そして、生成したマクロサービスを粒度ｌａｒｇｅのサービス情報蓄積手段［手段３］に登録する。
［Ｓｔｅｐ５］上記Ｓｔｅｐ４で生成し、粒度ｌａｒｇｅのサービス情報蓄積手段［手段３］に蓄積されたマクロサービスを、［手段１］によって粒度ｌａｒｇｅのビジネスプロセスの各アクティビティに割り当てる。
【００２６】
これにより、より粗い粒度である粒度ｌａｒｇｅのサービスを用意することができるため、粒度ｌａｒｇｅにおいてビジネスプロセスとサービスが完備することになる。
【００２７】
ここで、なぜ「マクロサービス」を生成する際に、単に粒度ｓｍａｌｌのサービスをグルーピングするだけでは不十分で、粒度ｓｍａｌｌのビジネスプロセスからマクロサービスを生成する必要があるのかについて説明する。これは、以下の２つの理由による。
【００２８】
［理由１］サービスの入出力を表す変数の名称は、一般にサービスによって異なりうる。それを、「サービスＰの出力変数ＶｐとサービスＱの入力変数Ｖｑは実は同じものだから、Ｖｐの値をＶｑに代入する」というように変数間を関連付けるのは、ＢＰＥＬ＋ＷＳＤＬを用いるＳＯＡの分野ではビジネスプロセスを表現するＢＰＥＬにおいて行う。複数のサービスを連携させる際に変数間を関連付けるにはビジネスプロセスが必要であり、サービスを表現するＷＳＤＬをグループ化するだけではその関連付けを実現できない。
【００２９】
［理由２］粒度ｌａｒｇｅのマクロサービス全体としての非機能情報）（例えばマクロサービス自体の「応答時間」等）は、粒度ｓｍａｌｌのサービスがどのような順番で呼び出されるのか、またどのような条件分岐／並行処理が存在するのか等、粒度ｓｍａｌｌのビジネスプロセスの処理フローに依存する。そのため、粒度ｓｍａｌｌのサービス群のみからではマクロサービスの非機能情報は導き出せない。
【００３０】
以上の理由により、マクロサービスを生成するには、単に粒度ｓｍａｌｌのサービスをグルーピングするだけでは不十分で、粒度ｓｍａｌｌのビジネスプロセスからマクロサービスを生成する必要がある。
【００３１】
次に、図１により、本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置の構成について説明する。図１は本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置の構成を示す構成図である。
【００３２】
図１において、情報処理装置などにより構成されるＳＯＡアーキテクチャのシステム設計支援装置１００は、中央演算処理装置（ＣＰＵ）１０１、キーボード１０２、ディスプレイ１０３、ポインティングデバイス１０４、主記憶装置（メモリ）１０５、磁気ディスク装置１０６、およびこれらを結ぶバス１０７から構成される。
【００３３】
磁気ディスク装置１０６は２次記憶装置の１つであり、ビジネスプロセス設計情報リポジトリ１２０やサービス情報リポジトリ１２１が格納される。磁気ディスク装置１０６は、通信回線（図１には示していない）等で接続された他の装置と接続するような構成をとってもかまわない。
【００３４】
主記憶装置１０５には、制御プログラム１１０、ビジネスプロセス構築プログラム１１１、データ関連付けプログラム１１２、ビジネスプロセス解析／マクロサービス生成手段であるビジネスプロセス解析／マクロサービス生成プログラム１１３およびシミュレート手段であるシミュレートプログラム１１４が格納され、これらの各プログラムにより、処理手段を構成している。以上の各プログラムは磁気ディスク装置１０６や、フロッピー（登録商標）ディスク等のコンピュータで読み書きできる記憶媒体に格納することもできる。
【００３５】
制御プログラム１１０は、キーボード１０２やポインティングデバイス１０４からのユーザ指示や、他のプログラムからの関数呼び出し等を受け起動し、ビジネスプロセス構築プログラム１１１、データ関連付けプログラム１１２、ビジネスプロセス解析／マクロサービス生成プログラム１１３およびシミュレートプログラム１１４の制御を行う。
【００３６】
次に、図２により、本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置内の各プログラムの機能概要および磁気ディスク装置内に格納される各情報との関連について説明する。図２は本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置内の各プログラムの機能概要および磁気ディスク装置内に格納される各情報との関連を説明するための説明図である。
【００３７】
図２において、ユーザは、ビジネスプロセス構築プログラム１１１を用いて、所望の粒度のビジネスプロセス（ビジネスフロー）を構築する。サービス情報リポジトリ１２１内にその粒度のサービス情報が存在する場合には、そのサービス情報をビジネスプロセス内のアクティビティに割り当てることもできる。ここで設計したビジネスプロセスは、ビジネスプロセス設計情報リポジトリ１２０に格納することができる。
【００３８】
データ関連付けプログラム１１２は、ビジネスプロセス構築プログラム１１１の動作中に呼び出されるプログラムであり、ビジネスプロセスのアクティビティに割り当てられたサービスを呼び出す際に利用する変数（名称は一般にサービスによって異なりうる）間の関連付けを行うためのプログラムである。このプログラムが生成した関連付けのための情報は、データ関連付け専用のアクティビティとしてビジネスプロセス内に記述される。
【００３９】
ビジネスプロセス解析／マクロサービス生成プログラム１１３は、サービスを割り当てたある粒度のビジネスプロセスのサブセットから、より粗い粒度のサービスであるマクロサービスを生成するためのプログラムである。このプログラムを有することが、従来技術に見られない本実施の形態の特徴となる。
【００４０】
シミュレートプログラム１１４は、ビジネスプロセス解析／マクロサービス生成プログラムから呼び出されるプログラムであり、ビジネスプロセスのサブセットに対して、そのサブセットを構成するアクティビティに割り当てられたサービスの非機能情報（応答時間など）を基に、サブセット全体としての非機能情報、すなわちマクロサービスの非機能情報を算出するものである。
【００４１】
次に、図３により、本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置を使用して、ＳＯＡアーキテクチャのシステムを設計する場合の手順の概要について説明する。図３は本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置を使用して、ＳＯＡアーキテクチャのシステムを設計する場合の手順を示すフローチャートである。以下、本実施の形態ではより粗い粒度を「業務レベルの粒度」で代表させ、より細かい粒度を「実装レベルの粒度」で代表させる。そして、業務レベルではサービスが用意されておらず、実装レベルでのみサービスが用意されているものとする。
【００４２】
まず、ステップＳ０００で、業務レベルの設計者が本設計装置を起動する。次に、ステップＳ００１で、業務レベルの設計者がビジネスプロセス構築プログラム１１１を用いて業務レベルのビジネスプロセスを構築する。この段階では、業務レベルのサービスが存在しないので、業務レベルの設計者はビジネスプロセスのアクティビティにサービスを割り当てることができない。
【００４３】
次に、ステップＳ００２で、実装レベルの設計者が、ステップ００１の業務レベルのビジネスプロセスを基に、ビジネスプロセス構築プログラム１１１を用いて実装レベルのビジネスプロセスを構築する。実装レベルではサービスが存在するので、実装レベルの設計者は作成したビジネスプロセスのアクティビティにサービスを割り当てる。
【００４４】
また、割り当てたサービス間で変数名が異なる場合には、データ関連付けプログラム１１２を利用して変数間の関連付けを行い、関連付けを行うアクティビティをビジネスプロセスに埋め込む。
【００４５】
次に、ステップＳ００３で、実装レベルの設計者がビジネスプロセス解析／マクロサービス生成プログラム１１３を用いて、指定したビジネスプロセスのサブセットから、マクロサービスを生成する。このとき、シミュレートプログラム１１４を利用して、そのマクロサービスの非機能情報を算出する。
【００４６】
そして、生成したマクロサービスをサービス情報リポジトリ１２１に格納する。これにより、業務レベルのサービスが用意されたことになるので、次のステップＳ００４において業務レベルの設計者がビジネスプロセス構築プログラム１１１を用いてビジネスプロセスにマクロサービスを割り当てることができる。すなわち、サービスを割り当て済みの完結したＳＯＡシステムを設計できる。
【００４７】
また、マクロサービスには非機能情報が付与されているため、シミュレートプログラム１１４を業務レベルのビジネスプロセスに適用して、業務レベルでのシミュレーションを実行することも可能になる。
【００４８】
次に、図４〜図１５により、本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置を使用して、ＳＯＡアーキテクチャのシステムを設計する場合の手順の各ステップの詳細について説明する。図４〜図１５は本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置を使用して、ＳＯＡアーキテクチャのシステムを設計する場合の手順の各ステップの詳細を説明するための説明図であり、図４は図２のビジネスプロセス構築プログラムが使用するビジネスプロセス構築画面（粒度が業務レベル）の表示例、図５は図２のビジネスプロセス構築プログラムが使用するビジネスプロセス構築画面（粒度が実装レベル）の表示例、図６は図２のデータ関連付けプログラムが使用するデータ関連付け画面と、その画面によって生成されるデータ関連情報の大まかな構造の例を示す図、図７は実装レベルのサービスの一例として扱う住所録サービスのＷＳＤＬ表記を示す図、図８は実装レベルのサービスの一例として扱う郵便番号簿サービスのＷＳＤＬ表記を示す図、図９は実装レベルのビジネスプロセスの一例として扱う統合サービスのＢＰＥＬ表記を示す図、図１０は住所録サービスと郵便番号簿サービスの間で変数の関連付けを行う例を示す図、図１１は図２のビジネスプロセス解析／マクロサービス生成プログラムの処理手順の詳細を示す図、図１２は図２のビジネスプロセス解析／マクロサービス生成プログラムが使用するマクロサービスからの出力変数選択画面の表示例、図１３は図２のビジネスプロセス解析／マクロサービス生成プログラムが生成するマクロサービスのＷＳＤＬを示す図、図１４は図２のビジネスプロセス解析／マクロサービス生成プログラムが使用するマクロサービスへの機能概要付与画面の表示例、図１５は図２のビジネスプロセス構築プログラムが使用するビジネスプロセス構築画面（粒度が業務レベルで、マクロサービス生成後）の表示例である。
【００４９】
図４において、ビジネスプロセス構築画面４００は、粒度表示部４００１、ビジネスプロセスをグラフィカルに設計するための部品を集めたツール部４００２、部品を配置してビジネスプロセスを組み立てる場となる設計フィールド４００３、設計したビジネスプロセスをビジネスプロセス設計情報リポジトリ（図２の１２０）に登録するための登録ボタン４００４、ビジネスプロセスのサブセットからマクロサービスを生成するためのマクロサービス生成ボタン４００５、サービス情報リポジトリ（図２の１２１）に登録されているサービス情報の中でこの粒度のに属するサービス一覧を表示するサービス情報表示部４００６、設計フィールド４００３で選択したアクティビティに、サービス情報表示部４００６で選択したサービスを割り当てるためのサービス割当ボタン４００７から構成される。
【００５０】
ツール部４００２は、例えば、図４に示すように遷移アイコン４００２１、サービス呼び出しアイコン４００２２、判断アイコン４００２３、合流アイコン４００２４、分岐アイコン４００２５、データ変換アイコン４００２６、サブセット指定アイコン４００２７などから構成される。
【００５１】
この図４では、サービス表示部４００６にデータの見出しだけ表示され、具体的なサービスが何も表示されていないが、これは粒度表示部４００１が示す「業務レベル」の粒度のサービスがサービス情報リポジトリ（図の１２１）に登録されていないためである。
【００５２】
図３のステップＳ００１において、図４に示したような画面を利用して業務レベルの設計者が業務レベルのビジネスプロセスを構築すると、次に、図３のステップＳ００２において実装レベルの設計者が、業務レベルのビジネスプロセスから実装レベルのプロセスを作成する。ある粒度のビジネスプロセスについて、その粒度を細かくしたビジネスプロセスを作成する手段については公知例（例えば、上記特許文献１等）に記載されているのでここでは省略する。
【００５３】
例えば、実装レベル粒度のビジネスプロセスを表す図５においては、図４のサービス呼び出し４００３１がサービス呼び出し群５００２に、図４のサービス呼び出し４００３２がサービス呼び出し群５００３に、図４のサービス呼び出し４００３３がサービス呼び出し群５００４にそれぞれ詳細化される。
【００５４】
この三つのサービス呼び出し群の中で、５００２のみがサブセット指定アイコン４００２７をクリックすることで指定可能になるサブセット指定が施されており、他の２つのサービス呼び出し群については説明の便宜上点線の四角で囲っている。この実装レベルでは、業務レベルと違ってサービスがサービス情報リポジトリ１２１用意されており、これをビジネスプロセス構築プログラム１１１が読み出して図５に示すようにサービス情報表示部４００６に列挙する。
【００５５】
ここでは、サービス情報としてはＩＤ４００６０、ＵＲＬ４００６１、機能概要４００６７の他に、非機能情報として最小処理時間４００６２、最大処理時間４００６３、平均処理時間４００６４、待ち可能時間４００６５、平均処理件数４００４６などを保持する。実装レベルの設計者は、まず設計フィールド４００３上でサービス呼び出しを１つ選択し、次にサービス情報表示部４００６から適切なサービスを１つ選択し、割当ボタン４００７を押すことによって、４００３上で選択したサービス呼び出しに４００６上で選択したサービスを割り当てる。
【００５６】
この操作を各サービス呼び出しについて行うことにより、実装レベルにおいて完結した、すなわちサービス割当済みのＳＯＡビジネスプロセスを作成することができる。
【００５７】
この図３のステップＳ００２では、必要に応じてデータの関連付けを行う。データの関連付けとは、同一の概念を指しながらもサービスによって呼び方が異なる変数の間の関連付けを行うことを意味する。例えば、図５のサービス呼び出し群５００２の中のサービス呼び出し”Ｗｅｂ１１”５００２１にサービスＡというＩＤのサービスが、サービス呼び出し”Ｗｅｂ１２”５００２３にサービスＢというＩＤのサービスが割り当てられているとする。
【００５８】
そして、サービスＡでは商品の名称を「商品名」、商品の価格を「価格」という変数名で扱い、サービスＢでは商品の名称を「ｎａｍｅ」、商品の価格を「ｐｒｉｃｅ」という変数名で扱うものとする。このとき、サービスＡとサービスＢをビジネスプロセスで連携させるためには、変数間の関連付けを行う必要がある。
【００５９】
このために、実装レベルの設計者はデータ変換アクティビティ５００２３を配置し、このアクティビティアイコンをダブルクリックする。この操作によりデータ関連付けプログラム（図２の１１２）が起動して、図６の（ａ）に示すようなデータ関連付け画面を設計者に提示する。この画面は、サービスを表すノード（６００１など）やそのサービスで扱う変数を表すノード（６００２など）、および決定ボタン６００４から構成される。設計者は、関連付けたい変数のノード間を関連線（６００３など）で結ぶことによって、変数間の関連付けを定義する（図６の（ｂ））。
【００６０】
そして、設計者が決定ボタン６００４を押すことにより、データ関連付けプログラム１１２は設計者が付与した関連線から図６の（ｃ）に示すようなデータ関連情報を生成する。このデータ関連情報は、データ変換アクティビティ５００２２の内部データとしてビジネスプロセス内で保持する（具体的な保持形式については後述する）。
【００６１】
このデータ関連付けの方式は実用化された公知技術（例えば、ＩＢＭ社の製品“ＷｅｂＳｐｈｅｒｅ”における実現例→  ｈｔｔｐ：／／ｗｗｗ−０６．ｉｂｍ．ｃｏｍ／ｊｐ／ｄｏｍｉｎｏ０１／ｍｋｔ／ｗｅｂｓｐｈｅｒｅ．ｎｓｆ／４９９７２１ｃ３３８８５３７ｂｄ４９２５６ｂ１ａ００１ａａｂ２８／４９２５６ｄｃｄ００１９６５３０４９２５７０ａ０００２０１ｆｆ４／＄ＦＩＬＥ／ＷＰＳＶ６＿０８＿ＷＳＢＰＥＬ２０．ｐｄｆのＰ．１３  等）であるので、ここでは詳細な手法の説明を省く。
【００６２】
次に、図３のステップＳ００３においてビジネスプロセス解析／マクロサービス生成プログラム１１３が実装レベルのビジネスプロセスのサブセットからマクロサービスを生成する手順について説明する。
【００６３】
このプログラムは、設計者が図５の５００２のように特定のアクティビティ群をサブセット指定し、マクロサービス生成ボタン４００５を押すことによって起動する。図７および図８はこれからの説明で用いる住所録サービスと郵便番号サービスのＷＳＤＬファイル（サービスのインタフェースを記述するＷＳＤＬ形式のファイル）の例である。また、図９は住所録サービスと郵便番号サービスを呼び出すビジネスプロセスのＢＰＥＬファイル（ビジネスプロセスを記述するためのＢＰＥＬ型式のファイル）の例である。
【００６４】
ＷＳＤＬについては“ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｗｓｄｌ”を、ＢＰＥＬについては“ｈｔｔｐ：／／ｗｗｗ．ｏａｓｉｓ−ｏｐｅｎ．ｏｒｇ／ａｐｐｓ／ｏｒｇ／ｗｏｒｋｇｒｏｕｐ／ｗｓｂｐｅｌ／ｄｏｃｕｍｅｎｔｓ．ｐｈｐ”（無料の登録が必要）の規格文書群を参照のこと。
【００６５】
図７は、「住所録サービス」に関わる（２行目参照）ＷＳＤＬの例である。１３〜１８行目は、このサービスが「住所録ｐｏｒｔＴｙｐｅ」というｐｏｒｔＴｙｐｅ（Ｊａｖａ（登録商標）の「インタフェース」に似た概念）を持ち、そのｐｏｒｔＴｙｐｅに「現住所取得」というｏｐｅｒａｔｉｏｎ（関数）が存在し、そのｏｐｅｒａｔｉｏｎは「氏名」という入力ｍｅｓｓａｇｅ（変数群）と「現住所」という出力ｍｅｓｓａｇｅ（変数群）を持つことを表している。
【００６６】
また、７〜９行目はｍｅｓｓａｇｅ（変数群）「氏名」が文字列型のｐａｒｔ（変数）「氏名」から構成されることを示し、１０〜１２行目はｍｅｓｓａｇｅ（変数群）「現住所」が文字列型のｐａｒｔ（変数）「現住所」から構成されることを示している。
【００６７】
図８は、「郵便番号簿サービス」に関わる（２行目参照）ＷＳＤＬの例である。１３〜１８行目は、このサービスが「郵便番号検索ｐｏｒｔＴｙｐｅ」というｐｏｒｔＴｙｐｅ（Ｊａｖａ（登録商標）の「インタフェース」に似た概念）を持ち、そのｐｏｒｔＴｙｐｅに「郵便番号取得」というｏｐｅｒａｔｉｏｎ（関数）が存在し、そのｏｐｅｒａｔｉｏｎは「住所」という入力ｍｅｓｓａｇｅ（変数群）と「郵便番号」という出力ｍｅｓｓａｇｅ（変数群）を持つことを表している。
【００６８】
また、７〜９行目はｍｅｓｓａｇｅ（変数群）「住所」が文字列型のｐａｒｔ（変数）「住所」から構成されることを示し、１０〜１２行目はｍｅｓｓａｇｅ（変数群）「郵便番号」が文字列型のｐａｒｔ（変数）「番号」から構成されることを示している。
【００６９】
図９は、「統合サービス」と称するビジネスプロセスの一部であり、主に図７と図８に示した２つのサービスを利用して、ある人物の氏名から郵便番号を得るためのサブセットを中心に抜粋している。
【００７０】
３、４行目は、ａｄｄｒｅｓｓという名前空間接頭辞が住所録サービスに、ｐｏｓｔａｌという名前空間接頭辞が郵便番号サービスにそれぞれ対応していることを表している。そして９〜１２行目は、「住所録住所」「住所録氏名」「郵便番号簿住所」「郵便番号」というｖａｒｉａｂｌｅ（ＢＰＥＬにおける変数群）が、それぞれ住所録サービスの「現住所」、住所録サービスの「氏名」、郵便番号簿サービスの「住所」、郵便番号簿サービスの「郵便番号」というｍｅｓｓａｇｅ（ＷＳＤＬにおける変数群）に対応していることを表している。
【００７１】
１５行目４０行目までの＜ｓｅｑｕｅｎｃｅ＞要素がこの「統合サービス」全体の処理を表し、その中のサブセットとして１９〜２３行目のｉｎｖｏｋｅ（サービス呼出）、２５〜３０行目のａｓｓｉｇｎ（変数間の対応付け）、３２〜３６行目のｉｎｖｏｋｅ（サービス呼出）が存在する。１９〜２３行目のｉｎｖｏｋｅは、住所録サービスに属する住所録ｐｏｒｔＴｙｐｅの現住所取得ｏｐｅｒａｔｉｏｎ（関数）を呼び出し、入力変数群としてｖａｒｉａｂｌｅ住所録氏名を与え、出力変数群としてｖａｒｉａｂｌｅ住所録住所を受け取ることアクティビティである。
【００７２】
また、３２〜３６行目のｉｎｖｏｋｅは、郵便番号簿サービスに属する郵便番号検索ｐｏｒｔＴｙｐｅの郵便番号取得ｏｐｅｒａｔｉｏｎ（関数）を呼び出し、入力変数群としてｖａｒｉａｂｌｅ郵便番号簿住所を与え、出力変数群としてｖａｒｉａｂｌｅ郵便番号を受け取るアクティビティである。
【００７３】
そして、２５〜３０行目のａｓｓｉｇｎは、上記の２つのｉｎｖｏｋｅの間の変数間の関係を規定するアクティブティであり、ｖａｒｉａｂｌｅ住所録住所の変数「現住所」の値をｖａｒｉａｂｌｅ郵便番号簿住所の変数「住所」にコピーしている。
【００７４】
これは、すなわち図６の（ｃ）の表記法を用いると図１０の表に示すような関係が存在し、住所録サービスの変数「現住所」が郵便番号簿サービスの変数「住所」に関係していることを示す。このような関係を、ＢＰＥＬでは２５〜３０行目に例示したようなａｓｓｉｇｎアクティビティを用いて表現する。
【００７５】
以上が図３のステップＳ００３で扱うＷＳＤＬとＢＰＥＬの例であるが、次に、ステップＳ００３においてＢＰＥＬのサブセットを解析してマクロサービスのＷＳＤＬを生成する手順について説明する。
【００７６】
図１１に示すように、ステップＳ１４０１は、ＢＰＥＬのサブセットの全てのサービス呼出における入力変数を抽出するステップである。例えば、図９のＢＰＥＬのサブセットの例では、１９〜２３行目のサービス呼出（ｉｎｖｏｋｅ）におけるｖａｒｉａｂｌｅ住所録氏名の「氏名」と、３２〜３６行目のサービス呼出（ｉｎｖｏｋｅ）におけるｖａｒｉａｂｌｅ郵便番号簿住所の「住所」がある。
【００７７】
次の、ステップＳ１４０２は、ステップＳ１４０１で抽出した入力変数から、その変数自体あるいはその変数と関連付けられた変数が他のサービス呼出の出力変数に含まれるものを除き、「マクロサービスへの入力変数」とするステップである。
【００７８】
図９の例では、入力変数の１つであったｖａｒｉａｌｂｅ郵便番号簿住所の「住所」は、２５〜３０行目の＜ａｓｓｉｇｎ＞要素によってｖａｒｉａｂｌｅ住所録住所の「現住所」と関連付けられており、かつそのｖａｒｉａｂｌｅ住所録住所は１９〜２３行目のサービス呼出における出力変数（ｏｕｔｐｕｔＶａｒｉａｂｌｅ）に含まれている。
【００７９】
そのため、ステップＳ１４０１で抽出した２つの入力変数からｖａｒｉａｂｌｅ郵便番号簿住所の「住所」を除き、ｖａｒｉａｂｌｅ住所録氏名の「氏名」のみを「マクロサービスへの入力変数」とする。
【００８０】
次に、ステップＳ１４０３は、本システムがＢＰＥＬのサブセットの出力変数を設計者に提示し、その中から設計者が「マクロサービスからの出力変数」を選択するステップである。このステップにおいては、このサービスで必要になる出力変数をシステムが自動的に判定することはできないために、設計者による選択処理が必要になる。
【００８１】
ここで、ビジネスプロセス解析／マクロサービス生成プログラム１１３がユーザに提示する「マクロサービスからの出力変数選択画面」の例を、図１２の１５０１に示す。１５０２は出力変数の表示部であり、設計者はここに表示された出力変数の中から「マクロサービスからの出力変数」とする変数をハイライトさせて選択し、最後に１５０３の決定ボタンを押すことによって決定する。
【００８２】
図１２の例では郵便番号簿サービスの「番号」、すなわちｖａｒｉａｂｌｅ郵便番号の「番号」が「マクロサービスからの出力変数」として選択されている。
【００８３】
次に、ステップＳ１４０４において、ビジネスプロセス解析／マクロサービス生成プログラム１１３が「マクロサービスへの入力変数」からマクロサービスの入力用ｍｅｓｓａｇｅ要素を生成し、また「マクロサービスからの出力変数」からマクロサービスの出力用ｍｅｓｓａｇｅ要素を生成する。図１３にビジネスプロセス解析／マクロサービス生成プログラム１１３が生成するマクロサービスのＷＳＤＬの例を示す。
【００８４】
ステップＳ１４０４では、ステップＳ１４０２で得たマクロサービスへの入力変数「氏名」（７行目）を包含する入力用ｍｅｓｓａｇｅ要素「住所録氏名」（６〜８行目）と、ステップＳ１４０３で得た出力変数「番号」（１０行目）を包含する出力用ｍｅｓｓａｇｅ要素「郵便番号」（９〜１１行目）を生成する。
【００８５】
これらのｍｅｓｓａｇｅの名称（ｎａｍｅ属性）は、変数を含んでいたｖａｒｉａｂｌｅの名称から取得する。次に、ステップＳ１４０５において、ビジネスプロセス解析／マクロサービス生成プログラム１１３が上記入力用ｍｅｓｓａｇｅをｉｎｐｕｔ要素とし、上記出力用ｍｅｓｓａｇｅをｏｕｔｐｕｔ要素とするようなｏｐｅｒａｔｉｏｎ要素を生成する。
【００８６】
図１３の例では、入力用ｍｅｓｓａｇｅ「住所録氏名」をｉｎｐｕｔ要素（１４行目）とし、出力用ｍｅｓｓａｇｅ「郵便番号」をｏｕｔｐｕｔ要素（１５行目）とするようなｏｐｅｒａｔｉｏｎ（１３〜１６行目）を生成するステップになる。
【００８７】
次に、ステップＳ１４０６において、ビジネスプロセス解析／マクロサービス生成プログラム１１３が上記ｏｐｅｒａｔｉｏｎを唯一の子要素とするｐｏｒｔＴｙｐｅを生成する。図１３の例では、ステップＳ１４０５で生成したｏｐｅｒａｔｉｏｎ（１３〜１６行目）を唯一の子要素とするようなｐｏｒｔＴｙｐｅ（１２〜１７行目）を生成するステップになる。
【００８８】
最後に、ステップＳ１４０７において、ビジネスプロセス解析／マクロサービス生成プログラム１１３がステップＳ１４０４〜ステップＳ１４０６で生成した全ての要素を包含するｄｅｆｉｎｉｔｉｏｎｓ要素を生成する。図１３の例では、ステップＳ１４０４〜ステップＳ１４０６で生成した全ての要素（６〜１７行目）を包含するｄｅｆｉｎｉｔｉｏｎｓ要素（２〜１８行目）を生成するステップになる。
【００８９】
以上、ステップＳ１４０１〜ステップＳ１４０７に示した手順によって、ビジネスプロセス解析／マクロサービス生成プログラム１１３がＢＰＥＬ型式のビジネスプロセスのサブセットから、図１３に例示するようなＷＳＤＬ形式のマクロサービスのインタフェースを生成することができる。
【００９０】
次に、ステップＳ１４０８において、設計者がマクロサービスに機能概要を付与する。ビジネスプロセス解析／マクロサービス生成プログラム１１３が表示する機能概要付与画面の例を図１４の１７０１に示す。１７０２は設計者が機能概要を表す文字列を入力する機能概要入力部であり、１７０３は設計者がマクロサービスの粒度を入力するサービス粒度入力部である。
【００９１】
これらを入力し、続けて決定ボタン１７０４を押すことにより、機能概要と粒度としてマクロサービスに付与される。
【００９２】
最後に、ステップＳ１４０９で、ビジネスプロセス解析／マクロサービス生成プログラム１１３がシミュレートプログラム１１４を呼び出して詳細レベルのサービスの非機能情報に基づいたシミュレーションを実行することにより、マクロサービスの非機能情報を設定する。非機能情報およびそれに基づくシミュレーションについては既存の技術であり、非機能情報管理については特願２００６−２０１９０７号（この特許では、非機能情報は「非機能要件」と表記されている）で実現されており、またシミュレーションについてはＩＢＭ社の製品ＷｅｂＳｈｐｈｅｒｅ（ｈｔｔｐ：／／ｗｗｗ−０６．ｉｂｍ．ｃｏｍ／ｊｐ／ｓｏｆｔｗａｒｅ／ｗｅｂｓｐｈｅｒｅ／）等で実現されているため、ここでは詳細な説明を省略する。
【００９３】
以上のステップＳ１４０１〜ステップＳ１４０９によって業務レベルのマクロサービスが生成され、図３のステップＳ００３が完結する。
【００９４】
次に、図３のステップＳ００４において、業務レベルの設計者が業務レベルのビジネスプロセスにマクロサービスを割り当てる。これは、ビジネスプロセス構築プログラム１１１が表示する業務レベルでのビジネスプロセス構築画面を用いて行う。
【００９５】
図１５にそのビジネスプロセス構築画面の例を示す。図３のステップＳ００１に相当する図４の段階では、業務レベルでのサービスが用意されていなかったためにサービス情報表示部４００６は空欄になっていたが、図３のステップＳ００４に相当する図１５サービス情報表示部４００６には、図３のステップ００３で生成したマクロサービスが業務レベルのサービスとして列挙されている。
【００９６】
業務レベルの設計者は、設計フィールド４００３上で選択したアクティビティ（ｅｘ．４００３１）に対して割り当てるサービスをサービス情報表示部４００６の中から選び、割当ボタン４００７を押すことにより、該当アクティビティにサービスを割り当てる。
【００９７】
以上により、図３に示した設計手順が完結する。業務レベルの設計者は、この設計データを利用してトライ＆エラーでＳＯＡシステムの設計を進めたり、各アクティビティに割り当てられたサービスの非機能情報を利用して、シミュレートプログラム１１４を用いたシミュレーションを行ったりすることが可能になる。
【００９８】
このように、本実施の形態では、例えば、次のようなシナリオで効果を発揮する（図１６参照）。図１６は現在のＳＯＡシステム設計手段が抱えている課題を、本発明の手法を用いて解決を図る場合の概要を示す図である。
【００９９】
登場人物は、業務レベル（より粒度が粗いレベル）の設計担当者と実装レベル（より粒度が細かいレベル）の設計担当者の２名である。業務レベルの担当者は業務レベルでＳＯＡシステムの設計を完結させたいと考えているが、サービスは実装レベルでしか用意されていない。
【０１００】
［シナリオＳｔｅｐ１］  業務レベルの設計者は、自分の考える業務の内容を実装レベルの設計者に伝える。
【０１０１】
［シナリオＳｔｅｐ２］  実装レベルの設計者は、ヒアリングした業務を実現するような実装レベルのビジネスプロセスを、業務レベルの１アクティビティが実装レベルの１サブセットに対応する形で構築する（図１６の５０１）。
【０１０２】
［シナリオＳｔｅｐ３］  実装レベルの設計者が、実装レベルの各サブセットと１：１に対応する形でマクロサービスを生成する（図１６の５０２）。
【０１０３】
［シナリオＳｔｅｐ４］  業務の設計者は、業務レベルのビジネスプロセスの各アクティビティにマクロサービスを割り当てる（図１６の５０３）ことにより、業務レベルで閉じた、実装レベルの知識な設計を実施することができるようになる。
【０１０４】
これにより、業務レベルの設計者が既存のＢＰＥＬ＋ＷＳＤＬ対応ツールを使用して業務レベルでの動作検証やシミュレーションを行ったり、トライ＆エラーで設計を進めたりすることができるようになる。
【０１０５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１０６】
本発明は、Ｗｅｂサービスの設計装置および方法に関し、設計しようとしているビジネスプロセスのシステム構成要素の粒度と、ビジネスプロセスの構成要素に割り当てるサービスの粒度とが異なる装置やシステムに広く適用可能である。
【図面の簡単な説明】
【０１０７】
【図１】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置の構成を示す構成図である。
【図２】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置内の各プログラムの機能概要および磁気ディスク装置内に格納される各情報との関連を説明するための説明図である。
【図３】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置を使用して、ＳＯＡアーキテクチャのシステムを設計する場合の手順を示すフローチャートである。
【図４】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置のビジネスプロセス構築プログラムが使用するビジネスプロセス構築画面（粒度が業務レベル）の表示例である。
【図５】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置のビジネスプロセス構築プログラムが使用するビジネスプロセス構築画面（粒度が実装レベル）の表示例である。
【図６】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置のデータ関連付けプログラムが使用するデータ関連付け画面と、その画面によって生成されるデータ関連情報の大まかな構造の例を示す図である。
【図７】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置の実装レベルのサービスの一例として扱う住所録サービスのＷＳＤＬ表記を示す図である。
【図８】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置の実装レベルのサービスの一例として扱う郵便番号簿サービスのＷＳＤＬ表記を示す図である。
【図９】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置の実装レベルのビジネスプロセスの一例として扱う統合サービスのＢＰＥＬ表記を示す図である。
【図１０】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置の住所録サービスと郵便番号簿サービスの間で変数の関連付けを行う例を示す図である。
【図１１】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置のビジネスプロセス解析／マクロサービス生成プログラムの処理手順の詳細を示す図である。
【図１２】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置のビジネスプロセス解析／マクロサービス生成プログラムが使用するマクロサービスからの出力変数選択画面の表示例である。
【図１３】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置のビジネスプロセス解析／マクロサービス生成プログラムが生成するマクロサービスのＷＳＤＬを示す図である。
【図１４】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置のビジネスプロセス解析／マクロサービス生成プログラムが使用するマクロサービスへの機能概要付与画面の表示例である。
【図１５】本発明の一実施の形態に係るＳＯＡアーキテクチャのシステム設計支援装置のビジネスプロセス構築プログラムが使用するビジネスプロセス構築画面（粒度が業務レベルで、マクロサービス生成後）の表示例である。
【図１６】現在のＳＯＡシステム設計手段が抱えている課題を、本発明の手法を用いて解決を図る場合の概要を示す図である。
【図１７】現在のＳＯＡシステム設計手段が抱えている課題を説明するための説明図である。
【図１８】現在のＳＯＡシステム設計手段が抱えている課題を、特許文献１の手法を適用して解決を図る場合の概要を示す図である。
【符号の説明】
【０１０８】
１００…システム設計支援装置、１０１…中央演算処理装置、１０２…キーボード、１０３…ディスプレイ、１０４…ポインティングデバイス、１０５…主記憶装置、１０６…磁気ディスク装置、１０７…バス、１１０…制御プログラム、１１１…ビジネスプロセス構築プログラム、１１２…データ関連付けプログラム、１１３…ビジネスプロセス解析／マクロサービス生成プログラム、１１４…シミュレートプログラム、１２０…ビジネスプロセス設計情報リポジトリ、１２１…サービス情報リポジトリ。
【図１】
0004876032.tif 000002
【図２】
0004876032.tif 000003
【図３】
0004876032.tif 000004
【図４】
0004876032.tif 000005
【図５】
0004876032.tif 000006
【図６】
0004876032.tif 000007
【図７】
0004876032.tif 000008
【図８】
0004876032.tif 000009
【図９】
0004876032.tif 000010
【図１０】
0004876032.tif 000011
【図１１】
0004876032.tif 000012
【図１２】
0004876032.tif 000013
【図１３】
0004876032.tif 000014
【図１４】
0004876032.tif 000015
【図１５】
0004876032.tif 000016
【図１６】
0004876032.tif 000017
【図１７】
0004876032.tif 000018
【図１８】
0004876032.tif 000019