リリース間近!Java EE 7の気になるところ

f:id:den2sn:20130425133434p:plain:right
やっとやっと待ちに待ったJava EE 7のリリースが近づいて来ましたね。


予定では5/13(日本だと14日?)にFinal Releaseのようです。
https://java.net/projects/javaee-spec/pages/Home#Java_EE_7_Schedule


リリースに備えて軽く自分の備忘録も兼ねて予習しておきます。
あんまり追っかけているわけではないので間違ってたらすみません。


各テクノロジーのバージョンはこんな感じ。

Java EE 7で新規で追加されるもの
テクノロジー バージョン
Java API for JSON Processing (JSR-353) 1.0
Java API for WebSocket (JSR-356) 1.0
Batch Application for the Java Platform (JSR-352) 1.0
Concurrency Utilities for Java EE (JSR-236) 1.0
アップデートされるもの
テクノロジー EE6バージョン EE7バージョン
Enterprise JavaBeans (EJB) 3.1 3.2
Servlet 3.0 3.1
JavaServer Pages (JSP) 2.2 2.3
Expression Language (EL) 2.2 3.0
Java Messaging Service (JMS) 1.1 2.0
Java Transaction API (JTA) 1.1 1.2
JavaMail API 1.4 1.5
Java Connector Architecture (JCA) 1.6 1.7
Web Services 1.3 1.4
Java API for XML-based Web Services (JAX-WS) 2.2 2.2
Java API for RESTful Web Services (JAX-RS) 1.1 2.0
Java Architecture for XML Binding (JAXB) 2.2 2.2
Java EE Management 1.1 1.1
Java Authorization Service Provider Contract for Containers (JACC) 1.4 1.5
Java Authentication Service Provider Interface for Containers (JASPIC) 1.0 1.1
JSP Debugging 1.0 1.0
JavaServer Pages Standard Tag Library (JSTL) 1.2 1.2
Web Services Metadata for the Java Platform 2.1 2.1
JavaServer Faces (JSF) 2.0 2.2
Common Annotations 1.1 1.2
Java Persistence API (JPA) 2.0 2.1
Bean Validation 1.0 1.1
Managed Beans 1.0 1.0
Interceptors 1.1 1.2
Contexts and Dependency Injection for Java EE (CDI) 1.0 1.1
Dependency Injection for Java 1.0 1.0


あと削除ものとしてJAX-RPCのような既に使われないであろう仕様は
外されている感じです。


JCache (JSR-107)は残念ながらEE7には間に合わなかったようですね。
まだ標準化は難しいんでしょうか。

注目どころ

注目どころというよりは私が気になっているところをまとめます。

・JSON Processing

やっとな感じですがJava標準でJSONが操作出来るようになりますね。
基本はJAX-RS用な感じでしょうか。

・WebSocket

WebSocketもEE7で導入になります。
これでリアルタイム系のWebアプリも増えてきたりするかもしれないですね。
アノテーションベースでサーバ実装がとても簡単のようです。

・Batch

やっぱり企業系だとバッチ処理系のニーズは多いんでしょうかね。
Springのバッチ機能を踏襲しているようなので
ファーストリリースにしては結構使いやすい感じに
落ち着いているのではないかと思っています。

JTA

仕様の中に@Transactionalっていうアノテーションがあるようなのですが、
これってSessionBeanもういらないんじゃない的な
POJOにトランザクション指定できる機能なのでしょうか。
そうだとしたらアプリケーションがよりシンプルに
開発出来るようになるのではないかと思っています。

JSF

やっとな感じですがJSFがファイルアップロード対応します。
今まで無かったのが驚きですよね。
これでPrimeFacesとかに頼らなくてもファイルアップロードできます。
あとは、HTML5の対応とか。
Faces flowってやつ(ショッピングカートとか簡単に作れるのかな?)
が入るっぽいです。

JAX-RS

EE7のメインと言っても良いのがJAX-RSでは無いでしょうかね。
JSFも2.0でとても良いものになりましたが
JAX-RSも2.0でかなり整備されるようです。
主にフィルターとインターセプターの機能や
CDI連携、Bean Validation対応、非同期処理、クライアントAPI
等がありますね。


あとの問題はGlassFishは同時リリースされるとして
他のサーバはどれくらいでEE7に対応するかに注目と言ったところでしょうか。


リリースされたらいろいろと検証してみたいと思います。