JP5609656B2 - 設定プログラム、ワークフロー作成方法およびワークフロー作成装置 - Google Patents

設定プログラム、ワークフロー作成方法およびワークフロー作成装置 Download PDF

Info

Publication number
JP5609656B2
JP5609656B2 JP2011003359A JP2011003359A JP5609656B2 JP 5609656 B2 JP5609656 B2 JP 5609656B2 JP 2011003359 A JP2011003359 A JP 2011003359A JP 2011003359 A JP2011003359 A JP 2011003359A JP 5609656 B2 JP5609656 B2 JP 5609656B2
Authority
JP
Japan
Prior art keywords
execution control
device group
server device
task
control process
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.)
Expired - Fee Related
Application number
JP2011003359A
Other languages
English (en)
Other versions
JP2012146089A (ja
Inventor
利光 佐治
利光 佐治
清志 ▲高▼下
清志 ▲高▼下
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011003359A priority Critical patent/JP5609656B2/ja
Priority to US13/334,148 priority patent/US8661418B2/en
Priority to EP12150576.2A priority patent/EP2474910B1/en
Publication of JP2012146089A publication Critical patent/JP2012146089A/ja
Application granted granted Critical
Publication of JP5609656B2 publication Critical patent/JP5609656B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、設定プログラム、ワークフロー作成方法およびワークフロー作成装置に関する。
従来、情報処理装置に実行させる一連のタスクをワークフローとして自動実行させることが行われている。ここで、ワークフローとは、OSやミドルウェア(アプリケーション)に対する1つの操作であるタスクを組み合わせて定義された一連の作業手順である。例えば、多数のIT機器(サーバ、ストレージ、ネットワークなど)が設置され、OS(Operating System)/ミドルウェア/アプリケーションによって構成された業務システムを複数稼働させたデータセンタにおいて、監視や保守作業にワークフローとして定められた一連のタスクが自動実行される。
データセンタにおける運用作業を自動化する一般的なRBA(Run Book Automation)製品では、OSに依存の無いスクリプト実行環境を提供し、ファイル操作などOSが提供する機能を利用した作業をOSの種別を意識せずに作業タスクとして作成して自動化する手段が提供されている。
また、OS以外については、例えばミドルウェアに対する操作は、ミドルウェア製品ごとの操作用作業タスクを組み合わせてワークフローを作成することが知られている。この場合、ミドルウェアごとの操作の違いを吸収するスクリプト等を作成すれば、操作を論理化することができ、ミドルウェアが異なる環境でも同一ワークフローで動作させることが可能である。
特開2006−277535号公報 特開平10−27203号公報 特開平10−214289号公報
しかし、テスト環境でテストしていたワークフロー(運用作業手順の定義)を、実業務を行う本番の実地環境に展開する場合など、テスト環境と実地環境では、システム構成が異なる場合や、サーバが担う役割が異なることがある。例えば、同じアプリケーションサーバであっても、単一業務を稼働させる役割である場合と複数の業務を稼働させる役割を担っている場合がある。
このため、サーバ間の依存関係に従って、例えばサーバの起動順序や停止順序などを考慮して運用作業手順を変更することが求められる。一例として、パッチ適用などの保守作業のためにアプリケーション(ミドルウェア)やサーバの停止を行う場合、当該サーバが担う役割によっては、影響範囲が異なり、事前事後の作業タスクが変化する。これに間違いなく対応するために、人手によるワークフローの手直しをしなければならない。
従来の技術では、ワークフローの管理者が、テスト環境と実地環境の構成の差異(システム構成の差)を手作業で明確化し、導入先である実地環境に応じてワークフロー定義の修正作業を手作業で実施していた。
手作業での定義変更を行うことは品質低下を招くため、コストが許容する範囲で本番用の実地環境により近い環境をテスト環境として準備することで、手作業での修正範囲を小さくすることもある。しかし、テスト環境を実施環境に近づけようとすることは、ITコストを増大させている一因となる。
1つの側面では、本発明は、異なるシステムにワークフローを展開する場合に展開先のシステムに合わせたワークフローを作成することを目的とする。
1つの態様では、設定プログラム、ワークフロー作成方法およびワークフロー作成装置は、ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第1のサーバ装置群に処理を実行させる実行制御処理を実行する前後に、前記第1のサーバ装置群に含まれる構成要素のそれぞれについて状態を取得し、前記実行制御処理を実行する前後で取得した状態が異なる構成要素と前記実行制御処理とを関連付けた情報を記憶手段に記憶し、ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第2のサーバ装置群に含まれる構成要素のうち、前記実行制御処理と関連付けて前記記憶手段に記憶された前記構成要素と前記第1のサーバ装置群に含まれる他の構成要素とに予め定められた依存関係と同じ依存関係を、前記第2のサーバ装置群に含まれる他の構成要素と予め定められている構成要素を特定し、前記実行制御処理を、特定された構成要素に実行させる設定を行なう。
異なるシステムにワークフローを展開する場合に展開先のシステムに合わせたワークフローを作成することができる。
図1は、本実施例にかかるワークフロー作成装置10の構成図である。 図2は、テスト環境40と実地環境50の具体例についての説明図である。 図3は、テスト環境40での処理を説明する説明図である。 図4は、図2に示した環境に、CI番号を付した説明図である。 図5は、ワークフローの展開の具体例についての説明図である。 図6は、Flow003について作成した作業タスク一覧の具体例の説明図である。 図7は、作業タスク一覧の変化についての説明図である。(その1) 図8は、作業タスク一覧の変化についての説明図である。(その2) 図9は、作業タスク一覧の変化についての説明図である。(その3) 図10は、作業タスク一覧の変化についての説明図である。(その4) 図11は、作業タスク一覧の変化についての説明図である。(その5) 図12は、ワークフローの結合を説明する模式図である。 図13は、CMDB30の具体例の説明図である。(その1) 図14は、CMDB30の具体例の説明図である。(その2) 図15は、ワークフローDB20の具体例の説明図である。 図16は、ワークフロー作成装置の処理動作を説明するフローチャートである。 図17は、コンピュータをワークフロー作成装置として動作させる場合の構成図である。
以下に添付図面を参照して、設定プログラム、ワークフロー作成方法およびワークフロー作成装置の実施の形態を詳細に説明する。
図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のシステム構成は、CMDB(Configuration Management Database)30に登録されている。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の機能の一例としては、net startコマンドがある。取得部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内の作業タスク情報として保存する。例えば、net startコマンドに対する応答がタスクの実行前後において異なる場合に、サービスの状態が変化したと判断する。
状態変化のあったサービスが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が与えられている。また、実地環境のシステム1(CI番号100001)が構成CIとして1001〜1005を有することが示されている。同様に、実地環境のシステム2(CI番号100002)が構成CIとして1006,1002〜1005を有することが示されている。そして、テスト環境のシステム1(CI番号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、HDD(Hard Disk Drive)63及びネットワークインタフェース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は、異なるシステムにワークフローを展開する場合に展開先のシステムに合わせたワークフローを作成することができる。そして、かかるワークフローは、展開先での実行時に他の構成要素に影響を与えないワークフローとなる。
テスト環境でテストしたワークフロー定義を、テスト環境と実地環境の差異を意識して手直しすることなく、自動的に実地環境に適応できることで、ワークフローの品質を低下させることなく短時間で実地環境用のワークフローを得ることができる。
また、実地環境と同じ構成の環境をテスト環境として準備する必要がなくなるため、テスト環境を準備するコストも大幅に削減することができる。そして、環境の差異を考慮するための環境の判断、環境ごとの作業手順をワークフローとして定義する必要がないため、シンプルなワークフローとなり、ワークフローのメンテナンスコストの低下、修正時のリスク低減が図られる。
加えて、操作対象オブジェクト(サーバやミドルウェア)と各ワークフロー内で行われる操作が関係付けられるため、ワークフローが影響を及ぼす範囲や操作対象オブジェクトに変化が発生した場合の影響を可視化することができ、運用品質を向上できる。
10 ワークフロー作成装置
11 取得部
12 判別部
13 識別部
14 列挙部
15 設定部
16 結合部
20 ワークフローDB
21〜22,31〜33 テーブル
30 CMDB
40 テスト環境
50 実地環境
41〜42,51〜52 サーバ

Claims (6)

  1. コンピュータに、
    ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第1のサーバ装置群に処理を実行させる実行制御処理を実行する前後に、前記第1のサーバ装置群に含まれる構成要素のそれぞれについて状態を取得し、
    前記実行制御処理を実行する前後で取得した状態が異なる構成要素と前記実行制御処理とを関連付けた情報を記憶手段に記憶し、
    ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第2のサーバ装置群に含まれる構成要素のうち、前記実行制御処理と関連付けて前記記憶手段に記憶された前記構成要素と前記第1のサーバ装置群に含まれる他の構成要素とに予め定められた依存関係と同じ依存関係、前記第2のサーバ装置群に含まれる他の構成要素と予め定められている構成要素を特定し、
    前記実行制御処理を、特定された構成要素に実行させる設定を行なう
    ことを特徴とする設定プログラム。
  2. 前記コンピュータに、
    連続で前記第1のサーバ装置群に実行した実行制御処理群のそれぞれについて、前記第1のサーバ装置群に含まれる構成要素間の依存関係と前記第2のサーバ装置群に含まれる構成要素間の依存関係との対応に応じて、前記第2のサーバ装置群に含まれる構成要素を特定し、
    連続で実行した前記実行制御処理群の実行順序で、前記実行制御処理群を前記実行制御処理群のそれぞれに特定された構成要素に実行させる設定を行なう、
    ことを特徴とする請求項1に記載の設定プログラム。
  3. 前記コンピュータに、
    前記実行制御処理群のいずれかと同一の実行制御処理を含む他の実行制御処理群のうち、前記同一の実行制御処理よりも実行順序が先である実行制御処理を、前記実行制御処理群のうちの前記同一の実行制御処理よりも先の実行順序で実行させる設定を行ない、
    前記他の実行制御処理群のうち、前記同一の実行制御処理よりも実行順序が後である実行制御処理を、前記実行制御処理群のうちの前記同一の実行制御処理よりも後の実行順序で実行させる設定を行なう、
    ことを特徴とする請求項2に記載の設定プログラム。
  4. 前記コンピュータに、
    前記第2のサーバ装置群と一部の構成要素を共用する第3のサーバ装置群に含まれる構成要素と、前記他の実行制御処理群に含まれる実行制御処理のそれぞれとを、前記第1のサーバ装置群及び前記第3のサーバ装置群に予め定められた構成要素間の依存関係に応じて対応付けて前記設定を行なう、
    ことを特徴とする請求項3に記載の設定プログラム。
  5. ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第1のサーバ装置群に処理を実行させる実行制御処理を実行する前後に、前記第1のサーバ装置群に含まれる構成要素のそれぞれについて状態を取得するステップと、
    前記実行制御処理を実行する前後で取得した状態が異なる構成要素と前記実行制御処理とを関連付けた情報を記憶手段に記憶するステップと、
    ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第2のサーバ装置群に含まれる構成要素のうち、前記実行制御処理と関連付けて前記記憶手段に記憶された前記構成要素と前記第1のサーバ装置群に含まれる他の構成要素とに予め定められた依存関係と同じ依存関係、前記第2のサーバ装置群に含まれる他の構成要素と予め定められている構成要素を特定するステップと、
    前記実行制御処理を、特定された構成要素に実行させる設定を行なうステップと
    を含んだことを特徴とするワークフロー作成方法。
  6. ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第1のサーバ装置群に処理を実行させる実行制御処理を実行する前後に、前記第1のサーバ装置群に含まれる構成要素のそれぞれについて状態を取得する取得手段と、
    前記実行制御処理を実行する前後で取得した状態が異なる構成要素と前記実行制御処理とを関連付けた情報を記憶する記憶手段と、
    ハードウェア又はソフトウェアである複数の構成要素を含み、予め構成要素間の依存関係が定められている第2のサーバ装置群に含まれる構成要素のうち、前記実行制御処理と関連付けて前記記憶手段に記憶された前記構成要素と前記第1のサーバ装置群に含まれる他の構成要素とに予め定められた依存関係と同じ依存関係、前記第2のサーバ装置群に含まれる他の構成要素と予め定められている構成要素を特定する特定手段と、
    前記実行制御処理を、特定された構成要素に実行させる設定を行なう設定手段と
    を備えたことを特徴とするワークフロー作成装置。
JP2011003359A 2011-01-11 2011-01-11 設定プログラム、ワークフロー作成方法およびワークフロー作成装置 Expired - Fee Related JP5609656B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011003359A JP5609656B2 (ja) 2011-01-11 2011-01-11 設定プログラム、ワークフロー作成方法およびワークフロー作成装置
US13/334,148 US8661418B2 (en) 2011-01-11 2011-12-22 Setting program, workflow creating method, and work flow creating apparatus
EP12150576.2A EP2474910B1 (en) 2011-01-11 2012-01-10 Setting program, workflow creating method, and work flow creating apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011003359A JP5609656B2 (ja) 2011-01-11 2011-01-11 設定プログラム、ワークフロー作成方法およびワークフロー作成装置

Publications (2)

Publication Number Publication Date
JP2012146089A JP2012146089A (ja) 2012-08-02
JP5609656B2 true JP5609656B2 (ja) 2014-10-22

Family

ID=45558503

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011003359A Expired - Fee Related JP5609656B2 (ja) 2011-01-11 2011-01-11 設定プログラム、ワークフロー作成方法およびワークフロー作成装置

Country Status (3)

Country Link
US (1) US8661418B2 (ja)
EP (1) EP2474910B1 (ja)
JP (1) JP5609656B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5609656B2 (ja) * 2011-01-11 2014-10-22 富士通株式会社 設定プログラム、ワークフロー作成方法およびワークフロー作成装置
US9041727B2 (en) 2012-03-06 2015-05-26 Apple Inc. User interface tools for selectively applying effects to image
US9131192B2 (en) 2012-03-06 2015-09-08 Apple Inc. Unified slider control for modifying multiple image properties
US9202433B2 (en) 2012-03-06 2015-12-01 Apple Inc. Multi operation slider
US9189876B2 (en) 2012-03-06 2015-11-17 Apple Inc. Fanning user interface controls for a media editing application
JP2014174615A (ja) * 2013-03-06 2014-09-22 Nomura Research Institute Ltd メンテナンス作業支援装置
JP6575099B2 (ja) * 2015-03-24 2019-09-18 富士通株式会社 運用操作管理プログラム、運用操作管理装置および運用操作管理方法
GB2547222A (en) * 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
GB2547220A (en) * 2016-02-10 2017-08-16 Testplant Europe Ltd Method of, and apparatus for, testing computer hardware and software
WO2018225200A1 (ja) * 2017-06-08 2018-12-13 株式会社日立製作所 サービステンプレート作成支援装置及び方法
KR102068830B1 (ko) * 2018-04-09 2020-01-21 (주)유미테크 서버 검증 자동화 및 관리시스템
US20220180258A1 (en) * 2020-11-16 2022-06-09 K2View Ltd Method and system for efficiently creating and assessing work and data flows

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1027203A (ja) 1996-07-12 1998-01-27 Toshiba Corp 業務支援システムおよび業務支援方法
JP3842360B2 (ja) 1997-01-30 2006-11-08 富士通株式会社 ワークフローの履歴情報取得方法及び履歴サーバの履歴情報取得方法及びワークフローの履歴情報取得システム及びワークフローサーバ及び履歴サーバ
US20020032692A1 (en) * 2000-09-08 2002-03-14 Atsuhito Suzuki Workflow management method and workflow management system of controlling workflow process
US7653562B2 (en) * 2002-07-31 2010-01-26 Sap Aktiengesellschaft Workflow management architecture
US7810078B2 (en) * 2002-12-10 2010-10-05 International Business Machines Corporation System and method for constructing computer application flows with specializations for targets
US7478361B2 (en) * 2004-06-17 2009-01-13 International Business Machines Corporation Method and system for managing application deployment
US20060156276A1 (en) * 2005-01-10 2006-07-13 Brown William A Workflow decision management with heuristics
JP2006277535A (ja) 2005-03-30 2006-10-12 Nec Corp ビジネスプロセス履歴収集表示システム及び方法
JP4839087B2 (ja) * 2006-01-11 2011-12-14 株式会社リコー ワークフロー管理システム
US8042091B2 (en) * 2007-03-14 2011-10-18 International Business Machines Corporation Automatic composition of model transformations
KR101066949B1 (ko) * 2007-03-15 2011-09-23 후지쯔 가부시끼가이샤 업무 분석 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 업무 분석 장치
WO2008152687A1 (ja) * 2007-06-11 2008-12-18 Fujitsu Limited ワークフロー定義変更プログラム、ワークフロー定義変更方法およびワークフロー定義変更装置
US7886028B2 (en) * 2007-07-05 2011-02-08 International Business Machines Corporation Method and system for system migration
EP2071453A1 (en) 2007-12-14 2009-06-17 ITI Scotland Limited Dynamic code update
JP5087133B2 (ja) * 2008-03-21 2012-11-28 株式会社三菱東京Ufj銀行 アプリケーション開発支援装置、プログラム及び記録媒体
JP5270209B2 (ja) * 2008-03-31 2013-08-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のタスクの進捗を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US8423879B2 (en) * 2008-05-14 2013-04-16 Honeywell International Inc. Method and apparatus for test generation from hybrid diagrams with combined data flow and statechart notation
US20100313185A1 (en) * 2009-06-03 2010-12-09 Microsoft Corporation Access to test-ready virtual environments
JP5609656B2 (ja) * 2011-01-11 2014-10-22 富士通株式会社 設定プログラム、ワークフロー作成方法およびワークフロー作成装置

Also Published As

Publication number Publication date
EP2474910A1 (en) 2012-07-11
EP2474910B1 (en) 2017-11-15
US8661418B2 (en) 2014-02-25
JP2012146089A (ja) 2012-08-02
US20120180028A1 (en) 2012-07-12

Similar Documents

Publication Publication Date Title
JP5609656B2 (ja) 設定プログラム、ワークフロー作成方法およびワークフロー作成装置
US10467050B1 (en) Automated workflow creation and management
US9417865B2 (en) Determining when to update a package manager software
US8972963B2 (en) End-to-end patch automation and integration
US7908521B2 (en) Process reflection
JP6788178B2 (ja) 設定支援プログラム、設定支援方法及び設定支援装置
EP2210183B1 (en) Managing updates to create a virtual machine facsimile
US20070214391A1 (en) Method and apparatus for testing software
US9405630B2 (en) Methods and apparatus to perform site recovery of a virtual data center
JP5263696B2 (ja) ソフトウェア構成要素をバックアップするためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP7316726B2 (ja) ソフトウェア・コンポーネントに関連するセキュリティ・リスクを検出する方法、システム、およびプログラム
US8918783B2 (en) Managing virtual computers simultaneously with static and dynamic dependencies
WO2009104268A1 (ja) パッチ候補選択装置、パッチ候補選択プログラムおよびパッチ候補選択方法
CN106201502B (zh) 一种跨主机应用程序部署方法及装置
JP6713954B2 (ja) ファイル管理装置及びファイル管理方法
US10338910B2 (en) Multi-tenant upgrading
US20150379038A1 (en) Data replication in site recovery environment
US9256509B1 (en) Computing environment analyzer
US9342784B1 (en) Rule based module for analyzing computing environments
WO2014188502A1 (ja) 管理システム、管理プログラム及び管理方法
AU2019371545B2 (en) Management system, acquisition device and management method
JP2010009411A (ja) 仮想化環境運用支援システム及び仮想環境運用支援プログラム
US10922305B2 (en) Maintaining storage profile consistency in a cluster having local and shared storage
US20210004217A1 (en) Lifecycle management of virtual compute templates
US9317273B2 (en) Information processing apparatus and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140714

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: 20140805

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140818

R150 Certificate of patent or registration of utility model

Ref document number: 5609656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees