0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

帳票は1ドットで壊れる──ACR開発とライセンス認証の実装。

0
Last updated at Posted at 2026-04-09

いよいよACRも公開できる段階まで到達した。

帳票アプリケーションという性質上、運用後にはサポート対応が発生する可能性がある。そのため、ライセンス認証の仕組みは必須であると判断した。

・帳票エンジンの特性

以前、AIに帳票エンジンの特性を確認した際に、次のような指摘があった。

「帳票は1ドットでもずれると正しい出力にならない。」

この性質により、帳票エンジンは単なる描画処理ではなく、システム全体の中核となるコンポーネントとなる。

画面表示(Pixel)と印刷(DPI)の差を吸収しながら、常に同一の結果を出し続ける必要がある。また、帳票はプリンタというハードウェアとの連携が前提となるため、この部分の制御も重要になる。

結果として、低レイヤ制御が可能なC/C++系の言語が現実的な選択肢となる。

・ライセンス認証導入の判断

これらの特性を踏まえ、今後のリリースおよびサポート体制を考えた場合、一定の利用状況を把握できる仕組みが必要であると判断した。

その手段として、ライセンス認証を導入することにした。

・ライセンスサーバの実装

昨年、Windowsデスクトップアプリ向けにライセンスサーバを構築した実績があるため、その構成をベースにした。

今回は仕様を細かく固定せず、使用言語のみRustを指定して実装を行った。

その結果、基本構成は短時間で組み上がった。

構成は以下の通りである。

Web画面からのデータ登録
データベースへの保存
ユーザへのメール送信

HTMLについては必要最低限の構成であったが、機能としては十分に成立していた。

mermaid-diagram.png

・追加機能

その後、運用を想定して以下の機能を追加した。

Google / GitHub アカウントによるログイン
メールアドレスの正当性確認(MXレコード確認)
日本語 / 英語の多言語対応

ここまで含めても、全体の実装は約3日程度で完了した。

なお、最も時間を要したのはGoogleおよびGitHubの認証設定であった。

・ACR本体への組み込み

ライセンスサーバとは別に、ACR本体側にもライセンス機能を組み込んだ。

この対応は既存構造への追加として実施したが、実装自体は短時間で完了した。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?