サポート > 運用ガイド > 運用中の Web アプリケーションを更新する

Wagby でいったん構築した Web アプリケーションを運用後に機能を追加したり、モデルを追加するなどを行うことがあります。このとき、いったん運用中の Web アプリケーションを停止し、新しくビルドした Web アプリケーションに変更するという作業が必要になります。

作業内容

Web アプリケーションの変更は次の手順で行います。 ここでは、現在稼働している Web アプリケーションを便宜上、「旧システム」と呼びます。 また、新しくビルドした Web アプリケーションを「新システム」と呼びます。

  1. 旧システムを停止します。
  2. 旧システムに含まれているすべてのデータをエクスポートします。
  3. 旧システムのフォルダ名を変更します。(例:wagbyappをwagbyapp.oldとする)
  4. 新システムをサーバへコピーします。
  5. 新システムへ、2. でエクスポートしたデータをインポートします。
  6. 新システムを起動します。
  7. 新システムへの接続を確認します。

次に、各項目について説明を行います。

1. 旧システムを停止する

Windowsサービスへ登録している場合は、Windows の [管理ツール] から停止し、サービスを削除して下さい。 Windowsサービスに登録していない場合はwagbyapp\bin\shutdown.bat を実行して下さい。

2. 旧システムに含まれているすべてのデータをエクスポートする

以下のケースに1つでも該当する場合、本手順を行って下さい。

  • モデル定義の変更(モデルの追加/削除、あるいは、モデル項目の追加/削除)が発生した。
  • 内部データベースを利用している。

外部データベースを用いており、かつ、モデル定義の変更がない場合は本手順をスキップしてください。

Web ブラウザからのエクスポート操作または、コマンドライン操作を行います。データ量が多い場合は、コマンドライン操作を推奨します。 具体的な操作手順を次に示します。

  1. コマンドプロンプトを開きます。
  2. wagbyapp フォルダに含まれる bin フォルダに移動します。
    > cd C:\Wagby-6.0.0\wagbyapp\bin
    
  3. export_db.bat を実行します。引数に出力先のフォルダを指定します。フォルダ名は「data_」を接頭語とし、年月日時分秒の情報を続けます。
    > export_db.bat ..\..\export\data_20080301090000
    
    これは複数の data_ フォルダがあった場合、区別できるようにするための工夫です。実際には data_ 以下の文字列は半角英数字で任意に指定できます。
  4. 外部データベースを利用している場合、テーブルの削除処理を行います。(入れ替え後、新しくテーブル作成を行います。)
    > drop_db.bat
    
  5. コマンドプロンプトを終了します。
    > exit
    
コマンドラインからのエクスポート処理の詳細については「インポートとエクスポート機能活用ガイド」をご覧ください。

3. 旧システムのフォルダ名を変更する

旧システムのフォルダ名「wagbyapp」を「wagbyapp.old」に変更して下さい。 「wagbyapp.old」がすでにある場合は、「wagbyapp.old20080321」のように 重複しないフォルダ名を使用して下さい。

ここで旧システムのフォルダを削除しないのは、万が一、新システムに不具合があった場合、速やかに旧システムに戻せるようにするためです。

4. 新システムをサーバへコピーする

ビルドした新システムをサーバマシンへコピーします。旧システムと同じフォルダ名にしてください。 これによって Apache や IIS と連携していた場合でも、同じ環境を引き継いで利用できます。

Wagby R5.7.2 以前の版をご利用の方へ:

あわせて初期データ(data_init) のコピーも必要です。ビルド環境の $(DEVHOME)\export\data_init を新システムの export フォルダ以下にコピーしてください。すでに export フォルダに data_init フォルダが存在していた場合は、data_init.old などにフォルダ名を変更してから作業するようにしてください。

5. 新システムへデータをインポートする

「2. 旧システムに含まれているすべてのデータをエクスポートする」を行なった場合は以下の手順を実行して下さい。

  1. コマンドプロンプトを開きます。
  2. wagbyapp フォルダに含まれる bin フォルダに移動します。
    > cd C:\Wagby-6.0.0\wagbyapp\bin
    
    「\」は半角文字です。フォルダの位置は、お使いの PC 環境に合わせて読み替えてください。
  3. import_db.bat を実行します。引数に(取り込みたいデータが格納されている)フォルダ名を指定します。
    > import_db.bat ..\..\export\data_20080301090000
    
  4. コマンドプロンプトを終了します。
    > exit
    
コマンドラインからのエクスポート処理の詳細については「インポートとエクスポート機能活用ガイド」をご覧ください。

6. 新システムを起動する

Windowsサービスとして起動する場合は、Windows サービスの登録を行い、Windows管理ツールから起動して下さい。

そうでない場合はwagbyapp\bin\startup.batを実行して下さい。

7. 接続確認を行う

Web ブラウザから所定のアドレスを入力し、特定のアカウントでログオンし、メニューが表示されることを確認して下さい。

ログオン処理に失敗する場合は、データベース接続が失敗しています。 データベースの設定を確認して下さい。

イレギュラー時の対応

新システムで、項目の名前を変更した場合

例えば顧客モデル(customer)の顧客名という項目の英語名を name から customername に変更した、という場合を想定します。この場合、項目名が変わっているためインポート処理に失敗します。

このような場合は、Wagby定義ファイルの「項目定義シート」にある「旧データの項目名(英語)」に、変更前の項目名(この例では name となる)を指定してビルドを行ってください。 ビルド後は、生成されたアプリケーションの「インポートエクスポート画面」でインポートを行ってください。 詳細は、「管理者ガイド」-「インポート・エクスポートとバックアップ」を参照してください。


図1 旧データの項目名(英語)の設定

適用後、再び Wagby 定義ファイルを編集して、「旧データの項目名(英語)」を空白に戻す処理を忘れずに行ってください。

新システムで、項目の型を変更した場合

新システムにおいて、(既存の)モデル項目の「型が変更」された場合、インポート処理が失敗することがあります。 Wagby ではこのようなケースにおいて、データのインポート時に簡単なプログラムを実行させることで、変更を吸収できる仕組みを備えています。この仕組みを活用して個別に対応してください。

一般に「型」を扱うシステムにおいては、運用中に型情報が変更された場合に手戻りが発生します。その変更を吸収するために、元のデータに手を加える必要があります。Wagby も例外ではありません。ただし Wagby は、データインポート時にプログラムを実行する仕組みを提供することで、データ変更処理を行いやすくしています。

新システムの定義ファイルで、マスタモデルに値を追加した場合

上に説明した手順では「旧システムのデータを、そのまま新システムに移行」させるようになっています。そのため、新システムの定義ファイルにマスタモデルの値を追加した場合でも、この修正が反映されません。

この場合、さらに次の手順を行ってください。

  1. 新システムに管理者(admin)でログオンします。
  2. 管理画面のインポートエクスポート機能を使って、変更したマスタモデルだけをチェックします。また、対象となるデータフォルダとして「data_init」を選択します。
  3. インポート処理を行ないます。

これによって、Wagby定義ファイルに記載されたマスタモデルの値が設定されます。