【コラム】
Javaに関連したAPIを紹介するという目的で続けてきた「Java API、使ってますか?」も次回をもって終了の運びとなった。本連載では、次期バージョンのJavaプラットフォームに採り入れられる可能性のあるAPIについては特に力を入れて紹介してきたつもりでいる。そこで、それらの内容を踏まえながらJava EE 6およびJava SE 7の最新動向を紹介し、最後の締めくくりとさせていただきたいと思う。
Java EE 6については、ちょうど1月22日(米国時間)にその仕様となるJSR 316のパブリックドラフトが公開されたところである。これからEC(Executive Committee)による承認投票を経た後、最終ドラフトの作成へと進んでいく。最終リリースまではもう少し時間が必要となるが、今回公開されたパブリックドラフトを眺めるだけでもJava EE 6の大体の形を掴むことができる。
まず新たに導入される新機能としては、以下の3つのAPIが挙げられている。
JASPICはコンテナ向けに標準的な認証サービスを提供するサービスプロバイダインタフェース(SPI)である。これによって認証メカニズムをコンテナに統合し、コンポーネント対するアクセス可否の決定に利用することができるようになる。ちなみにJSR 316のパブリックドラフトにはJASPIC 1.0と記載されているが、JSR 196は現在メンテナンスドラフトが公開されているため、リリースのタイミング次第ではマイナーバージョンアップされたものになる可能性もあるだろう。
Web BeansはEJB3とJavaServer Faces(JSF)の間に統一的なコンポーネントモデル(Web Beanコンポーネント)を確立するためのAPIである。現在、EJB3とJSFではそれぞれが独立したコンポーネントモデルを持っており、両者を同時に使用する場合にはその互換性を考慮する必要がある。Web Beansによってこの問題が解決し、EJB3によるビジネス層とJSFによるビュー/コントローラ層をシームレスに接続できるようになる。JSR 299も現在パブリックドラフトが公開されている。
参考
JSX-RSはJavaプラットフォームにおいてRESTfullなWebアプリケーションを開発するためのAPIである。このAPIではアノテーションを活用することによってメソッドを手軽にRESTfulなサービスとして公開できるようになっている。JSR 311は2008年10月に正式リリースされている。
参考
続いて、従来からある代表的な機能がどう変わるのかを見てみよう。
まずJava EEの中心的存在であるEJB(Enterprise Java Beans)だが、Java EE 5のEJB 3.0からはマイナーバージョンアップしてEJB 3.1となる。EJB 3.1ではEJB 3.0で導入されたDI(Dependency Injection)やアノテーションなどを引き継ぎながら、より使いやすい形へと進化する予定だ。
代表的な機能としては、ローカルクライアントからローカルビジネスインタフェースなしでSession Beanへアクセスできるようにする簡易ビューや、Session Beanの非同期呼び出しなどがサポートされる。その他、EJB-Jarを省略した簡易なパッケージングのサポートや、後述するJava EEへのプロファイルの導入に合わせたサブセットの定義など、アプリケーションを簡略化するための様々な仕組みが追加される予定となっている。
EJB 3.1の仕様を定めるJSR 318は、現在Public Draftが公開されている段階である。以前紹介したEarly Draftからの変更点としては、EJBコンポーネントをJava SE環境でも実行できるようにする組込みAPIなどの追加が挙げられている。
参考
EJB 3.0の一部として提供されていたJavaオブジェクトの永続化のためのJava Persistence API(JPA)は、EJB 3.1からは独立してJPA 2.0(http://jcp.org/en/jsr/detail?id=317)として定義されることになった。JPA 2.0ではアノテーションによるコレクションのサポート強化や、MapやListの使い勝手の向上、悲観的ロックのサポートなどが主な新機能となる。
また検索言語であるJPQLが強化されるのに加え、新たに「Criteria API」が追加される。これはJavaオブジェクトを元にして検索条件を絞りながら動的にJPQLを生成するAPIであり、昨年11月公開のPublic Reviewで追加された。これによってより柔軟なクエリの作成が可能になるという。
参考
JSF(JavaServer Faces)もJava EE 6ではバージョン2.0となる。JSF 2.0ではFaceletsの統合などによってカスタムコンポーネントの開発が容易になる他、Ajaxのサポートや他のAPIとの連携によってよりリッチなインタフェースを提供できるようになる。また、プロパティに対するデフォルトの設定値が用意されるなどコンフィギュレーションが簡略化できる予定だ。JSF 2.0も現在Public Draftが公開され、Early Draftでは明確でなかったFaceletsの統合などについて明らかになっている。
参考
Java EE 6ではServletの仕様も大きく進化し、Servlet 3.0(http://jcp.org/en/jsr/detail?id=315)となる。最も大きな変更は、Servletのメタ情報を記述できるアノテーションが追加される点で、これによってweb.xmlによる設定の記述を簡略化または省略できるようになる。その他にも、Webフレームワークを接続/切断するためのメカニズムの導入や、非同期通信のサポートなど、近年では見られなかった大幅な拡張が行われる予定だ。
参考
Java EE 6の動向で特に注目されているもののひとつにプロファイルの導入がある。これはJava EE 6に含まれる機能のうち、特定の目的に合わせた機能だけを切り出したサブセットを定義しようというもの。
現在はJSR 316の仕様とあわせて、Webアプリケーションの開発に特化した「Webプロファイル」のドラフトが公開されている。WebプロファイルではEJB 3.1に含まれるAPIのうち、Servlet 3.0やJPA 2.0、EJB 3.1 Liteなどと中心とした10のAPIが必須コンポーネントと、いくつかのオプションコンポーネントが定義されている。またWeb Beans 1.0は現時点では含まれていないが、これを含むかどうかは意見を募っているそうである。
現時点で公開されているプロファイルはWebプロファイルのみだが、今後様々な要求に応じたプロファイルが登場することと思われる。
さて、今のところJava EE 6の具体的なリリース時期は明らかになっていない。Public Draftが問題なく承認されたとしても、正式リリースは春先以降になる可能性が高そうだ。まだ少し時間があるとはいえ、それまでに全体像を把握しておきたい。
提供:マイナビ
大学・大学院・短大・専門学生向けの就職情報サイト「マイナビ2010」「マイナビ2009」に今すぐ登録しよう! 大手企業からベンチャー企業までの約13,000社の企業情報を公開、エントリーが可能です。2010年卒予定の方は「マイナビ2010」に、2009年卒予定の方は「マイナビ2009」に登録してください。
毎日コミュニケーションズはプライバシーマークを取得しています。
| 理研、脳・脊髄形成に必要な神経板湾曲の仕組みを解明 [20:16 5/25] |
| 京大、「慢性閉塞性肺疾患」患者の労作時呼吸困難は鍼治療が有効と実証 [20:08 5/25] |
| 120Hz SHVカメラ用イメージセンサーを使った撮像装置 - SHVフルスペック化へ [18:10 5/25] |
| 京大、視覚による物体認知は前頭前野からのトップダウン信号が重要と確認 [17:45 5/25] |
| 製品数の拡大だけでなくBCPの展開なども含めた総合力で事業の強化を図るTI [17:25 5/25] |
|
【ネタバレもありの徹底解明コラム】『サザエさん』タマの意外な事実 [17:30 5/27] ホビー |
|
鍼灸(しんきゅう)師が教える。オフィスで口臭予防ツボ・ベスト3 [17:00 5/27] キャリア |
|
[梶浦由記]米「アニメ・エキスポ」に2度目の参加決定 [17:00 5/27] ホビー |
|
【連載】これだけは要チェック! TOEIC(R)単語帳 第107回 今回のお題は…「chemical」 [17:00 5/27] キャリア |
|
[乃木坂46]キャプテン桜井が“ライバル”AKB総選挙予想 1位まゆゆ、2位はさしこ、3位たかみな [16:58 5/27] ホビー |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。