Docurainを使うと何がうれしいのか
Docurainを簡単に説明するならば、その「Excelで帳票用のテンプレートエンジンを作ろう」という、多くの人がたどり着くが、その開発工数の多さや技術的困難さから諦めざるを得なかったことを愚直にやりきり、それをクラウドサービス化したものです。
Docurainの開発にあたっては「面倒な帳票開発をさっさと済ませ、本来やるべきビジネスに集中できる方法を提供したい」という強い思いがあります。Docurainは専用の帳票開発ツールでは提供されているが、ライトユースでは不要な機能(高度なプリンター連携、正確な描画、データ連携など)を削ぎ落とし、代わりに帳票開発の生産性を最大化することに注力しました。
Docurainの主な特長として、以下5つが挙げられます。
- ExcelとJSONで完結する
- クラウドサービスである
- コーディング量を低減
- 帳票に必要とされる多数の追加機能
- 低コストで開始可能
ExcelとJSONで完結する
Docurainでは、帳票テンプレートはExcelで作成できます。Excelで印刷した状態がそのまま帳票として出力されるため、Excelを扱える人なら誰でもDocurainのテンプレートを作成することができます。後述するようにいくつかの特殊なマクロを記入する場合もありますが、直観的には初めてDocurainを扱う人でも理解は容易です。
この、Excelで作った帳票テンプレートに任意の構造で記述されたJSON形式のデータを挿入し、最終的に画像やPDF、Excelファイルとして出力するのがDocurainのすべてです。
また、Excelで帳票テンプレートを作成するということは、プログラマでなくとも帳票の作成や修正が容易に可能であることを意味します。これを活かして、システム利用部門の方が直接、帳票レイアウトを修正するという導入事例も存在します。
クラウドサービスである
クラウドサービスのため、サーバーの購入や保守は一切不要で、ライセンスを購入して開発環境をインストールするといったことも必要なく、ExcelがインストールされたPCがあれば今すぐ使ってみることが可能です。
既存のシステムと連携させる場合にも、使用するJSON形式のデータを出力してDocurainの公開APIにHTTPリクエストとして送信するだけで、帳票の出力結果(PDFファイル、Excelファイル、画像ファイル)がバイナリデータとして返却されます。
また、Docurainは十分なスケーラビリティを有しており、多数のリクエストでも大量のページを出力するリクエストでも現実的な応答速度で処理することができ、およそ4000ページ/秒までは容易にスケール可能であることを確認しています。
コーディング量を低減
すでに述べた通り、各帳票に依存したコーディング量が増えるほど保守性に問題が生じます。
Docurainでは固定のレイアウトで済む帳票であれば、コーディングは完全に不要です。レイアウトの動的な変更を含む場合であっても、簡単なコード(マクロ)を記述することで対応可能です。このコードはスタイルやレイアウトを変更したり、画像やバーコードを挿入したりするなど、Excelの機能だけでは表現できないことを記述するために用いられます。
これはApache Velocity互換の記法であり、直観的に理解することができます。おそらく、プログラマであれば前提知識がなくても見ただけで何をしているか理解できるほどに簡単なものです。つまり、テンプレートエンジンとしての機能を構築するために独自の構文を利用するのですが、その記法は特殊ではなく一般的かつ直観的なものです。
帳票に必要とされる多数の追加機能
DocurainではExcelの機能のうち、帳票デザインで必要と思われる大部分を利用できます。これには、グラフや図表、シェイプの表示、数式、書式設定、条件付き書式も含まれます。これに加えて、Excelで不足している幾つかの機能を独自に追加しています。具体的には以下が挙げられます。
- 制御構造(if、foreachなど)
- Excelの印刷範囲設定を応用した直観的な改ページ制御
- Excelスタイル指定
- バーコード、QRコード挿入
- 画像の動的な挿入
低コストで開始可能
Docurainを利用するのにイニシャルコストは不要です。すぐに使用を開始することができ、1帳票あたり5円から出力することが可能です。出力したファイルのデータサイズに応じて料金は増加しますが、大きな画像データ等を含まない帳票ならば、ほとんどが5円で出力できます。
Docurainが苦手とすること
DocurainではテンプレートをExcelとしているため、帳票中のテキストや図表といった要素や余白をミリメートル単位で制御するのは苦手です。そのような要求がある場合は、一般の帳票エンジンを使用するか、PDF操作ライブラリを利用するなど、表示位置を厳密に制御できる手法を選択することになります。