Oracle TopLink 11g リリース / TopLink Grid (w/ Coherence)

Oracle TopLink 11g (11.1.1.0.0) がリリースされました。

2007年3月に、Oracle TopLinkEclipseへの寄贈が発表され、EclipseLinkとしてオープンソース開発が進められてきました。そして、今年7月にEclipseLink 1.0、今月にはEclipseLink 1.0.1がリリースされています。

Oracle TopLink 11gはEclipseLink 1.0.1をベースにしており、JPA、JAXB、SDOなどの標準仕様のサポート、Oracle WebLogic Server 10.3や他のJava EEコンテナのサポート、Oracle Database 11gや他の多くのデータベースのサポート、Spring FrameworkOracle ADFなどのフレームワークとの統合といった、EclipseLinkの優れた機能はそのまま引き継がれています。

さらに、Oracle TopLink 11gには、EclipseLinkにはない付加価値機能も追加されています。

中でも興味深いのは、「Oracle TopLink Grid」という新機能ですね。これまででも、Oracle CoherenceのCacheStore/CacheLoader (外部データソースとの間の読み書きを行うモジュール) でJPAを使うことはできていました。

TopLink Gridでは、Oracle CoherenceにアクセスするAPIとして、Coherence固有のAPIの代わりに、標準のJPA API/アノテーションを使えるようになります。アプリケーションから見れば、Coherenceをある種のO/Rマッパーのキャッシュ層と考えることもできます。

JPAエンティティの読み書きは、透過的にCoherenceキャッシュの読み書きに変換され、JPQLクエリも、透過的にCoherenceキャッシュへのフィルタに変換されます。

JPA準拠のO/Rマッパーは、程度の差こそあれそれぞれ独自にキャッシュに仕組みを持っていました。アプリケーション ローカルでしか使えないキャッシュもあれば、(TopLink Grid登場前の) TopLinkのように複数ノード間でのキャッシュの同期をサポートした高度な実装もありました。

とはいえ、どうしてもスケーラビリティにおける制約があったのは事実です。TopLink Gridは、JPAを活用して、Coherenceの極めて高いスケーラビリティを、より幅広いアプリケーションで利用できるようにするためのものと考えられます。

TopLink Gridの資料は、現時点では下記のものしかありませんが、今後より詳しい技術情報が公開されてくると思います。