JP2010055499A - システム構築支援方法及びシステム構築支援システム - Google Patents

システム構築支援方法及びシステム構築支援システム Download PDF

Info

Publication number
JP2010055499A
JP2010055499A JP2008221752A JP2008221752A JP2010055499A JP 2010055499 A JP2010055499 A JP 2010055499A JP 2008221752 A JP2008221752 A JP 2008221752A JP 2008221752 A JP2008221752 A JP 2008221752A JP 2010055499 A JP2010055499 A JP 2010055499A
Authority
JP
Japan
Prior art keywords
server
value
construction
item
input
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.)
Withdrawn
Application number
JP2008221752A
Other languages
English (en)
Inventor
Yuki Kamiyama
雄紀 上山
Takayuki Yokoyama
隆幸 横山
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008221752A priority Critical patent/JP2010055499A/ja
Publication of JP2010055499A publication Critical patent/JP2010055499A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】システムを構築する際に、項目を効率的に設定できるように支援する技術を提供する。
【解決手段】システム構築装置とシステム構築データベースとを備える計算機システムにおいて、システム構築データベースには、構築システムのパターンに対応して定義された項目を含む項目定義情報と、項目に値を入力する工程及び工程の順序がパターンに対応して定義された構築フロー定義情報とが格納され、指定されたシステムのパターンに対応する項目定義情報及び構築フローに基づいて、工程に対応する項目の値の入力を受け付け、項目設定後、システムの構築対象サーバの環境を設定するための構築スクリプト及びシステム定義情報を生成し、システム構築対象サーバに構築スクリプトを実行するエージェントプログラムを配布し構築スクリプトを実行するように指示する。
【選択図】図6

Description

本発明は、システムの構築を支援する技術に関する。
従来、新たにシステムを構築するためには、構築されるシステムを利用する顧客からの要求などに基づいて抽出されたシステム要件などに基づいて、パラメタ設計を行う必要があった。そして、パラメタ設計において作成された設計書にしたがって、システムの構築が手動で行われていた。
また、システムを構築する各フェーズでは、設計書をはじめとする各種アウトプットが作成される。作成されたアウトプットは各フェーズで様式が異なるため、上流フェーズで作成されたアウトプットに基づいて、下流フェーズのアウトプットを作成すると、誤入力又は漏れなどが発生するおそれがあった。特に、システムの規模が大きくなるほどこのような問題が発生しやすく、上流フェーズのパラメタと下流フェーズのパラメタとの関係を把握しにくくなった。さらに、環境を設計するフェーズでは、人手で手順書を参照しながら作業する必要があった。
そこで、新たにシステムを構築する際に、システム要件の入力後、上流フェーズから下流フェーズまでのパラメタの整合性を確保する技術が開示されている。特に、特許文献1には、入力されたシステム要件に基づいて環境を設定する技術が開示されている。
特開2006−72772号公報
特許文献1に開示された技術では、環境設定などをすべて手動で行う必要はないが、設定項目間の関係が把握しにくく、大規模システムで設定項目が膨大な場合には、設定項目間の関係を考慮した柔軟な設計を行うことが容易ではない。例えば、特定の項目に関連して他の項目の値が決定される場合などには、項目の設定順序などが規定されていないため、関連する項目を確認しながら設定する必要がある。
本発明は、特に大規模なシステムを構築するために、必要な項目を効率的に設定できるように支援する技術を提供することを目的とする。
本発明の代表的な一形態では、システム構築装置と、前記システム構築装置によってアクセスされるデータを格納するシステム構築データベースと、を備える計算機システムにおいて、システムの構築を支援するシステム構築支援方法であって、前記システム構築装置は、インターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、前記システム構築データベースは、前記構築されるシステムの種類に対応するパターンに対応して定義された項目を含む項目定義情報と、前記項目に値を入力する工程及び前記工程の順序が、前記パターンに対応して定義された構築フロー定義情報とを格納し、前記方法は、前記構築されるシステムのパターンの指定を受け付け、前記指定されたパターンに対応する項目定義情報を前記システム構築データベースから取得し、前記構築されるシステムに配置される構築対象サーバを指定し、前記指定されたパターンに対応する構築フローに基づいて、前記工程に対応する項目の値の入力を受け付け、前記システムを構築するために必要な項目の値が設定された後、前記構築対象サーバの環境を設定する構築スクリプト及びシステム定義情報を生成し、前記構築スクリプトを実行するためのエージェントプログラムを前記構築対象サーバに配布し、前記配布されたエージェントプログラムによって、前記システム定義情報に基づいて前記構築スクリプトを実行するように、前記構築対象サーバに指示する。
本発明の一形態によれば、提示された手順に従って項目を設定することによって、指定されたパターンに対応するシステムを構築することができる。
本発明の実施の形態では、利用者端末からシステム要件を入力し、システム構築ナビゲーションデータベースに蓄積された情報に基づいて、システム構築ナビゲーションサーバによってシステムが構築される。システムが構築される対象のサーバは、システム要件の入力時に指定され、入力されたシステム要件にしたがって、エージェントプログラムが配布される。そして、配布されたエージェントプログラムが各構築対象サーバで実行されることによって環境が設定される。
以下、図面を参照しながら本発明の実施の形態について説明する。まず、システムのアーキテクチャについて説明する。続いて、システムを構築する手順の概要について説明し、本発明の実施の形態で使用されるデータ及び処理手順の詳細について説明する。
図1は、本発明の実施の形態のシステム構築支援システムの構成を示す図である。
本発明の実施の形態のシステム構築支援システムには、システム構築ナビゲーションサーバ100、システム構築ナビゲーションデータベース(DB)サーバ200、利用者端末700、及び構築対象サーバ900が含まれる。システム構築ナビゲーションサーバ100、システム構築ナビゲーションデータベースサーバ200、利用者端末700、及び構築対象サーバ900は、ネットワーク800を介して相互に接続される。
システム構築ナビゲーションサーバ100は、利用者端末700から入力されたシステム要件に基づいて、構築されるシステムのパラメタなどを設定する。システム構築ナビゲーションサーバ100の構成については、図2にて後述する。
システム構築ナビゲーションデータベースサーバ200は、システム構築ナビゲーションサーバ100によってシステムを構築するために必要な情報を格納する。システム構築ナビゲーションデータベースサーバ200の詳細については、図3にて後述する。
利用者端末700は、システムを構築する利用者(例えば、システムエンジニア)が、システム要件などの設定項目を入力し、システム構築ナビゲーションサーバ100に送信する。項目を設定するインターフェースには、例えば、汎用的なWebブラウザが利用される。汎用的なWebブラウザを利用することによって、専用のアプリケーションを必要とせずにシステムを構築可能とし、ネットワークに接続された任意の端末を利用者端末700とすることができる。
構築対象サーバ900は、システムが構築される対象のサーバである。構築対象サーバ900の詳細については、システム構築前について図4、システム構築後については図5にて説明する。
図2は、本発明の実施の形態のシステム構築ナビゲーションサーバ100の構成を示す図である。
システム構築ナビゲーションサーバ100は、主記憶装置110、CPU120及びインターフェース130を含む。主記憶装置110、CPU120及びインターフェース130は、バスを介して相互に接続される。
また、システム構築ナビゲーションサーバ100には、ディスクドライブ140が接続される。ディスクドライブ140には、システム構築ナビゲーションサーバ100の稼働に必要なプログラム及びデータなどが格納される。ディスクドライブ140は、システム構築ナビゲーションサーバ100の内部に含まれるように構成されてもよい。
主記憶装置110は、CPU120によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。具体的には、システム構築ナビゲーションを実行するため必要なシステム構築ナビゲーションプログラム111が記憶される。
システム構築ナビゲーションプログラム111は、プラグインと呼ばれるプログラム部品を追加することによって機能を拡張することができる。例えば、業務ごとに異なる計算機能を有するプラグインを用意することによって、業務ごとにより適したパラメタを設定することが可能となる。システム構築ナビゲーションプログラム111による処理の詳細については後述する。
また、システム構築ナビゲーションプログラム111にWebサーバの機能を含むように構成することによって、前述したように、利用者端末700に専用アプリケーションを配布することなくシステムの構築が可能になる。なお、システム構築ナビゲーションサーバ100に、別途、Webサーバを備えるようにしてもよい。
CPU120は、主記憶装置110に記憶されたプログラムを実行し、各種処理を実行する。インターフェース130は、利用者端末700からの入力を受け付け、システム構築ナビゲーションデータベースサーバ200及び構築対象サーバ900にアクセスするためにネットワーク800に接続するインターフェースである。
図3は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200の構成を示す図である。
システム構築ナビゲーションデータベースサーバ200は、主記憶装置210、CPU220及びインターフェース230を含む。主記憶装置210、CPU220及びインターフェース230は、バスを介して相互に接続される。
また、システム構築ナビゲーションデータベースサーバ200には、ディスクドライブ240が接続される。ディスクドライブ240には、システム構築ナビゲーションサーバ100に提供するデータなどが格納される。格納されるデータについては後述する。ディスクドライブ240は、システム構築ナビゲーションデータベースサーバ200の内部に含まれるように構成されてもよい。
主記憶装置210は、CPU220によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。具体的には、システム構築ナビゲーションサーバ100にデータを提供するためのデータベースマネジメントシステム211が記憶される。
CPU220は、主記憶装置210に記憶されたプログラムを実行し、各種処理を実行する。インターフェース230は、システム構築ナビゲーションサーバ100及び構築対象サーバ900にアクセスするために、ネットワーク800に接続するインターフェースである。
続いて、ディスクドライブ240に格納されるデータについて説明する。ディスクドライブ240には、設定項目定義情報300、構築データ310、パターン固有データ500、システム定義ファイル560及び構築スクリプト570が格納される。
本発明の実施の形態に基づいてシステムを構築する場合には、最初にシステムの形態及び適用する業務の種類などが設定される。設定項目定義情報300は、設定されたシステム形態及び業務の種類などに対応するシステム要件の項目が定義されている。利用者は、システム形態及び業務形態などを指定した後、設定項目定義情報300に基づいて特定された項目に値を設定し、システムの構築を開始する。設定項目定義情報300の詳細については、図18にて後述する。
構築データ310は、システムを構築するために必要なデータが格納される。具体的には、サイジング情報320、環境設計情報330、アプリケーション・リソースアダプタ関連情報380及びチューニング情報420が含まれる。
サイジング情報320は、設定項目定義情報300から取得された項目にしたがって設定されたシステム要件に基づいて、構築するシステムの規模を決定するために必要な情報が格納される。サイジング情報320の詳細については、図19にて後述する。
環境設計情報330は、入力されたシステム要件に基づいて決定されたシステムの規模に基づいて、システムが構築される各サーバの環境を構築するための情報が格納される。具体的には、環境設計情報330には、マシン固有値情報340、論理サーバ定義情報350、ポート番号情報360及びサーバ詳細情報370が含まれる。
マシン固有値情報340は、システムが構築されるサーバ固有の情報が格納される。例えば、サーバの名称及びIPアドレスなどである。マシン固有値情報340の詳細については、図20にて後述する。
論理サーバ定義情報350は、構築されるシステムごとに作成される論理サーバの定義情報を格納する。本発明の実施の形態によって構築されるシステムでは、1つの物理サーバに複数の論理サーバを稼働させることが可能である。前述したマシン固有値情報340には、物理的なサーバに関する情報が格納されていたが、論理サーバ定義情報350には、物理サーバ上で稼働する論理サーバの定義情報が格納される。論理サーバ定義情報350の詳細については、図21にて後述する。
ポート番号情報360は、論理サーバがアクセスされるポートの情報を定義する。論理サーバによって提供されるサービスを利用する場合には、ポート番号を指定してデータがやり取りされる。ポート番号情報360の詳細については、図22にて後述する。
サーバ詳細情報370は、論理サーバ定義情報350及びポート番号情報360に格納されない、論理サーバに関するその他の情報を格納する。例えば、一時ファイル又はログファイルを格納するディレクトリなどの情報が格納される。サーバ詳細情報370の詳細については、図23にて後述する。
アプリケーション・リソースアダプタ関連情報380は、論理サーバに配置されるアプリケーション及びリソースアダプタに関連する情報を格納する。アプリケーションは、各種機能を提供する。リソースアダプタは、データベースなどにアクセスするために使用される。アプリケーション・リソースアダプタ関連情報380には、アプリケーション(APP)及びリソースアダプタ(RA)に関する情報が格納された、APP・RA配置情報390、アプリケーション設定情報400及びリソースアダプタ設定情報410が含まれる。
APP・RA配置情報390は、システムに利用されるアプリケーション及びリソースアダプタと配置されている論理サーバとの対応が格納されている。APP・RA配置情報390の詳細については、図24にて後述する。
アプリケーション設定情報400は、各サーバに配置されたアプリケーションごとの設定情報が格納されている。例えば、アプリケーションごとの設定情報には多重度などが含まれる。アプリケーション設定情報400の詳細については、図25にて後述する。
リソースアダプタ設定情報410は、各サーバに配置されたリソースアダプタごとの設定情報が格納されている。例えば、リソースアダプタの接続先に関する情報などが格納される。リソースアダプタ設定情報410の詳細については、図26にて後述する。
チューニング情報420は、環境設定終了後、性能を調整するために必要な情報が格納される。本発明の実施の形態では、Java(「Java」は登録商標、以下同じ)によって開発されたアプリケーションを利用したWebアプリケーションとしてシステムが構築される。そこで、JavaVM(Java Virtual Machine)のパラメタなどが含まれる。具体的には、JavaVM情報430、流量(J2EEサーバ)情報440及び流量(Webサーバ)情報450が含まれる。
JavaVM情報430は、JavaVMの設定情報を格納する。例えば、ヒープサイズが格納される。JavaVM情報430の詳細については、図27にて後述する。
前述したように、本発明の実施の形態では、Webアプリケーションとしてシステムが構築され、Webアプリケーションによって受け付けられた要求をアプリケーションサーバによって処理する。アプリケーションサーバには、アプリケーションを構築する場合に普遍的に必要とされる基本機能があらかじめ備えられている。
本発明の実施の形態では、アプリケーションサーバとして、J2EEサーバを利用する。「J2EE」とは、「Java2 Platform,Enterprise Edition」の略であって、Javaを用いて企業(エンタープライズ)システムを構築するための規格である。J2EEサーバを利用することによって、Javaで作成されたアプリケーションを利用して効率よくシステムを構築することができる。
流量(J2EEサーバ)情報440は、J2EEサーバに対して要求された処理を制御するパラメタを格納する。例えば、同時に実行されるスレッドの数などが格納される。流量(J2EEサーバ)情報440の詳細については、図28にて後述する。
流量(Webサーバ)情報450は、構築されるシステムにおいて、クライアントに対するインターフェースを提供するWebサーバのパラメタを格納する。例えば、クライアントからの同時接続数などが設定される。流量(Webサーバ)情報450の詳細については、図29にて後述する。
パターン固有データ500は、過去に構築されたシステムによって得られたノウハウに基づいて作成された情報が格納される。パターン固有データ500には、システム定義ファイル雛形510、構築スクリプト雛形520、構築フロー定義530及び計算テンプレート540が含まれる。パターン固有データ500は、構築されるシステムのパターンごとに定義される。
システム定義ファイル雛形510は、構築されるシステムの定義ファイルの雛形である。具体的には、入力されたシステム要件などの構築データ310に基づいて、システム定義ファイルが作成される。
構築スクリプト雛形520は、構築対象サーバで実行されることによって、システムが構築されるスクリプトの雛形である。構築スクリプトは、システム定義ファイルと同様に、入力されたシステム要件などの構築データ310に基づいて作成される。
構築フロー定義530は、システムを構築するために設定される項目を入力する順序を含む構築フローが定義される。構築フローは、パラメタを設定する工程及び当該工程の順序によって構成される。利用者は、構築フローにしたがってパラメタを設定することによって効率よくシステムを構築することができる。
計算テンプレート540は、パラメタなどを算出するための計算テンプレートである。計算テンプレート540は、過去に構築したシステムの性能評価の結果などに基づいて作成される。チューニングなどによって構築済みのシステムの性能が向上した場合には、そのノウハウが計算テンプレート540に含まれる計算式に反映される。また、計算テンプレート540に含まれる計算式には、入力されたパラメタに基づいて、後工程で入力されるパラメタの値を算出するための計算式と、入力されたパラメタの値をチェックするための計算式とが含まれる。
システム定義ファイル560は、入力されたシステム要件、当該システム要件に対応する構築データ310及びシステム定義ファイル雛形510などに基づいて生成されたシステム定義ファイルである。
構築スクリプト570は、入力されたシステム要件、当該システム要件に対応する構築データ310及び構築スクリプト雛形520などに基づいて生成された構築スクリプトである。
図4は、本発明の実施の形態のシステム構築前の構築対象サーバ900の構成を示す図である。
構築対象サーバ900は、主記憶装置910、CPU920及びインターフェース930を含む。主記憶装置910、CPU920及びインターフェース930は、バスを介して相互に接続される。
また、構築対象サーバ900には、ディスクドライブ940が接続される。ディスクドライブ940には、構築対象サーバ900の稼働に必要なプログラム及びデータなどが格納される。ディスクドライブ940は、構築対象サーバ900の内部に含まれるように構成されてもよい。
主記憶装置910は、CPU920によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。具体的には、システム構築ナビゲーションサーバ100から配信されたシステム構築ナビゲーションエージェント911が記憶される。システム構築ナビゲーションエージェント911による処理の詳細については後述する。
CPU920は、主記憶装置910に記憶されたプログラムを実行し、各種処理を実行する。インターフェース930は、システム構築ナビゲーションサーバ100にアクセスするために、ネットワーク800に接続するインターフェースである。
図5は、本発明の実施の形態のシステム構築後の構築対象サーバ900の構成を示す図である。
システム構築後の構築対象サーバ900のハードウェア構成は、図4に示したシステム構築前の構築対象サーバ900と同様である。
システム構築ナビゲーションエージェント911がCPU920によって実行されると、システム構築ナビゲーションサーバ100から配信された各種設定ファイル941及びシステム定義ファイル942に基づいて、構築スクリプト943が実行され、EJBアプリケーション912及びWebアプリケーション913が起動する。
EJBとは、Javaによって作成されたプログラム部品である。EJBアプリケーション912とは、EJBを組み合わせることによって作成されたアプリケーションであって、各種業務処理を実行する。Webアプリケーション913は、クライアントにインターフェースを提供する。
また、構築対象サーバ900では、EJBアプリケーション912を実行するために、J2EEサーバ914が起動される。同様に、Webアプリケーション913を実行するために、Webサーバ915が起動される。さらに、構築対象サーバ900を管理するために、運用管理サーバ916が起動される。
J2EEサーバ914は、構築スクリプト943の実行時に、別途用意されたファイルサーバなどからセットアッププログラムがダウンロードされ、設定されるようにしてもよいし、構築対象サーバ900にあらかじめ格納しておくようにしてもよい。Webサーバ915及び運用管理サーバ916についても同様である。
図6は、本発明の実施の形態のシステム構築ナビゲーションエージェントによってシステムを構築する手順の概要を示す図である。
本発明の実施の形態では、まず、システム構築ナビゲーションサーバ100によって、入力されたシステム要件及びシステム構築ナビゲーションデータベースサーバ200に格納された情報に基づいて、構築スクリプト943及びシステム定義ファイル942が作成される。
その後、システム構築ナビゲーションサーバ100は、システム構築ナビゲーションツール(システム構築ナビゲーションエージェント911)を構築対象サーバ900に配布する。さらに、作成された構築スクリプト943及びシステム定義ファイル942を構築対象サーバ900に配布し、構築スクリプト943の実行を指示する。
構築対象サーバ900は、システム構築ナビゲーションサーバ100からシステムの構築を指示されると、配布されたシステム定義ファイル942に基づいて、システム構築ナビゲーションエージェント911によって配布された構築スクリプト943を実行する。構築スクリプト943に定義されたコマンドを実行し、システム定義ファイル942に定義された情報に基づいて各種設定ファイル941を作成する。
さらに、構築対象サーバ900は、作成された各種設定ファイル941及び構築スクリプト943に基づいて、J2EEサーバ914を起動する。また、作成済みのEJBアプリケーション912が用意されている場合には、EJBアプリケーション912の実行環境を設定するようにしてもよい。Webサーバ915についても同様である。
以上の構成に基づいて、本発明の実施の形態によってシステムを構築する手順の概要を図7から図17を参照しながら説明する。
図7は、本発明の実施の形態の構築されるシステムのシステム要件を入力し、システムの規模を決定する手順(サイジング)の概要を説明する図である。
本発明の実施の形態では、利用者端末700によってシステム要件が入力される。前述したように、ブラウザを介してシステム要件が入力される。
入力されるシステム要件は、構築するシステムの形態などのパターンごとに、設定項目定義情報300に定義されている。利用者端末700では、まず、構築するシステムのパターンの選択を受け付け、選択されたパターン及び設定項目定義情報300に基づいて生成された設定画面が表示される。例えば、設定画面には、図7の要件入力部710のように項目が表示される。また、入力されたシステム要件は、サイジング情報320に格納される。
また、利用者端末700には、入力されたシステム要件に基づいて、システム構成の概要が表示される。例えば、図7の構成表示部720に示すように、「マシン台数」の入力に連動して、業務処理を実行する業務サーバ(2台)がグラフィカルに表示される。DBサーバなどの他のサーバについても同様である。
なお、本発明の実施の形態では、複数の業務サーバがシステムで利用される場合には、特定の業務サーバに処理が集中しないように負荷分散装置が配置される。負荷分散装置は、構築後のシステムの利用者からのアクセスを各業務サーバの処理能力及び負荷状況に基づいて、アクセス先の業務サーバを決定し、決定された業務サーバにアクセスさせる。
さらに、利用者端末700には、入力されたシステム要件に基づいて、性能(パフォーマンス)の計算結果が表示される。例えば、図7のパフォーマンス表示部730に示すように、「1秒あたりのリクエスト数」、「目標レスポンス時間」及び「1セッションあたりの使用メモリ」などの情報に基づいて、業務サーバ1台あたりに必要なCPU数及び業務サーバ1台あたりで使用されるメモリサイズなどの性能情報が利用者端末700に表示される。
以降、本発明の実施の形態では、構築されるシステムが2台の業務サーバ及び2台のDBサーバを含むとして説明する。続いて、構築されるシステムに含まれる各サーバの環境を設定する手順について説明する。
図8は、本発明の実施の形態の構築されるシステムを構成する構築対象サーバ900の固有の情報を設定する手順の概要を説明する図である。
入力されたシステム要件が確定されると、構築されるシステムで使用される業務サーバ及びDBサーバに固有の値を設定する。サーバ固有の値とは、構築対象のシステムに用意されたサーバの識別情報などである。具体的には、各サーバのサーバ名及びIPアドレスなどである。設定されたサーバ固有情報は、環境設計情報330のマシン固有値情報340に格納される。
図9は、本発明の実施の形態の構築対象サーバ900で実行される論理サーバを配置する手順の概要を説明する図である。
図8では、物理的なサーバに対して環境を設定する手順について説明したが、図9では、物理的なサーバである業務サーバ上で稼働する論理的なサーバを配置する手順について説明する。
配置される論理サーバの種類は、指定されたシステムのパターン及びシステム要件に基づいて決定される。なお、決定された論理サーバ以外の論理サーバを新たに追加できるようにしてもよい。
論理サーバを配置する手順は、まず、配置対象のサーバを選択する。図9に示す手順では、サーバ名「Server1」、IPアドレス「10.209.113.110」の業務サーバを選択している。本発明の実施の形態では、選択された業務サーバ上にWebサーバ、J2EEサーバ及び運用管理サーバを稼働させる。他の業務サーバについても同様である。また、DBサーバについては、他の論理サーバを稼働させずにデータベースの機能が単独で稼働する。
選択された業務サーバに配置する論理サーバが決定されると、各論理サーバの識別情報を設定する。さらに、各論理サーバの実行に必要な情報を設定する。設定された情報は、環境設計情報330の論理サーバ定義情報350に格納される。
図10は、本発明の実施の形態の各論理サーバに接続するためのポート番号を設定する手順の概要を説明する図である。
図9に示した手順によって、業務サーバに論理サーバが配置されると、各論理サーバを接続するポートのポート番号を設定する。
図10に示す構成に含まれるポートについて具体的に説明すると、まず、構築後のシステムでクライアントからリクエストを受け付けるWebサーバ915のポート番号(80)が設定される。さらに、受け付けたリクエストを処理するために、Webサーバ915と通信するためのポート(8007)がJ2EEサーバ914に設定される。
また、運用管理サーバ916はクライアントからシステムの稼働確認を受け付けるため、J2EEサーバ914の稼働確認を行うためのポート(23152)がJ2EEサーバ914に設定される。さらに、EJBアプリケーションなどで利用されるオブジェクトを特定するためのネーミングサービスを受け付けるためのポート(900)が設定される。設定された各論理サーバのポート番号は、ポート番号情報360に格納される。
図11は、本発明の実施の形態の各論理サーバの詳細項目を設定する手順の概要を説明する図である。
図11では、図9及び図10で設定された項目以外の論理サーバの情報を設定する手順について説明する。
具体的には、Webサーバ915には、アクセスログの格納するファイル名などが設定される。また、J2EEサーバ914には、一時的にファイルを格納する作業ディレクトリ及び実行ログを格納するディレクトリなどが設定される。さらに、運用管理サーバ916には、管理者のID及びパスワードなどが設定される。設定された各論理サーバの情報は、サーバ詳細情報370に格納される。
次に、アプリケーション及びリソースアダプタのパラメタを設定する手順について説明する。アプリケーション及びリソースアダプタは、J2EEサーバ914で稼働する。
図12は、本発明の実施の形態のJ2EEサーバ914にアプリケーション及びリソースアダプタを配置する手順の概要を説明する図である。
論理サーバの設定が完了すると、構築対象のシステムで利用されるソフトウェアの設定を行う。まず、利用されるアプリケーション及びリソースアダプタを選択し、選択されたアプリケーション及びリソースアダプタをJ2EEサーバ914に配置する。図12に示すように、アプリケーション及びリソースアダプタの配置をグラフィカルに表示される。
選択されるアプリケーション及びリソースアダプタは、既存のものであってもよいし、構築されるシステム特有の機能などに対応するアプリケーション及びリソースアダプタを新たに作成するようにしてもよい。この場合、アプリケーション及びリソースアダプタの実体が作成されている必要はなく、アプリケーション及びリソースアダプタを配置する際には、アプリケーション名及びリソースアダプタ名のみを入力すればよい。
配置されたアプリケーション及びリソースアダプタに関する情報は、アプリケーション・リソースアダプタ関連情報380のAPP・RA配置情報390に格納される。
図13は、本発明の実施の形態のJ2EEサーバ914に配置されたアプリケーション及びリソースアダプタの接続を設定する手順の概要を説明する図である。
アプリケーション及びリソースアダプタの配置が決定されると、配置されたアプリケーション及びリソースアダプタの関連を設定する。具体的には、アプリケーションとリソースアダプタとの対応、リソースアダプタとデータベースとの対応を設定する。
設定する手段としては、前述したように、アプリケーション及びリソースアダプタの配置をグラフィカルに表示し、マウスなどのポインティングディバイスによって、オブジェクトの選択及び対応付けを可能とするGUIを実装する。このようにGUIを実装することによって、操作性が向上し、入力ミスなどの発生頻度を少なくすることができる。
設定された接続情報は、アプリケーションについてはアプリケーション設定情報400、リソースアダプタについてはリソースアダプタ設定情報410に格納される。
図14は、本発明の実施の形態のJ2EEサーバ914で実行されるアプリケーションの詳細を設定する手順の概要を説明する図である。
アプリケーション及びリソースアダプタの接続情報が設定されると、各アプリケーションのパラメタを設定する。例えば、同時実行可能な処理数を設定する多重度などが設定される。設定された情報は、接続情報と同様に、アプリケーション設定情報400に格納される。
図15は、本発明の実施の形態のJ2EEサーバ914に配置されたリソースアダプタの詳細項目を設定する手順の概要を説明する図である。
各アプリケーションのパラメタが設定されると、各リソースアダプタのパラメタを設定する。具体的には、DBサーバにアクセスするためのID及びパスワードなどが設定される。また、DBサーバへの接続を保持する数を設定するプールサイズなどのパラメタも設定される。設定された情報は、接続情報と同様に、リソースアダプタ設定情報410に格納される。
以上のように、アプリケーション及びリソースアダプタの設定が完了すると、構築されるシステムの環境が一通り設定される。さらに、設定された環境を見直し、パラメタをチューニングすることも可能である。図16及び図17には、論理サーバの性能を向上させるために設定されたパラメタをチューニングする手順の概要を示す。
図16は、本発明の実施の形態のJ2EEサーバ914の性能(流量)をチューニングする手順の概要を説明する図である。
図16では、J2EEサーバ914のパラメタを調整する手順を示している。具体的には、J2EEサーバ914で実行される処理の流量を設定するパラメタを調整する。図16には、J2EEサーバ914で要求された処理を待機する待ち行列のキューサイズの設定、及び、J2EEサーバ914で同時に実行されるスレッドの最大数を設定する図が示されている。
チューニングされたパラメタは、システム構築ナビゲーションデータベースサーバ200の対応するテーブルに格納される。図16では、論理サーバであるJ2EEサーバ914のパラメタが調整されており、サーバ詳細情報370に調整されたパラメタが設定される。
なお、チューニングの対象となるパラメタには、デフォルト値があらかじめ設定されている。デフォルト値には、あらかじめ値が保持されている場合と、設定されたシステム要件及び計算テンプレート540に基づいて算出される場合がある。
図17は、本発明の実施の形態のWebサーバ915の性能(流量)をチューニングする手順の概要を説明する図である。
図17では、Webサーバ915のパラメタを調整する手順を示している。具体的には、Webサーバ915で実行される処理の流量を設定するパラメタである。図17には、Webサーバ915で同時に実行されるスレッドの最大数の設定、及び、J2EEサーバ914への接続用コネクションキャッシュのサイズを設定する図が示されている。コネクションキャッシュは、J2EEサーバ914への接続をキャッシュしておくことによって再接続時の負荷を低減させることができるが、接続されていない場合でもリソースを消費するため、構築されるシステムに応じて設定される必要がある。
チューニングされたパラメタは、システム構築ナビゲーションデータベースサーバ200の対応するテーブルに格納される。図17では、論理サーバであるWebサーバ915のパラメタが調整されており、サーバ詳細情報370に調整されたパラメタが設定される。
以上、本発明の実施の形態によってシステムを構築する手順の概要を説明した。以下、前述した手順によって入力されたデータについて図18から図29を参照しながら説明する。なお、パターンごとに設定される項目については、データを「項目」及び「設定値」の組として保持することによって、設定する項目の数が増減する場合であっても柔軟に対応することができる。
図18は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納される設定項目定義情報300の一例を示す図である。
設定項目定義情報300は、前述のように、システムの形態及び適用する業務の種類などのパターンに応じて設定されたシステム要件の項目定義情報である。設定項目定義情報300には、パターン301及び項目302が含まれる。
パターン301は、システム構築の開始時に入力されるシステムの形態及び適用する業務の種類などを識別する情報である。項目302は、パターン301ごとに定義され、利用者によって入力されるシステム要件の項目である。
図18には、ブラウザをインターフェースとするWebアプリケーションとする「Webフロント」パターン、業務の手続きが円滑に処理されるように業務手順を規定するシステムを構築するための「ワークフロー」パターン、及び、SOA(Service Oriented Architecture)に基づいてシステムを構築する場合に利用される「SOA」パターンが定義されている。
また、システム形態に対応するパターン及び業務に対応するパターンをそれぞれ選択するようにしてもよいし、あらかじめシステムの形態と業務とを組み合わせて項目を定義したパターンを選択するようにしてもよい。
図19は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納されるサイジング情報320の一例を示す図である。
サイジング情報320は、設定項目定義情報300から取得された項目に設定された値を格納する。前述のように、サイジング情報320に格納された情報には、構築するシステムの規模を決定するために必要な情報が格納される。具体的には、要求されたレスポンス時間などによって規模を設定するためのパラメタの規定値などが格納される。
サイジング情報320には、システム名321、要件項目322及び設定値323が含まれる。
システム名321は、構築されるシステムの名称であって、構築されるシステムを識別する。要件項目322は、設定項目定義情報300から取得された項目に対応する。設定値323は、要件項目322に対応する設定値である。
図20は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納されるマシン固有値情報340の一例を示す図である。
マシン固有値情報340は、構築されるシステムに含まれる各サーバ固有の情報を格納する。マシン固有値情報340には、システム名341、サーバ名342及びIPアドレス343が含まれる。
システム名341は、構築されるシステムの名称である。サーバ名342は、構築されるシステムに含まれるサーバの名称である。サーバ名342で特定されるサーバは、論理的なサーバではなく、物理的な計算機に対応する。IPアドレス343は、サーバ名342で特定されるサーバのIPアドレスである。
図21は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納される論理サーバ定義情報350の一例を示す図である。
論理サーバ定義情報350は、物理的な計算機上で稼働する論理的なサーバの定義情報を格納する。論理サーバ定義情報350には、システム名351、サーバ名352、論理サーバ種別353及び論理サーバ名354が含まれる。
システム名351は、構築されるシステムの名称である。サーバ名352は、論理サーバが稼働する物理的な計算機(サーバ)の名称である。論理サーバ種別353は、稼働する論理サーバの種類である。具体的には、Webサーバ、J2EEサーバ、管理サーバなどが格納される。論理サーバ名354は、論理サーバの名称である。
図22は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納されるポート番号情報360の一例を示す図である。
ポート番号情報360は、各論理サーバに接続するポートを識別するポート番号を格納する。ポート番号情報360には、システム名361、サーバ名362、ポート種別363及びポート番号364が含まれる。
システム名361は、構築されるシステムの名称である。サーバ名362は、論理サーバが稼働する物理的な計算機(サーバ)の名称である。ポート種別363は、使用されるポートの種類である。具体的には、前述したように、クライアントからのリクエストを受け付けるポート、及びEJBアプリケーションなどで利用されるオブジェクトを特定するためのネーミングサービスを受け付けるためのポートなどである。ポート番号364は、ポートを識別する番号である。
図23は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納されるサーバ詳細情報370の一例を示す図である。
サーバ詳細情報370は、各論理サーバの詳細情報を格納する。サーバ詳細情報370には、システム名371、サーバ名372、論理サーバ名373、設定項目374及び設定値375が含まれる。
システム名371は、構築されるシステムの名称である。サーバ名372は、論理サーバが稼働する物理的な計算機(サーバ)の名称である。論理サーバ名373は、論理サーバの名称である。
設定項目374は、各論理サーバの設定項目である。設定値375は、設定項目374に特定された項目の設定値である。例えば、Webサーバ915のアクセスログを格納するファイル名を指定する場合には、設定項目374に「WebAccessLog」を格納し、設定値375に「D:¥WEB¥logs¥access.log」を格納する。
図24は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納されるAPP・RA配置情報390の一例を示す図である。
APP・RA配置情報390は、各論理サーバに配置されたアプリケーション及びリソースアダプタに関する情報を格納する。APP・RA配置情報390には、システム名391、サーバ名392、論理サーバ名393、種別394及び配置対象395が含まれる。
システム名391は、構築されるシステムの名称である。サーバ名392は、論理サーバが稼働する物理的な計算機(サーバ)の名称である。論理サーバ名393は、論理サーバの名称である。
種別394は、アプリケーション又はリソースアダプタの種類が格納される。例えば、データベースに接続されるリソースアダプタの場合には、「DBConnector」が格納され、さらに、接続先のデータベースが特定できるようにデータベースのベンダ名などを加えられる場合がある。配置対象395は、配置されるアプリケーション又はリソースアダプタの名称が格納される。
図25は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納されるアプリケーション設定情報400の一例を示す図である。
アプリケーション設定情報400は、アプリケーションの設定情報を格納する。アプリケーション設定情報400には、システム名401、サーバ名402、論理サーバ名403、アプリケーション名404、接続先リソースアダプタ(RA)405及び多重度406が含まれる。
システム名401は、構築されるシステムの名称である。サーバ名402は、論理サーバが稼働する物理的な計算機(サーバ)の名称である。論理サーバ名403は、論理サーバの名称である。
アプリケーション名404は、アプリケーションの名称である。接続先RA405は、アプリケーション名404によって特定されるアプリケーションに接続されるリソースアダプタの名称である。多重度406は、アプリケーション名404によって特定されるアプリケーションがJ2EEサーバ914において並列して実行される最大数である。
図26は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納されるリソースアダプタ設定情報410の一例を示す図である。
リソースアダプタ設定情報410は、リソースアダプタの設定情報、特に、接続先の情報を格納する。リソースアダプタ設定情報410には、システム名411、サーバ名412、論理サーバ名413及び接続先設定414が含まれる。
システム名411は、構築されるシステムの名称である。サーバ名412は、論理サーバが稼働する物理的な計算機(サーバ)の名称である。論理サーバ名413は、論理サーバの名称である。
接続先設定414は、リソースアダプタの接続先を特定する情報が格納される。接続先設定414には、リソースアダプタ名414A、IPアドレス414B、ポート番号414C、DBユーザID414D、DBユーザパス414E及びプールサイズ414Fが含まれる。
リソースアダプタ名414Aは、リソースアダプタの名称である。IPアドレス414Bは、リソースアダプタの接続先のIPアドレスである。ポート番号414Cは、リソースアダプタの接続先のポート番号である。
DBユーザID414Dは、リソースアダプタの接続先に接続するためのユーザIDである。本発明の実施の形態では、リソースアダプタは、主として、データベースに接続される。DBユーザパス414Eは、リソースアダプタの接続先に接続するためのパスワードである。プールサイズ414Fは、データベースへの接続をプールするサイズを格納する。
図27は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納されるJavaVM情報430の一例を示す図である。
JavaVM情報430は、J2EEサーバ914で使用されるJavaVMのパラメタを格納する。JavaVMのパラメタを調整することによって構築されるシステムの性能を調整することができる。
JavaVM情報430には、システム名411、サーバ名412、Java初期ヒープサイズ433、Java最大ヒープサイズ434、Permanent初期サイズ435及びPermanent最大サイズ436が含まれる。
システム名431は、構築されるシステムの名称である。サーバ名432は、論理サーバが稼働する物理的な計算機(サーバ)の名称である。
ヒープサイズとは、JavaVMが利用可能なメモリサイズである。Java初期ヒープサイズ433は、ヒープサイズの初期値である。Java最大ヒープサイズ434は、ヒープサイズの最大値である。ヒープサイズは、Java初期ヒープサイズ433を初期値とし、必要に応じてJava最大ヒープサイズ434までヒープサイズを大きくする。Java初期ヒープサイズ433の値とJava最大ヒープサイズ434の値とが一致する場合には、ヒープサイズが一定となる。
Javaによって開発されたアプリケーションを実行する場合には、クラス及びメソッドなどのメタデータがメモリに格納される。Permanent領域は、このようなメタデータを格納する領域である。Permanent初期サイズ435は、Permanent領域の初期サイズである。Permanent最大サイズ436は、Permanent領域の最大サイズである。Permanent初期サイズ435の値とPermanent最大サイズ436の値とが一致する場合には、Permanent領域のサイズが一定となる。
図28は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納される流量(J2EEサーバ)情報440の一例を示す図である。
流量(J2EEサーバ)情報440は、J2EEサーバ914のパラメタを格納する。J2EEサーバ914のパラメタを調整することによって、構築されるシステムの性能を調整する。流量(J2EEサーバ)情報440には、システム名441、サーバ名442、J2EEサーバ名443、最大同時実行スレッド444及び実行待ちキュー445が含まれる。
システム名441は、構築されるシステムの名称である。サーバ名442は、論理サーバが稼働する物理的な計算機(サーバ)の名称である。J2EEサーバ名443は、パラメタを調整する対象のJ2EEサーバ914の名称である。
最大同時実行スレッド444は、J2EEサーバ名443によって特定されるJ2EEサーバ914において、アプリケーションが同時に実行されるスレッドの最大数である。実行待ちキュー445は、要求された処理を実行できない場合に実行可能となるまで待機するためのキューのサイズである。
図29は、本発明の実施の形態のシステム構築ナビゲーションデータベースサーバ200に格納される流量(Webサーバ)情報450の一例を示す図である。
流量(Webサーバ)情報450は、Webサーバ915のパラメタを格納する。Webサーバ915のパラメタを調整することによって、構築されるシステムの性能を調整する。流量(Webサーバ)情報450には、システム名451、サーバ名452、Webサーバ名453、最大同時実行数454及びJ2EEサーバコネクションキャッシュ455が含まれる。
システム名451は、構築されるシステムの名称である。サーバ名452は、論理サーバが稼働する物理的な計算機(サーバ)の名称である。Webサーバ名453は、パラメタを調整する対象のWebサーバ915の名称である。
最大同時実行数454は、Webサーバ名453によって特定されるWebサーバ915において同時に処理が実行される接続の最大数である。J2EEサーバコネクションキャッシュ455は、コネクションキャッシュに格納されるJ2EEサーバ914との接続数である。
なお、JavaVM情報430、流量(J2EEサーバ)情報440及び流量(Webサーバ)情報450などに格納されたパラメタのように、システムのチューニングに使用される各パラメタには、デフォルト値(初期値)が別途保持されている。システムを構築する際には、まず、デフォルト値が設定され、チューニング時などに、必要に応じてシステムの開発する利用者が変更する。
以上、本発明の実施の形態で利用されるデータについて説明した。以下、本発明の実施の形態によるシステム構築方法の手順について図30から図41を参照しながら説明する。
図30は、本発明の実施の形態のシステムを構築する手順を説明するフローチャートである。
図30に示すフローチャートでは、まず、システム構築ナビゲーションサーバ100が構築される(S3001)。なお、システム構築ナビゲーションサーバ100によってシステムが構築されるたびに、システム構築ナビゲーションサーバ100を構築し直す必要はない。したがって、システム構築ナビゲーションサーバ100が一度構築された後、システムを構築する場合には、S3002から処理を開始すればよい。
システム構築ナビゲーションサーバ100は、まず、構築するシステムの規模を特定する処理(サイジング)を実行する(S3002)。具体的には、図7にて説明したように、構築するシステムのパターンを指定した後、システム要件を入力し、入力されたシステム要件に基づいて、システムの性能を算出する。システム要件の入力及びシステムの性能の出力については、図31を参照しながら説明する。
図31は、本発明の実施の形態の構築されるシステムの規模を算出する(サイジング)手順を示すフローチャートである。
本処理では、システムを構築する利用者によって、利用者端末700からシステム要件が入力され、システム構築ナビゲーションサーバ100に入力されたシステム要件が送信される。システム構築ナビゲーションサーバ100は、受信したシステム要件に基づいて、構築されるシステムの性能を算出し、利用者端末700に送信する。利用者端末700は、受信したシステムの性能を利用者に提示し、確認を求める。
利用者端末700は、まず、システム要件の各項目を提示する。そして、利用者から、システム要件に対応する値の入力を受け付ける(S3101)。利用者端末700は、システム要件の入力が完了すると、システム構築ナビゲーションサーバ100に入力されたシステム要件を送信する。
システム構築ナビゲーションサーバ100は、システム要件の項目の値を利用者端末700から受信すると、受信したシステム要件に基づいて、システムの性能を算出する(S3102)。さらに、システムの性能の算出結果を利用者端末700に送信する(S3103)。
利用者端末700は、システム構築ナビゲーションサーバ100から送信されたシステム性能の算出結果を出力し、利用者に確認を要求する(S3104)。さらに、利用者からの確認結果の入力を受け付け、サイジングが完了したか否かを判定する(S3105)。サイジングが完了したと判定された場合には(S3105の結果が「Yes」)、本処理を終了する。算出された性能が不十分な場合などには(S3105の結果が「No」)、S3101の処理に戻り、システム要件の入力を再度受け付ける。
以上がサイジングの手順である。ここで、図30のフローチャートの説明に戻る。
サイジングが終了すると、構築されるシステムを稼働させるための構築対象サーバ900を配置する(S3003)。
続いて、システム構築ナビゲーションサーバ100は、構築対象サーバ900の環境を設定する(S3004)。具体的には、図8から図11で説明した手順に示したように、構築対象サーバ900の環境が設定される。構築対象サーバ900の環境を設定する手順について、図32を参照しながらさらに詳細を説明する。
図32は、本発明の実施の形態の構築対象サーバ900の環境を設定する手順を示すフローチャートである。
構築対象サーバ900の環境を設定する手順は、大きく4つの手順に分けられる。具体的には、構築対象サーバ900固有の環境を設定する手順(S3201〜S3204、図8)、論理サーバを配置する手順(S3206〜S3209、図9)、ポート番号を設定する手順(S3210〜S3213、図10)、及び、その他の項目を設定する手順(S3214〜S3217、図11)である。
また、各手順には、項目に値を入力する処理と、入力された値をチェックする処理が含まれる。
項目に値を入力する処理では、前の工程で入力された値に基づいて、後の工程で入力される値の推奨値(デフォルト値)を設定する。推奨値は、あらかじめシステム構築ナビゲーションデータベースサーバ200に登録されている場合と、入力された値と計算テンプレート540に登録されている計算式に基づいて算出される場合がある。なお、項目に値を入力する処理の詳細については、図33から図36を参照しながら後で説明する。
入力された値をチェックする処理では、入力された値と入力済みのシステム要件などの値との整合性を判定する。また、入力された値が不正の場合には、再入力を受け付けたり、入力済みの値の修正を受け付けたりする。なお、入力された値をチェックする処理の詳細については、図38及び図39を参照しながら後で説明する。
ここで、構築対象サーバ900の環境を設定する手順の説明に戻る。
利用者端末700は、まず、構築対象サーバ900のマシン固有値の入力を受け付ける(S3201)。入力されたマシン固有値は、システム構築ナビゲーションサーバ100に送信される。
システム構築ナビゲーションサーバ100は、利用者端末700から送信されたマシン固有値を受信すると、受信したマシン固有値の妥当性をチェックする(S3202)。例えば、構築対象サーバ900に付与されたサーバ名が既に他のサーバと重複していないか否かを判定したりする。
システム構築ナビゲーションサーバ100は、チェック結果を判定し(S3203)、チェック結果に問題がなければ(S3203の結果が「OK」)、システム構築ナビゲーションデータベースサーバ200のマシン固有値情報340に格納する。一方、チェック結果に問題がある場合には(S3203の結果が「NG」)、利用者端末700にエラー通知を送信し(S3204)、再入力を要求する。
利用者端末700は、次に、構築対象サーバ900ごとに環境を設定するために、環境を設定する構築対象サーバ900を選択する(S3205)。さらに、選択された構築対象サーバ900に論理サーバを配置する(S3206)。具体的には、図9に示したように、配置する論理サーバの種類を選択し、配置された論理サーバの名称を入力する。入力された論理サーバ情報は、システム構築ナビゲーションサーバ100に送信される。
システム構築ナビゲーションサーバ100は、利用者端末700から送信された論理サーバ情報を受信すると、受信した論理サーバ情報の妥当性をチェックする(S3207)。例えば、配置された論理サーバ名が既に配置された他の論理サーバと重複していないかを判定する。
システム構築ナビゲーションサーバ100は、チェック結果を判定し(S3208)、チェック結果に問題がなければ(S3208の結果が「OK」)、システム構築ナビゲーションデータベースサーバ200の論理サーバ定義情報350に格納する。一方、チェック結果に問題がある場合には(S3208の結果が「NG」)、利用者端末700にエラー通知を送信し(S3209)、再入力を要求する。
利用者端末700は、次に、配置された論理サーバ間を接続するために、論理サーバ間のインターフェースとなるポートを設定する(S3210)。具体的には、図10に示したように、各論理サーバの接続関係を決定し、ポート番号を設定する。入力されたポート番号は、システム構築ナビゲーションサーバ100に送信される。
システム構築ナビゲーションサーバ100は、利用者端末700から送信された論理サーバのポート番号を受信すると、受信したポート番号の妥当性をチェックする(S3211)。例えば、同一の論理サーバに複数の同一のポート番号が割り当てられていないかを判定する。
システム構築ナビゲーションサーバ100は、チェック結果を判定し(S3212)、チェック結果に問題がなければ(S3212の結果が「OK」)、システム構築ナビゲーションデータベースサーバ200のポート番号情報360に格納する。一方、チェック結果に問題がある場合には(S3212の結果が「NG」)、利用者端末700にエラー通知を送信し(S3213)、再入力を要求する。
利用者端末700は、次に、各論理サーバのその他の項目に値を設定する(S3214)。具体的には、図11に示した通りである。入力された設定情報は、システム構築ナビゲーションサーバ100に送信される。
システム構築ナビゲーションサーバ100は、利用者端末700から送信された設定情報を受信すると、設定情報の妥当性をチェックする(S3215)。システム構築ナビゲーションサーバ100は、チェック結果を判定し(S3216)、チェック結果に問題がなければ(S3216の結果が「OK」)、システム構築ナビゲーションデータベースサーバ200のサーバ詳細情報370に格納する。一方、チェック結果に問題がある場合には(S3216の結果が「NG」)、利用者端末700にエラー通知を送信し(S3217)、再入力を要求する。
利用者端末700は、S3216の処理のチェック結果が「OK」である通知を受け付けると、他の構築対象サーバ900の環境を設定するか否かの入力を受け付ける(S3218)。他の構築対象サーバ900の環境を設定する場合には(S3218の結果が「Yes」)、S3205の処理に戻り、環境を設定する構築対象サーバ900を選択する。
一方、利用者端末700は、すべての構築対象サーバ900の環境の設定が完了した場合には(S3218の結果が「No」)、システム構築ナビゲーションサーバ100に通知する。
システム構築ナビゲーションサーバ100は、システム定義ファイル雛形510及び構築スクリプト雛形520を元に、設定された情報に基づいて、システム定義ファイル560及び構築スクリプト570を生成し、システム構築ナビゲーションデータベースサーバ200に格納する(S3219)。
ここで、環境を設計する場合など、項目に値を入力する処理の詳細について、図33から図36を参照しながら説明する。
図33は、本発明の実施の形態の項目に値を入力する手順の概要を説明する図である。
本発明の実施の形態では、入力欄に値を設定し、次画面に遷移する際に入力欄に設定された値に基づいて、他のパラメタに値を設定することができる。例えば、図33に示すように、利用者が利用者端末700のブラウザに表示された入力欄inputA及びinputBに値を入力し、「ActionButton」を操作することによって、次画面に遷移する。このとき、次画面では、入力された値(inputA及びinputB)に基づいて、OutputCが出力される。
OutputCは、inputA及びinputBに基づいて検索される値であったり、inputA及びinputBを計算式に当てはめることによって算出する値であったりする。
以下、入力された値に基づいて他のパラメタの値を出力する手順について、図34を参照しながら説明する。さらに、OutputCに出力された値が検索された値である場合の具体例を図35を参照しながら説明する。同じく、OutputCに出力された値が計算された値である場合の具体例を図36を参照しながら説明する。
図34は、本発明の実施の形態の入力された値に基づいて他のパラメタの値を出力する手順を説明する図である。
システム構築ナビゲーションサーバ100は、利用者端末700から入力された値を取得すると(S3401)、システム構築ナビゲーションデータベースサーバ200に取得した入力値を登録する(S3402)。複数の入力値を取得した場合には、すべての入力値を登録する。
続いて、システム構築ナビゲーションサーバ100は、取得した入力値に対応する出力値を取得する。対応する出力値が複数存在する場合にはそれぞれ取得する。なお、入力値に対応する出力値は、項目ごとにあらかじめ定められている。
システム構築ナビゲーションサーバ100は、まず、取得する出力値を算出するための計算式がシステム構築ナビゲーションデータベースサーバ200の計算テンプレート540に含まれているか否かを判定する(S3403)。計算式が含まれていない場合には(S3403の結果が「No」)、システム構築ナビゲーションデータベースサーバ200から登録済みの出力値を取得する(S3407)。
一方、システム構築ナビゲーションサーバ100は、計算式が含まれている場合には(S3403の結果が「Yes」)、当該計算式を取得する(S3404)。さらに、取得された計算式に基づいて、出力値を計算するために必要な値をシステム構築ナビゲーションデータベースサーバ200から取得する(S3405)。そして、S3404の処理で取得された計算式とS3405の処理で取得された値に基づいて、出力値を計算する(S3406)。
システム構築ナビゲーションサーバ100は、すべての出力値の取得が完了すると、利用者端末700に取得された出力値を送信し、次画面に遷移するように指示する(S3408)。
図35は、本発明の実施の形態の入力された値に基づいて登録された値を取得し、出力する手順を説明する図である。
利用者端末700は、ブラウザに表示された入力欄に利用者から値の入力(inputA及びinputB)を受け付け、「ActionButton」が操作されると(1)、入力欄に入力された値(入力値)をシステム構築ナビゲーションサーバ100に送信する。
システム構築ナビゲーションサーバ100は、システム構築ナビゲーションプログラム111を実行し、利用者端末700から送信された入力値をシステム構築ナビゲーションデータベースサーバ200に登録する処理を入出力プラグインに依頼する(2)。
本発明の実施の形態のシステム構築ナビゲーションプログラム111は、前述のように、プラグインを追加することによって機能を拡張することが可能である。入出力プラグインは、外部のデータベースなどに対して値を入出力する機能を提供する。本発明の実施の形態では、システム構築ナビゲーションデータベースサーバ200にデータを入出力する処理は、入出力プラグインによって実行される。
システム構築ナビゲーションサーバ100は、入出力プラグインに入力値の登録を依頼されると、システム構築ナビゲーションデータベースサーバ200に入力値を登録する(3)。
続いて、システム構築ナビゲーションサーバ100は、次画面で出力する値(OutputC)を取得する。具体的には、inputA及びinputBに基づいて、システム構築ナビゲーションデータベースサーバ200に対応する値が格納されているか否かを判定する。
システム構築ナビゲーションサーバ100は、OutputCがシステム構築ナビゲーションデータベースサーバ200に格納されている場合には、入出力プラグインを介して値を取得する(4)。
システム構築ナビゲーションサーバ100は、利用者端末700にOutputCを含む応答メッセージを送信し、次画面を表示するように指示する(5)。
利用者端末700は、OutputCを含む応答メッセージを受信すると、OutputCを表示した次画面に遷移する(6)。
図36は、本発明の実施の形態の入力された値に基づいて値を算出し、出力する手順を説明する図である。
入力値に基づいて出力値を算出する場合であっても、図35に示した(1)から(3)までの処理は共通である。
システム構築ナビゲーションサーバ100は、図35に示した処理と同様に、inputA及びinputBに基づいて、システム構築ナビゲーションデータベースサーバ200からOutputCを取得しようとする(4)。しかし、図36に示す場合では、システム構築ナビゲーションデータベースサーバ200にOutputCに対応する値が登録されていないため、OutputCは算出される値であると判定する(5)。
システム構築ナビゲーションサーバ100は、計算プラグインにOutputCの算出を依頼する(6)。
システム構築ナビゲーションサーバ100は、計算プラグインにOutputCの算出を依頼されると、計算テンプレート540から計算式を取得する(7)。例えば、OutputCがinputAとinputBを乗算することによって算出される場合には、計算式OutputC=inputA×inputBが取得される。
さらに、システム構築ナビゲーションサーバ100は、計算式を実行するために必要な値をシステム構築ナビゲーションデータベースサーバ200から取得する(8)。具体的には、(3)の処理で登録されたinputA及びinputBである。なお、inputA及びinputBを主記憶装置110に保持しておき、必要な値のみをシステム構築ナビゲーションデータベースサーバ200から取得するようにしてもよい。
システム構築ナビゲーションサーバ100は、(7)の処理で取得された計算式と(8)の処理で取得された値に基づいて、OutputCを算出する(9)。
システム構築ナビゲーションサーバ100は、利用者端末700に算出されたOutputCを含む応答メッセージを送信し、次画面を表示するように指示する(10)。
利用者端末700は、OutputCを含む応答メッセージを受信すると、OutputCを表示した次画面に遷移する(11)。
続いて、入力された値をチェックする処理の詳細について、全体の処理を図37のフローチャートを参照しながら説明し、さらに、図38及び図39を参照しながら具体例を説明する。
図37は、本発明の実施の形態の入力された値をチェックする手順を示すフローチャートである。
システム構築ナビゲーションサーバ100は、利用者端末700に入力された値を取得する(S3701)。そして、取得した入力値について、それぞれ対応するチェック用計算式を取得する。
システム構築ナビゲーションサーバ100は、入力値に対応するチェック用計算式がシステム構築ナビゲーションデータベースサーバ200の計算テンプレート540に含まれているか否かを判定する(S3702)。計算式が含まれていない場合には(S3702の結果が「No」)、チェック対象の入力値はチェックする必要がないと判定し、他の入力値のチェックを行う。
一方、システム構築ナビゲーションサーバ100は、計算式が含まれている場合には(S3702の結果が「Yes」)、当該計算式を取得し、取得された計算式を計算するために必要な値をシステム構築ナビゲーションデータベースサーバ200から取得する(S3703)。そして、取得された計算式とS3703の処理で取得された値に基づいて、チェック用計算式を計算する(S3704)。
システム構築ナビゲーションサーバ100は、入力値がチェック用計算式を満たすか否かを判定する(S3705)。入力値がチェック用計算式を満たす場合には(S3705の結果が「Yes」)、次の入力値についてチェックを行う。
一方、システム構築ナビゲーションサーバ100は、入力値がチェック用計算式を満たさない場合には(S3705の結果が「No」)、利用者端末700に警告ダイアログを出力するように指示し(S3706)、入力値の修正又は自動修正の選択を受け付ける(S3707)。
システム構築ナビゲーションサーバ100は、入力値の修正が選択された場合には(S3706の結果が「入力値の修正」)、再入力を受け付け、本処理を再度実行する。
一方、システム構築ナビゲーションサーバ100は、自動修正が選択された場合には(S3706の結果が「自動修正」)、チェックに必要な値の推奨値を取得する(S3708)。すなわち、過去に入力された入力値を修正することによって、入力値の再チェックを行うようにする。このとき、推奨値を用いて自動的に値を更新してもよいが、本発明の実施の形態では、一旦、利用者端末700に取得された推奨値を表示させ(S3709)、利用者に確認させてから値を更新する。そして、過去に設定された値が修正されると、その後に入力されたすべての入力値について再チェックを行う必要があるため、自動修正が選択された場合には本処理を終了し、再設定が必要な値の再入力を受け付ける。なお、再設定が必要な値は、システム構築ナビゲーションデータベースサーバ200に格納されているため、修正された項目以外の値については、再入力時にデフォルト値として表示することによって利用者が項目を再入力するための労力を少なくすることができる。
最後に、すべての入力値のチェックが完了すると、次画面に遷移するように利用者端末700に指示し(S3710)、本処理を終了する。
図38は、本発明の実施の形態の入力された値をチェックする処理を説明する図であって、入力された値が正しい場合を示す図である。
利用者端末700は、ブラウザに表示された入力欄に利用者から値の入力(inputA=10)を受け付け、「ActionButton」が操作されると(1)、入力値をシステム構築ナビゲーションサーバ100に送信する。
システム構築ナビゲーションサーバ100は、入力値を受信すると、計算プラグインに入力値のチェックを依頼する(2)。
システム構築ナビゲーションサーバ100は、計算プラグインによって、チェック用の計算式をシステム構築ナビゲーションデータベースサーバ200の計算テンプレート540から取得する(3)。なお、対応する計算式が登録されていない場合には、入力された値は任意の値を設定可能として、入力値が正しいと判定する。ここで、取得された計算式は、inputA≦inputD×inputEとする。
システム構築ナビゲーションサーバ100は、(3)の処理で取得された計算式に基づいて計算するために必要な値を、システム構築ナビゲーションデータベースサーバ200から取得する(4)。具体的には、利用者によって入力済みのinputD及びinputEの値である。
システム構築ナビゲーションサーバ100は、(3)の処理で取得された計算式及び(4)の処理で取得された値に基づいて計算式を計算する(5)。図38に示すように、inputDの値が10、inputEの値が20であるため、inputAの値は10×20=200以下であればよい。inputAの値は10であるため、入力された値は正しいと判定することができる(6)。
システム構築ナビゲーションサーバ100は、チェック結果を利用者端末700に送信する(7)。利用者端末700では、システム構築ナビゲーションサーバ100からチェック結果を受信し、次画面に遷移する(8)。
図39は、本発明の実施の形態の入力された値をチェックする処理を説明する図であって、入力された値が不正な場合を示す図である。
利用者端末700は、ブラウザに表示された入力欄に利用者から値の入力(inputA=210)を受け付け、「ActionButton」が操作されると(1)、入力値をシステム構築ナビゲーションサーバ100に送信する。
システム構築ナビゲーションサーバ100は、入力値を受信すると、計算プラグインに入力値のチェックを依頼する(2)。(3)から(6)までの処理は、図38に示した処理と同じである。
システム構築ナビゲーションサーバ100は、inputAの値が210であるため、チェック結果は不正と判定する(7)。さらに、利用者端末700に警告ダイアログを表示させる(8)。
利用者端末700では、警告ダイアログが表示され、利用者から対応方法の選択を受け付ける。具体的には、inputAの再入力、又は、チェック用の計算式で用いられる値(inputD及びinputE)の再入力を選択する。このとき、対応方法は、ブラウザなどのGUIを介して選択される。
inputAの再入力を選択した場合には、利用者端末700は、再入力された値をシステム構築ナビゲーションサーバ100に送信し、(2)以降の処理を再度実行する。例えば、再入力された値を150とすると入力値が正しいと判定されるため、利用者端末700に表示された画面は次画面に遷移する。
一方、inputD及びinputEの再入力が選択された場合には、利用者端末700は、システム構築ナビゲーションサーバ100に通知する。システム構築ナビゲーションサーバ100は、入出力プラグインを介してシステム構築ナビゲーションデータベースサーバ200からinputD及びinputEの推奨値を取得する(9)。さらに、利用者端末700にinputD及びinputEの推奨値を送信する。なお、inputD及びinputEの推奨値は、パターンなどに基づいてあらかじめ設定されている値であり、inputD及びinputEの入力時にデフォルト値として利用される値である。一方、(4)で取得されたinputD及びinputEの値は、実際に過去に入力された値であって、推奨値と相違する場合がある。
利用者端末700は、inputD及びinputEの推奨値をデフォルト値として、inputD及びinputEの値の再入力を受け付ける(10)。その後、inputD及びinputEの値を再設定し、inputAの値を再チェックする。
図40は、本発明の実施の形態の入力された値をチェックする処理の具体例を説明する図である。
図40では、リダイレクトタイムアウト4001が入力される場合のチェックを例に説明する。なお、前提条件として、サイジング時に内部保留時間4002(=2秒)、及びチューニング時に実行待ちキュー内の保留時間4003(=6秒)が設定済みとなっている。
リダイレクトタイムアウト4001は、クライアントからのリクエストが処理されるまで待機させる時間である。内部保留時間4002は、Webサーバ915がJ2EEサーバ914にリクエストを振り分けるまでの時間である。実行待ちキュー内の保留時間4003は、J2EEサーバ914の処理待ちのキュー内において、突発的なリクエストに対応するためのキュー内における保留時間である。
また、計算テンプレート540には、チェック用計算式として、計算式「リダイレクトタイムアウト4001>内部保留時間4002+実行待ちキュー内の保留時間4003」が格納されている。すなわち、リダイレクトタイムアウト4001を内部保留時間4002と実行待ちキュー内の保留時間4003との合計よりも短く設定すると、常にタイムアウトを起こしてしまうことになる。このような事態を避けるために、前述のチェック用計算式が規定されている。
以上の前提条件の下で、リダイレクトタイムアウト4001に設定された値に応じた処理について説明する。まず、リダイレクトタイムアウト4001の値が5秒に設定された場合には、内部保留時間4002と実行待ちキュー内の保留時間4003との合計が8秒であるため、チェック用計算式を充足することができない。すなわち、図39の(7)の状態に対応する。そこで、システム構築ナビゲーションサーバ100は利用者端末700に警告ダイアログを表示するように指示する(図39の(8))。
ここで、利用者が入力値の変更、すなわち、リダイレクトタイムアウト4001の再設定を選択した場合には(図37のS3707の結果が「入力値の修正」)、8秒よりも大きい値を設定することによって、図38に示すように正常に終了させることができる。
一方、利用者が自動修正を選択した場合には(図37のS3707の結果が「自動修正」)、実行待ちキュー内の保留時間4003を設定する画面に自動的に遷移させ、さらに、システム構築ナビゲーションデータベースサーバ200に保持されている推奨値を表示する。利用者は、設定された推奨値又は他の値を設定し、再度パラメタを設定する。
以上のようにして、項目に対する値の設定を最小限としながら、さらに、入力された値をチェックしながら構築対象サーバ900の環境を設定する。ここで、図30のフローチャートの説明に戻る。
システム構築ナビゲーションサーバ100は、環境設定が終了すると、構築対象サーバ900にシステム構築ナビゲーションエージェント911を配布する(S3005)。
続いて、システム構築ナビゲーションサーバ100は、設定された環境に基づいて、システム定義ファイル560及び構築スクリプト570を作成し、システム構築ナビゲーションデータベースサーバ200に格納する(S3006)。
システム構築ナビゲーションサーバ100は、S3006の処理で作成されたシステム定義ファイル560及び構築スクリプト570を構築対象サーバ900に配布し、各構築対象サーバ900に環境構築命令を送信する(S3007)。
システム構築ナビゲーションサーバ100は、各構築対象サーバ900で環境の構築が完了すると、アプリケーション及びリソースアダプタの配備、又は、パラメタのチューニングが必要か否かを判定する(S3008)。
システム構築ナビゲーションサーバ100は、アプリケーション及びリソースアダプタの配備、又は、パラメタのチューニングが必要と判定された場合には(S3008の結果が「Yes」)、アプリケーション・リソースアダプタの配備及びチューニング処理を実行する(S3009)。
図41は、本発明の実施の形態のアプリケーション・リソースアダプタの配備及びチューニング処理の手順を示すフローチャートである。
本処理は、S4101からS4106までの処理がアプリケーション・リソースアダプタの配備に対応し、S4107及びS4108の処理がチューニングに対応する。
システム構築ナビゲーションサーバ100は、まず、構築対象サーバ900のJ2EEサーバ914に必要なだけアプリケーションを配置する(S4101)。さらに、構築対象サーバ900のJ2EEサーバ914に必要なだけリソースアダプタを配置する(S4102)。S4101及びS4102の処理は、図12に示した処理に対応する。また、S4101及びS4102の処理では、実際に構築対象サーバ900にアプリケーション又はリソースアダプタを配置するのではなく、システム構築ナビゲーションデータベースサーバ200のアプリケーション・リソースアダプタ関連情報380を更新する。
続いて、システム構築ナビゲーションサーバ100は、利用者端末700からの入力を受け付け、配置されたリソースアダプタとデータベースサーバとを接続する(S4103)。さらに、アプリケーションとリソースアダプタとを接続する(S4104)。S4103及びS4104の処理は、図13に示した処理に対応する。また、S4103及びS4104の処理では、S4101及びS4102の処理と同様に、システム構築ナビゲーションデータベースサーバ200のアプリケーション・リソースアダプタ関連情報380を更新する。
システム構築ナビゲーションサーバ100は、利用者端末700からの配置されたアプリケーションの詳細情報の入力を受け付ける(S4105)。同じく、配置されたリソースアダプタの詳細情報の入力を受け付ける(S4106)。S4105の処理は、図14に示した処理に対応し、S4106の処理は、図15に示した処理に対応する。
システム構築ナビゲーションサーバ100は、アプリケーション及びリソースアダプタの配備が終了すると、システムの性能をチューニングする。まず、S4107の処理では、J2EEサーバ914の性能(流量)をチューニングする。なお、S4107の処理は、図16に示した処理に対応する。
具体的には、図16にて説明したように、J2EEサーバ914で要求された処理を待機する待ち行列のキューサイズの設定、及び、J2EEサーバ914で同時に実行されるスレッドの最大数を設定する。チューニングされたパラメタは、システム構築ナビゲーションデータベースサーバ200のサーバ詳細情報370などのテーブルに格納される。
続いて、システム構築ナビゲーションサーバ100は、S4108の処理では、Webサーバ915の性能(流量)をチューニングする。なお、S4108の処理は、図17に示した処理に対応する。
具体的には、図17にて説明したように、Webサーバ915で同時に実行されるスレッドの最大数の設定、及び、J2EEサーバ914への接続用コネクションキャッシュのサイズを設定する。チューニングされたパラメタは、システム構築ナビゲーションデータベースサーバ200のサーバ詳細情報370などに格納される。
以上のように、アプリケーション・リソースアダプタの配備及びチューニングが終了すると、S3006の処理を再度実行し、処理結果に基づいて、システム定義ファイル560及び構築スクリプト570を再作成する。その後、同様に、構築対象サーバ900の環境を構築する。
システム構築ナビゲーションサーバ100は、アプリケーション及びリソースアダプタの配備、又は、パラメタのチューニングが不要と判定された場合には(S3008の結果が「No」)、構築されたシステムを検証する(S3010)。警告が表示された場合などにはサイジングをやり直したり、チューニングをやり直したりする。警告が表示されず、チューニングが完了した場合にはシステムの構築を終了する。
本発明の実施の形態によれば、システム要件及びシステム環境などの項目を順次入力することによって、システムを構築するために必要な環境を設定し、システムを構築することができる。
本発明の実施の形態によれば、構築対象のシステムのパターンに応じたノウハウをパターン固有データとして保持しているため、過去のシステム構築で得られたノウハウを活用してシステムを構築することができる。
本発明の実施の形態によれば、環境設定などを支援するシステム構築ナビゲーションプログラムの機能をプラグインとして部品化しているため、パターン固有データの更新だけでなく、パラメタの算出などの計算手段を変更することによってパラメタ精度などを向上させることが可能となる。
本発明の実施の形態によれば、入力されたパラメタのチェック機能を備え、入力された値そのものの修正を受け付けるだけではなく、関連するパラメタの変更を可能とすることによって、より柔軟なパラメタ設計を行うことが可能となる。さらに、関連するパラメタを設定する際に推奨値を提示することによって、パラメタの変更による利用者の負荷を低減することができる。
本発明の実施の形態のシステム構築支援システムの構成を示す図である。 本発明の実施の形態のシステム構築ナビゲーションサーバの構成を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバの構成を示す図である。 本発明の実施の形態のシステム構築前の構築対象サーバの構成を示す図である。 本発明の実施の形態のシステム構築後の構築対象サーバの構成を示す図である。 本発明の実施の形態のシステム構築ナビゲーションエージェントによってシステムを構築する手順の概要を示す図である。 本発明の実施の形態の構築されるシステムのシステム要件を入力し、システムの規模を決定する手順(サイジング)の概要を説明する図である。 本発明の実施の形態の構築されるシステムを構成する構築対象サーバの固有の情報を設定する手順の概要を説明する図である。 本発明の実施の形態の構築対象サーバで実行される論理サーバを配置する手順の概要を説明する図である。 本発明の実施の形態の各論理サーバに接続するためのポート番号を設定する手順の概要を説明する図である。 本発明の実施の形態の各論理サーバの詳細項目を設定する手順の概要を説明する図である。 本発明の実施の形態のJ2EEサーバにアプリケーション及びリソースアダプタを配置する手順の概要を説明する図である。 本発明の実施の形態のJ2EEサーバに配置されたアプリケーション及びリソースアダプタの接続を設定する手順の概要を説明する図である。 本発明の実施の形態のJ2EEサーバで実行されるアプリケーションの詳細を設定する手順の概要を説明する図である。 本発明の実施の形態のJ2EEサーバに配置されたリソースアダプタの詳細項目を設定する手順の概要を説明する図である。 本発明の実施の形態のJ2EEサーバの性能(流量)をチューニングする手順の概要を説明する図である。 本発明の実施の形態のWebサーバの性能(流量)をチューニングする手順の概要を説明する図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納される設定項目定義情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納されるサイジング情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納されるマシン固有値情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納される論理サーバ定義情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納されるポート番号情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納されるサーバ詳細情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納されるAPP・RA配置情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納されるアプリケーション設定情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納されるリソースアダプタ設定情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納されるJavaVM情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納される流量(J2EEサーバ)情報の一例を示す図である。 本発明の実施の形態のシステム構築ナビゲーションデータベースサーバに格納される流量(Webサーバ)情報の一例を示す図である。 本発明の実施の形態のシステムを構築する手順を説明するフローチャートである。 本発明の実施の形態の構築されるシステムの規模を算出する(サイジング)手順を示すフローチャートである。 本発明の実施の形態の構築対象サーバの環境を設定する手順を示すフローチャートである。 本発明の実施の形態の項目に値を入力する手順の概要を説明する図である。 本発明の実施の形態の入力された値に基づいて他のパラメタの値を出力する手順を説明する図である。 本発明の実施の形態の入力された値に基づいて登録された値を取得し、出力する手順を説明する図である。 本発明の実施の形態の入力された値に基づいて値を算出し、出力する手順を説明する図である。 本発明の実施の形態の入力された値をチェックする手順を示すフローチャートである。 本発明の実施の形態の入力された値をチェックする処理を説明する図であって、入力された値が正しい場合を示す図である。 本発明の実施の形態の入力された値をチェックする処理を説明する図であって、入力された値が不正な場合を示す図である。 本発明の実施の形態の入力された値をチェックする処理の具体例を説明する図である。 本発明の実施の形態のアプリケーション・リソースアダプタの配備及びチューニング処理の手順を示すフローチャートである。
符号の説明
100 システム構築ナビゲーションサーバ
110 主記憶装置
111 システム構築ナビゲーションプログラム
120 CPU
130 インターフェース
140 ディスクドライブ
200 システム構築ナビゲーションデータベースサーバ
210 主記憶装置
211 データベースマネジメントシステム
220 CPU
230 インターフェース
240 ディスクドライブ
300 設定項目定義情報
310 構築データ
320 サイジング情報
330 環境設計情報
340 マシン固有値情報
350 論理サーバ定義情報
360 ポート番号情報
370 サーバ詳細情報
380 アプリケーション・リソースアダプタ関連情報
390 APP・RA配置情報
400 アプリケーション設定情報
410 リソースアダプタ設定情報
420 チューニング情報
430 JavaVM情報
440 流量(J2EEサーバ)情報
450 流量(Webサーバ)情報
500 パターン固有データ
510 システム定義ファイル雛形
520 構築スクリプト雛形
530 構築フロー定義
540 計算テンプレート
560 システム定義ファイル
570 構築スクリプト
700 利用者端末
800 ネットワーク
900 構築対象サーバ
910 主記憶装置
911 システム構築ナビゲーションエージェント
912 EJBアプリケーション
913 Webアプリケーション
914 J2EEサーバ
915 Webサーバ
916 運用管理サーバ
920 CPU
930 インターフェース
940 ディスクドライブ
941 各種設定ファイル
942 システム定義ファイル
943 構築スクリプト

Claims (10)

  1. システム構築装置と、前記システム構築装置によってアクセスされるデータを格納するシステム構築データベースと、を備える計算機システムにおいて、システムの構築を支援するシステム構築支援方法であって、
    前記システム構築装置は、インターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、
    前記システム構築データベースは、
    前記構築されるシステムの種類に対応するパターンに対応して定義された項目を含む項目定義情報と、
    前記項目に値を入力する工程及び前記工程の順序が、前記パターンに対応して定義された構築フロー定義情報とを格納し、
    前記方法は、
    前記構築されるシステムのパターンの指定を受け付け、
    前記指定されたパターンに対応する項目定義情報を前記システム構築データベースから取得し、
    前記構築されるシステムに配置される構築対象サーバを指定し、
    前記指定されたパターンに対応する構築フローに基づいて、前記工程に対応する項目の値の入力を受け付け、
    前記システムを構築するために必要な項目の値が設定された後、前記構築対象サーバの環境を設定する構築スクリプト及びシステム定義情報を生成し、
    前記構築スクリプトを実行するためのエージェントプログラムを前記構築対象サーバに配布し、
    前記配布されたエージェントプログラムによって、前記システム定義情報に基づいて前記構築スクリプトを実行するように、前記構築対象サーバに指示することを特徴とするシステム構築支援方法。
  2. 前記システム構築データベースは、前記項目に入力された値が正しいか否かを判定する第1の計算式を格納し、
    前記方法は、さらに、
    前記項目に値が入力された場合には、前記値が入力された項目に対応する第1の計算式を前記システム構築データベースから取得し、
    前記取得された第1の計算式に基づく計算に必要な項目を特定し、
    前記特定された項目に対応する値を取得し、
    前記取得された第1の計算式及び前記取得された値に基づいて、前記項目に入力された値が正しいか否かを判定することを特徴とする請求項1に記載のシステム構築支援方法。
  3. 前記方法は、さらに、
    前記項目に入力された値を前記第1の計算式で判定した結果が不正である場合には、前記特定された項目に対応する値の再入力を受け付け、
    前記指定されたパターンに対応する構築フローに基づいて、前記特定された項目に値が入力された工程よりも後の工程に対応する項目の値の入力を受け付けることを特徴とする請求項2に記載のシステム構築支援方法。
  4. 前記方法は、前記特定された項目に対応する値の再入力を受け付ける場合には、さらに、前記特定された項目に対応する所定の推奨値を提示することを特徴とする請求項3に記載のシステム構築支援方法。
  5. 前記システム構築データベースは、前記項目に入力された値に基づいて、後の工程で入力される項目の値を計算するための第2の計算式を格納し、
    前記方法は、さらに、
    前記項目に入力された値に基づいて、前記後の工程で入力される項目の値を前記第2の計算式に適用することによって計算し、
    前記後の工程で項目の値の入力を受け付ける場合には、前記計算された値を提示することを特徴とする請求項1に記載のシステム構築支援方法。
  6. システムの構築を支援するシステム構築支援システムであって、
    前記システム構築支援システムは、システム構築装置と、前記システム構築装置によってアクセスされるデータを格納するシステム構築データベースと、を備え、
    前記システム構築装置は、インターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、
    前記システム構築データベースは、
    前記構築されるシステムの種類に対応するパターンに対応して定義された項目を含む項目定義情報と、
    前記項目に値を入力する工程及び前記工程の順序が、前記パターンに対応して定義された構築フロー定義情報とを格納し、
    前記システム構築装置は、
    前記構築されるシステムのパターンの指定を受け付け、
    前記指定されたパターンに対応する項目定義情報を前記システム構築データベースから取得し、
    前記構築されるシステムに配置される構築対象サーバを指定し、
    前記指定されたパターンに対応する構築フローに基づいて、前記工程に対応する項目の値の入力を受け付け、
    前記システムを構築するために必要な項目の値が設定され後、前記構築対象サーバの環境を設定する構築スクリプト及びシステム定義情報を生成し、
    前記構築スクリプトを実行するためのエージェントプログラムを前記構築対象サーバに配布し、
    前記配布されたエージェントプログラムによって、前記システム定義情報に基づいて前記構築スクリプトを実行するように、前記構築対象サーバに指示することを特徴とするシステム構築支援システム。
  7. 前記システム構築データベースは、前記項目に入力された値が正しいか否かを判定する第1の計算式を格納し、
    前記システム構築装置は、
    前記項目に値が入力された場合には、前記値が入力された項目に対応する第1の計算式を前記システム構築データベースから取得し、
    前記取得された第1の計算式に基づく計算に必要な項目を特定し、
    前記特定された項目に対応する値を取得し、
    前記取得された第1の計算式及び前記取得された値に基づいて、前記項目に入力された値が正しいか否かを判定することを特徴とする請求項6に記載のシステム構築支援システム。
  8. 前記システム構築装置は、
    前記項目に入力された値を前記第1の計算式で判定した結果が不正である場合には、前記特定された項目に対応する値の再入力を受け付け、
    前記指定されたパターンに対応する構築フローに基づいて、前記特定された項目に値が入力された工程よりも後の工程に対応する項目の値の入力を受け付けることを特徴とする請求項7に記載のシステム構築支援システム。
  9. 前記システム構築装置は、前記特定された項目に対応する値の再入力を受け付ける場合には、前記特定された項目に対応する所定の推奨値を提示することを特徴とする請求項8に記載のシステム構築支援システム。
  10. 前記システム構築データベースは、前記項目に入力された値に基づいて、後の工程で入力される項目の値を計算するための第2の計算式を格納し、
    前記システム構築装置は、
    前記項目に入力された値に基づいて、前記後の工程で入力される項目の値を前記第2の計算式に適用することによって計算し、
    前記後の工程で項目の値の入力を受け付ける場合には、前記計算された値を提示することを特徴とする請求項6に記載のシステム構築支援システム。
JP2008221752A 2008-08-29 2008-08-29 システム構築支援方法及びシステム構築支援システム Withdrawn JP2010055499A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008221752A JP2010055499A (ja) 2008-08-29 2008-08-29 システム構築支援方法及びシステム構築支援システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008221752A JP2010055499A (ja) 2008-08-29 2008-08-29 システム構築支援方法及びシステム構築支援システム

Publications (1)

Publication Number Publication Date
JP2010055499A true JP2010055499A (ja) 2010-03-11

Family

ID=42071322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008221752A Withdrawn JP2010055499A (ja) 2008-08-29 2008-08-29 システム構築支援方法及びシステム構築支援システム

Country Status (1)

Country Link
JP (1) JP2010055499A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010587A (ja) * 2011-09-27 2017-01-12 オラクル・インターナショナル・コーポレイション トラフィックディレクタ環境におけるトラフィックのアクティブ−パッシブルーティングおよび制御のためのシステムおよび方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010587A (ja) * 2011-09-27 2017-01-12 オラクル・インターナショナル・コーポレイション トラフィックディレクタ環境におけるトラフィックのアクティブ−パッシブルーティングおよび制御のためのシステムおよび方法
JP2018067959A (ja) * 2011-09-27 2018-04-26 オラクル・インターナショナル・コーポレイション トラフィックディレクタ環境におけるトラフィックのアクティブ−パッシブルーティングおよび制御のためのシステムおよび方法
JP2018067960A (ja) * 2011-09-27 2018-04-26 オラクル・インターナショナル・コーポレイション トラフィックディレクタ環境におけるトラフィックのアクティブ−パッシブルーティングおよび制御のためのシステムおよび方法

Similar Documents

Publication Publication Date Title
US7076496B1 (en) Method and system for server based software product release version tracking
US8438418B2 (en) Simplifying automated software maintenance of data centers
US20060101395A1 (en) System and method for real-time applications modification
US20100281456A1 (en) System and method for application process automation over a computer network
KR20200115020A (ko) 하이퍼레저 패브릭 네트워크 구축 방법과 컨트롤러 및 저장 매체
US8250226B2 (en) Generating one or more clients for generating one or more synthetic transactions with one or more web service operations
EP1906308B1 (en) Method and system for managing by a controller a generic data lock to a data object
US20110214076A1 (en) Method and apparatus for optimizing generation of user interface
KR100297633B1 (ko) 복구가능클라이언트및복구불가능클라이언트모두를지원하는클라이언트/서버컴퓨팅을위한방법및컴퓨터프로그램제품
US7836449B2 (en) Extensible infrastructure for task display and launch
JP2023547070A (ja) アプリケーションの実行を停止しない更新された共有ライブラリの再読み込み
JP2010055499A (ja) システム構築支援方法及びシステム構築支援システム
US20110307855A1 (en) Software project management apparatuses and methods thereof
CN111680302A (zh) 第三方组件漏洞扫描方法及装置
CN116719735A (zh) 一种测试用例生成方法及装置
KR101418390B1 (ko) 원격 응용 프로그래밍 디버깅시스템 및 그 제어방법
US20070006121A1 (en) Development activity recipe
CN110647319A (zh) 功能模块解耦方法及系统
JP2005108082A (ja) デバイスドライバのインターフェース方法
US9646118B1 (en) Linking of simulators into a circuit design tool
JP6781688B2 (ja) プログラム、情報処理装置及び画面テストシステム
US11960861B1 (en) System and method for code development tools existing within code container
Valentine Installing and Using the Apache Web Server
Canzari et al. How Taranta provides tools to build user interfaces for TANGO devices in the SKA integration environment without writing a line of code
US11604632B2 (en) Development environment deployment for multiple developer types

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100219

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110704