間もなく終わろうとしているこの2003年は,Javaの分野でも大きな動きがあった。企業システムの構築・運用に携わる方々には,この機会に是非もう一度,J2EE(Java2 Platform, Enterprise Edition)の最新状況をチェックしてみていただければと思う。よりよいシステム作りのために,何か新しい発見があるのではないだろうか。

 J2EEといえば,企業システムを構築するためのJava技術体系で,規模が大きなWebアプリケーションの構築では一般的な技術となりつつある――のだが,今やそれだけでは話が終わらない。J2EEがカバーするシステムの対象が,どんどん拡大しているからだ。古い知識のままでシステム技術を選ぶと,判断を誤るおそれがある。

 とはいえ,複雑化する技術を隅々まで精査することは大変なことだ。そこでこの記事では,最新状況をチェックするきっかけにしていただくべく,注目のキーワードをまとめてみた。筆者はここしばらく,イベント「第3回 J2EEカンファレンス」で講演をお願いした各分野の第一人者の方々と話し合いを重ねてきたのだが,その中での「議論の軸」を基に,J2EEの最新像をスケッチしてみたい。

一番目の軸,基幹系への対応

 J2EEは,より大規模なシステムへ対応するようになりつつある。それも,銀行業務のように,長年にわたりレガシーの牙城とされてきた部分もターゲットとし始めている。レガシーからオープンへ,という移行ニーズ/構築ニーズを吸収したのがJ2EEだった,という見方もできよう。

 UFJ銀行は,オンライン・サービス群の共通基盤をJ2EEの上に構築し,サービスの多様化に備えている(関連記事)。さらに,基幹業務にかかわる「口座振替システム」もJ2EE上に構築した(関連記事)。

 同行が進めているのは,Intelサーバー,Linux,J2EEの上に銀行のシステムを再構築するというプロジェクトである(関連記事)。もちろん,こうした技術を採用しさえすればよりよい基幹システムが作れるわけではない。その背景には緻密な性能見積もりなどのノウハウが必要になることは決して忘れてはいけない。

二番目の軸,オープンソースとどう付き合うか

 二番目の軸はオープンソース・ソフトウエアの台頭である。今や,システムの構成要素を検討するうえで,オープンソース・ソフトウエアは外せない存在となりつつある。6月に開催されたJavaの開発者向け会議「JavaOne 2003」でも,「オープンソース」は大きなキーワードとなっていたのは既報の通りである(関連記事)。

 Javaの世界でも,オープンソース・ソフトウエアは極めて有力な選択肢となりつつある。特に有力なソフトウエアとして,オープンソースの開発環境であるEclipse,J2EE上のWebアプリケーションの作成を支援するフレームワークStrutsが挙げられる。

 また最近では,The Apache Software FoundationがJ2EE Application Serverの開発を始め,注目を集めている。プロジェクトの名称は「Apache Geronimo」。2003年8月5日,その発足がThe Apache Software Foundationより正式にアナウンスされた(関連記事)。オープンソースのJ2EEサーバーとして有名なJBossとの大きな違いは,オープンソース・ライセンスとしてApacheライセンスを適用する点である。ただし,「Incubatorプロジェクト」に位置づけられていることから分かるように,このGeronimoが実用段階に達するまでには年月がかかりそうだ。

 ともかく、Javaとオープンソースの“出会い”は,Javaの開発者たちに,新しい可能性を提供しつつあることは確かである。

三番目の軸,「サービス」と「コンポーネント」

 もう一つのキーワードは,「サービス」,そして「コンポーネント」である。

 J2EEのターゲットは,Webアプリケーションだけではない。システムを複数の「サービス(Webサービス)」と呼ぶコンポーネントに分割して開発し,それらを疎結合していく,という考え方が,徐々に広がりつつある。EJB(Enterprise JavaBeans:Java言語で開発したソフトウエア・コンポーネントの共通仕様)とWebサービスを組み合わせたシステムの未来像,すなわち「サービス指向アーキテクチャ(SOA)」である(関連記事)。具体的には,個別のサービスはEJBで作り,それをWebサービスで公開する形だ。

 ただし,コンポーネントという言葉には,長年にわたる夢と希望,それに誤解がつきまとう。ベンチャー企業であるイーシー・ワンは,コンポーネント指向開発というコンセプトを掲げて活動してきた。同社の経験によれば,コンポーネント化を前提とした現代的な開発手法を打ち立てようとすれば,それはEJBなど個別技術の採用だけでは済まない。現代的な開発プロセス(例えばUnified Process)の導入はもとより,開発組織そのものの見直しも含めた「全体最適」を追求する作業となってくる。同社が到達したコンポーネント再利用率「27%」という数字は,コンポーネント指向開発が今どのような段階まで来ているかを表しているといえる(関連記事)。

四番目の軸,J2EEをより簡単に

 そして,Java/J2EE技術の全体を見たとき注目したいのが,EoD(Ease of Development:開発の容易さ)というキーワードである。「開発を容易にする」という側面は,PC上のソフトウエアでは最重視されている項目だが,実は従来のJ2EE関連ソフトウエア製品では遅れている部分だった。それが,新APIであるJSF(JavaServer Faces)を筆頭に,新たなJava技術の多くがEoDを意識するようになりつつある。

 米Sun Microsystemsは,6月のJavaOneで,現在約300万人と言われるJavaの開発者の数を1000万人まで増やすという目標を掲げた(関連記事)。この目標を達成するためには,Javaによるソフトウエア開発が簡単にならなければならない。特にJavaが得意とするWebアプリケーションの分野では,J2EEが規定する複数の規約を上手に使いこなすのが難しい。

 そこに開発ツールが対応し始めたのが,四番目の軸における2004年の大きな流れである(関連記事1関連記事2)。具体的には,Webアプリケーション開発向けに,部品をドラッグ・アンド・ドロップで貼り付け,それをダブルクリックしてコードを記述していく,といったVisual Basic(VB)ライクな開発環境が登場してきた。2005年には,第一の軸でふれた大規模システムへの応用だけでなく,小規模で短期の開発が求められるシステム構築において,EoDに則ったJ2EE関連の製品・技術がどこまで活用されるようになるか,にも注目しておきたい。

☆     ☆     ☆

 これらの話題は,すべて12月11日に開催するイベント「第3回 J2EEカンファレンス」で詳細を論じる。第一の軸については,UFJ銀行の基幹系システムへのJ2EE適用の実際を,開発の当事者から話していただく。第二の軸については,Apache Jakartaプロジェクトの成果物を中心に,オープンソースとの付き合い方を,Ja-Jakartaプロジェクトのキーマンの方に話していただくことにした。第三の軸についてはこの分野の先端に詳しい日本IBMのエバンジェリストの方に,第四の軸についてはサンマイクロシステムズのアーキテクトらにお話いただく予定である。ご興味がある方はぜひ,第3回 J2EEカンファレンスのページをご参照いただきたい。

(星 暁雄=日経BP Javaプロジェクト)