JSON-Bは、Java EE 8に追加されると期待されているJSONバインディングのライブラリであるが、パブリックレビューへリリースされた。このライブラリはJSONプロセッシングの上に構築している。 (JSONPやJSON-with-paddingと混同しないように。) JacksonやGson有名なライブラリに代わるものとして標準を提供することを意図している。このJSRはJava EEだけを対象としているが、これはJava SEのユーザはまだサードパーティのライブラリを使う必要があることを意味している。
JSONプロセッシングライブラリは2013年にJSON操作のためのAPIを提供するためにJava EE 7に追加された。JSON-PはJSONオブジェクトを操作、構築するために役に立つが、普通のJavaオブジェクトをJSONに変換、またはその逆をするより簡単でより透過的な方法を必要とする開発者の日々のニーズを満足させるには、不足があると証明されている。
部分的な解決策だけ表現したことに加えて、JSONプロセッシングはいくつかのサードパーティツールがすでに台頭してから姿を現した。それらには2008年のGsonや2009年のJacksonがある。これらのツールは、JAX-RSのようなほかのJava EEコンポーネントと相互作用するためにいくつかの統合メカニズムを提供する。このことはWebアプリケーション開発において、それらのツールをとても人気のあるものにした。しかし、利用可能な異なる技術が広まることは、可搬性のあるアプリケーションを作ることを難しくする。そして標準化された解決策へのニーズが出てきた。これは2014年のJava EE 8コミュニティ調査に表れている。JSONバインディングツールは、新しいJava EEリリースでもっとも優先度が高いものとして投票された。これを考慮し、JSON-BのJSRはこの年の8月に作成され、2017年の上半期にリリースすることを意図している。
この種の機能がコミュニティで強く望まれているにもかかわらず、このライブラリはその適用を妨げる一連のリスクに直面している。一方ではJSONバインディングは現れるのが遅すぎたのかもしれない。2017年において現在のリリース計画はすでに元々のスケジュールから6ヶ月遅延していることを意味している。それ自身はJava EE 8での6ヶ月の遅延に転化している。これだけではなく、現在のスケジュールは組織的な作業に関しては7年遅延していることを意味している。
他方、JacksonのリードエンジニアであるTatu Saloranta氏は次のことを指摘している。JSONバインディングがJSONプロセッシングをベースにしていることはそのスコープと拡張性に限界を課している。Saloranta氏は新しい標準を試し利用するためにJSON-Bの上にJacksonを再実装する可能性を議論したが、ほぼ即座にその可能性を放棄した。
たとえばJacksonをJSON-Bの上に実装する、またはJSON-Bをベースに実装するというどちらもが難しいです。全体のライセンスが不確定であることに加えて、スコープと拡張性が制限されていることはJacksonがすることの大半が単純なJSONバインディングを超え、互換性がある方法で露出することができない、ということを意味します。
JSON-Bの利点を潜在的に減らすということは、JCPエグゼクティブコミッティの最近の会議の議事録に反映されているようにJava EEは十分な関心が持たれないという懸念を増すことになる。また、それはJava EE開発の責任をコミュニティに移行することに貢献するかもしれない。
Rate this Article
- Editor Review
- Chief Editor Action