JBossとJ2EE認定をめぐるうごきは、今年のはじめからおこっていた。SUNにしてみれば、JBossは、J2EE認定を受けていないにもかかわらず、J2EEという言葉を使用している。そのため、J2EE認定を受ける機会をつくった。一方のJBossにしてみてば、認定テストに必要な10万ドルを払う価値がないとして、これを退けていた。
双方とも、言うことに一理あるが、今回のJBossが、J2EE認定を受ける方向に傾いたことで、J2EE認定の意味をあらためて考えさせられる。
そもそもJ2EEというものは、製品ではない。かつてSUN(今は、JCPという団体)が中心となってまとめた、ServerSideアプリケーションの実行環境向け仕様書の塊である。たとえば、JSPと技術は、HTMLに中にJSPタグとよばれる特殊なルールで書かれた字を埋め込むことで、動的にページを生成できる。J2EEの中で定められているのは、JSPタグをどう書けば、どう動くのかということだ。J2EEサービスプロバイダと呼ばれる企業は、「どう動く」という部分を実装して、アプリケーションサーバとして製品化している。だからこそ、IBMのアプリケーションサーバで動くJSPは、BEAのアプリケーションサーバでも問題なく動く。J2EE認定は、Javaもポータビリティの肝なのである。
だからと言って、準拠しないJBossを単純に責めるわけにはいかない。J2EEがあまりにも広範囲の仕様を求めているからだ。バージョンアップを行ってもアッパーコンパチビリティを確保するために、年々仕様は広がっている。しかも、その中には実質的に使用されていないようなものまで含まれているからだ。
一方、J2EE認定を受けているベンダーの状況も複雑だ。準拠するだけでは、何も生まれないからだ。J2EE認定部分は性能以外に差別化要因はない。むしろコモディティ化により価格競争に陥る可能性すらある。そこで各社は、開発環境をつくり、組み込みのアプリケーションを用意し、場合によっては、ハードウェア、OSも用意して、ロックオンしよう躍起だ。いまや「J2EE認定を受けていれば、移行は簡単です」という言葉は、ユーザーのためではなく、初期導入から虎視眈々とロックオンを狙うベンダーに有利な言葉になりつつある。
では、ユーザーにとって、JBossのJ2EE認定は、どれほどの意味があるだろか?たしかに、認定は良いこと。しかし、認識しておかなくてはいけないことは、認定があったところで使い方によってはポータビリティが確保されず、リスクテイクにはならないという点だ。JBossだって、「beyond J2EE」を謳い、非互換部分での勝負を明言している。
Javaの場合、ベンダー側だけなくユーザー側にもそれ相応の「見通す力」が求められる。ここら辺も、難しいところだろう。
