PR

Java EEの動向と最新機能

2010年1月7日(木)
原口 知子

エンタープライズWebはどう進化してきたのか

2009年12月に、企業向けJava規格である「Java Platform, Enterprise Edition」(Java EE)の最新バージョン「Java EE 6」の仕様が最終確定となりました。2006年5月に「Java EE 5」が確定してから3年半ぶりの新バージョンとなります。

Java EE 6を受けて、エンタープライズWeb開発は今後どうのように変わるのでしょうか。本連載では4回に亘って、エンタープライズWeb開発の動向を解説するとともに、米IBM(および日本アイ・ビー・エム)が提供するソリューションを紹介します。

1999年にエンタープライズWebアプリケーションの実行基盤として「J2EE」(Java 2 Platform, Enterprise Edition)が登場してから10年がたちましたが、この間、Webアプリケーションの開発手法も進化してきました。

開発生産性の向上には統合開発環境(IDE)やフレームワーク(ソフト部品群)の利用が重要ですが、J2EE初期のころから利用されてきたMVC(Model View Controller)モデルのフレームワークとして「Apache Struts」が挙げられます。画面遷移や入力項目の検証ロジックをフレームワークに任せることにより、開発者がビジネス・ロジックに集中できる、また、フレームワークの作法に従って開発することで品質が均一化されるというメリットがありました。

この後、MVCモデルやJ2EEデザイン・パターンを使用した開発が主流となりますが、ビジネス・ロジックを実装する役割であるEJB(Enterprise JavaBeans)はプログラミング・モデルが複雑で決め事が多く、クエリー言語にも制限が多いといった短所がありました。単体テストも容易ではなく、ポータビリティも低かったため、EJBは開発者に敬遠される傾向にありました。

オープンソース・フレームワークの台頭とJava EEの追随

2004年ごろからは、オープンソースのDIコンテナとO/Rマッピングのフレームワークが注目を集めるようになりました。

「Spring Framework」に代表されるDIコンテナの登場により、それまで密結合だったオブジェクト間の関係が疎結合化され、実行時にコンテナが依存性を注入(DI:Dependency Injection)することが可能になりました。仕様変更にも柔軟に対応できるだけでなく、単純なJavaオブジェクト(POJO:Plain Old Java Object)で実装することにより単体テストが容易になり、開発生産性が大幅に向上しました。

データベース接続手段として扱いが難しいエンティティBeanに対するアンチテーゼとしては、「Hibernate」などのO/Rマッピングのフレームワークが登場しました。O/Rマッピング(Object Relational Mapping)とはJavaオブジェクトとRDB(リレーショナル・データベース)をマップする機能であり、RDBに対する操作をフレームワークとして提供することで開発者の負荷を軽減します。こちらもPOJOで実装できるため、急速に広まっていきました。

Java自身の開発生産性を向上させる方法の1つとして、Java 5から登場したアノテーションも重要です。コードの中に「@」で始まる注釈(メタデータ)を入れることで、必要なコード量を削減することができます。SpringやHibernateにおいてもアノテーションを活用しています。

これらオープンソースの思想を取り入れて2006年に登場したJava EE 5は、開発容易性を最大のテーマに掲げ、EJB 3.0とJPA(Java Persistence API)にてアノテーションによる依存性注入とPOJOによる開発を可能としました。それまで必要だったデプロイメント記述子も必須ではなくなり、従来版のEJB 2.xと比べて開発生産性は向上しました。

「IBM WebSphere Application Server V7」(WAS)は、Java EE 5準拠のアプリケーション・サーバーであり、EJB 3やJPAを使った開発をサポートしますが、SpringやHibernateを使うことも可能です。これらのフレームワークの活用方法については、こちらの記事をご参照ください。

次ページからは、Java EE 6で新しくなった機能の詳細を解説します。

日本アイ・ビー・エム株式会社
2001年よりWebSphere事業部にてWebSphere Application Serverの技術支援を担当。WebSphere製品の提案活動や構築支援の他、セミナーの講師やWeb(http://www.ibm.com/developerworks/jp/websphere/)の運営など幅広く担当している。

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています

Java EEの動向と最新機能 | Think IT(シンクイット)

Think IT(シンクイット)

サイトに予期せぬエラーが起こりました。しばらくたってから再度お試しください。