(57)【要約】【課題】システム開発におけるＳＩ作業の発生をスケジュール対応で自動化でき、ロードモジュールの生成の世代管理を実行できるＳＩ制御システムを提供すること。【解決手段】サーバ１０１内のＳＩ制御システム１０２は、ＳＩ作業の生成タイミングをＯＳのスケジューラ機能に連携させるＳＩ情報を格納するＳＩ情報用データベース１０７と、サーバ１０１内のリソースライブラリ１１３に格納したプログラムに従ってロードモジュールを生成することでサーバ１０１内の本番環境１１４において、ＳＩ情報に基づいてＳＩ作業を生成するＳＩ処理を行うＳＩ処理部１０４と、本番環境１１４でのＳＩ処理に要するロードモジュールの生成のバックアップ処理を行うバックアップ処理部１０３と、ＳＩ処理失敗時の本番環境１１４へのリカバリ処理を行うリカバリ処理部１０５と、ＳＩ処理が所定時間を経過した場合に強制的に終了させるＳＩ強制終了処理部１０６と、を備える。【選択図】図１
2012027837.tif 000002
【特許請求の範囲】
【請求項１】
システム開発におけるＳＩ（Ｓｙｓｔｅｍ  Ｉｎｔｅｇｒａｔｉｏｎ）作業の生成を自動化するサーバ内に具備されるＳＩ制御システムであって、
前記ＳＩ作業の生成を実行するタイミングをオペレーティングシステムのスケジューラ機能に連携させるＳＩ情報を自動登録して格納するＳＩ情報格納部と、前記サーバ内のリソースライブラリに予め作成して格納したロードモジュール生成用プログラムに従ってロードモジュールを生成して当該サーバ内の本番環境において、前記ＳＩ情報に基づいて前記ＳＩ作業を生成するＳＩ処理を行うＳＩ処理部と、を備えたことを特徴とするＳＩ制御システム。
【請求項２】
請求項１記載のＳＩ制御システムにおいて、前記ＳＩ処理部による前記本番環境での前記ＳＩ処理に要する前記ロードモジュールの生成のバックアップ処理を実行するバックアップ処理部と、前記ＳＩ処理失敗時の前記本番環境へのリカバリ処理を実行するリカバリ処理部と、前記ＳＩ処理が所定時間を経過した場合に当該ＳＩ処理を強制的に終了させるＳＩ強制終了処理部と、を備えたことを特徴とするＳＩ制御システム。
【請求項３】
システム開発におけるＳＩ（Ｓｙｓｔｅｍ  Ｉｎｔｅｇｒａｔｉｏｎ）作業の生成をサーバにより自動化するＳＩ制御方法であって、
前記ＳＩ作業の生成を実行するタイミングをオペレーティングシステムのスケジューラ機能に連携させるＳＩ情報をＳＩ情報格納部に対して自動登録させて格納するＳＩ情報格納ステップと、予め作成して前記サーバ内のリソースライブラリに格納したロードモジュール生成用プログラムに従って、ＳＩ処理部によりロードモジュールを生成することで当該サーバ内の本番環境で前記ＳＩ情報に基づいて前記ＳＩ作業を生成するＳＩ処理を行わせるＳＩ処理ステップと、を有することを特徴とするＳＩ制御方法。
【請求項４】
請求項３記載のＳＩ制御方法において、前記ＳＩ処理ステップによる前記本番環境での前記ＳＩ処理に要する前記ロードモジュールの生成のバックアップ処理をバックアップ処理部により実行させるバックアップ処理ステップと、前記ＳＩ処理失敗時の前記本番環境へのリカバリ処理をリカバリ処理部により実行させるリカバリ処理ステップと、前記ＳＩ処理が所定時間を経過した場合にＳＩ強制終了処理部により当該ＳＩ処理を強制的に終了させるＳＩ強制終了処理ステップと、を有することを特徴とするＳＩ制御方法。
【請求項５】
システム開発におけるＳＩ（Ｓｙｓｔｅｍ  Ｉｎｔｅｇｒａｔｉｏｎ）作業の生成を自動化すると共に、サーバにより実行されるＳＩ制御用プログラムであって、
前記ＳＩ作業の生成を実行するタイミングをオペレーティングシステムのスケジューラ機能に連携させるＳＩ情報をＳＩ情報格納部に対して自動登録させて格納するＳＩ情報格納ステップの情報と、予め作成して前記サーバ内のリソースライブラリに格納したロードモジュール生成用プログラムに従って、ＳＩ処理部によりロードモジュールを生成して当該サーバ内の本番環境で前記ＳＩ情報に基づいて前記ＳＩ作業を生成するＳＩ処理を行わせるＳＩ処理ステップの情報と、を有することを特徴とするＳＩ制御用プログラム。
【請求項６】
請求項５記載のＳＩ制御用プログラムにおいて、前記ＳＩ処理ステップによる前記本番環境での前記ＳＩ処理に要する前記ロードモジュールの生成のバックアップ処理をバックアップ処理部により実行させるバックアップ処理ステップの情報と、前記ＳＩ処理失敗時の前記本番環境へのリカバリ処理をリカバリ処理部により実行させるリカバリ処理ステップの情報と、前記ＳＩ処理が所定時間を経過した場合にＳＩ強制終了処理部により当該ＳＩ処理を強制的に終了させるＳＩ強制終了処理ステップの情報と、を有することを特徴とするＳＩ制御用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システム全体を組織的に設計・開発するＳＩ（Ｓｙｓｔｅｍ  Ｉｎｔｅｇｒａｔｉｏｎ）作業においてロードモジュールを生成して本番環境でのＳＩ作業の生成を自動化処理する機能を構築したＳＩ制御システム、ＳＩ制御方法、並びにＳＩ制御用プログラムに関する。
【背景技術】
【０００２】
従来、システム開発に係るＳＩ作業では、主に以下に説明する二通りの手法が適用されている。
【０００３】
第１番目の手法は、システム開発者及び保守作業者がプログラム作成及び修正を行った後、ロードモジュールの生成を経て本番環境へのＳＩ作業を発生するまでを全て手動で行うものである。ＳＩ作業の発生に失敗したときには、同様に手動でリカバリ（再セットアップ）を実行する。ロードモジュールの生成についての世代管理についても同様に手動で実施する。
【０００４】
第２番目の手法は、リリースバージョン管理サーバを設置するようにし、本番環境サーバと開発環境サーバとのプログラムの差異をチェックし、差異情報に関して修正検証を完了情報があれば、開発環境サーバから本番環境サーバへプログラムの自動リリースを行うものである。尚、これについて関連する周知技術は、ソフトウェア開発におけるリリース管理について、漏れやミスのない運用を低コストで実現した「リリースバージョン管理サーバ、方法及びプログラム」（特許文献１）が挙げられる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１９９２２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的に、ＳＩ作業では、システム開発が完了した時点でプログラムからロードモジュールの生成を行い、本番環境へのＳＩ作業の発生に至るものである。このとき、必要に応じてＳＩ作業の発生前にロードモジュールのバックアップを取得する。
【０００７】
上述した周知技術について、第１番目の手法の場合には、システム開発の作業者がロードモジュールを生成して本番環境へのＳＩ作業を生成するときに全てを手動で行うために人為的ミスの発生を回避できないという問題があるばかりでなく、ＳＩ作業を生成するタイミングが早朝、深夜、休日等になることもあり、こうした場合には作業者にとってＳＩ作業の立会いに負担がかかってしまうという問題もある。
【０００８】
第２番目の手法（特許文献１に係る技術）の場合には、本番環境サーバと開発環境サーバとのプログラムの差異があるときに、修正検証の完了情報があれば開発環境サーバから本番環境サーバへのプログラムの自動リリースを行うことができるものの、指定の時間にＳＩ作業を生成することができず、いつ本番環境サーバにＳＩ作業が反映されるかが不明となってしまうため、作業者にとって管理運用面で不便であるという問題がある。
【０００９】
また、第２番目の手法の場合には、その他、ロードモジュールが本番環境サーバに配置されていることを前提としているためにロードモジュールの生成を行うコンパイラを有していないという点、ＳＩ作業が毎回成功することを前提としているために失敗時のリカバリ機能を有していないという点、ロードモジュールの生成の世代管理を実装していないために誤ってＳＩ作業を生成したときにＳＩ作業の生成前時点に復元することができない点、ＳＩ作業の生成処理がフリーズした場合等に強制終了する機能を有していないという点等に関して、基本的な機能面で不備さを抱えているという問題がある。
【００１０】
本発明は、このような問題点を解決すべくなされたもので、その技術的課題の１つは、システム開発におけるＳＩ作業の発生をスケジュール対応で自動化し得るＳＩ制御システム、ＳＩ制御方法、並びにＳＩ制御用プログラムを提供することにある。
【００１１】
また、本発明の技術的課題のもう１つは、ロードモジュールの生成の世代管理を実行し得ると共に、作業者にとっての管理運用面が便利であって、基本機能が充実したＳＩ制御システム、ＳＩ制御方法、並びにＳＩ制御用プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上記技術的課題を解決するため、本発明のＳＩ制御システムは、システム開発におけるＳＩ作業の生成を自動化するサーバ内に具備されるＳＩ制御システムであって、ＳＩ作業の生成を実行するタイミングをオペレーティングシステムのスケジューラ機能に連携させるＳＩ情報を自動登録して格納するＳＩ情報格納部と、サーバ内のリソースライブラリに予め作成して格納したロードモジュール生成用プログラムに従ってロードモジュールを生成することで当該サーバ内の本番環境において、ＳＩ情報に基づいてＳＩ作業を生成するＳＩ処理を行うＳＩ処理部と、を備えたことを特徴とする。
【００１３】
上記ＳＩ制御システムにおいて、ＳＩ処理部による本番環境でのＳＩ処理に要するロードモジュールの生成のバックアップ処理を実行するバックアップ処理部と、ＳＩ処理失敗時の本番環境へのリカバリ処理を実行するリカバリ処理部と、ＳＩ処理が所定時間を経過した場合に当該ＳＩ処理を強制的に終了させるＳＩ強制終了処理部と、を備えたことは好ましい。
【００１４】
また、上記技術的課題を解決するため、本発明のＳＩ制御方法は、システム開発におけるＳＩ作業の生成をサーバにより自動化するＳＩ制御方法であって、ＳＩ作業の生成を実行するタイミングをオペレーティングシステムのスケジューラ機能に連携させるＳＩ情報をＳＩ情報格納部に対して自動登録させて格納するＳＩ情報格納ステップと、予め作成してサーバ内のリソースライブラリに格納したロードモジュール生成用プログラムに従って、ＳＩ処理部によりロードモジュールを生成して当該サーバ内の本番環境でＳＩ情報に基づいてＳＩ作業を生成するＳＩ処理を行わせるＳＩ処理ステップと、を有することを特徴とする。
【００１５】
上記ＳＩ制御方法において、ＳＩ処理ステップによる本番環境でのＳＩ処理に要するロードモジュールの生成のバックアップ処理をバックアップ処理部により実行させるバックアップ処理ステップと、ＳＩ処理失敗時の本番環境へのリカバリ処理をリカバリ処理部により実行させるリカバリ処理ステップと、ＳＩ処理が所定時間を経過した場合にＳＩ強制終了処理部により当該ＳＩ処理を強制的に終了させるＳＩ強制終了処理ステップと、を有することを特徴とする。
【００１６】
更に、上記技術的課題を解決するため、本発明のＳＩ制御用プログラムは、システム開発におけるＳＩ作業の生成を自動化すると共に、サーバにより実行されるＳＩ制御用プログラムであって、ＳＩ作業の生成を実行するタイミングをオペレーティングシステムのスケジューラ機能に連携させるＳＩ情報をＳＩ情報格納部に対して自動登録させて格納するＳＩ情報格納ステップの情報と、予め作成してサーバ内のリソースライブラリに格納したロードモジュール生成用プログラムに従って、ＳＩ処理部によりロードモジュールを生成して当該サーバ内の本番環境でＳＩ情報に基づいてＳＩ作業を生成するＳＩ処理を行わせるＳＩ処理ステップの情報と、を有することを特徴とする。
【００１７】
上記ＳＩ制御用プログラムにおいて、ＳＩ処理ステップによる本番環境でのＳＩ処理に要するロードモジュールの生成のバックアップ処理をバックアップ処理部により実行させるバックアップ処理ステップの情報と、ＳＩ処理失敗時の本番環境へのリカバリ処理をリカバリ処理部により実行させるリカバリ処理ステップの情報と、ＳＩ処理が所定時間を経過した場合にＳＩ強制終了処理部により当該ＳＩ処理を強制的に終了させるＳＩ強制終了処理ステップの情報と、を有することは好ましい。
【発明の効果】
【００１８】
本発明によれば、ＳＩ作業の生成の全てを自動化してオペレーティングシステムのスケジューラ機能と連携させているため、人為的ミスが排除され、しかも早朝、深夜、休日における作業者による本番環境でのＳＩ作業の生成についての立会いを回避できて人的負担及び人件費の大幅な削減を具現できるようになる。また、ＳＩ作業の生成にはリカバリ機能を持たせ、ロードモジュールの生成をプログラム種別に依存しない機能を構築して世代管理しているため、誤ったＳＩ作業の生成をリカバリすることが可能になり、システムの拡張性に容易に対応できるスケーラビリティが高いサービスを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施例１に係るＳＩ制御システムの基本構成を示したブロック図である。
【図２】図１に示すＳＩ制御システムのＳＩ制御に係る動作処理を示したフローチャートである。
【図３】図１に示すＳＩ制御システムに備えられるバックアップ処理部のバックアップ処理に係る動作処理を示したフローチャートである。
【図４】図１に示すＳＩ制御システムに備えられるＳＩ処理部のＳＩ処理に係る動作処理を示したフローチャートである。
【図５】図１に示すＳＩ制御システムに備えられるリカバリ処理部のリカバリ処理に係る動作処理を示したフローチャートである。
【図６】図１に示すＳＩ制御システムに備えられるＳＩ強制終了処理部の強制終了処理に係る動作処理を示したフローチャートである。
【図７】図１に示すＳＩ制御システムに備えられるＳＩ情報用データベースに格納されたテーブル形式のＳＩ情報を例示した構成図である。
【図８】図１に示すＳＩ制御システムに備えられるＳＩパラメータ情報用データベースに格納されたテーブル形式のＳＩパラメータ情報を例示した構成図である。
【図９】図１に示すＳＩ制御システムに備えられるバックアップ情報用データベースに格納されたテーブル形式のバックアップ情報を例示した構成図である。
【図１０】図１に示すＳＩ制御システムに備えられる実行ログ情報用データベースに格納されたテーブル形式の実行ログ情報を例示した構成図である。
【図１１】図１に示すＳＩ制御システムに備えられるスクリプト情報用データベースに格納されたテーブル形式のスクリプト情報を例示した構成図である。
【発明を実施するための形態】
【００２０】
以下に、本発明のＳＩ制御システム、ＳＩ制御方法、並びにＳＩ制御用プログラムについて、図面を参照して詳細に説明する。
【実施例１】
【００２１】
図１は、本発明の実施例１に係るＳＩ制御システムの基本構成を示したブロック図である。
【００２２】
このＳＩ制御システム１０２は、サーバ１０１内にＳＩ作業の発生を制御する機能を有するものとして構築されるもので、ＳＩ作業の生成を実行するタイミングをオペレーティングシステムのスケジューラ機能に連携させるＳＩ情報を自動登録して格納するＳＩ情報格納部としてのＳＩ情報用データベース１０７と、サーバ１０１内のリソースライブラリ１１３に予め作成して格納したロードモジュール生成用プログラムに従ってロードモジュールを生成することでサーバ１０１内の本番環境１１４において、ＳＩ情報に基づいてＳＩ作業を生成するＳＩ処理を行うＳＩ処理部１０４と、ＳＩ処理部１０４による本番環境１１４でのＳＩ処理に要するロードモジュールの生成のバックアップ処理を行うバックアップ処理部１０３と、ＳＩ処理失敗時の本番環境１１４へのリカバリ処理を行うリカバリ処理部１０５と、ＳＩ処理が所定時間を経過した場合にＳＩ処理を強制的に終了させるＳＩ強制終了処理部１０６と、ＳＩ処理及びＳＩ強制終了処理に要するＳＩパラメータ情報を格納するＳＩパラメータ情報用データベース１０８と、バックアップ処理、ＳＩ処理、及びリカバリ処理に要するスクリプト情報を格納するスクリプト情報用データベース１０９と、バックアップ処理で得られてリカバリ処理に要するバックアップ情報を格納するバックアップ情報用データベース１１０と、バックアップ処理、ＳＩ処理、及びリカバリ処理で得られる実行ログ情報を格納する実行ログ情報用データベース１１１と、を備えている。
【００２３】
このＳＩ制御システム１０２では、ＳＩ情報用データベース１０７にＳＩ作業の発生を実行するためのＳＩ情報を登録（格納）すると、オペレーティングシステム（ＯＳ）のスケジューラに自動的に登録される。また、ＳＩ制御システム１０２は、指定の時間に起動されたときに各機能を実行するため、初期的にＳＩ情報用データベース１０７、ＳＩパラメータ情報用データベース１０８、及びスクリプト情報用データベース１０９から各種情報を取得する。尚、ＳＩ強制終了処理部１０６では、ＳＩ情報用データベース１０７から取得したＳＩ情報に基づいて、オペレーティングシステムのスケジューラにＳＩ強制終了情報を登録する。
【００２４】
ＳＩ制御システム１０２における各部の処理機能について、バックアップ処理部１０３では、バックアップ情報用データベース１１０から取得したバックアップ情報に基づいて、本番環境１１４でのロードモジュールの生成をバックアップ環境１１５に対してバックアップ処理する。バックアップ処理の実行後にＳＩ処理部１０４は、スクリプト情報用データベース１０９から取得したスクリプト情報のスクリプト１１２を実行してリソースライブラリ１１３に格納されているロードモジュール生成用プログラムからロードモジュールを自動生成し、本番環境１１４に対してＳＩ作業の発生をＳＩ処理として行う。
【００２５】
ＳＩ処理部１０４によるＳＩ処理が異常終了した場合、リカバリ処理部１０５がリカバリ処理を実行し、バックアップ環境１１５から本番環境１１４に対してロードモジュールを自動的にリカバリ生成する。
【００２６】
また、ＳＩ処理部１０４でのＳＩ処理が所定の時間を経過した場合、ＳＩ強制終了処理部１０６がオペレーティングシステムにスケジュールされたＳＩ強制終了処理を行うことにより、実行動作中のシステム動作を強制終了する。それぞれの処理についての実行ログ情報は、実行ログ情報用データベース１１１に出力されて登録される。
【００２７】
図２は、上述したＳＩ制御システム１０２のＳＩ制御に係る動作処理を示したフローチャートである。
【００２８】
ＳＩ制御に係る動作処理では、先ずサーバ１０１のオペレーティングシステム（ＯＳ）にスケジュールされたＳＩ制御システム１０２を起動（ステップＳ２０１）した後、ＳＩ情報用データベース１０７（ＳＩ情報のテーブル）からＳＩ処理を実行するＳＩ情報について、[ＳＩ開始時刻]≦システム時刻、且つ[ＳＩ終了時刻]＝ＮＵＬＬであるデータを取得（ステップＳ２０２）する。
【００２９】
次に、オペレーティングシステム（ＯＳ）にＳＩ強制終了処理のジョブをステップ２０２で取得した[ＳＩ終了予定時刻]でスケジュール登録（ステップＳ２０３）した後、ステップＳ２０２で別途取得した[案件番号]を元にＳＩパラメータ情報用データベース１０８（ＳＩパラーメータ情報のテーブル）の[案件番号]と一致するデータを[機能番号]順に全て取得（ステップＳ２０４）する。尚、ＳＩ強制終了処理のジョブについては、スクリプト１１２に格納された手順に全てが記述されている。
【００３０】
引き続き、先のステップＳ２０４で取得したデータを上から順に検索（ステップＳ２０５）した後、データの存在の有無に基づいて取得した内容の検索が終了か否かの判定（ステップＳ２０６）を行う。
【００３１】
この判定の結果、データが存在せずに取得した内容の検索が終了であれば動作処理を終了するが、データが存在して取得した内容の検索が終了でなければバックアップ処理に取得したデータの[案件番号]、[機能番号]、[プログラム種別]の３つの引数を渡す（ステップＳ２０７）処理を行い、その後の処理をバックアップ処理部１０３（ステップＳ２０８）に委ねる。
【００３２】
バックアップ処理部１０３では、実行ステータス＝正常か否かの判定（ステップＳ２０９）を行う。この判定の結果、実行ステータスが正常（取得内容が正常終了したことを示す）であればＳＩ処理に取得したデータの[案件番号]、[機能番号]、[プログラム種別]の３つの引数を渡す（ステップＳ２１０）処理を行い、その後の処理をＳＩ処理部１０４（ステップＳ２１１）に委ねるが、実行ステータスが異常（取得内容が異常終了したことを示す）であれば該当[スキップフラグ]＝Ｙか否かの判定（ステップＳ２１８）を行い、該当[スキップフラグ]のデータがＹであれば再度ステップＳ２０５へ戻って取得したデータの検索を再実行するが、該当[スキップフラグ]のデータがＹでなければ動作処理を終了する。
【００３３】
ＳＩ処理部１０４では、実行ステータス＝正常か否かの判定（ステップＳ２１２）を行った結果、実行ステータスが正常（バックアップが正常終了したことを示す）であればステップＳ２０５へ戻って取得したデータ検索の処理を再実行するが、実行ステータスが異常（バックアップが異常終了したことを示す）であれば該当[スキップフラグ]＝Ｙか否かの判定（ステップＳ２１３）を行う。
【００３４】
この判定の結果、該当[スキップフラグ]のデータがＹであればリカバリ処理に取得したデータの[案件番号]、[機能番号]の引数を渡す（ステップＳ２１４）処理を行い、その後の処理をリカバリ処理部１０５（ステップＳ２１５）に委ねてから再度ステップＳ２０５へ戻って取得したデータの検索を再実行するが、該当[スキップフラグ]のデータがＹでなければリカバリ処理に取得したデータの[案件番号]の引数を渡す（ステップＳ２１６）処理を行い、その後の処理をリカバリ処理部１０５（ステップＳ２１７）に委ねてから動作処理を終了する。
【００３５】
図３は、上述したＳＩ制御システム１０２に備えられるバックアップ処理部１０３のバックアップ処理に係る動作処理を示したフローチャートである。
【００３６】
バックアップ処理部１０３のバックアップ処理では、先ず呼び出し元処理から[案件番号]、[機能番号]、[プログラム種別]の３つの引数を受け取る（ステップＳ３０１）処理を行った後、[プログラム種別]を元にスクリプト情報用データベース１０９（実行スクリプト情報のテーブル）の[バックアップスクリプト]を取得（ステップＳ３０２）する。尚、ここではスクリプト情報用データベース１０９から先のステップＳ３０１で取得した引数の[プログラム種別]と一致するデータを取得する。
【００３７】
次に、ステップＳ３０２で取得した[バックアップスクリプト]情報を元にスクリプト１１２に格納されているスクリプトファイルを実行する。このスクリプトファイル実行に際しては、ステップＳ３０１で取得した引数１[案件番号]、引数２[機能番号]を入力し、[バックアップスクリプト]を実行（ステップＳ３０３）する処理を行い、そのバックアップ情報はバックアップ情報用データベース１１０に格納し、取得した[バックアップスクリプト]はスクリプト１１２に格納する。
【００３８】
[バックアップスクリプト]の内容は、本番環境１１４からバックアップ環境１１５へのバックアップ手順を記述したもので、具体的な内容はロードモジュールがファイル形式であれば単純なコピー文である。ＯＲＡＣＬＥでは標準コマンド・エクスポートを実行し、ダンプファイルをバックアップ環境１１５に出力する。バックアップ環境１１５のディレクトリ構成は、バックアップを一意に取得できる構成とする。合わせて、バックアップ環境１１５がロードモジュール生成の世代管理となり、過去のロードモジュールに復元することも可能となる。係る引数として、[ルートディレクトリ]￥[プログラム種別]￥[案件番号]￥[機能番号]とする場合を例示できる。また、スクリプト内にはバックアップのログを出力する手順も記述されており、リカバリの際に必要となる情報をバックアップ情報用データベース１１０にログ情報として書き込む。
【００３９】
引き続き、実行ステータス＝正常か否かの判定（ステップＳ３０４）を行い、実行したスクリプトを実行ステータスによって分岐する。実行ステータスが正常であれば呼び出し元に値を戻す変数[ステータス]に正常をセット（ステップＳ３０５）する処理を行い、異常であれば呼び出し元に値を戻す変数[ステータス]に異常をセット（ステップＳ３０６）する処理を行い、何れの場合もその後は実行結果を実行ログ情報用データベース１１１（実行ログ情報のテーブル）に出力（ステップＳ３０７）する処理を行うことにより、実行ログ情報を実行ログ情報用データベース１１１に格納する。最後に、呼び出し元処理に先のステップＳ３０５及びステップＳ３０６でセットした変数[ステータス]の値を戻す（ステップＳ３０８）処理を行ってから動作処理を終了する。
【００４０】
図４は、上述したＳＩ制御システムに備えられるＳＩ処理部１０４のＳＩ処理に係る動作処理を示したフローチャートである。
【００４１】
ＳＩ処理部１０４の動作処理では、先ず呼び出し元処理から[案件番号]、[機能番号]、[プログラム種別]の３つの引数を受け取る（ステップＳ４０１）処理を行った後、[プログラム種別]を元にスクリプト情報用データベース１０９（実行スクリプト情報のテーブル）の[ＳＩスクリプト]を取得（ステップＳ４０２）する。尚、ここではスクリプト情報用データベース１０９から先のステップＳ４０１で取得した引数の[プログラム種別]と一致するデータを取得するものである。
【００４２】
次に、ステップＳ４０２で取得した[ＳＩスクリプト]を元にスクリプト１１２に格納されているスクリプトファイルを実行する。このスクリプトファイル実行に際しては、ステップＳ４０１で取得した引数１[ＳＩパラメータファイル名]を入力し、[ＳＩスクリプト]を実行（ステップＳ４０３）する処理を行い、取得した[ＳＩスクリプト]はスクリプト１１２に格納する。
【００４３】
プログラム種別により内容は異なるが、プログラム種別の内容については、ＳＩ作業の生成対象となるプログラムのリソースライブラリ１１３上の格納先情報及び本番環境１１４の移送先等を記述する。[ＳＩスクリプト]の内容は、リソースライブラリ１１３から本番環境１１４へのＳＩ手順を記述するものである。ＪＡＶＡ（登録商標）のＳＩ作業の生成を例として、それらの手順を具体的に例示すれば、第１番目はロードモジュールであるＷｅｂアプリケーション[ＥＡＲ（Ｅｎｔｅｒｐｒｉｓｅ・Ａｒｃｈｉｖｅ）ファイル]の生成、第２番目はＷｅｂアプリケーションの停止、第３番目はＷｅｂアプリケーションの削除、第４番目はＷｅｂアプリケーションの配置、第５番目は論理サーバ再起動、第６番目はＷｅｂアプリケーションの開始である。また、ＨＴＭＬファイル等の静的なプログラムについては、リソースライブラリ１１３から本番環境１１４へのコピー文を記述する。
【００４４】
引き続き、実行ステータス＝正常か否かの判定（ステップＳ４０４）を行い、実行したスクリプトを実行ステータスによって分岐する。実行ステータスが正常であれば呼び出し元に値を戻す変数[ステータス]に正常をセット（ステップＳ４０５）する処理を行い、実行ステータスが異常であれば呼び出し元に値を戻す変数[ステータス]に異常をセット（ステップＳ４０６）する処理を行い、何れの場合もその後は実行結果を実行ログ情報用データベース１１１（実行ログ情報のテーブル）に出力（ステップＳ４０７）する処理を行うことにより、実行ログ情報を実行ログ情報用データベース１１１に格納する。最後に、呼び出し元処理に先のステップＳ４０５及びステップＳ４０６でセットした変数[ステータス]の値を戻す（ステップＳ４０８）処理を行ってから動作処理を終了する。
【００４５】
図５は、上述したＳＩ制御システム１０２に備えられるリカバリ処理部１０５のリカバリ処理に係る動作処理を示したフローチャートである。
【００４６】
リカバリ処理部１０５のリカバリ処理では、先ず呼び出し元処理から[案件番号]、[機能番号]の２つの引数を受け取る（ステップＳ５０１）処理を行う。但し、ここでは引数に[機能番号]がなければＳＩ作業の生成前の状態に復元する完全リカバリ処理であることを示し、引数に[機能番号]があれば該当する機能のＳＩ作業の生成前の状態に復元する不完全リカバリ処理であることを示す。
【００４７】
次に、ステップＳ５０１で取得した２つの引数である[案件番号]、[機能番号]を元にバックアップ情報用データベース１１０（バックアップ情報のテーブル）の[案件番号]もしくは[案件番号]、[機能番号]と一致するデータを[バックアップ時刻]の降順に全て取得（ステップＳ５０２）する処理を行う。即ち、ここでの処理は、バックアップ情報用データベース１１０からデータを取得する際、[機能番号]がなければ[案件番号]と一致するデータ、[機能番号]があれば[案件番号]、[機能番号]と一致するデータを全て取得するものである。
【００４８】
更に、ステップＳ５０２で取得したデータを上から順に検索（ステップＳ５０３）する処理を行った後、データの存在の有無に基づいて取得した内容の検索が終了か否かの判定（ステップＳ５０４）を行う。
【００４９】
この判定の結果、データが存在せずに取得した内容の検索が終了であれば動作処理を終了するが、データが存在して取得した内容の検索が終了でなければ[プログラム種別]を元にスクリプト情報用データベース１０９（スクリプト情報のテーブル）の[リカバリスクリプト]を取得（ステップＳ５０５）する処理を行う。尚、ここではスクリプト情報用データベース１０９から先のステップＳ５０２で取得した引数の[プログラム種別]と一致するデータを取得する。
【００５０】
次に、ステップＳ５０５で取得した[リカバリスクリプト]を元にスクリプト１１２に格納されているスクリプトファイルを実行する。このスクリプトファイル実行に際しては、ステップＳ５０２で取得した引数１[退避元]、引数２[退避先]を入力し、[リカバリスクリプト]を実行（ステップＳ５０５）する処理を行い、取得した[リカバリスクリプト]はスクリプト１１２に格納する。
【００５１】
[リカバリスクリプト]の内容は、バックアップ環境１１５から本番環境１１４への復元手順を記述するものである。ＪＡＶＡのリカバリ手順の具体例については、図４を参照して説明したＳＩ処理部１０４の動作処理によるＳＩ作業の生成手順おける第２番目以降の手順と同様である。
【００５２】
引き続き、実行ステータス＝正常か否かの判定（ステップＳ５０７）を行い、実行したスクリプトを実行ステータスによって分岐する。実行ステータスが正常であれば呼び出し元に値を戻す変数[ステータス]に正常をセット（ステップＳ５０８）する処理を行い、異常であれば呼び出し元に値を戻す変数[ステータス]に異常をセット（ステップＳ５０９）する処理を行い、何れの場合もその後は実行結果を実行ログ情報用データベース１１１（実行ログ情報のテーブル）に出力（ステップＳ５１０）する処理を行うことにより、実行ログ情報を実行ログ情報用データベース１１１に格納してからステップＳ５０３へ戻って取得したデータ検索の処理を再実行する。
【００５３】
図６は、上述したＳＩ制御システム１０２に備えられるＳＩ強制終了処理部１０６の強制終了処理に係る動作処理を示したフローチャートである。
【００５４】
ＳＩ強制終了処理部１０６の強制終了処理では、先ずオペレーティングシステム（ＯＳ）にスケジュールされている処理（ＳＩ強制終了処理）を起動（ステップＳ６０１）する処理を行った後、ＳＩ強制終了処理を実行するＳＩ案件を全て取得するため、ＳＩ情報用データベース１０７（ＳＩ情報のテーブル）から[開始時刻]≦システム時刻、且つ[終了予定時刻]≦システム時刻、且つ[終了時刻]＝ＮＵＬＬであるデータを[終了予定時刻]順に全て取得（ステップＳ６０２）する処理を行う。
【００５５】
次に、ステップＳ６０２で取得した内容を上から順に検索（ステップＳ６０３）する処理を行った後、データの存在の有無に基づいて取得した内容の検索が終了か否かの判定（ステップＳ６０４）を行う。
【００５６】
この判定の結果、データが存在せずに取得した内容の検索が終了であれば動作処理を終了するが、データが存在して取得した内容の検索が終了でなければＳＩパラメータ情報用データベース１０８（ＳＩパラメータ情報のテーブル）から[案件番号]＝取得[案件番号]、且つ[ＳＩ終了時刻]＝ＮＵＬＬであるデータを[機能番号]順（降順）に全て取得（ステップＳ６０５）する処理を行う。
【００５７】
引き続き、データの存在の有無に基づいて取得した内容の検索が終了か否かの判定（ステップＳ６０６）を行った結果、データが存在せずに取得した内容の検索が終了であればリカバリ処理に取得したデータの[案件番号]の引数を渡す（ステップＳ６１１）処理を行い、その後の処理をリカバリ処理部１０５（ステップＳ６１２）に委ねてから再度ステップＳ６０３へ戻って取得したデータの検索を再実行するが、データが存在して取得した内容の検索が終了でなければ取得した[ＳＩ開始時刻]＝ＮＵＬＬか否かの判定（ステップＳ６０７）を行う。
【００５８】
この判定の結果、ＳＩ開始時刻がＮＵＬＬであれば９９９９／９９／９９  ９９：９９：９９をＳＩパラメータ情報用データベース１０８のＳＩパラメータ情報のテーブルにおける該当レコードの[ＳＩ開始時刻]、[ＳＩ終了時刻]の項目にセット（ステップＳ６０８）する処理を行ってからステップＳ６０６へ戻って再度取得した内容の検索が終了か否かの判定（ステップＳ６０６）以降の処理を繰り返す。また、ＳＩ開始時刻がＮＵＬＬでなければ９９９９／９９／９９  ９９：９９：９９をＳＩパラメータ情報用データベース１０８のＳＩパラメータ情報のテーブルにおける該当レコードの[ＳＩ終了時刻]の項目にセット（ステップＳ６０８）する処理を行った後、ＳＩ強制終了（ステップＳ６０９）の処理を実行するようにしてからステップＳ６０６へ戻って再度取得した内容の検索が終了か否かの判定（ステップＳ６０６）以降の処理を繰り返す。
【００５９】
図７は、上述したＳＩ制御システム１０２に備えられるＳＩ情報用データベース１０７に格納されたテーブル形式のＳＩ情報を例示した構成図である。
【００６０】
図７を参照すれば、項目説明のテーブルについては、番号順に区分された案件番号、案件名、開始時刻、終了予定時刻、終了時刻の項目名に対してそれぞれ内容説明が定義されている。また、データ例のテーブルについては、案件番号で区分された案件名の案件０００１、０００２、０００３に対してそれぞれ開始時刻、終了予定時刻、終了時刻が別個に記述されている。
【００６１】
図８は、上述したＳＩ制御システム１０２に備えられるＳＩパラメータ情報用データベース１０８に格納されたテーブル形式のＳＩパラメータ情報を例示した構成図である。
【００６２】
図８を参照すれば、項目説明のテーブルについては、番号順に区分された案件番号、機能番号、機能名、スキップフラグ、プログラム種別、ＳＩパラメータファイル名、ＳＩ開始時刻、ＳＩ終了時刻の項目名に対してそれぞれ内容説明が定義されている。また、データ例のテーブルについては、案件番号で２区分された案件番号０００１についての機能番号００１、００２、００３、００４、００５と案件番号０００２についての機能番号００１、００２、００３とに対してそれぞれ機能名、スキップフラグ、プログラム種別、ＳＩパラメータファイル名、ＳＩ開始時刻、ＳＩ終了時刻が別個に記述されている。
【００６３】
図９は、上述したＳＩ制御システム１０２に備えられるバックアップ情報用データベースに格納されたテーブル形式のバックアップ情報を例示した構成図である。
【００６４】
図９を参照すれば、項目説明のテーブルについては、番号順に区分された案件番号、機能番号、プログラム種別、バックアップ時刻、退避元、退避先の項目名に対してそれぞれ内容説明が定義されている。また、データ例のテーブルについては、案件番号で２区分された案件番号０００１についての機能番号００１、００２、００３、００４、００５と案件番号０００２についての機能番号００１、００２、００３とに対してそれぞれプログラム種別、バックアップ時刻、退避元、退避先が別個に記述されている。
【００６５】
図１０は、上述したＳＩ制御システム１０２に備えられる実行ログ情報用データベース１１１に格納されたテーブル形式の実行ログ情報を例示した構成図である。
【００６６】
図１０を参照すれば、項目説明のテーブルについては、番号順に区分された案件番号、機能番号、処理フラグ、実行時刻、終了時刻、実行ステータス、実行ログの項目名に対してそれぞれ内容説明が定義されている。また、データ例のテーブルについては、案件番号で２区分された案件番号０００１についての機能番号００１（処理フラグで２つに区分される）、００２（処理フラグで２つに区分される）、００３（処理フラグで２つに区分される）、００４（処理フラグで３つに区分される）、００５（処理フラグで２つに区分される）と案件番号０００２についての機能番号００１（処理フラグで２つに区分される）とに対してそれぞれ処理フラグ、実行時刻、終了時刻、実行ステータス、実行ログが別個に記述されている。但し、実行ログについては、案件番号０００１についての機能番号００４であって、処理フラグＳで識別されたものだけについて、実行ステータスが異常であることにより、プログラムが存在しない旨が記述された場合を例示している。
【００６７】
図１１は、上述したＳＩ制御システム１０２に備えられるスクリプト情報用データベース１０９に格納されたテーブル形式のスクリプト情報を例示した構成図である。
【００６８】
図１１を参照すれば、項目説明のテーブルについては、番号順に区分されたプログラム種別、バックアップスクリプト、ＳＩスクリプト、リカバリスクリプトの項目名に対してそれぞれ内容説明が定義されている。また、データ例のテーブルについては、プログラム種別で区分されたＯＲＡＣＬＥ、ＪＡＶＡ、ＨＴＭＬ、ＡＳＰ、ＣＯＢＯＬに対してそれぞれバックアップスクリプト、ＳＩスクリプト、リカバリスクリプトが別個に記述されている。
【００６９】
ところで、以上に説明したサーバ１０１内に構築されたＳＩ制御システム１０２の技術的要旨は、システム開発におけるＳＩ作業の生成をサーバ１０１により自動化するＳＩ制御方法として換言することができる。こうした場合の本発明のＳＩ制御方法は、ＳＩ作業の生成を実行するタイミングをオペレーティングシステム（ＯＳ）のスケジューラ機能に連携させるＳＩ情報をＳＩ情報格納部１０７に対して自動登録させて格納するＳＩ情報格納ステップと、予め作成してサーバ１０１内のリソースライブラリ１１３に格納したロードモジュール生成用プログラムに従って、ＳＩ処理部１０４によりロードモジュールを生成してサーバ１０１内の本番環境１１４でＳＩ情報に基づいてＳＩ作業を生成するＳＩ処理を行わせるＳＩ処理ステップと、を有することを基本とする。更に、ＳＩ処理ステップによる本番環境１１４でのＳＩ処理のバックアップをバックアップ処理部１０３により実行させるバックアップ処理ステップと、ＳＩ処理失敗時の本番環境１１４へのリカバリ処理をリカバリ処理部１０５により実行させるリカバリ処理ステップと、ＳＩ処理が所定時間を経過した場合にＳＩ強制終了処理部１０６によりＳＩ処理を強制的に終了させるＳＩ強制終了処理ステップと、を有するものであれば良い。
【００７０】
また、上記ＳＩ制御システム１０２の技術的要旨は、システム開発におけるＳＩ作業の生成を自動化すると共に、サーバ１０１により実行されるＳＩ制御用プログラムとして換言することもできる。こうした場合の本発明のＳＩ制御用プログラムは、上記ＳＩ制御方法における各ステップの情報を有するものであれば良い。
【符号の説明】
【００７１】
１０１  サーバ
１０２  ＳＩ制御システム
１０３  バックアップ処理部
１０４  ＳＩ処理部
１０５  リカバリ処理部
１０６  ＳＩ強制終了処理部
１０７  ＳＩ情報用データベース
１０８  ＳＩパラメータ情報用データベース
１０９  スクリプト情報用データベース
１１０  バックアップ情報用データベース
１１１  実行ログ情報用データベース
１１２  スクリプト
１１３  リソースライブラリ
１１４  本番環境
１１５  バックアップ環境
【図１】
2012027837.tif 000003
【図２】
2012027837.tif 000004
【図３】
2012027837.tif 000005
【図４】
2012027837.tif 000006
【図５】
2012027837.tif 000007
【図６】
2012027837.tif 000008
【図７】
2012027837.tif 000009
【図８】
2012027837.tif 000010
【図９】
2012027837.tif 000011
【図１０】
2012027837.tif 000012
【図１１】
2012027837.tif 000013