2005-07-05 [長年日記]

_ [java.apserv][java.fw.ejb]EJB3とは何なのか(on off)

 後半はGeronimoかぶれの戯言、脈絡がありませんな。
 "IBMがGeronimoを買収した"という一文が作者の勘違いぶりを如実に物語ってますな。
 ->著者が原文を修正してるので注意。
 APサーバはサービスの集合体であり、EJBもAPサーバの提供するサービスの一つ。
  APサーバの真価はその提供するサービスにこそあり、サービスを簡単に切り離せる構造に
 ある訳ではない。いくら構造が先進的でも提供されるサービスが古いようなAPサーバは魅力的
 とはいえない。その意味で現在、J2EE1.4の実装の最終段階でJavaEE5実装の端緒にも
 辿り着いていないGeronimoは魅力的とはいえない。
  サービスを"仕様どおりに"実装しているGeronimoとサービスを"仕様策定に開発者が携わりながら"
 実装しているJBoss、どちらが凄いかは一目瞭然。
  GeronimoがDIコンテナベースであることに著者は価値を見出しているようだが、JBossも"POJOサーバ"
 を開発中、5.0はPOJOサーバベースになると思われる。
  EJB3 PersistenceAPIはO/RマッパとEJBコンテナ間で共通のAPIを利用できるように策定
 されたモノであり、EJBコンテナがO/Rマッパをそのエンジンとして利用できるのは副次的産物。
  JBoss Inc.はHibernateにEJB3 PersistenceAPIを実装中であり、HibernateとEJB3コンテナ間
 での同一インターフェースによるプログラミングを実現しようとしている。
 (おそらく、OracleもTopLinkにEJB3 PersistenceAPIを実装し、EJBコンテナのエンジンにする)
  OracleがEJB3 Persistence APIのリファレンス実装をGlassfishに提供するらしいので、
 多くの商用サーバはこの実装をEJB3コンテナに利用すると予想できる。
  但し、GeronimoはCDDLで提供されるこの実装を利用することはできない。つまり、
 GeronimoがEJB3コンテナ実装に利用できるO/Rマッパは現状では存在しないのだ。

 [追記:2005/07/17]
 JBossとEJB3の間に関連性がないと思っている知ったかぶりすぎる君がいるようなので
 追記しておきます。
 EJB3の誕生はRod Jhonsonによる著作2部作でのEJBへの苦言とJBoss Incによる"Beyond J2EE"が
 出発点となっています。
 当時、JBoss IncはSunとのライセンス交渉を行っていましたが、そのライセンス料金等で交渉は
 難航していました。
 この交渉中にJBoss IncはEJB3のCMPの雛形となるORマッパHibernateの開発者"Gavin King"
 を開発メンバーとして迎え、CMPをHibernateを基盤として拡張・発展させていく方向性へ
 舵をきり、J2EE1.4仕様を越えていく方向性を明確に打ち出します。
 J2EEライセンス交渉は水面下で行われ、その数ヵ月後にJBoss IncはJ2EE1.4のライセンシーとなり、
 その直後、EJB3仕様がJSRとしてアナウンスされ、EJB3エキスパートグループが誕生します。この
 グループにはJBoss IncからGavin Kingが参加することになり、発表された概要は既存のEJBとは
 似て非なるモノだったのでこれに反発した幾人かのEJB仕様を牽引してきたメンバは去りました。
 この急展直下での方向転換は"JBoss IncとSun間のライセンス交渉の間に交わされた議論"が
 大きな引き金となったと推測しています。
 現にEJB3仕様はJBoss Incが"Beyond J2EE"として打ち出したモノを踏襲しています。

 最後に"この文章"のもととなった発言では「サービスであるEJB3と基盤であるGeronimoを比較し、
 EJB3を否定している」ので、この文章で「JBossとJBossの設計思想から生まれたEJB3を
 持ち上げる」のは"あながち的外れではない"と思っていることを付け加えておきます。

_ [java.fw.spring]Spring Framework 1.2.2 リリース(on off)

 メモメモφ。/* from オレンジニュース */

_ [java.fw.spring]Spring Frameworkを使ってWebLogicのTransactionを管理する(on off)

 メモメモφ。/* from オレンジニュース */

_ [java.tool]Grails : Ruby on RailsのGroovyバージョン (on off)

 メモメモφ。/* from オレンジニュース */

_ [java.build]MavenでOutOfMemoryを回避する方法(on off)

 メモメモφ。/* from オレンジニュース */

_ [java.design]Table Data Gateway vs. Data Access Object(on off)

 メモメモφ。/* from オレンジニュース */

_ [java.fw.spring]BEA、Spring Frameworkのサポートを公表(on off)

 Beehiveの失敗の穴埋め...。/* from オレンジニュース */

_ [js.tech][ajax]Manning本「Ajax in Action」 2006年(!)11月発刊予定(on off)

 メモメモφ。/* from オレンジニュース */

_ [life]:24%良いアイデアを創るための4つのステップ(on off)

 メモメモφ。/* from オレンジニュース */

_ [elec.hard]DVD+RW DLが2005年末に規格化。+RWの高速化規格も(on off)

 メモメモφ。