SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

クラウド時代のIT戦略とミドルウェア(AD)

CDI、非同期処理、JAX-RS、OSGi――各ベンダー製品が出そろってきた今こそJava EE6の仕様をおさらいしよう

日本アイ・ビー・エム株式会社 田中孝清氏

  • X ポスト
  • このエントリーをはてなブックマークに追加

Java EE 6に新たに加わった数々の新機能

――Java EE 6で新たに実装された新機能について、もう少し具体的に教えてください。

 田中氏 主だったものを幾つか挙げると、まずは「CDI」(Contexts and Dependency Injection)という機能が追加されました。ここ数年の間で、Spring FrameworkやSeasar2といったオープンソースのDIコンテナが普及したおかげで、Java開発においてDI(Dependency Injection)の手法が一般化してきました。

 しかし一方で、「ServletでのDI」「EJBでのDI」「WebサービスでのDI」といったように、異なるDIコンテナの使い分けが必要なケースも増えてきました。そこでJava EE 6では、DIの仕様を各コンテナから分離して統合し、Java SEでも利用できるCDIの機能が追加されました。

 例えばServletとEJBで同じDIが利用できるようになり、ビジネスロジック層とプレゼンテーション層の連携を容易に実装できるようになります。

図2:CDI(Contexts and Dependency Injection)によってレイヤー間連携が容易に
図2:CDI(Contexts and Dependency Injection)によってレイヤー間連携が容易に

 また、Servletのバージョンが2.5から3.0にバージョンアップされ、大幅に仕様が強化されています。例えば非同期処理がサポートされるようになったり、あるいはmultipart/form-dataのサポートが追加されたりといった具合です。

 また、UIの開発フレームワークとしてJSF(JavaServer Faces)2.0がサポートされ、Ajax技術やFaceletesなどが利用できるようになりました。併せて、アノテーションによる入力値チェックが可能な「Bean Validation」の機能も追加されています。

図3:Servletの非同期処理サポートで処理のスケーラビリティを維持
図3:Servletの非同期処理サポートで処理のスケーラビリティを維持

 しかし最も大きいのは、RESTfulなWebサービスが利用可能になったことでしょう。SOAPとは異なり、リソースに対する操作をHTTPのメソッドで表現することができるため、特別なミドルウェアやサーバーソフトウェアなしでWebサービスを容易に実装できるようになります。事実、既にAmazon.comやTwitter、Facebookなどが、RESTfulなWebサービスとして自社のサービスを公開しています。Java EE 6では、「JAX-RS」というAPIでRESTful Webサービスのインタフェース標準化が行われています。

――では、SOAPはもう使われなくなるのでしょうか?

 田中氏 SOAPではできて、RESTfulではできないことも数多くあります。例えば、トランザクションや順序制御などといった高度な機能がそれに当たります。企業内でのシステム間連携で、ある程度高度なトランザクション制御が必要な場合などでは、依然としてSOAPの利用が適しているでしょう。

 一方で、コンシューマ向けサービスをインターネット上に広く公開するような場合には、開発生産性やパフォーマンス・スケールアウトが重視されますので、RESTfulは極めて有効だといえます。

図4:RESTfulを支えるJAX-RS
図4:RESTfulを支えるJAX-RS
関連情報
IMPACT 2011

今回のインタビューに対応いただいた田中氏は、2011年7月14日(木)に東京都内で開催されるWebSphereブランドの年次カンファレンス「IMPACT 2011」でも、「WebSphere Application Server V8.0変わるところ・変わらないところ」と題した講演を予定しています。詳しくは公式サイトをご覧下さい。

WebSphere Application Server V8.0 アナウンスメント・ワークショップ
また、8月4日(木)と5日(金)の2日間、WAS V8.0の新機能を紹介する技術者向けワークショップの開催を予定しています。1日目は、新機能の概要とWASインフラ構成を、2日目は、Java EE 6仕様の更新部分や、WAS V8.0のアプリケーション関連の新機能など、アプリケーション開発に関する内容を紹介する予定です。

次のページ
Java EE 6やOSGiをはじめとした新APIを提供する「WAS V8」

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
この記事の著者

吉村 哲樹(ヨシムラ テツキ)

早稲田大学政治経済学部卒業後、メーカー系システムインテグレーターにてソフトウェア開発に従事。その後、外資系ソフトウェアベンダーでコンサルタント、IT系Webメディアで編集者を務めた後、現在はフリーライターとして活動中。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5998 2011/07/07 17:19

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング