"コンピュータに、ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第1のサーバ装置群に処理を実行させる実行制御処理を実行する前後に、前記第1のサーバ装置群に含まれる構成要素のそれぞれについて状態を取得し、前記実行制御処理を実行する前後で取得した状態が異なる構成要素と前記実行制御処理とを関連付けた情報を記憶手段に記憶し、ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第2のサーバ装置群に含まれる構成要素のうち、前記実行制御処理と関連付けて前記記憶手段に記憶された前記構成要素と前記第1のサーバ装置群に含まれる他の構成要素とに予め定められた依存関係と同じ依存関係を、前記第2のサーバ装置群に含まれる他の構成要素と予め定められている構成要素を特定し、前記実行制御処理を、特定された構成要素に実行させる設定を行なうことを特徴とする設定プログラム。前記コンピュータに、連続で前記第1のサーバ装置群に実行した実行制御処理群のそれぞれについて、前記第1のサーバ装置群に含まれる構成要素間の依存関係と前記第2のサーバ装置群に含まれる構成要素間の依存関係との対応に応じて、前記第2のサーバ装置群に含まれる構成要素を特定し、連続で実行した前記実行制御処理群の実行順序で、前記実行制御処理群を前記実行制御処理群のそれぞれに特定された構成要素に実行させる設定を行なう、ことを特徴とする請求項1に記載の設定プログラム。前記コンピュータに、前記実行制御処理群のいずれかと同一の実行制御処理を含む他の実行制御処理群のうち、前記同一の実行制御処理よりも実行順序が先である実行制御処理を、前記実行制御処理群のうちの前記同一の実行制御処理よりも先の実行順序で実行させる設定を行ない、前記他の実行制御処理群のうち、前記同一の実行制御処理よりも実行順序が後である実行制御処理を、前記実行制御処理群のうちの前記同一の実行制御処理よりも後の実行順序で実行させる設定を行なう、ことを特徴とする請求項2に記載の設定プログラム。前記コンピュータに、前記第2のサーバ装置群と一部の構成要素を共用する第3のサーバ装置群に含まれる構成要素と、前記他の実行制御処理群に含まれる実行制御処理のそれぞれとを、前記第1のサーバ装置群及び前記第3のサーバ装置群に予め定められた構成要素間の依存関係に応じて対応付けて前記設定を行なう、ことを特徴とする請求項3に記載の設定プログラム。ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第1のサーバ装置群に処理を実行させる実行制御処理を実行する前後に、前記第1のサーバ装置群に含まれる構成要素のそれぞれについて状態を取得するステップと、前記実行制御処理を実行する前後で取得した状態が異なる構成要素と前記実行制御処理とを関連付けた情報を記憶手段に記憶するステップと、ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第2のサーバ装置群に含まれる構成要素のうち、前記実行制御処理と関連付けて前記記憶手段に記憶された前記構成要素と前記第1のサーバ装置群に含まれる他の構成要素とに予め定められた依存関係と同じ依存関係を、前記第2のサーバ装置群に含まれる他の構成要素と予め定められている構成要素を特定するステップと、前記実行制御処理を、特定された構成要素に実行させる設定を行なうステップとを含んだことを特徴とするワークフロー作成方法。ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第1のサーバ装置群に処理を実行させる実行制御処理を実行する前後に、前記第1のサーバ装置群に含まれる構成要素のそれぞれについて状態を取得する取得手段と、前記実行制御処理を実行する前後で取得した状態が異なる構成要素と前記実行制御処理とを関連付けた情報を記憶する記憶手段と、ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第2のサーバ装置群に含まれる構成要素のうち、前記実行制御処理と関連付けて前記記憶手段に記憶された前記構成要素と前記第1のサーバ装置群に含まれる他の構成要素とに予め定められた依存関係と同じ依存関係を、前記第2のサーバ装置群に含まれる他の構成要素と予め定められている構成要素を特定する特定手段と、前記実行制御処理を、特定された構成要素に実行させる設定を行なう設定手段とを備えたことを特徴とするワークフロー作成装置。しかし、テスト環境でテストしていたワークフローを、実業務を行う本番の実地環境に展開する場合など、テスト環境と実地環境では、システム構成が異なる場合や、サーバが担う役割が異なることがある。例えば、同じアプリケーションサーバであっても、単一業務を稼働させる役割である場合と複数の業務を稼働させる役割を担っている場合がある。このため、サーバ間の依存関係に従って、例えばサーバの起動順序や停止順序などを考慮して運用作業手順を変更することが求められる。一例として、パッチ適用などの保守作業のためにアプリケーションミドルウェアやサーバの停止を行う場合、当該サーバが担う役割によっては、影響範囲が異なり、事前事後の作業タスクが変化する。これに間違いなく対応するために、人手によるワークフローの手直しをしなければならない。従来の技術では、ワークフローの管理者が、テスト環境と実地環境の構成の差異システム構成の差を手作業で明確化し、導入先である実地環境に応じてワークフロー定義の修正作業を手作業で実施していた。手作業での定義変更を行うことは品質低下を招くため、コストが許容する範囲で本番用の実地環境により近い環境をテスト環境として準備することで、手作業での修正範囲を小さくすることもある。しかし、テスト環境を実施環境に近づけようとすることは、ITコストを増大させている一因となる。1つの側面では、本発明は、異なるシステムにワークフローを展開する場合に展開先のシステムに合わせたワークフローを作成することを目的とする。1つの態様では、設定プログラム、ワークフロー作成方法およびワークフロー作成装置は、ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第1のサーバ装置群に処理を実行させる実行制御処理を実行する前後に、前記第1のサーバ装置群に含まれる構成要素のそれぞれについて状態を取得し、前記実行制御処理を実行する前後で取得した状態が異なる構成要素と前記実行制御処理とを関連付けた情報を記憶手段に記憶し、ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第2のサーバ装置群に含まれる構成要素のうち、前記実行制御処理と関連付けて前記記憶手段に記憶された前記構成要素と前記第1のサーバ装置群に含まれる他の構成要素とに予め定められた依存関係と同じ依存関係を、前記第2のサーバ装置群に含まれる他の構成要素と予め定められている構成要素を特定し、前記実行制御処理を、特定された構成要素に実行させる設定を行なう。異なるシステムにワークフローを展開する場合に展開先のシステムに合わせたワークフローを作成することができる。以下に添付図面を参照して、設定プログラム、ワークフロー作成方法およびワークフロー作成装置の実施の形態を詳細に説明する。図1は、本実施例にかかるワークフロー作成装置10の構成図である。ワークフロー作成装置10は、取得部11、判別部12、識別部13、列挙部14、設定部15および結合部16を有する。取得部11は、テスト環境40で実行されたワークフローについて、ワークフローに含まれるタスクの実行前後におけるテスト環境40内の構成要素について状態を取得する。判別部12は、取得部11による取得結果からタスクの実行前後で状態に変化がある場合には当該タスクが操作系のタスクであると判別し、状態に変化がない場合には参照系のタスクであると判別する。識別部13は、状態の変化に基づいて操作系のタスクがテスト環境のどの構成要素に対する操作であるかを識別する。列挙部14は、操作系タスクの対象となった構成要素を操作対象として含むワークフローを抽出し、操作系タスクの前後のタスクを列挙する。設定部15は、ワークフロー内のタスクについて、ワークフローにおいて先に実行されるタスク先行タスクとの間へのタスクの挿入可否を設定する。結合部16は、操作系タスクについて、実地環境50の構成を示す構成情報、列挙部14によって列挙された前後のタスク、および構成要素間に定められた依存関係によって特定される操作対象の構成要素に基づいて、ワークフローを生成する。この結果、結合部16は、実地環境での実行時に他の構成要素に影響を与えないワークフローを作成することができる。テスト環境40は、サーバ41,42を含むサーバ群によって構成されるシステムである。各サーバは、OS上でミドルウェアとアプリケーションが動作している。また、実地環境50は、サーバ51,52を含むサーバ群によって構成されるシステムである。各サーバは、OS上でミドルウェアとアプリケーションが動作している。テスト環境40は、実地環境50での動作を試験するためのシステムであり、その構成は実地環境50と同一ではない。テスト環境40と実地環境50のシステム構成は、CMDBConfigurationManagementDatabase30に登録されている。CMDB30は、サーバ間やサーバ上で動作するアプリケーションなど構成アイテム以降CIと呼ぶ間の依存関係を自動的に導出して管理する。また、ワークフローDB20は、ワークフロー作成装置10が使用し、また作成したワークフローが登録されるデータベースである。図2は、テスト環境40と実地環境50の具体例についての説明図である。テスト環境40に構築されたシステム1は、Webサーバ、APサーバ、DBサーバを有する。テスト環境40においてシステム1のWebサーバは、OS1上でミドルウェアMW1が動作している。テスト環境40におけるシステム1のAPサーバも同様に、OS1上でミドルウェアMW1が動作している。そして、テスト環境40におけるシステム1のDBサーバは、OS1上でミドルウェアMW2が動作している。実地環境50に構築されたシステム1は、テスト環境40の場合と同様に、Webサーバ、APサーバ、DBサーバを有する。実地環境50においてシステム1のWebサーバは、OS1上でミドルウェアMW3が動作している。また、実地環境50におけるシステム1のAPサーバも同様に、OS1上でミドルウェアMW3が動作している。そして、実地環境50におけるシステム1のDBサーバは、OS2上でミドルウェアMW2が動作している。このように、テスト環境40と実地環境50とを比較すると、システム1のWebサーバのミドルウェアと、システム1のDBサーバのOSが異なる。加えて、実地環境50では、APサーバとDBサーバは、システム2とシステム1で共有される。なお、システム2のWebサーバは、システム1とは独立のサーバを有する。図3は、テスト環境40での処理を説明する説明図である。取得部11は、テスト環境40で実行したワークフローの各タスクの操作対象である操作対象オブジェクトの状態をモニタする操作対象オブジェクトモニタである。取得部11は、作業タスクの実行前、および実行後に、OSの状態、ミドルウェアの状態、プロセスの状態をスナップショットとして取得する。取得部11は、サーバの状態OSの状態については、外部の管理サーバからpingを行って取得する。また、取得部11は、ミドルウェアの状態については、OSの機能を利用してサービスの状態を取得する。このOSの機能の一例としては、netstartコマンドがある。取得部11は、プロセスの状態については、OSの機能を利用してプロセス一覧を取得する。判別部12は、作業タスク実行前後のスナップショットを比較し、差異がない場合は、参照系タスクとし、差異がある場合は、操作系タスクとして、ワークフローDB20内に作業タスクの種別を保存する。操作系タスクと判断された場合は、識別部13がスナップショット比較によって差異として表出した情報をキーにCMDB30内のCIを検索し、操作系タスクがどのCIに影響を与えるものであるのかの関係をワークフローDB20内の作業タスク情報として保存する。スナップショット比較によって差異として表出した情報がサーバの状態変化の場合は、当該サーバの名前、IPアドレスをキーにCMDB30内のCIを検索し、操作系タスクがどのCIに影響を与えるものであるのかの関係をワークフローDB20内の作業タスク情報として保存する。例えば、ping応答の結果がタスクの実行前後において異なる場合に、サーバの状態が変化したと判断する。スナップショット比較によって差異として表出した情報がプロセスの状態変化の場合は、当該プロセスの名前をキーに、上記サーバの場合と同様にCMDB30内のCIを検索し、操作系タスクがどのCIに影響を与えるものであるのかの関係をワークフローDB20内の作業タスク情報として保存する。例えば、OSの機能を利用して取得したプロセス一覧がタスクの実行前後において異なる場合に、プロセスの状態が変化したと判断する。そして、サーバでもプロセスでもない場合、状態変化のあったサービスがOS上で稼働するどのミドルウェアであるのかを特定し、その情報をキーに、CMDB30内のCIを検索し、操作系タスクがどのCIに影響を与えるものであるのかの関係をワークフローDB20内の作業タスク情報として保存する。例えば、netstartコマンドに対する応答がタスクの実行前後において異なる場合に、サービスの状態が変化したと判断する。状態変化のあったサービスがOS上で稼働するどのミドルウェアであるのかを特定する手法は、具体的には、OSが製品情報を管理しているレジストリ内のアンインストールに関する情報の範囲でサービス名と一致する情報を検索し、製品名として登録されている領域と一致するものを抽出する。1つだけ抽出された場合は、それを操作対象のミドルウェアとして特定する。一意に決まらない場合、すなわちサービス名と一致する情報が見つからない場合や複数見つかった場合は、サービスを管理する情報から当該サービスの実行パスを取り出し、このパス情報をキーにレジストリ内のソフトウェアに関する情報の範囲で検索する。この検索の結果、一致するパス名が1つだけあった場合、その情報を保有しているソフトウェア情報の製品名を操作対象のミドルウェアとして特定する。なお、この検索でも特定されない場合は、検索で見つかった複数の製品名候補をサービス名とともに管理者へ提示、例えば画面表示し、管理者が選択して特定すればよい。図3に示した例では、作業タスクtask001の実行前後では変化が無く、task001は参照系タスクである。作業タスクtask002の実行前後では、ミドルウェアMW1の停止が発生しているので、作業タスクtask002は操作系タスクである。この作業タスクtask002の操作種別は停止、操作対象はミドルウェアMW1、CI番号は700003である。図4は、図2に示した環境に、CI番号を付した説明図である。図4に示したように、テスト環境のシステム1のWebサーバのCI番号は5001、テスト環境のシステム1のWebサーバで動作するミドルウェアMW1のCI番号が700003である。また、テスト環境のシステム1のAPサーバのCI番号は5002、テスト環境のシステム1のWebサーバで動作するミドルウェアMW1のCI番号が700004である。同様に、実地環境のシステム1のWebサーバのCI番号は1001、実地環境のシステム1のWebサーバで動作するミドルウェアMW3のCI番号が500003である。また、実地環境のシステム1のAPサーバのCI番号は1002、実地環境のシステム1のAPサーバで動作するミドルウェアMW3のCI番号が500004である。そして、実地環境のシステム2のWebサーバのCI番号は1006、実地環境のシステム2のWebサーバで動作するミドルウェアMW3のCI番号が500005である。これらのCI番号は、図13及び図14に示したCMDB30の具体例から得られる。図13に示したテーブル31は、CMDB30に含まれる業務の構成情報である。実地環境のシステム1にCI番号100001、実地環境のシステム2にCI番号100002、テスト環境のシステム1にCI番号100501が与えられている。また、実地環境のシステム1CI番号100001が構成CIとして1001~1005を有することが示されている。同様に、実地環境のシステム2CI番号100002が構成CIとして1006,1002~1005を有することが示されている。そして、テスト環境のシステム1CI番号100501が構成CIとして5001~5003を有することが示されている。図13に示したテーブル32は、CMDB30に含まれるサーバの構成情報である。CI番号1001~1012,5001~5003について、サーバ名、IPアドレス、OS種別、OS-VLバージョンレベル、構成CI、依存CIが示されている。図14に示したテーブル33は、CMDB30に含まれるミドルウェアの構成情報である。CI番号500001~500023,700003~700004についてミドルウェアの名称、ベンダ名、MW-VLバージョンレベル、依存CIが示されている。併せて、図15を参照し、ワークフローDB20の具体例について説明する。図15に示したテーブル21は、ワークフローの定義について示すテーブルである。テーブル21は、ワークフローの番号flow001~012とフローの名称、フローを構成する作業タスクである構成タスクが示されている。図15に示したテーブル22は、作業タスクに関する情報を示すテーブルである。テーブル22は、作業タスクを識別するタスク番号、先行タスク、列番号、先行タスクとの間に他のタスクを挿入することを禁止するか否か、操作の種別、操作の対象、操作対象のCI番号の項目を有する。このように、ワークフロー作成装置10は、テスト環境40で実行したワークフローについて作業タスクの前後でスナップショットを取得して各作業タスクが操作系であるか参照系であるか判断し、操作系である場合にはCMDB30を参照して操作種別と操作対象がどのCIであるかを示すテーブルを得ることができる。その後、ワークフロー作成装置10は、実地環境50にワークフローを展開する。実地環境50へのワークフロー展開時には、識別部13がワークフローDB20に保存した情報を基にして、列挙部14が実地環境50にワークフローを適用した場合のワークフロー内の各作業タスクの操作対象CMDB30内ではCIとして表現されるを列挙する。そして、操作対象ごとに以下1~4の処理を繰り返す。1操作対象に対して操作を行っている作業タスク操作系タスクを含むワークフローを抽出する。参照系タスクのみのワークフローは抽出しない。2抽出されたワークフローから、操作対象への作業タスク、および前後の作業タスクを抽出して、結合候補となる作業タスク一覧を作成する。3操作対象と、作業タスク一覧の操作対象である構成アイテムCIの依存関係をCMDB30から取得し、操作対象CI間の依存関係に合わせて作業タスクの依存関係を導出する。4導出された作業タスク間の依存関係に作業タスクを組み替えて、ワークフローを結合し、元のワークフローから派生した新しいワークフローとして生成する。図5は、ワークフローの展開の具体例についての説明図である。CI番号5001、5002に該当する実地環境50におけるWebサーバとAPサーバのCI番号を、CMDB30を検索して決定している。例えば、CMDB30が図13に示すテーブル31及びテーブル32を含む場合に、実地環境であるシステム1に含まれる構成CI1001、1002、1003、1004、1005をテーブル31から読み出し、構成CI間の依存関係が構成CI5001と5002との関係と同じである構成CIのCI番号を取得する。それにより、CI番号5001、5002に該当する実地環境50におけるWebサーバとAPサーバのCI番号が1001、1002であると決定している。そして、CI番号5001に依存する700003と5002に依存する700004と同じ関係にある本番環境100001でのCI番号を抽出している。この結果、テスト環境40のCI番号5001は対応する実地環境50のCI番号1001に置換えられ、テスト環境40のCI番号5002は対応する実地環境50のCI番号1002に置換えられる。同様に、テスト環境40のCI番号700003は対応する実地環境50のCI番号500003に置換えられ、テスト環境40のCI番号700004は対応する実地環境50のCI番号500004に置換えられる。この作業タスクのうち、操作対象に対して操作を行っている作業タスク操作系タスクを含むワークフローを抽出する参照系タスクのみのワークフローは抽出しない。具体的には、テーブル22から該当する操作系タスクを抽出し、その操作系タスクを含んでいるワークフローをテーブル21から抽出する。図5に示した例では、CI番号500003、500004、1001、1002に対して停止操作を行う操作系タスクを、全ワークフロー定義を対象に検索し、該当するワークフローを抽出することとなる。この結果、CI番号500004、1002に対して、他のワークフローflow003が停止操作していることが解る。さらに、抽出されたワークフローから、操作対象への作業タスク、および前後の作業タスクをテーブル21から抽出して、結合候補となる作業タスク一覧を作成する。この際、Flow001と操作対象が重なる作業タスクは重複タスクとして記録する。図6は、Flow003について作成したテーブルの具体例の説明図である。タスクtask101~106に関し、先行タスク、列番号、先行タスクとの間への他のタスクの挿入を禁止するか、タスク種別、重複タスクが示されている。タスクtask102は、先行タスクであるtask101との間への他のタスクの挿入が禁止されている。この禁止の設定は、タスクの内容によって定まり、設定部15が行なう。この設定は、設定部15がタスクの内容を判別して自動的に設定しても良いし、オペレータからの操作を受け付けて設定してもよい。また、タスクtask104は、重複タスクとしてタスクtask003が設定されており、タスクtask106には重複タスクとしてタスクtask005が設定されている。ワークフロー作成装置10の結合部16は、操作対象と、列挙した作業タスクの操作対象である構成アイテムCIの依存関係をCMDB30から取得し、操作対象間CIの依存関係に合わせて作業タスクの依存関係を導出する。CMDB30では、CI番号1006が1002に依存しており、1006の構成CIである500005は、1006に依存している。よって、各CIを操作する作業タスクも同様の依存関係があるとみなす。この要領でflow003の全作業タスクの依存関係を明確にすると図7のようになり、これらの作業タスクは必ずこの順に実行する必要がある。一方、依存関係のないタスクは並行実行も可能である。また、同様に展開しようとしているワークフローflow001についても同様の手順で依存関係を明確にすると図8に示した状態になる。具体的には、flow001に含まれるタスクtask001~005について、先行タスク、列番号、挿入禁止、タスク種別、依存タスクが設定されている。タスクtask002には禁止が設定されるとともに、依存タスクがtask003,004であることが示されている。また、task003,04には、依存タスクがtask005であることが示されている。結合部16は、導出された作業タスク間の依存関係をもとに、作業タスクを組み替えて、ワークフローを結合し、基のワークフローから派生した新しいワークフローとして生成する。具体例では、flow001を自フロー、flow003を他フローとし、他フローのタスク一覧において、列番号の一番大きい行から逆順にループして処理を行なう。このとき、他フローの処理行の重複タスクにタスク番号が格納されている場合には、何も処理せず、次の行へ進む。また、他フローの処理行の依存タスクにタスク番号がある場合、自フローflow001内の当該タスク番号の行の直前に処理行を複写する。なお、重複タスク列は除いて複写する。この際、挿入する行の列番号は、依存タスクが持つ列番号から1減算した値を設定する。かかる処理を行なって、次の行へ進む。この結果、flow001のタスク一覧は、図9に示したように変化する。図9では、task005とtask004の間にtask105が挿入され、その列番号は4となっている。そして、他フローの処理行の依存タスクにタスク番号がない場合、他フローにおける次の行に相当する自フローflow001内のタスク行の直前に処理行を重複タスク列を除いて複写する。この際、挿入する行の列番号は、挿入しようとしている行の次の行が持つ列番号から1減算した値を設定する。かかる処理を行なって、次の行へ進む。この結果、flow001のタスク一覧は、図10に示したように変化する。図10では、task003とtask002の間にtask102が挿入され、その列番号は2となっている。さらに、他フローの処理行の挿入禁止列に禁止表示がある場合、その直前の行とセットにして、複数行まとめて前述のルールに従って自フロー内に複写する。挿入する際、挿入先の業務の列番号から1減算した値を設定する。ただし、自フロー内に挿入しようとする対象行に挿入禁止の表示がある場合、依存関係がない場合は、その前後のどちらかの行に挿入し、依存関係がある場合、依存関係に従って挿入先を決定する。かかる処理を行なって、次の行へ進む。最終的にflow001のタスク一覧は図11に示したように変化する。図11では、task103とtask002の間にtask101,102が挿入され、その列番号は0,1となっている。結合部16は、ワークフローDB20内のflow001を新しいワークフロー仮にflow1001として複写し、上記ループ処理で作成されたflow001の表を反映する。これによって、ワークフローの結合は完成する。図12は、以上のワークフローの結合を説明する模式図である。flow001は、作業タスクtask001~005を有し、task003がCI500004に対する停止操作である。flow003は、作業タスクtask101~106を有し、task104がCI500004に対する停止操作である。flow001とflow003を結合したflow1001では、CI500004に対する停止操作はtask003に統合されている。そして、task001~002の順序とtask101~103の順序は守られるが、task001~002とtask101~103とは並行して実行される。同様に、task004~005の順序は守られるが、task004~005とtask105とは並行して実行される。図16は、ワークフロー作成装置の処理動作を説明するフローチャートである。まず、テスト環境でワークフローを実行しS101、取得部11がタスクの実行前後でスナップショットを取得するS102。次に、判別部12がスナップショットを比較しS103、差異があるかを判別するS104。判別部13は、差異があるタスクS104,Yesを操作系タスクと判別してS105、識別部13による操作対象の識別を行なうS107。また、差異がないタスクS104,Noについては、判別部13は参照系タスクと判別するS106。判別部12による判別結果と、識別部13による識別結果は、ワークフローDB20に保存するS108。その後、列挙部14が操作対象を列挙しS109、設定部15がタスクの挿入禁止を必要に応じて設定したS110後、結合部16がCMDB30と連携し、CI間の依存関係を参照しながらワークフローを結合するS111。その後、タスクの操作対象の構成要素の種別に基づき、必要に応じて適用するスクリプトを選択してS112、処理を終了する。図17は、コンピュータをワークフロー作成装置として動作させる場合の構成図である。図17に示したように、コンピュータ60は、CPU61、メモリ62、HDDHardDiskDrive63及びネットワークインタフェース64がバスに接続した構成を有する。HDD63は、ワークフロー作成プログラム10aを保持する。ワークフロー作成プログラム10aは、メモリ62に展開され、CPU61によって実行される取得プロセス11a、判別プロセス12a、識別プロセス13a、列挙プロセス14a、設定プロセス15a及び統合プロセス16aを有する。取得プロセス11aは、CPU61に実行された場合に、取得部11の機能を実現する。判別プロセス12aは、CPU61に実行された場合に、判別部12の機能を実現する。識別プロセス13aは、CPU61に実行された場合に、識別プロセス13の機能を実現する。列挙プロセス14aは、CPU61に実行された場合に、列挙部14の機能を実現する。設定プロセス15aは、CPU61に実行された場合に、設定部15の機能を実現する。統合プロセス16aは、CPU61に実行された場合に、統合部16の機能を実現する。ネットワークインタフェース64は、ワークフローDBシステム70のネットワークインタフェース71と、CMDBシステム80のネットワークインタフェース81とに接続する。ワークフローDBシステム70は、ネットワークインタフェース71に加え、アクセス制御部72と、ワークフローDB20とを有する。アクセス制御部72は、ネットワークインタフェース71を介してコンピュータ60からのアクセスを受け付け、ワークフローDB20に対するアクセスを処理する。CMDBシステム80は、ネットワークインタフェース81に加え、アクセス制御部82と、CMDB30とを有する。アクセス制御部82は、ネットワークインタフェース81を介してコンピュータ60からのアクセスを受け付け、CMDB30に対するアクセスを処理する。以上説明してきたように、本実施例にかかるワークフロー作成装置10は、テスト環境40で実行されたワークフローのタスクの実行前後の状態から操作系のタスクを判別し、どの構成要素に対する操作であるかを識別する。そして、操作系タスクの対象となった構成要素を操作対象として含むワークフローを抽出し、必要に応じて先行タスクとの間へのタスクの挿入可否を設定して、実地環境50のワークフローとして結合する。このとき、実地環境50の構成情報、操作系タスクの前後のタスク、および操作系タスクの操作対象との依存関係に基づいて、ワークフローを結合する。このため、ワークフロー作成装置10は、異なるシステムにワークフローを展開する場合に展開先のシステムに合わせたワークフローを作成することができる。そして、かかるワークフローは、展開先での実行時に他の構成要素に影響を与えないワークフローとなる。テスト環境でテストしたワークフロー定義を、テスト環境と実地環境の差異を意識して手直しすることなく、自動的に実地環境に適応できることで、ワークフローの品質を低下させることなく短時間で実地環境用のワークフローを得ることができる。また、実地環境と同じ構成の環境をテスト環境として準備する必要がなくなるため、テスト環境を準備するコストも大幅に削減することができる。そして、環境の差異を考慮するための環境の判断、環境ごとの作業手順をワークフローとして定義する必要がないため、シンプルなワークフローとなり、ワークフローのメンテナンスコストの低下、修正時のリスク低減が図られる。加えて、操作対象オブジェクトサーバやミドルウェアと各ワークフロー内で行われる操作が関係付けられるため、ワークフローが影響を及ぼす範囲や操作対象オブジェクトに変化が発生した場合の影響を可視化することができ、運用品質を向上できる。"