Javaの完全なオープンソース化がたどってきた道のりは長い。Sunは、2000年代中頃にJavaの一部をオープンソース化していたが、実際にJavaをオープンソースとして利用するには面倒が多かった。例えばGoogleは、「Android」とJavaに関して多くのトラブルを経験した。しかし、エンタープライズ向けのJavaに関しては、状況は変わった。
米国時間9月10日、Eclipse Foundationは「Jakarta EE 8」のフルプラットフォームと「Web Profile」の仕様、および関連する「Technology Compatibility Kits」(TCK)をリリースしたと発表した。このリリースは、オープンでベンダーニュートラルな、コミュニティ主導のプロセスの下、エンタープライズJavaテクノロジーの進化と革新の新たなベースラインを提供するとThe Eclipse Foundationは説明している。
このリリースは、Oracleが「Java Enterprise Edition」(Java EE)に関する知的財産の大半を手放したことで可能になった。ただし、OracleはJavaの商標は手放さずに保持し続けたため、「Java EE」の名称は「Jakarta EE」に変更された。しかし、実務上のプログラミングや本番運用の観点から言えば、Jakarta EE 8はエンタープライズ向けの次世代Javaだと考えてよさそうだ。
Jakartaという名称に聞き覚えのある人もいるかもしれない。Java EEサーバーでJakartaという名称が使われるのは、今回が初めてではないからだ。1999年~2011年にかけて、Apache Software FoundationはApacheのオープンソースJavaに関する全ての取り組みを網羅する「Apache Jakarta」プロジェクトを運営した。
Jakarta EE 8の仕様には、Java EE 8の仕様との完全な互換性がある。仕様の策定は、Java EEのJava Community Process(JCP)の役割を引き継ぐコミュニティ主導のオープンなプロセスである、Jakarta EE Specification ProcessおよびEclipse Development Processに従って進められた。
Jakarta EE 8には、Javaの開発者が以前から使用しているものと同じプログラミングモデルを使用した、同一のAPIやJavadocも含まれている。Jakarta EE 8 TCKはJava EE 8 TCKをベースにしており、完全な互換性がある。これは、エンタープライズ顧客が、Java EE 8をそのままJakarta EE 8のアプリケーションに移行できることを意味している。
Eclipseはこの作業を単独で進めていたわけではない。富士通、IBM、Oracle、Payara、Red Hat、TomitribeなどのかつてはJavaコミュニティに属していた他のメンバーも、Jakarta EEに関する作業に取り組んできた。
Eclipse Foundationは仕様以外に、Jakarta EE 8の実装である「Eclipse GlassFish 5.1」もリリースした。
IBMも、Jakarta EE 8互換の実装として認証を受けた「Java」のサーバーランタイムである「Open Liberty」を発表した。
そしてOracle も、Java EE 8およびJakarta EE 8互換の「WebLogic Server」に取り組んでいるという。
Jakarta EE Working Groupに参加しているすべてのベンダーは、各社のJava EE 8互換の実装にJakarta EE 8互換として認証させる予定だ。これはつまり、JakartaはJava EEの未来だということを意味している。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。