PDFによるJ2EEリッチクライアント計画(3) Page 1/2
リッチクライアント環境を生かしたセキュアなBPM
アドビ システムズ小島 英揮
2005/12/3
リッチクライアント製品と認識されることは少ないが、PDFは業務システムのクライアントにリッチな機能を提供する機能を持っている。本連載では、J2EEのクライアントにPDFを採用することで、開発者がどのようなメリットを得られるのか、全4回の記事で紹介していく。(編集部)
前回「J2EEを拡張するAdobe LiveCycleの全容」では、「Adobe LiveCycle」(以下、LiveCycle)によりPDFに「フラグ」を打ち込み、機能拡張やセキュリティを実現する方法について説明した。今回はPDFによるプロセス管理ソリューションについて、もう少し詳しく説明したい。
■リッチクライアントとビジネスプロセス管理の融合
LiveCycle製品の中で、ビジネスプロセス管理を実現する製品が「LiveCycle Workflow」(以下、Workflow)である。これはカテゴリ的にはBPM(Business Process Management)製品に位置付けられるが、UI(ユーザーインターフェイス)やデータパッケージにPDFを利用できるところが他社のBPM製品との大きな違いであり、特徴となっている。
一般にリッチクライアント環境は、バックエンドシステムへの入力環境としてとらえられることが多く、BPMやワークフローのフロントエンドインターフェイスに利用されるシーンは少ないかと思われる(逆に、BPMやワークフロー製品が「専用の」フロントエンド環境を持つ場合が多い)。しかしながら、ユーザビリティに優れたリッチクライアントは、ビジネスプロセスの自動化においても効果的に利用できる。
LiveCycleでは、汎用的に利用可能な「PDF+Adobe Reader」というリッチクライアント環境を、J2EEで構築するBPMシステムでも利用することができる。では、その開発手法について説明しよう。
フォーム開発
ワークフロー起票者や承認、決裁者が利用する画面をPDFフォームベースで開発する。ツールは「LiveCycle Designer」(以下、Designer)を利用し、フォームのレイアウトだけでなく、どういう手順やルールで入力、承認をさせるかを設計する。また、入力や承認結果をXMLでハンドリングする場合、どのような構造とするかも併せて規定できる。
Designerでは、既存のXML構造(スキーマやWebサービス、独自XMLなど)をインポートして入力フィールドを自動生成し、それからレイアウトや入力ロジックを作成していくという従来とは逆の開発手法を取ることもできる。実際の業務システムにおいては、フロントエンドの電子化より、バックエンドの電子化の方が先行している場合も多く見られるため、データ構造からフォームを設計するアプローチの方が現実的である場合が多い。
プロセス開発
どのようにビジネスプロセスをルーティングさせるかについての開発環境が「LiveCycle Workflow Designer」(以下、Workflow Designer)である。このツールを使ったビジネスプロセスの定義では、もちろん人と人のワークフローだけでなく、アプリケーションと人、アプリケーションとアプリケーションなど、多様な組み合わせでのプロセス設計が可能だ(図1)。
図1 Workflow Designerの設計画面 |
人が介在するプロセスでは、プロセスルーティングに必要なデータを入力してもらったり、承認や決裁用の情報をプレゼンテーションするためにPDFフォームを利用するわけだが、どのフォームをどのアクションで利用するかも、Workflow Designer上で定義する。PDFフォームに入力された値で、ルーティングプロセスを変更(例えば、購買申請の合計金額が20万円未満なら課長決裁、それ以上なら部長決裁に自動的にルーティングされる、など)するような条件分岐も定義できる。
EJBコンポーネント“QPAC”開発
上記のWorkflow Designerに標準で用意されているコンポーネントでは表現できないプロセスや独自のWebサービス、アプリケーションとの連携などが必要な場合には、拡張部分をQPAC(Quick Process Action Component)というEJBコンポーネントとして開発することができる。この開発は、アドビから提供されるプラグインを使って、Eclipse上で行うことができる。QPACを使えば、既存のJavaアプリケーションとの連携もスムーズに行えるうえ、一度開発したQPACをほかのプロセスでも再利用できるので、その生産性は高い。
実行環境
こうして開発されたフォーム定義やプロセス定義に従い、ビジネスプロセスの自動化を実行するのがWorkflowである。これはほかのLiveCycleサーバ製品群と同様に、J2EE環境上で動作する(Designer、Workflow Designerといった開発ツールは、Windows XPなどのデスクトップ環境上で動作)。これに加えて、ユーザー管理のためのポータルとして「LiveCycle Form Manager」、PDFフォームの生成やデータ処理のエンジンとして「LiveCycle Forms」という製品との連携でBPMシステムが構成される。
ユーザーは、一度ポータル画面にログイン後、自分が利用できるプロセスや、処理すべきタスクを選択すると、必要なPDFフォームが自動的に提示されることになる(図2)。
図2 Workflowの利用者画面 Workflowの開発・運用のステップを紹介したFLASHによるWebツアーを以下のURLより参照できる。 ・Adobe LiveCycle Workflow Webツアー(FLASH) |
(次ページへ続く)
1/2 |
INDEX |
||
PDFによるJ2EEリッチクライアント計画(3) リッチクライアント環境を生かしたセキュアなBPM |
||
Page1 リッチクライアントとビジネスプロセス管理の融合 |
||
Page2 プロセス効率化だけでなく、コンプライアンスにも対応 アーカイブした情報の完全性 QPACで統合するLiveCycleソリューション 開発者支援サイト「Adobe LiveCycle開発者センター」 |
- 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データの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|