PDFによるJ2EEリッチクライアント計画(1) Page 2/3
J2EEのMVCモデルを変革する
インテリジェントドキュメント“PDF”の正体とは?
アドビ システムズ小島 英揮
2005/9/22
■MVCモデルと比べ開発・実装は容易になる
一般に、画面遷移を伴うような複雑なUI(User Interface)を設計する場合、通常のJava/Web系システムの仕組みでは、MVCモデルに基づいて、高度に連携されたアプリケーション開発をJavaベースで行う。特に問題となるのがViewとControlの部分であり、実際のサーバ環境に展開してデバッグを行うため、頻度の高いUIの変更には適さない。その点、PDFフォームでUIを作る場合、基本的にViewとControlに相当する部分はPDFフォームの中にすべて記述されるため、開発生産性、メンテナンス性が非常に高い(図2)。
図2 システム開発におけるPDFとMVCモデルの対比 従来JSPやServletで開発していたシステムのUI部分の多くは、PDFのインテリジェントフォーム置き換えられる。これにより、従来のHTMLよりリッチな環境をエンドユーザーに提供できる。 |
実際、大手都市銀行でも顧客向けのUIにPDFフォームの採用注3が進んでいるが、その大きな理由としてはフォーム改変のたびに、いちいち画面制御用のアプリケーションを開発し、サーバに実装、テストをするという手間がかからないことが挙げられている。PDFフォームを設計、改変し、そのPDFファイルをサーバにアップロードするだけで、実装が済んでしまうという簡易さが、Java/Web系システムのUI開発に比べて大きなアドバンテージとなっているのである。
注3 顧客向けのUIにPDFフォームを採用した事例
みずほ銀行が提供する「みずほビジネスWEB」では、インタラクティブなPDFフォームによる入力支援サービスを行っている(別ウィンドウで開きます)。
・http://www.mizuhobank.co.jp/corporate/ebservice/b_web/order.html
PDFフォームの開発ツールによる生産性を見てみよう。PDFフォームを作成する方法は大きく2つに分けられる。
1つは、ワープロや表計算ソフトで描いたフォームレイアウトを「Acrobat Professional」でPDFに変換。その後、フォームフィールド(記入領域)を付与するやり方である。この方法は、既存の資産を利用して入力フォームを作成する非常に簡便な方法だが、やはり画面遷移やバックエンドとの統合を考えるとより高度な開発ツールが必要となってくる。ここで、もう1つの開発方法として紹介したいのが、「Adobe LiveCycle Designer」によるフォーム開発である。
■ダイナミックフォームやオフライン運用、Webサービスとの統合を実現
Adobe LiveCycle Designerでは、既存のPDFのレイアウトインポートも当然可能だが、スクラッチでフォームレイアウトを設計することもできる。もちろんレイアウトは任意に変更可能であるし、設計したフォームの「一部分」だけ(例えば、顧客名記入欄など)をXMLのオブジェクトとして取り出して、ほかのフォームテンプレートに流用することも可能である。つまり、一度開発したフォームレイアウトや入力ロジックは何度でも編集、再利用が可能となるため、開発や改変の頻度が多くなるほど、LiveCycle Designerでフォームを作成するメリットが大きくなる。
また、ダイナミックフォームと呼ばれる、入力内容に応じてインタラクティブかつダイナミックにフォームレイアウトが変わる仕組みを作成することも可能である。この際のフォームレンダリングは、完全にクライアントサイドで行われるため、ネットワークに余計なトラフィックが発生しないだけでなく、オフライン環境下でもインタラクティブな入力フォームを展開することが可能となる。オフラインでの利便性の高さも、Java/Web系システムとの相違点である。
また、入力した情報を任意のXMLスキーマの形式やWebサービスとして送信したり、サーバ上でPDFから抽出することも可能であり、すでに作成済みのJ2EEべースのアプリケーションやデータベースなどとの統合も容易に行える。つまり、PDFフォームの導入は、バックエンドシステムの変更を意味するものではなく、既存のバックエンドシステムをより拡張、効率化するソリューションなのである。
フロントエンドのPDFフォームとバックエンドのシステムの接続性を高めるソリューションとしては、「Adobe LiveCycleシリーズ」というJ2EE対応のサーバ製品群が提供されている。各LiveCycle製品群のポジショニング、機能については次回で詳しく説明したい。(次ページへ続く)
2/3 |
INDEX |
||
PDFによるJ2EEリッチクライアント計画(1) Java/Web系のMVCモデルを変革する“PDF”の正体とは? |
||
Page1 進化するPDFフォーマット PDFの持つマルチレイヤ |
||
Page2 MVCモデルと比べ開発・実装は容易になる ダイナミックフォームやオフライン運用、Webサービスとの統合を実現 |
||
Page3 業務におけるドキュメントの重要性 動的なセキュリティへの対応 |
- 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データの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|