開発プロセス

目次

開発プロセス

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

以下のタスク説明は、特定のソースコード管理システムを前提としていませんが、ソースコード管理タスクが通常いつ、どのようなものとして実行されるかを単に示します。ご使用のシステムに適したソースコード管理コマンドを特定する必要があります。

開発のためのAntとTomcatの初回セットアップ

Manager ウェブアプリケーションと連携する特別なAntタスクを利用するには、以下のタスクを一度実行する必要があります(開発を計画しているウェブアプリケーションの数に関わらず)。

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

  • Tomcatユーザーを1人以上定義するManager ウェブアプリケーションは、ユーザーがログインし、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ファイルをベースにするか、ゼロからコーディングしてください。

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プロパティと、Managerアプリケーションのユーザー名およびパスワードを定義する必要があります。最終的には次のようになるかもしれません。

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

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

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

一般的に、build.propertiesファイルは各開発者の環境に固有のものであるため、ソースコード管理リポジトリにチェックインしないことをお勧めします。

次に、ウェブアプリケーションのデプロイメント記述子の初期バージョンを作成します。基本的な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ファイルに保存する必要があります。新しいファイルを作成する際は常に、ソースコード管理システムに追加することを忘れないでください。

既存のソースファイルを編集するには、通常、編集とテストを開始し、すべてが機能するようになったら変更されたファイルをコミットします。

ウェブアプリケーションのビルド

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

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の条件付きチェックでは検出されなかった微妙な問題が発生していないことを確認するために、変更をチェックインする直前に行う非常に良い習慣です。

ウェブアプリケーションのテスト

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

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

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

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

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

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

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

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

テストが完了したら、必ず変更をソースコードリポジトリにコミットしてください!

リリースの作成

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

  • プロジェクトソースディレクトリからant allコマンドを実行して、すべてを最初からもう一度再ビルドします。

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

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

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