JavaEE5とは



※目次は→

JavaEE5は1つ前のバージョンまでJ2EE1.4と呼ばれていたもので、Javaでエンタープライズレベルのシステムを構築するのに必要なアプリケーションサーバの機能を仕様化したものです。2006年5月にJCP(Java Community Process)において最終承認され、JSR-244としてまとめられています。JSRはJava Specification Requestの略で仕様書のことです。

主な機能としては、ServletAPI 2.5、JSP 2.1、JSF 1.2,  JSTL 1.2, JTA 1.0, EJB 3.0、JPA 1.0, JMS 1.1, Web Services 1.1, Web Services Metadata for th Java Platform 2.0, JAXP 1.2, JAX-RPC 1.1, JAX-WS 2.0, SAAJ 1.1, JAXB 2.0, StAX 1.0, JCA 1.5,  JavaMail 1.3、JAF 1.1などがあります。

JavaEE5のプログラムを動かすには、JavaEE5のAPIを実装したアプリケーションサーバが必要です。商用のアプリケーションサーバとしてはWebLogic, WebSphere, Cosminexusなどがあります。またオープンソースのものとしてとしてはJBossやGlassFishといったものがあります。
※下記の通り、商用のJBossもあります。

ここではJBossというアプリケーションサーバを使用して勉強していきます。JBossはJBoss社が開発していたオープンソースのアプリケーションサーバでしたが、現在はRed Hat社に買収されて、Red Hat社の一プロダクトになっています。JBossは商用版とコミュニティ版の2種類があり(バージョン4.2以降から)、商用版はJBoss.com、コミュニティ版はJBoss.orgとURLも分かれています。バージョン4.0までは商用版もコミュニティ版もほぼ同じものでしたが、現在は異なっているようです。基本的にJBoss.orgで開発されたものをベースに、独自パッチやサポートがついたものが商用版となります。ここではもちろん勉強目的なのでコミュニティ版を使用していきます。

JavaEE5のアーキテクチャでは、Webコンポーネント, EJBコンポーネント, Webサービスコンポーネントの3つがあります。
WebコンポーネントはJSPやJSFなどをWARファイルというファイルでまとめたもので、Webコンテナ上で実行されます。
EJBコンポーネントはその名の通りEJBをEJB-JARファイルとしてまとめたもので、EJBコンテナ上で実行されます。
Webサービスコンポーネントは、Webサービスを提供するファイル群をまとめたもので、これはWARファイルやEJB-JARファイル、またはそれらをされにまとめたEARファイルでまとめられて、WebコンテナやEJBコンテナ上で実行されます。

ところで、なんやら難しい機能や説明がでてきましたが、JavaEE5を使うと何が嬉しいのかというと、他のサーバとの接続をプーリングして性能を向上させたり、トランザクション管理ができたり、非同期の処理が簡単に実現できたりと、大きなシステムやシステム間連携に欠かすことのできない様々な機能を使用することができます。。これらの機能を使うことで、生産性の向上や品質の確保をすることができます。

2007年11月現在JBossの最新版は4.2で、JavaEE5のフルサポートはJBoss5(現在β版)からなのですが、安定性のことも考慮して、JavaEE5一部サポートのJBoss4.2を使用します。