サーバサイドアプリケーションの開発やそのサービス展開にWebSphere Application Server(以下、WAS)を利用している企業も多いだろう。その一方で、開発環境として、TomcatやJBossのようなオープンソース系のアプリケーションサーバやフレームワークを利用している層も少なくない。オープンソース系のこれらのツールの特徴は軽量かつ高速であり、アジャイル開発との親和性が高いことで、高い人気を博している。
大規模開発や複雑な機能が要求されるアプリケーションにはWebSphereのようなエンタープライズ向けの環境が向いている。とはいうものの、昨今のWebアプリや企業システムのクラウド化、SaaS化を考えると、もっと手軽にJavaのサーバサイドアプリケーションの開発をしたいというニーズも増えているようだ。
今回、IBMがリリースするLiberty ProfileというWebSphereのランタイムは、軽量かつ高速起動が特長で、本格的なサーバサイドアプリケーション開発の効率アップと短期開発を可能にしてくれるという。その詳細を日本アイ・ビー・エム ソフトウェア事業 WebSphere 第一クライアントテクニカルプロフェッショナルズ 田中孝清氏に聞いた。
WASでももっと手軽にアプリケーションを開発したい
――TomcatやJBossは、簡単に使えるということで人気がありますが、実際の開発現場ではどのように利用されているのでしょうか。
オープンソース系のアプリケーションサーバや開発フレームワークは、軽量かつ起動も速くアジャイル開発に向いているため、比較的小規模なアプリケーションやシステムで活用されているようです。しかし、大規模なアプリケーションには機能が十分でないという問題もあります。
――そこは、WASのような有償の製品の方が強いということでしょうか。
そうですね。クラスタリングや問題判別機能、統合管理機能をフルに使って、安定性のあるしっかりしたシステム、大量のトランザクションにも耐えるようなシステムを構築するにはWASの方が向いているという評価を得ています。アプリケーションを実際に稼働させる本番環境での動作の信頼性が高いというのはWASの特長のひとつです。
しかし、そのような現場でも、もっと軽量で再起動も楽なものが欲しいとの声が寄せられていました。中にはTomcatで開発やデバッグを行い、本番環境だけWASに移行して最終チェック、という手順をとっている開発者もいるそうです。
それならば、最初からWASを使ってもらえるようにと、WAS V8.5からは軽量かつ簡単なランタイムと開発用ミドルウェアを用意しました。そのランタイムが「Liberty Profile」と呼ばれるものです。
(次ページ:軽量かつ高速で起動するランタイム「Liberty Profile」)
軽量かつ高速で起動するランタイム「Liberty Profile」
――Liberty Profileの特長について教えていただけますか。
軽量で高速というニーズを考慮しているので、まず第1の特長は、フットプリントが60MB以下というコンパクトさです。そして第2に、5秒以内の高速起動が可能な点もこれまでにない特長です。さらに、Liberty Profileは無償でダウンロードできます。
また、WASの通常のランタイムの構成は、管理ツールを使用してたくさんの項目を設定するのですが、Liberty Profileでは単一のXMLファイルで管理できるようになっています。標準的な開発ならばデフォルト設定のままで使えますので、構成レスで開発を開始することも可能です。
――Liberty ProfileはJavaのランタイムとのことですが、開発・実行環境はLinuxやWindowsだけですか。
いいえ。Liberty Profileは標準のJDKで実行可能ですので、基本的にJava SEが使える環境であれば利用できます。Mac OS Xの標準JDKでも問題なく動作します。開発者の方を中心にMacBookやiMacなども浸透してきていますが、それらで開発することも可能です。モバイル端末のアプリケーションと連動するためのライブラリも用意されているため、サーバ側のコンポーネント開発の際、クライアント側のブラウザのJavaScriptなどとデータやメッセージのやりとりをすることも、APIベースで可能です。
――実際の開発やデバッグの作業効率はどうでしょうか。
Eclipse用のプラグインとしてWAS Liberty Profile Developer Toolsが、Eclipse Marketplaceから無償でダウンロードできます。
このツールによってサーバの定義、構成などのほか、サーバの起動や停止もGUIで簡単にできます。ブレークポイントの設定やステップ実行などの機能も備えています。
開発中のアプリケーションのデプロイも、プロジェクト内のファイルが変更されたら自動的に行われます。サーバの構成変更なども自動的に検出され、サーバの再起動無しですぐに変更を反映させることもできるので、WASによって開発から本番環境までアジャイル的な開発が可能になります。
項目 | 説明 |
動的サーバ・プロファイル | アプリケーションが必要な機能を自動で判断して追加 |
Developer Firstにフォーカス | シンプルかつ共有可能なサーバ構成。構成情報の共有や再利用を容易にするため、1つのXMLファイル(複数も可)で管理 |
高速起動 | 起動時間:5秒以内 |
ダウンロードサイズ | 50MB以下 |
軽量ランタイム | わずかなメモリ使用量(60MB for TradeLite) |
動的ランタイム | 機能追加や構成変更時に、サーバの再起動が不要 |
統合ツール | 高機能かつ、Eclipseから簡単に使用可能 |
NDのJob Managerと統合可能 | NDのJob Managerからサーバのライフサイクルを管理可能 |
Unzipによる導入とデプロイ | Installation Managerかunzipで導入。サーバ+アプリ+構成情報をUnzipでデプロイ可能 |
プラットフォーム拡充 | 開発用としてMacを追加サポート |
通常のWASとの高い親和性 | 同じ信頼性の高いコンテナとQOSを採用、開発から運用に簡単に移行 |
――開発からデプロイまでWASのプロフェッショナル環境が利用できるようですが、Liberty Profileを利用して開発したアプリケーションと既存のWASアプリケーションとの互換性は?
Liberty ProfileでデバッグしたアプリケーションはそのままWASの本番環境に持っていけます。同じサーブレットコンテナを利用しているので、挙動が変わったりということはほとんどありません。
――Liberty Profileの環境で実行できるアプリケーションの種類に制限はないのでしょうか。
Liberty ProfileはJava EEの全ての機能を実装しているわけではありません。Session BeanやMessage Driven BeanなどのEJBには対応していませんし。またメッセージングエンジンやクラスタリングに対応したトランザクション・マネージャなどもLiberty Profileでは搭載されていません。JAX-WSなどのWebサービスも未対応ですが、将来のバージョンでは拡張される予定です。
――クラスタリング環境では利用できないのでしょうか。
いいえ。データベースを利用して、複数サーバ間でHttpSessionを共有することができますし、Webサーバから複数サーバに転送するための構成も作れるようになっています。また、複数サーバを統合管理するためにJob Managerを利用することができます。
――Job Managerとはどのようなものですか。
WAS Network Deploymentエディションで提供されているコンポーネントで、複数のシングルサーバ環境やセル環境(クラスタリング環境)を統合管理する機能を持っています。通常のセルを管理するDeployment Managerが同期的にセル環境内のプロセスを管理していて、変更や操作が即時に反映されるのに対し、Job Managerはジョブをベースとした非同期的な管理を行います。Job Managerは、サーバの起動・停止、スケジューリングなどの一連の指令をジョブとしてそれぞれのサーバに投入し、実行結果を集計してくれます。Liberty Profileの環境にたいしても、構成変更やアプリケーションの追加、サーバの起動・停止などのジョブを実行させることができます。
(次ページ:Liberty ProfileがWASでの開発にもたらすメリット)
Liberty ProfileがWASでの開発にもたらすメリット
――Liberty Profileが提供されるWAS V8.5はどんな人に効果的なのでしょうか。
まず、WASは重い、といった感想をお持ちの開発者はぜひ使ってみてほしいと思っています。起動の速さやデバッグのしやすさは、使ってみればすぐに実感できると思います。
Tomcatなどオープンソース系の環境をEclipseと組み合わせて使っている人も、Liberty Profileを利用すればこれまでの操作性や効率を変えずにWAS用のアプリケーション開発が可能になります。アジャイルの良さを活かしつつ、本格的なJava EEアプリケーションサーバの開発に挑戦してほしいですね。
――WASの環境でもアジャイル開発ができるというのは魅力となりそうですが、ほかにもメリットはありますか。
WAS V8.5では、新たにTomcatユーザーのためのマイグレーションツールを提供しています。これまでもWASのバージョンアップのためのマイグレーションツール、他社のアプリケーションサーバからWASへ移行するユーザーのマイグレーションツールが用意されていました。アプリケーションのコードを解析し、バージョンアップや移行に当たって修正が必要な点をリストアップしてくれるツールです。このツールを使用すると、Tomcatなどで開発したリソースを解析し、WASへのマイグレーションを支援してくれます。
WAS本体は有償のソフトウェアですが、Liberty Profileや関連のプラグイン、そしてこのマイグレーションツールなどはすべて無償で提供されます。また、WASのライセンスですべてのコンポーネントのサポートや技術支援が受けられるので、導入後のトータルコストも考えると、WASが飛びぬけて高価ということはないと思います。オープンソース系の開発環境でも、必要なランタイム、プラグイン、ツールのサポートなどで出費がかさむことがあるからです。
――本日はお忙しいところありがとうございました。
Liberty Profileを実体験できる「Impact 2012」が7月に開催
軽量かつ高速なランタイムによって開発時間、デバッグ効率を変えずに、高品質なWAS環境でのアプリケーションが開発できるなら、多くの開発者にとって試してみる価値はあるのではないだろうか。
なお、WAS V8.5および、Liberty Profileは、7月19日に開催される「Impact 2012」において実際に体験できるそうだ。興味のある読者はこのイベントでLiberty Profileのパフォーマンスをチェックするとよいだろう。