OpenDolphin Ver 6
ちょっと手が空いたので、OpenDolphin-2.7m を JakartaEE 9.1, java17 環境に移行した。
軽くまとめ。
※ 以下の記事内でも書いてますが Ver6.3 & 6.4 は例外的に Ver2.7m 系列の単純な JDK アップデートバージョンです。
だから、データ構造なども 2.7m と同一。それゆえ使いにくい側面もあったりするのですが(この記事参照)、カスタマイズする場合、こちらをベースにした方がいいでしょう。
主な変更点
主な変更点は二つ。
・画像の取り扱いの変更
・ウェブレイヤーの追加
まず、画像に関して。
これまで、画像の取り扱いが jpeg/png に限定されていたのだが、この制約を取り払った。
ただし、従来のデータベースとの互換性を保つため、jpegByte あたりのコードには直接変更を加えず、新規に画像保管用のカラムを加えた。
これまで、データ構造は LSC 時代の 2.7 と全く同一にしていたのだが、この変更でこの原則は崩れた。
ただし、API にはある種の追加はしたが、これまでのものを削除することはしなかったので、以前のバージョンのデスクトップアプリを使えば、使用感は変わらないと思う。
一種の上位互換。
API の追加は、まだ進行中。煮詰まってない。
画像のフォーマットは山ほどある。どこまでサポートするかは現時点では決められない。
次に、ウェブレイヤーの追加に関して。
以前から、「クライアントは Java デスクトップアプリである必要はない」ということは言われていたのだが、ではどう構成するのか?という具体的な議論はなかった。
個人的には、3層クラサバ化がいいのではないかと思っていたので、今回、OpenDolphin HTML・PDF Viewer をウェブサーバー化して、フロントエンドサーバーとした。
諸々の機能は実装中。
サーバーサイド
フロントエンドサーバーを加えたので、単に「サーバー」と言った場合、従来のサーバーと混同してしまう。
そこで、従来のサーバーを BackendServer と名称変更した。
クライアントサイド
前述のように、クライアントは従来のデスクトップアプリと新規に作成したフロントエンドサーバー(ブラウザタイプ)に別れた。
デスクトップアプリ
今回のアップデートが最後でしょうか。
フロントエンドサーバー(ブラウザ)
以前に dolphorca と呼んでいたものがこれにあたる。
名称
これまでにも、ノーマル 2.7-m ベースのいくつかのカスタマイズバージョンがあった。
例えば、以前に書いたように(『聴診音クラファンからの・・・OpenDolphin』など参照)、研究支援用のプロトタイプバージョンなど。
ところで OpenDolphin のアプリケーションサーバーといえば、WildFly がデフォルトである。
が、若干修正することで GlassFish でもデプロイ程度はできる(正常動作はしないが)。
こういったバージョンも存在した。
このように非公開のいくつかのバージョンがあって、バージョン番号はいささか混乱していた。
そういった経緯で今回移行したプロジェクト群を総称して(数字的には 2.7 から一気に飛ぶが) Ver 6 とした。
Ver6.3
諸々の事情で Ver6.3 のみ単純な実行環境のアップデート版とした。
(だから、データベースは 2.7m と完全互換。その代わり、クライアント起動時に JVM に特別なオプションを渡す必要がある)
Java17, JakartaEE 9.1 環境で動作する。
バイナリは関係者のみに配布。
ソースコードは github: https://github.com/Hiroaki-Inomata/OpenDolphin-6.3 で開示。
(追記)バイナリを配布したバージョンは 6.3.1 とした。
元が GPL だったとはいえ、このソースコードを一般公開するのは、実務的にはかなり難しい。
公開する準備はしているが。
https://github.com/Hiroaki-Inomata/OpenDolphin-6.3.1
現在著作権は、メドレーが保有しているからだ。
迂闊に公開してしまうと著作権侵害ともとられかねない。
ドルフィンの権利関係はスッキリとはしておらず、こういった場合には「オープンソースのライセンスがあれば、なんだって許される」といった幼稚な考え方は捨てるべきだ。