【レポート】
8日から10日までの3日間、東京国際フォーラムにおいてJavaOne Tokyoが開催された。Day-2はJavaOne Tokyo 2005の最終日、3日目の催しにあたる。エンタープライズにおけるJavaとしては、次期EJBとなるEJB 3.0に大きな期待がかけられている。本稿ではEJB 3.0で導入される機能のうち、もっとも注目されているJava Persistence APIについて取り上げたセッション、The New EJB 3.0 Java Persistence APIの様子を紹介する。
|
|
|
The New EJB 3.0 Java Persistence API |
|
現行のEJBであるEJB 2系では、一番小さい仕組みを作る場合でも、最低4つのファイルを作成し、定められている最低限のメソッドを実装しなければならない。ひとつのロジックを実装するだけでこの煩雑さである。これを複数作成し、さらにそれぞれを連帯して使うといったことになると、この煩雑さはなかなかのものになる。
こうした状況に疑問を感じる技術者によって、もっとシンプルにエンタープライズサービスを実装する方法としてPOJO(Plain Old Java Object)をベースにしたフレームワークや実行環境の開発が行われた。SpringフレームワークやHibernateなどはそうした代表的なアプリケーションといえる。
次期EJBの仕様策定には、こうしたPOJOベースの技術を開発した技術者が参加し、EJB 2.0とは違う方向で策定が進められた。EJB 3.0では、これまで少なくとも4つのファイルが必要だったところが、単純には1つのファイルで済むようになる。記述に必要になる量も激減する。EJB 3.0が期待されている背景にはこうした事情があるわけだ。
さらにEJB 3.0が注目されているのは、Java Persistence APIというPersistenceに関するAPIが含まれることが明らかにされているからだ。これまでPersistence APIに関しては2つの方法があり、統一されていない状況だった。これがひとつの仕様としてJavaに含まれることから、Java Persistence APIを活用したさまざまな機能強化が期待されている。
|
|
Sun Miscrosystems, Linda DeMichiel氏 |
Sun Miscrosystems, Linda DeMichiel氏は、実際にJava Persistence APIを使って実装を行うとどうなるかといったソースコードを示しながら、Java Persistence APIの概要について説明をおこなった。また、Persistence自体はPersistence Providerによって提供されるため、特定のベンダにロックインされるものではないという点を繰り返し強調した。
|
|
Persistence API実装例 |
Java Persistence APIではエンティティを@Entityアノテーションで表現する。エンティティはPOJOそのものであり、アイデンティティには@Idアノテーションが、リレーションシップには@OneToOne、@OneToMany、@ManyToOne、@ManyToManyが使用される。
また、エンティティと関連の集合がPersistence Unitと呼ばれ、Java Persistence APIを把握するうえでの重要な概念になっている。またPersistence Contextもあり、Persistence ContextはJTAトランザクションとともに複数のコンポーネントにまたがってプロパゲートされることができる。
|
|
JBoss, Gavin King氏 |
Linda DeMichiel氏に引き続き、JBoss, Gavin King氏がより実装の観点に立脚したEJB 3.0の説明を行った。Entity Manager APIが実質的にSQLやEJB QLの操作に対応することになる。Entity Manager APIでは処理の前に処理を挿入したいといったこともあり、そういった場合には@EntityListenerアノテーションを使ってリスナーと関連づけることで実現できるという。
|
|
Entity Manager API |
Java SE 5.0から導入されたアノテーションは、Javaの機能をさまざまな点で格段に別のものに引き上げたといえる。従来であればインターフェースを実装しアクションを登録しといった処理が必要だった部分が、すべてアノテーションを経由して接続可能になっている。
Java Persistence APIはもともとJava EEの機能として設計実装されてきたが、より一般化され、もはやJava EEに限らずJava SEといったほかのプラットフォームでも使用される機能と位置づけられる。Java EEのみならず、Java SE 6 "Mustang"以降のJavaに反映される重要な機能だ。今後の進展が注目されることになりそうだ。
| 最新の技術を投入、Seasar 2.3 公開 - Persistence APIとJSFの実装も新たに [2005/11/8] |
| BEA、KodoのSolarMetricを買収 - WebLogicでJDOを提供、パーシステンス強化 [2005/11/4] |
| Java EE 5 APサーバ"GlassFish" - Mac OS対応スナップショットも公開 [2005/9/21] |
| J2SE 5.0/EJB 3.0に対応 - Oracle JDeveloper 10g Release 3 EA1 [2005/9/20] |
| JSFとEJB 3.0を統合 - JBoss Seam 1.0 beta 1 [2005/9/20] |
| Java EE 5への扉を開く? - オラクル、EJB3.0のプレビュー版を公開 [2005/8/25] |
| EJB 3.0・Oracle Business Rulesが利用可能なOracleAS 10g Release 2 DP4 [2005/8/2] |
| JavaOneに見るOracleのEJB 3.0/JFS/BPELへのコミット - SOAの実現へ [2005/7/1] |
| JavaOneに見るJava EE 5 - Persistence APIがEJBから独立 [2005/6/29] |
| J2EEでもEoD - EJB 3.0対応JBoss、JavaOneにあわせて登場へ [2005/6/23] |
| 千葉工大 東京スカイツリータウンキャンパスがオープン! - 新型ロボも登場 [19:00 5/23] |
| 産総研、変性タンパク質の活性を回復させる有機ナノチューブゲルを開発 [18:30 5/23] |
| NIMS、空気中の物質を感知して発光するフィルムを開発 [18:29 5/23] |
| 日本NI、最大6.6GHzでRF信号ルーティングが可能なスイッチモジュールを発表 [18:26 5/23] |
| TI、SPICEモデル付きのSAR ADCを発表 [18:24 5/23] |
|
白か黒か? 『劇場版ポケットモンスター ベストウイッシュ』、7月12日放送 [00:47 5/24] ホビー |
|
TVアニメ『Fate/Zero』、第21話「双輪の騎士」の先行場面カットを紹介 [00:16 5/24] ホビー |
|
アニメ「夏目友人帳」展覧会の開催決定、主題歌集発売で [00:00 5/24] ホビー |
|
[ポケットモンスター]人気投票で放送作品を決定 異例の試み [00:00 5/24] ホビー |
|
【コラム】Windowsスマートチューニング 第188回 Vista/7編: タスクスケジューラでリマインダー通知を行う [23:07 5/23] パソコン |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。