中小規模システムのためのPDF帳票開発ツール
中小規模システムにおける帳票開発の課題
業務システムにおいて帳票出力を実現する際には,いわゆる帳票開発ツールを用いることが一般的になっています。
ところが,開発規模の小さなシステムでの帳票開発ツールの選定は,大規模システム以上の困難を伴います。予算上の制約や開発環境の都合などにより,選択肢が非常に限られるためです。
そのため,以下のような代替手段が取られることもありますが,開発効率や印刷品質の面でのリスクが大きく,本格的な帳票出力機能を実現することは困難な状況でした。
- プリミティブなPDFライブラリなどを利用して,帳票出力機能を自前で開発する。
- HTML+CSSで帳票的な外観を表現する。
フィールドワークスの取り組み
フィールドワークスは,中小規模システムでの導入が容易な帳票開発ツールをコンセプトとし,PDF帳票開発ツール「Field Reports」を開発するに至りました。
開発にあたっては,以下の目標を掲げました。
- 高性能な帳票開発ツールを低価格で提供すること。
- 様々なプログラミング言語やプラットフォームに柔軟に対応できる可搬性(ポータビリティ)を実現すること。
低コスト化のために
本質的でない機能は省き必要な機能に集中する合理的な設計を行うことで,
低コスト化を実現しました。
具体的には,PDFをテンプレートとして利用することと出力媒体をPDFに一本化することで,大幅なスリム化に成功しました。
- 帳票設計時の専用フォームエディタ,オフィスソフトからのインポート機能が不要になり,開発費が削減できました。
- 専用ビューアやプラグイン等のソフトウェアが不要になり,ユーザへの配布・更新等の保守費用も軽減できます。
また,関数プログラミング言語OCamlをはじめとするオープンソースを積極的に活用したことで,開発コストを抑えることができました。
ポータビリティ向上のために
中小規模システム向けの帳票ツールには,様々なプログラミング言語やプラットフォームに柔軟に対応できるポータビリティが必要であると考えました。
- 中小規模システム開発では,Python, Ruby, Perl, PHPなどのいわゆるLL言語が用いられることが多い。
- 開発者サイド主導で運用環境(プラットフォーム)を決定できないケースが多い。
ポータビリティの実現にあたっては,ここでもOCamlの特長が生かされました。ネイティブコードを生成できる機能を利用し,多様なプログラミング言語から利用できる共有ライブラリ(WindowsではDLL)を作成することができたためです。
関数プログラミング言語OCamlについて
OCamlは関数型プログラミング言語の一種であり,強力な静的型システムと高速なネイティブコードを生成できるコンパイラを持つこと等を特長としています。Visual Studio 2010からはOCamlから派生したF#が標準搭載されたこともあり,近年注目を集めています。
Field Reports試用版は下記ページよりダウンロードしてください。