開発プロセス

目次

開発プロセス

アプリケーション開発にはさまざまな形式がありますが、このマニュアルでは、Tomcat を使用して Web アプリケーションを作成するための一般的なプロセスを提案します。以下のセクションでは、コードの開発者として実行するコマンドとタスクについて重点的に説明します。適切なソースコード管理システムと、誰がいつアプリケーションのどの部分に取り組んでいるかについての社内チームルールがあれば、複数のプログラマーが関与する場合でも、同じ基本的なアプローチが有効です。

以下のタスクの説明では、特定のソースコード管理システムを想定していませんが、ソースコード管理タスクがいつ、どのような場合に実行されるかを明確にしています。お使いのシステムに適したソースコード管理コマンドを特定する必要があります。

開発のための Ant と Tomcat のワンタイムセットアップ

マネージャー Web アプリケーションと対話する特別な Ant タスクを利用するには、(開発する Web アプリケーションの数に関係なく)以下のタスクを一度実行する必要があります。

  • Ant カスタムタスクを設定する。Ant カスタムタスクの実装コードは、$CATALINA_HOME/lib/catalina-ant.jar という名前の JAR ファイルに含まれており、Ant インストールの lib ディレクトリにコピーする必要があります。

  • 1 つ以上の Tomcat ユーザーを定義するマネージャー Web アプリケーションは、ユーザーがログインし、manager-script セキュリティロールが割り当てられている必要があるセキュリティ制約の下で実行されます。このようなユーザーの定義方法は、Tomcat の conf/server.xml ファイルでどのレルムを設定しているかによって異なります。詳細については、レルム設定方法 を参照してください。manager-script ロールを持つユーザーを(任意のユーザー名とパスワードで)いくつでも定義できます。

プロジェクトソースコードディレクトリの作成

最初のステップは、新しいプロジェクトソースディレクトリを作成し、使用する build.xml ファイルと build.properties ファイルをカスタマイズすることです。ディレクトリ構造については、前のセクション で説明しています。または、サンプルアプリケーション を開始点として使用することもできます。

プロジェクトソースディレクトリを作成し、ソースコード管理システム内で定義します。これは、次のような一連のコマンドによって行うことができます。

cd {my home directory}
mkdir myapp <-- Assumed "project source directory"
cd myapp
mkdir docs
mkdir src
mkdir web
mkdir web/WEB-INF
cvs or svn or git ... <-- Add this structure to the appropriate repository

プロジェクトがソースコード管理リポジトリに正しく作成されたことを確認するために、プロジェクトを別のディレクトリにチェックアウトし、すべての必要なコンテンツが存在することを確認することができます。

次に、開発に使用する build.xml スクリプトの初期バージョンを作成してチェックインする必要があります。迅速かつ簡単に開始するには、このマニュアルに含まれている 基本 build.xml ファイル を基に build.xml を作成するか、ゼロからコーディングします。

cd {my home directory}
cd myapp
emacs build.xml     <-- if you want a real editor :-)
cvs or svn or git ... <-- Add this file to the repository

次のステップは、build.xml スクリプトで名前が付けられている Ant プロパティ をカスタマイズすることです。これは、プロジェクトのトップレベルディレクトリに build.properties という名前のファイルを作成することで行います。サポートされているプロパティは、サンプル build.xml スクリプト内のコメントに記載されています。少なくとも、Tomcat のインストール場所を定義する catalina.home プロパティと、マネージャーアプリケーションのユーザー名とパスワードを定義する必要があります。最終的には次のようになります。

# Context path to install this application on
app.path=/hello

# Tomcat installation directory
catalina.home=/usr/local/apache-tomcat-10.1

# Manager webapp username and password
manager.username=myusername
manager.password=mypassword

一般的に、build.properties ファイルは各開発者の環境に固有であるため、ソースコード管理リポジトリにチェックインするべきでは**ありません**。

次に、Web アプリケーションデプロイメント記述子の初期バージョンを作成します。基本 web.xml ファイル を基に web.xml を作成するか、ゼロからコーディングします。

cd {my home directory}
cd myapp/web/WEB-INF
emacs web.xml
cvs or svn or git ... <-- Add this file to the repository
これは web.xml ファイルの例に過ぎないことに注意してください。デプロイメント記述子ファイルの完全な定義は、サーブレット仕様 にあります。

ソースコードとページの編集

編集/ビルド/テストタスクは、開発および保守中に最も一般的なアクティビティになります。以下の一般的な原則が適用されます。ソースの構成 で説明されているように、新しく作成されたソースファイルは、プロジェクトソースディレクトリの下の適切なサブディレクトリに配置する必要があります。

他の開発者によって行われた作業を反映するために、開発ディレクトリを定期的に更新する必要があります。

新しいファイルを作成するには、適切なディレクトリに移動してファイルを作成します。内容に問題がなければ (ビルドとテストが成功した後)、新しいファイルをリポジトリに追加します。たとえば、新しい JSP ページを作成するには、次のようにします。

cd {my home directory}
cd myapp/web        <-- Ultimate destination is document root
emacs mypage.jsp
... build and test the application ...
cvs or svn or git ... <-- Add this file to the repository

パッケージで定義されている Java ソースコードは、パッケージ名と一致するディレクトリ階層 (src/ サブディレクトリの下) に整理する必要があります。たとえば、com.mycompany.mypackage.MyClass.java という名前の Java クラスは、src/com/mycompany/mypackage/MyClass.java ファイルに格納する必要があります。新しいファイルを作成するたびに、ソースコード管理システムに忘れずに追加してください。

既存のソースファイルを編集するには、一般的に編集とテストを開始し、すべてがうまくいったら変更されたファイルをコミットします。

Web アプリケーションのビルド

アプリケーションをコンパイルする準備ができたら、次のコマンドを実行します (通常は、プロジェクトソースディレクトリに設定されたシェルウィンドウを開いておくため、最後のコマンドのみが必要です)。

cd {my home directory}
cd myapp        <-- Normally leave a window open here
ant

Ant ツールは build.xml ファイルのデフォルトの「compile」ターゲットを実行し、新規または更新された Java コードをコンパイルします。「build clean」後に初めてコンパイルする場合、すべてが再コンパイルされます。

アプリケーション全体を強制的に再コンパイルするには、代わりに次のようにします。

cd {my home directory}
cd myapp
ant all

これは、変更をチェックインする直前に、Javac の条件付きチェックで見落とされた微妙な問題が導入されていないことを確認するための非常に良い習慣です。

Web アプリケーションのテスト

アプリケーションをテストするには、Tomcat にインストールする必要があります。最も簡単な方法は、サンプル build.xml スクリプトに含まれているカスタム Ant タスクを使用することです。 これらのコマンドの使用は、次のようなパターンに従う場合があります。

  • 必要に応じて Tomcat を起動する。Tomcat がまだ実行されていない場合は、通常の方法で起動する必要があります。

  • アプリケーションをコンパイルするant compile コマンド (またはデフォルトであるため、単に ant) を使用します。コンパイルエラーがないことを確認してください。

  • アプリケーションをインストールするant install コマンドを使用します。これは、app.path ビルドプロパティで定義されたコンテキストパスでアプリをすぐに実行するように Tomcat に指示します。これが有効になるために Tomcat を再起動する**必要はありません**。

  • アプリケーションをテストする。ブラウザまたは他のテストツールを使用して、アプリケーションの機能をテストします。

  • 必要に応じて変更および再ビルドする。変更が必要であることがわかった場合は、出力ビルドディレクトリではなく、元の**ソース**ファイルに変更を加え、ant compile コマンドを再発行します。 これにより、変更を後で (選択したソースコード管理システムを介して) 保存できるようになります。出力ビルドディレクトリは必要に応じて削除および再作成されます。

  • アプリケーションをリロードする。Tomcat は JSP ページの変更を自動的に認識しますが、アプリケーションがリロードされるまで、サーブレットまたは JavaBean クラスの古いバージョンを使用し続けます。 ant reload コマンドを実行することで、これをトリガーできます。

  • 完了したらアプリケーションを削除する。このアプリケーションの作業が完了したら、ant remove コマンドを実行して、ライブ実行から削除できます。

テストが完了したら、変更をソースコードリポジトリにコミットすることを忘れないでください。

リリースの作成

新しい機能の追加が完了し、すべてをテストしたら (テストはしていますよね? :-))、本番サーバーにデプロイできる配布可能なバージョンの Web アプリケーションを作成します。次の一般的な手順が必要です。

  • プロジェクトソースディレクトリから ant all コマンドを発行して、すべてを最初から最後に再構築します。

  • ソースコード管理システムを使用して、コードの現在の状態にタグを付け、このリリースの作成に利用されたすべてのソースファイルの識別子を作成します。これにより、後でリリースを (ソースから) 確実に再構築できます。

  • ant dist コマンドを発行して、配布可能な Web アプリケーションアーカイブ (WAR) ファイルと、対応するソースコードを含む JAR ファイルを作成します。

  • 組織で使用されている標準リリース手順に従って、tar または zip ユーティリティを使用して dist ディレクトリのコンテンツをパッケージ化します。