ひがやすを技術ブログ

電通国際情報サービスのプログラマ

WebSphereでさくさく開発

WebSphere Application Server v6.1(以下 WAS)には、WebSphere Application Server Toolkit v6.1(以下 AST)と呼ばれる Eclipse をベースとした統合開発環境IDE)が同梱されています。AST を利用すると、WAS 上で動作するアプリケーションの作成、テスト、およびデプロイが行えます。

AST には、アプリケーションの「自動公開」という機能があり、デフォルトで有効になっています。「自動公開」機能は、WAS 上で動作中のアプリケーションの Java コードが変更された場合に、その変更を感知し自動的にアプリケーションを更新(アプリケーションサーバーへ再デプロイ)します。この機能を利用することで、アプリケーションを手動で更新する手間を省くことができます。

ASTの「自動公開」は便利な機能ですが、Java コードの修正が開発時に何度も発生することを考えると、非効率な面もあります。まず、再デプロイには数秒から数十秒の待ち時間が発生するという問題があります。次に、再デプロイの結果、当然ながらアプリケーションの初期化情報やセッションの情報が失われてしまうという問題もあります。

Seasar2 では、バージョン 2.4 から HOT deploy と呼ばれる機能を搭載し、アプリケーションの再デプロイを行うことなく Java コードの修正を反映させることを可能にします。再デプロイが発生しないため、待ち時間の発生やセッション情報の喪失を防ぐことができます。この記事では、AST と Seasar2 の HOT deploy 機能を利用して Web アプリケーションを快適に開発する方法を紹介します。

中村さんの記事が公開されました。Seasar2のHOT deployは、TomcatのreloadableともASTの「自動公開」とも違います。
TomcatとASTの機能は、コードの変更を検知して、自動的にWebアプリケーションを再デプロイ(再起動)するものですが、その際に、アプリケーションを初期化するので時間がかかります。
それに対し、Seasar2のHOT deployは、アプリケーションを初期化することなく、変更をHOTに認識できるので、非常に高速に動作します。また、セッションを含めたアプリケーションの状態も維持できます。
そのからくりを知りたい方は、ぜひ記事を読んでみてください。