帳票ベンダ・インタビュー
第3回:ブレインセラーズ・ドットコム株式会社
山田祥寛(http://www.wings.msn.to/)
2005/3/25
帳票でなく、オンデマンド・PDFジェネレータという考え方 |
連載第3回の今回は、オンデマンド・リアルタイムPDFジェネレータ「biz-Stream」の開発を行うブレインセラーズ・ドットコム株式会社(以降、ブレインセラーズ)に伺った。インタビューに応じていただいたのは同社執行役員CTO 伊藤晃一氏だ。
● ブレインセラーズにおける“帳票”の概念
ブレインセラーズ・ドットコム 執行役員CTO 伊藤晃一氏 |
「われわれにとっては、“帳票”という言葉そのものがそぐわない気がします」
これは、インタビューの冒頭、ブレインセラーズにおける“帳票”への取り組みを伺った際の伊藤氏の言葉だ。伊藤氏は続けてこうも語る。
「“帳票”というと、とかく旧来の定型帳票をイメージされるのではないかと思います。しかし、われわれのターゲットは、そうした旧来の“帳票”に限定されません。
インターネットというインフラの下で、ビジネスのやりとりは確実に変わってきています。この中でエンド・ユーザーに対して適切な情報を最適なフォーマットで提供する、そのための総合的なソリューションを作り出すのがわれわれの目的です」
本連載でも繰り返し述べてきたように、“帳票”にはいわゆる社外向けや税務上の確証を目的とした「定型帳票」と社内での報告や分析などを目的とした「非定型帳票」とがある。また、もっと広く目を向ければ、いわゆるユーザーからの入力を受け付ける入力フォームも“帳票”の一種であるといえるだろう。ブレインセラーズは、これらをことさらに区別するのではなく、「その場その時で、いかに最適なユーザー・インターフェイスを提供するか」という視点でのみソリューションを模索してきたベンダだ。
「私たちの製品はユーザーからのニーズを積み上げながら成長してきました。そうした意味で、ユーザーと一緒に作り上げてきたものだといってもよいと思います」と伊藤氏は笑った。
以下では、そんなブレインセラーズの取り組みを、代表的な製品である「biz-Stream」と「FacerLite」と照らし合わせながら紹介していこう。
● インターネット・ビジネスを支えるリアルタイムPDFジェネレータ「biz-Stream」
インターネットのビジネス利用が恒常化した昨今、Webというインフラストラクチャがもたらした功罪も次第と明らかになりつつある。もちろん、Webがこれだけシステム・インフラとして普及したのは、その「功」の部分が評価されたからにほかならないが、Webの認知度がエンド・ユーザーにまで浸透した今日、半面「罪」の部分にフォーカスされることも多くなってきた。いわく、「画面上の出力イメージとプリンタでの出力結果が異なる」「従来帳票のレイアウトを忠実に再現できない」というわけである。
この課題を解決する最適なフォーマットが「PDF(Portable Document Format)」だ。いまさらいうまでもなく、PDFはアドビシステムズ社が公開している配信用文書フォーマットである。代表的なリーダーであるAdobe Readerといえば、ビジネス/パーソナル用途いずれを問わず、ほとんどのコンピュータに導入されており、ドキュメント・プラットフォームとしては事実上の標準であるといえるだろう。PDFならば、フォント情報はもちろん、図形描画、グラフ、バーコードまで、オリジナルのレイアウトを忠実に再現できるし、クライアント環境にもほとんど依存しない。
もっとも、現実のシステム開発は、ただ単にPDFを出力する仕組みを導入すればそれで万事済むというほど単純なものではない。
「インターネット環境では、とかくリアルタイム性が要求されます。また、その性質上、特定タイミングでアクセスが集中することも珍しくありません。インターネット・アプリケーションでPDFを採用するには、パフォーマンスの確保は重要な課題です」(伊藤氏)。
そのような局面で強みを発揮するのが、同社が開発するbiz-Streamだ。biz-Streamは、Javaベースのライブラリを核とする製品だ。そのため、IBM WebSphereやBEA WebLogicなどの主要なアプリケーション・サーバとの相性に優れ、複雑なシステム要求にも柔軟に対応できる(*)。また、biz-StreamではPDFの出力に際して、一切のドライバを介さず、biz-Stream自身が直接にPDF生成を行っている点にも注目だ。これによって採用企業では、「従来の手法に比べ、約5倍程度のパフォーマンスを実現できるようになった」(伊藤氏)という。
(*)COM連携のブリッジが提供されているので、Windows+ASP/ASP.NET環境からも利用可能。 |
図版1 biz-Streamの動作原理 biz-Streamは、レイアウト定義情報を処理するXMLパーサと、実際にPDF文書を生成するライブラリとで構成される製品だ。biz-Streamによって生成されたPDF文書はEntrust、VeriSign社証明書や電子署名ソフトMistyGuard Signed PDF Serverにも対応しており、高セキュリティを要求されるシステムでも安心して利用できる。 |
また、インターネット・ビジネスの特徴として、“帳票”のレイアウト変更が頻々と生じる点が挙げられる。旧来、帳票開発に携わるSEにとって悩みの種は、これらの変更要件に対していかに少ない工数で対応するか、という点にあったはずだ。
その点、biz-StreamではPDF生成のためのレイアウト情報を、独立したXML形式で管理する。biz-Streamは、実行時にデータソースから抽出したデータとレイアウト定義情報を動的に結び付けることでPDF文書を生成している。これによって、レイアウトに変更が生じた場合にも、XML形式の定義ファイルを再設定するだけで対応することができる。以下は、レイアウト定義情報をGUIベースで編集するためのデザイナ・ツールである「biz-Stream レイアウト・デザイナ」だ。
画面1 biz-Stream レイアウト・デザイナによる編集画面 レイアウト・デザイナを利用することで、マウスによる直感的なレイアウト編集が可能になる。 |
もちろん、すでにMicrosoft Excelなどによる電子帳票が(しかも大量に)存在するという場合には、これを一からレイアウトし直すというのは、いかにも迂遠な話だ。そこでbiz-StreamではExcel形式の帳票をbiz-Stream形式のXML定義ファイルに変換するための「biz-Stream レイアウト・デザイナ for Excel」も併せて提供している。レイアウト・デザイナ for ExcelはExcel上で動作するアドオン・マクロであり、これを利用することで、ワンクリックで定義情報への変換を行うことができる。
●表現力に富んだ入力インターフェイスを実現する「FacerLite」
biz-Streamがサポートするのはもっぱら帳票「出力」の局面であるが、当然、入力に際しても“帳票”は欠かせない。入力帳票はユーザーの業務生産性に直結するという意味では、出力帳票以上にエンド・ユーザーの満足度を左右するものだ。しかし、従来のHTMLフォームには、いくつかの致命的な問題点があった。
・表現力に乏しく、頻繁なマウス操作や画面リフレッシュを強制される
・オリジナルの帳票イメージを再現できないため、直感的な入力の妨げとなる
もちろん、これら問題点を克服するためにHTML+CSSを駆使して、リッチなインターフェイスを構築することはできる。しかし、このような入力フォームは、多くの場合、保守性を犠牲にして作成されるものだ。つまり、フォーム・レイアウトに変更が生じた場合にも、即応するのが困難となってしまうことが多い。
しかし、フォーム生成ソリューションであるFacerLite/FacerLite Designerを利用することで、リッチな入力フォームをGUIベースで直感的に設計し、動的にクライアントFacerLite/FacerLite Designerに提供できるようになる。また、biz-Streamのアドオン機能を利用すれば、FacerLite Designerによって作成されたフォームをそのままのイメージでPDF変換することもできるから、それこそ入力から処理、出力までを1個のインターフェイスで統一することも可能であるというわけだ。
画面2 FacerLite Designerによるデザイン画面 FacerLite Designerを利用することで、GUIベースで入力フォームをデザインすることができる。リモート・プロシージャ・コールにも対応した多彩な入力インターフェイスを提供することで、エンド・ユーザーにもなじみやすい操作性を実現している。 |
FacerLite Designerによって出力されるのはXML形式のレイアウト定義ファ イルである。実行時にはレイアウト定義ファイルをFacerLiteが動的に解釈し、Dynamic HTMLファイルを生成するわけだ。出力フォーマットがDynamic HTMLであるということは、クライアント側では特別なプラグインを導入することもないので、不特定多数の顧客を対象とする場合にもクライアント環境を意識する必要はない。
図版2 FacerLitesの動作原理 レイアウト情報から動的に入力帳票を生成する。帳票はDynamic HTMLベースであるため、クライアントには特別なプラグインを導入する必要がない。なお同社では今後、JSP(JavaServer Pages)やStrutsへの対応や、Ajax (Asynchronous JavaScript + XML)化も予定しているという。 |
以上、ブレインセラーズの帳票ソリューションを見てきたが、過去のベンダ・インタビューも含めて、もはや「帳票」という言葉自体が、各ベンダの取り組みにそぐわなくなっているのを強く感じる。そうした意味では、昨今、取りざたされることの多い「リッチ・クライアント」という言葉ですら、単なる過渡期のキーワードにすぎないのだろう。われわれが考えるべきは、このインターネット時代にあって、いかに適時・適所なユーザー・インターフェイスを実現するかという点にほかならない。各ベンダの取り組みの行き着く先に、「帳票」や「リッチ・クライアント」などという言葉の枠組みを超えた「最適なインターフェイス」を期待したい。
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|