帳票ベンダ・インタビュー 第18回
|
| 日本の帳票は欧米のそれと比べて緻密な作りになっていて電子化が難しい。その手段としてJavaプログラミングはどこまで有効なのか? |
- - PR -
オープン環境の企業情報システムにおいて、帳票ニーズはいまどのような状況になっており、それに対して帳票ベンダはどのようなソリューションを提供しているのか。帳票ベンダへの直接取材でその解を探るシリーズ。第18回は、クエスト・ソフトウェアの“JClass ServerReport”を取り上げる。
これは、サーバサイドJava環境で動作するレポートコンポーネント。緻密(ちみつ)な帳票設計を可能にするため、あえてAPIを利用したプログラミングを前提とするという、ある意味この分野の製品トレンドの逆を行く製品である。しかし、それだけに日本の複雑な帳票要件を満たせるものになっている。
Javaで緻密な帳票開発を実現する |
企業情報システムにおいて、業務アプリケーションのWeb化が進んでいる。クライアント端末の管理やアプリケーションのバージョンアップ対応、その工数やコストを考えると、どうしても自然とそういう方向へ向かわざるを得ないであろう。Web化するタイミングで全面的にJavaを採用、システム基盤を大きく構築し直すという話もよく聞く。
そこで起こる1つの問題が、帳票環境をどうするかということだ。Javaを採用するのはいいのだが、だからといってそのことで帳票の品質を低下させることはできない。特に、行政機関などに提出する、フォーマットが細部まで決められた帳票作成が、Web化によって実現できなくなるとしたら、これは深刻な問題である。システムインテグレータが“これはJavaの仕様に起因するものです”と説明しても、エンドユーザーとしては納得できる言い訳ではない。
困ったシステムインテグレータが市場を探してたどり着く帳票開発環境があるという。クエスト・ソフトウェアの“JClass ServerReport”がそれだ。サーバサイドJava環境でサーブレット/JSP(Java Server Pages)として動作するアプリケーションで、サーバサイドのコンテナがこの製品を呼び出すことでレポートの作成を行い、それをクライアントに配信する。グレープシティが日本語版を同社のラボとともに共同開発、2003年4月より販売代理店を務めている。現在の最新バージョンは2006年6月にリリースされた5.5Jだ。
思いどおりの帳票を作成するためには |
帳票関連ツールの分野においては、開発者にできるだけプログラミングをさせずに帳票設計・作成を行うというのが、一般的な製品思想だろう。しかし、このJClass ServerReportは考え方で逆を行く。まず、プログラミングありきなのだ。“レポートデザイナ”と呼ばれるGUIベースのデザインツールは存在するが、それが担当するのは、帳票の大体のレイアウトだけ。実際にどうデータを流し込むかは、提供されている帳票作成APIを使って、開発者がプログラミングで行う。
日本語版製品の販売を担当するグレープシティ株式会社 関東支社 エンタープライズツール事業部 大島章太郎氏は、この点について次のように語る。
![]() |
| グレープシティ株式会社 関東支社 エンタープライズツール事業部 大島章太郎氏 |
「ノンプログラミングでさくさく帳票設計をしたい要望もありますが、その用意された機能を超えた思いどおりの帳票を作りたいというシステムインテグレータやエンドユーザーも少なくありません。“この位置に、このデータを、ピンポイントで出力したい”という、緻密な帳票設計ニーズに応えるために、JClass ServerReportはプログラミングでそれを実現するよう作られています」
プログラミングにより出力位置をインチやポイント、センチメートル単位で指定できるため、白地図画像の上に市町村の名前を位置を合わせて印字するというようなこともできるという。
■ JClass ServerReportの帳票設計の仕方
もう少し具体的に帳票設計の流れを説明しよう。まず、“レポートデザイナ”を利用して、帳票の“フレーム”を形作る。JClass ServerReportには、帳票は複数の“フレーム”から構成されるドキュメントであるという思想があり、画面上に、ヘッダのフレーム、文字列フレーム、表のフレーム、フッタのフレームなどという形でパーツをデザインしていく。しかも、ページごとの処理フローも細かく定義できるのだ。
![]() |
| 図1 “レポートデザイナ”でのデザイン例 出典:グレープシティ(クリックして拡大表示) |
利用する書式やテーブルのスタイル自体は、この“レポートデザイナ”で定義できる。フォントの種類や文字のサイズを設定したもの、テーブルのけい線の種類、色、太さを設定したものなどがXML形式で登録でき、プログラミングの際には最初にこれらのスタイルを指定する。このような書式とソースコードの分離によってJavaの再コンパイルを不要とするので、開発生産性を高めることができる。
■ 日本の業務帳票特有の複雑さを再現するための技術
海外製品でありながら、日本の業務帳票特有の複雑な表作成にも対応する。JDBCデータベースや、JavaのGUI技術の1つであるSwingのJTableオブジェクトからのデータインポートに対応、行方向、列方向のセルマージなども行える。JClass ServerReportのAPIは、ドキュメントの中のテーブル、テーブルの中のセルといった具合にツリー構造で分かりやすい設計になっていて、ひとたびプログラミングスタイルを理解してしまえば、フレームやテーブルへのデータの流し込みはルーチンワーク的に作業ができるという。
また、製品にはさまざまなサンプルコードが付属しているため、一般的な帳票であれば、それをカスタマイズする形で設計を進めていけるようだ。
■ 外字・顔文字のような画像の挿入が可能
もう1つ、この製品には文字列データの任意の場所にイメージデータを挿入することが可能というユニークな特長を持っている。それも上詰め、下詰めなど位置も柔軟に指定できる。機能の1つに、出力先フレームを特定せず、コンテンツの流し込みを行うフローというものがあり、これを利用すると、複雑なプログラミングを行うことなく、文字列とイメージデータの入り交じったコンテンツが作成できる。
![]() |
| 図2 顔文字画像を外字のように文字列の途中に埋め込んだ例 出典:グレープシティ |
日本語の帳票でこの機能が一番うまく生かせるのは、“外字”対応だろう。イメージデータとして作成した外字を動的に出力できる。しかも、サーバサイドJava製品だから、クライアント端末に外字データを配布する必要はない。
PDFとRTF、出力フォーマットは2種類 |
レポートの出力形態は、PDF、そしてMicrosoft Wordなどで読み込み可能なRTFの2種類をサポートしている。
なぜ、この2種類なのか。それは、PDFが帳票のフォーマットとして最も標準的ととらえているからである。ほかの帳票関連ツールベンダでは、生成スピードを向上させるため、独自のエンジンやフォーマットを用意する場合もある。しかし、JClass ServerReportはPDF出力が前提であり、それが顧客のニーズに沿ったスピードで生成できるかどうかを考えている。
大島氏によると、「スピードの点はサーバのCPU性能の進化によってカバーできるようになっており、数十枚程度の帳票生成や出力で速度が問題になることはない」という。
■ RTF対応で編集も可能に
また、この製品は、帳票を電子ファイルとして保存するという用途で利用されることが多いという。顧客のシステム環境の中に、紙に出力する環境はすでに存在するため、JClass ServerReportは電子ファイルにするこ とに専念してくれればいいというわけである。そうはいっても、PDFにまったく要望がなかったわけではない。それが編集機能だ。PDFで配布された電子帳票では、エンドユーザーが編集を加えることができない。そこで、バージョン5.5Jになって追加されたのが、RTFフォーマットだったというわけだ。RTFであれば、編集を加えた後に再びPDFに変換して保存するということも可能である。
40/128 bit RC4暗号化方式と透かしで |
もう1つバージョン5.5Jとなっての新機能はセキュリティへの配慮だ。40/128 bit RC4暗号化方式により、PDFファイルを開くためのパスワードやドキュメントの印刷、変更、コピー許可などのセキュリティ設定ができるほか、PDFドキュメントにウォーターマーク(透かし)を設定することもできる。
ただし、前者を実現するには、Java Cryptography Extension(JCE)準拠のRC4暗号化プロバイダが別途必要だ。
姉妹製品との併用で、 |
コラボレーション。これもこの製品の面白い特徴だ。どういうことかというと、姉妹製品である“JClass ServerChart”という製品を併用して、多様なグラフを盛り込んだ帳票を作成できるのだ。Javaイメージオブジェクトとしてグラフを直接JClass ServerReportに取り込めるため、ファイルのI/Oに関するコーディングの必要がないという。
また、グラフの“イメージマップ機能”を利用することによって、ブラウザに表示したグラフのデータポイントから、詳細なPDFレポートへジャンプするといった使い方もできる。
![]() |
| 図3 “JClass ServerChart”を埋め込んだ帳票イメージ 出典:グレープシティ (クリックして拡大表示) |
実は、製品の開発順序からいえば、JClass ServerChartの方が歴史が古いという。米国では、多くの企業でホームページやイントラネットでのレポート作成にJClass ServerChartが採用され、これを体裁よく保存したいというニーズが高くなってきたことで、JClass ServerReportが誕生した。クエスト・ソフトウェアがラインアップしているJavaベースの商用コンポーネントとしては一番人気のあるコンビだという。
■ さらに、バーコード製品とも連携
グレープシティが日本で独自に提供しているコラボレーションもある。それはバーコード対応で、同社が開発したコンポーネント“JBarCode”を利用すれば、一次元バーコード、二次元コードを帳票に埋め込むことが可能だ。
| 中堅中小規模の企業も採用しやすい 比較的安価な価格体系 |
JClass ServerReportを使用するには、2つの製品ライセンスを取得する必要がある。1つは、開発に使用するコンピュータのCPU数分必要なCPU開発ライセンスと、開発ライセンスを使用して作成されたアプリケーションを運用する際に使用するサーバマシンのCPU数分必要なCPU運用ライセンスだ。しかし、比較的安価な価格体系となっており、最小構成であれば100万円を切る。1年間のプレミアムサポートも付属するそうだ。
プログラミングが前提とはいえ、さまざまな顧客の要求にきめ細かく応えることができ、100% Pure Javaで生成されたコンポーネントでマルチプラットフォーム対応であるため、中堅中小規模のシステムインテグレータに帳票開発の切り札として採用されるケースが多いという。
■ @IT関連記事
| Java開発者のためのFAQ集 Java開発者が 最低限押さえておくべきJavaに関する基礎知識、実際のソリューション構築の場面で定石とされるノウハウ、プログラミングTIPSなどのFAQをご紹介していきます Webアプリケーションにおける帳票の実現 |
||
| Eclipse BIRTとスプレッドシートでBIレポーティング 帳票ベンダ・インタビュー(17) Eclipseのレポート生成エンジンであるBIRTやExcel互換のスプレッドシートデータなどを使った製品はデータ分析業務の“壁”を崩せるのか? 「リッチクライアント & 帳票」フォーラム 2007/8/21 |
||
| Biz/Browserの印刷機能を強化する帳票生成エンジン 帳票ベンダ・インタビュー(15) 40万クライアントの導入実績を持つアクシスソフトのBiz/Browserに、Javaのクラスファイルとして提供される帳票生成エンジンが登場した 「リッチクライアント & 帳票」フォーラム 2007/5/17 |
||
| 帳票開発者のニーズにきめ細かく対応、テンアートニ 帳票ベンダ・インタビュー(5) 多様化するニーズに応えられるよう設計されたWebReportCafeの制御エンジン、デザインツール、管理サーバを見てみよう 「Web
Client & Report」フォーラム 2005/7/2 |
||
| 企業基幹系システムの変化から生まれた帳票技術 帳票ベンダ・インタビュー(1) 「帳票」技術は企業システム全体の開発生産性や保守性を左右するという。技術が生まれた背景からウイングアークの谷口氏に聞いた 「Web
Client & Report」フォーラム 2005/2/5 |
||
| Java TIPS − フリーのライブラリを使いPDFを生成する − PDF文書を生成する(PDFLib) − 既存のPDF文書にコンテンツを追記するには |
||
| PDFによるJ2EEリッチクライアント計画 本連載では、J2EEのクライアントにPDFを採用することで、開発者がどのようなメリットを得られるのか、全4回の記事で紹介していく。 第1回 J2EEのMVCモデルを変革する“PDF”の正体とは? 第2回 J2EEを拡張するAdobe LiveCycleの全容 第3回 リッチクライアント環境を生かしたセキュアなBPM 最終回 PDF&Flashで強化されるJ2EEリッチクライアント 「リッチクライアント & 帳票」フォーラム |
||
帳票ベンダ・インタビュー バックナンバー
- 第1回 企業基幹系システムの変化から生まれた帳票技術
- 第2回 疎結合と密結合への両立へ、日本オプロ
- 第3回 帳票でなく、オンデマンドPDFジェネレータという考え方
- 第4回 多彩な出力形式の帳票、キヤノン販売
- 第5回 帳票開発者のニーズにきめ細かく対応、テンアートニ
- 第6回 四半世紀で培った帳票ニーズへの対応力、富士通
- 第7回 全社規模で帳票を電子化して一元管理、JFE
- 第8回 ふかんで見る7社7様の帳票ソリューション
- 第9回 帳票設計/出力フェイズの開発負担軽減、日立製作所
- 第10回 製品ではなく、自社組み立ての「帳票部品」という発想
- 第11回 韓国からの使者、「まずは無料で帳票ツール提供」
- 第12回 オブジェクトの活用が帳票ツールの流れを変えるか
- 第13回 メインフレームからインターネット環境までの大量帳票
- 第14回 ポーラ化粧品のスキンチェックシートを支える帳票とは
- 第15回 Biz/Browserの印刷機能を強化する帳票生成エンジン
- 第16回 “参萬円也”、手形数字出力もできる帳票設計ツール
- 第17回 Eclipse BIRTとスプレッドシートでBIレポーティング
- 第18回 Javaプログラミングなら日本帳票の細部も再現できる
- 第19回 EoD指向のエンタープライズJava用帳票ツール
- 第20回 帳票上でFlashが動くCrystal Reports最新版とは?
- 第21回 ノンプログラミングで電子帳票化しCD-R配布もできる
- 第22回 3DデータのExcel帳票で日本製造業の現場力向上を
- 第23回 Excelを開発環境にして帳票を作ってしまうという方法
- 第24回 データ流通媒体としてのExcel+人の判断が自動連携
TechTargetジャパン
- 次のモバイルアプリはどのフレームワークで作る? (2012/5/24)
スマホアプリの開発を容易にするJavaScriptのフレームワークが続々と増えている。それぞれの良さや仕組み、何がどこまでできるのかを徹底解剖する - 「LESS&専用エディター」でCSSをシンプルに書こう (2012/5/23)
「LESS」はCSS初心者に向けた、シンプルなライブラリだ。「LESS」で、変数などのプログラミングの基礎的な考え方もCSSで学ぼう - 学校が世界一のデジタル環境になったら (2012/5/18)
授業はアーカイブに蓄積され、家からも見られる。家族が授業テーマのアイデアを出す。そんな姿が実現されるかもしれない - 1000万ドル調達も夢じゃないクラウドファウンディング (2012/5/15)
クラウドファンディングは、寄付型でも投資型でもない「購入型」が主流。商品を“開発する前に販売”して開発費用を集める逆転のシステムだ
|
|




