これまではExstreamで何ができるか、いわばWhatをご紹介してきました。今回は、どうやってそれを開発するか、Howについて触れていきます。
Exstreamの開発は、GUIのデザイン環境で行います。
さっくりアジャイルに、きっちり厳密に
テキストボックス、テーブル、画像、チャートといったオブジェクトを配置して、その中に変数を設定していきます。マウスだけでなく、プロパティの設定値で位置を調整できるので、微妙なずれを心配する必要はありません。
実際に動作させるために必要なデータの準備も簡単。初期にはCSVなどで必要なデータを手元で準備し、アジャイルにユーザーと確認しながら開発を進められます。1週間スプリントでも大丈夫。他のチームによる別の開発が進んだ時点で、そこからのXMLに変数をマッピングして、入力データを差し換えるだけで、そのままスムーズにプロジェクトを進めることができます。変数というレイヤーで、レイアウトデザインとデータソースが分離されていることが、ポイントです。また複雑な表現を実現するために、データを加工する前処理機能を個別に準備する必要がないことも、大きなメリット。帳票チームだけで、どんどんスピーディーに進められます。
またコンテナーデザインを使って、同じオブジェクトをWebやEメール向けに再配置し、同時に開発を進めることができます。複数のコンテナーで、Web向け、Eメール向け、それぞれに最適化することができます。もちろん、CSSやHTML、JavaScriptで、さらに追い込んでいくことも可能です。
ともすると帳票の要件や開発は最後に回されがちですが、Exstreamで逆転することができます。長期のプロジェクトであれば、先行して開発し、現行システムに接続して先出しすることさえ可能。お客様にとっての価値である体験を、いわば追い越し車線で優先することができます。
堅牢なレポジトリーで安全にコンカレント開発
ExstreamのデザインリソースはDB上のレポジトリー上にあります。全社あるいはプロジェクト別のデザインデータベースで、複数のアプリケーションとそれを構成するさまざまなオブジェクト群を、一貫したメカニズムで管理します。ユーザーやグループとフォルダーでアクセス権をコントロールし、チェックイン/チェックアウトで同一オブジェクトに対して複数ユーザーが同時に変更する事態を防ぎます。
また、レポジトリはバージョン管理機能も提供。オブジェクトやデザインの承認によって、直接の変更をロックし、稼働中の内容とは別バージョンとして、安全に修正作業を行うことができます。
標準化と共有化のメカニズム
フルカラーの時代、意図した色の指示や実装は、やっかいです。カラーパレットを使って、企業のブランディングに沿った色を、間違いなく簡単に適用できます。またフォントの種類や大きさ、また段落書式も、Word®のようにスタイルで統一可能。メイリオのように行間が気になるフォントでも、9/10行などとすれば大丈夫です。スタイルのセットであるスタイルシートを使い分ければ、ビジネスや商品、あるいは高齢者向けなど、簡単に書式設定全体を切り換えることも可能。文書による規約だけに頼らず、無理なく標準化を徹底できます。
レポジトリーで管理されているため、入力や出力の定義、変数、ページデザイン、ロジックなどはすべて共有、再利用することができます。また共通部品化のために、ページテンプレート、コンポーネント、ライブラリルール、関数、メッセージ、段落/セクションなどの機能を提供しています。例えばページテンプレートでは、用紙サイズやロゴなど、ページレベルで部品化。コンポーネントは、郵送先住所ブロックなど、より小さい要素レベルで部品化。段落/セクションは文言を、メッセージはキャンペーンのためのブロックを部品化。ライブラリルールで条件に基づくダイナミックな動作を規定し、関数で煩雑な計算や文字列処理などを集約できます。
インテグレーションをシンプルに
Part 3でも触れたように、配信のインテグレーションはCommunications Serverに任せることができますが、同様に処理の起動/リクエストのインテグレーションも簡単。コネクターがファイル監視やWeb Serviceなどを処理してくれるので、アプリケーション内ではなにも意識する必要がありません。呼び出し側も、バッチであれ、オンラインであれ、あるいはAPIとして、簡単に疎結合で連携することができます。
テストを効率化
帳票の複雑な動作の検証、変更時の回帰テストは、悩ましい課題です。次のようなExstreamテスト支援ツールが、効率化を支援します。
- Rule Analyzer: テストデータに対するビジネスルールのカバレージをレポートし、漏れを防止します。
- Test Data Capture: テスト用の大量データから、全ルールを通過する、最小のサブセットを収集します。
- Output Compare: 複数のPDF/PostScript/AFP間で出力結果を比較。意図通りの変更結果と、意図しない相違がないことを確認できます。また比較を一括して行うOutput Batch Compareでレポートを生成し、特定の箇所だけをGUIで確認したり、あるいはこれをテスト結果のエビデンスとしたりすることもできます。
実はOutput Compareは、Exstream以外のツールで生成したPDFにも、使うことができます。変更時のテスト効率化のために、とりあえず導入する手も、アリです。
3分で変更、デザイン修正なし
2016年に私たちがOpenTextにExstreamの事業ごと譲渡された時、デモで表示するロゴや文言などを変更しなければなりませんでした。よくあるビジネスシナリオが、自分たちに降りかかってきたわけです。幸いなことに、グローバルでも、日本でも、慌てることなく、設定ファイルを切り換えて、対応完了。私の例では、デモのために移動中の新幹線の中で、およそ3分ほど。もちろん、開発環境でデザインを修正することもありませんでした。
運用で大変な思いをされているビジネスやITの方々にも、Exstreamでぜひ楽になってもらいたいと、つくづく思います。