Beginning Java EE 6

f:id:den2sn:20120424211443j:image:right
Weblogic & JavaEE活用セミナーレポートの企画で twitter で 「JavaEEあるある」というハッシュタグでつぶやくとJavaEE6本が当たるというキャンペーンでつぶやいたらなんと「Beginning Java EE 6」を頂きました。やっと読み終えたので感想を書きます。

総評

JPAEJBJSF、JMS、WebサービスからJAX-RSまで、JavaEE6の仕様が網羅されていてJavaEE6の全体像を把握するにはうってつけの書籍でした。全体像といいつつも普通に利用する分には困らない程度に詳細な部分も記載されているので一般的なJava開発者であればこの本1冊あればJavaEE6を使用したシステム開発には困らないと思います。唯一残念なところはCDIについての記載がないところです。CDIはJavaEE6で導入されSpringフレームワークの代替機能となりえる機能です。また、JavaEE6へ入ると決まったのが遅かったため他の仕様と重複する部分もあり注意するところでもあります。その部分の記載がほとんど無いのはとてももったいないと思います。とはいいつつ、JavaEE6を網羅した日本語の書籍はこれが最初だと思いますのでJava開発を行っているのであればせめてチームに1冊は買っておいて損は無いのではないでしょうか。

詳細

JPA

JPAについてはJavaEE6の仕様変更部分のみならずかなり多くのページを割いて基本からしっかりと説明されています。JPAJ2EE準拠のサーバにかかわらず多くのフレームワークやサーバで使用されていて、今後も当分デファクトでありつづけると思いますのでこれくらいしっかり記載されているととても助かります。

EJB

EJBについてはJavaEE6になりとても使用方法が簡潔になり気軽に使用できるようになっているため書籍の記載としてもシンプルにまとめられています。それにもかかわらず非同期やタイマー等便利に使用できる機能が追加されているので意外と見逃せない部分だと思います。

JSF

JSFはとても仕様が膨大でアーキテクチャも複雑です。そのためそもそもJavaEE本には収まりきらない雰囲気が漂っています。本書では機能の概要を一通りキャッチアップするような感じで説明されていました。テンプレートがFaceletsになっていたりAjaxに対応していたりとここも注目する機能が多いです。HTMLやJSPなどの説明もあったのですがJavaEE6本を買う人がHTMLを知らないというのは考えにくいのでその辺りはバッサリ切り捨ててJSFの説明をもっと増やしても良かったのではないかなと思いました。

JMS

JMSはJavaEE6での大きなアップデートは無いので復習的な感じですが、JavaEE7で2.0として大きな仕様変更が発生する予定なのでJavaEE7本が出たら再度知識のアップデートが必要かなと思います。

Webサービス

Webサービスも大きな変化はありません。Webサービス自体は既にJava疎結合通信のデファクトとなっていると思います。JAX-WSが標準となりJAX-RPCはプルーニング対象になっていますね。

JAX-RS

JAX-RSは実はJavaEE6で一番有用なアーキテクチャだと思っています。本書でもしっかり章を設けてRESTとはなにかから説明されています。今後はJavaでWebアプリケーションを作るとなるとServletではなくJSFJAX-RSの2択になります。

ハンズオン

最後に今までに出てきた仕様を利用したアプリケーションを作成するハンズオンがあります。しかし中身はNetBeansを使用すると簡単に自動生成できるという部分がメインであまり有用なハンズオンという感じはしませんでした。DBからモデルを生成するのですがモデルを再修正したり(この場合モデルからDBの流れの方が自然?)なぜか急にCDIの説明が出てきたり気になる点が多かったです。

ということで

twitterでつぶやいただけでこんな本を頂けるなんてありがとうございました。というわけでせめてブログで宣伝くらいしとかないとね。



Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava (Programmer’s SELECTION)