crossnote / EDITROOM ver 3.0.0リリース

投稿日:2025年08月29日 作成者:yasunaka

crossnoteをメジャー・バージョンアップして、ver 3.0.0をリリースしました。このメジャー・バージョンアップでは、クライアント、サーバー共にフレームワークのバージョンを最新化し、セキュリティ対策、稼働環境、最新技術への適合性を向上させています。また数多くの機能改善を行っています。

プレスリリースへ(外部サイト)

ここからは技術的な話をします。

今までのcrossnote ver 2.1系は、crossnoteクライアントはJava 11 + Eclipse 2021-03ベース、サーバーは Java 8 + Tomcat 9というベースソフトで構築していました。サーバーで使っているJava 8はLTSで現在もサポートされているとはいえ、もうだいぶ古いバージョンのものになります。なぜこれを使い続けていたかというと、これ以降のバージョンのJavaでは大規模なソフトウエア開発で利用する部分(正確にはパッケージというもの)が変更されてしまい、大幅な修正が必要だったからです。

その修正とはざっくり言って、javaxというパッケージ名をjakartaというパッケージ名に書き換えるということなのですが、この書き換えは単に自分たちが開発した部分を書き換えるだけではなく、使っているライブラリについてもすべて同様にjavaxをjakartaに書き換えたものを利用しなければなりません。つまり使っているライブラリすべてにおいて、このjakarta対応が終わっている必要があるのです。そしてcrossnoteが使っている重要な通信ライブラリ(axis2)のjakarta対応を完了したバージョンが出たのが、今年に入ってからだったのです。

というわけで、このver 3.0.0は技術的にはcrossnoteのJakarta対応版ということになります。結果としてcrossnoteクライアントはJava 21 + Eclipse 2025-06ベース、サーバーは Java 21 + Tomcat 11という最新のベースソフトで動作するようになりました。

ただ話はもう一つあって、もう一つの難関として、crossnoteの検索およびWeb系の処理を担うhiveの大幅な書き換えが必要だったことです。hiveは ver 2.1系まではPlay frameworkというフレームワークを使って開発していたのですが、ver 3.0化にあたり、これをやめる決断をしました。Play frameworkを採用した最初のきっかけはcrossnoteのオプションソフトのContact Reportを開発したときで、2012年ごろでした。その当時はPlay frameworkは飛ぶ鳥を落とす勢い?といったら言い過ぎかもしれませんが、展望が良さそうで、Contact Report 2、そしてhiveと、Web系のプロダクトをこのPlay frameworkベースで開発してきました。そしてPlay frameworkも幾年月を超え、Play frameworkのバージョンアップが行われてきたのですが、途中からJavaベースからScalaベースへ、そしてプログラミングモデルの大幅な変更と、内容が大幅に変わってきており、最新のPlay frameworkに対応させるには大幅な修正が必要だということがわかっていました。またPlay frameworkはTomcatへの対応を止めてしまっており、オンプレミスで動かしているお客様のところで使用する際には運用監視の仕組みなどを調整する必要があるなど、Play frameworkの最新版への対応は非常にコストの高いものになっていました。

そこでいろいろ検討した結果、Play frameworkのテンプレートエンジンの仕組みのみ、それを実現しているライブラリを使って再利用し、それ以外についてはPlay frameworkは使わずに新規に作り直すということをしました。この移行作業には弊社の若手ホープ君がいろいろ工夫を凝らして頑張ってくれたと思います。

検索エンジンのSolrも最新化しており、RAGへの対応など、今後AIを用いた展開が進めやすくなりました。

という幾多の困難を乗り越えてできたのが、crossnote ver 3.0.0です。

気になった方はぜひお問い合わせください。