4. ユーザアプリケーション開発¶
本章では、 IM-Workflow におけるユーザアプリケーション開発の位置づけについて説明します。
- IM-Workflow ではワークフローエンジンの機能を提供しており、連携する業務アプリケーション(ユーザアプリケーション)を開発することでワークフローシステムを構築できます。
- ユーザアプリケーションは、ユーザコンテンツ画面・ユーザプログラム・ユーザアプリケーションデータの3つで構成されます。
- ユーザコンテンツ画面で入力された業務データはユーザアプリケーションデータとして、ユーザアプリケーション内で管理します。
4.1. ワークフローエンジンとワークフローアプリケーション¶
ワークフローシステムとは、あらかじめ決められた承認経路に基づき、複数の担当者が電子化された申請書を回覧していくシステムです。 ワークフローエンジンとワークフローアプリケーションの2つで構成されます。
4.2. IM-Workflow とユーザアプリケーション¶
IM-Workflow はワークフローエンジンとしての機能を提供しており、業務要件に合わせてワークフローアプリケーションを開発することでワークフローシステムを構築することが可能です。本書では、 IM-Workflow が提供するワークフローエンジンに対してユーザが開発するワークフローアプリケーションのことを「ユーザアプリケーション」と表記しています。ユーザアプリケーションは、以下の3つで構成されます。
ユーザコンテンツ画面
- ワークフローの各ノードにて IM-Workflow から呼び出される申請書(入力画面)を表示するためのプログラムです。
- TERASOLUNA Server Framework for Java (5.x) が提供するSpring MVCを利用して開発する手順を説明します。
ユーザプログラム
- 案件処理の様々なタイミングにて IM-Workflow から実行される業務ロジックのプログラムです。
- ユーザコンテンツ画面にて入力された業務データのデータベース・ストレージへの保存などを行います。
- TERASOLUNA Server Framework for Java (5.x) が提供するSpringのDIコンテナを利用して開発する手順を説明します。
ユーザアプリケーションデータ
- ユーザコンテンツ画面にて入力され、ユーザプログラムを通して加工・管理される業務データです。
- データベース・ストレージ等を利用し、ユーザアプリケーション内で管理します。
4.3. ワークフローデータとユーザアプリケーションデータ¶
ワークフローシステムを通じて生成されるトランザクションデータは、以下の2つに分けられます。
- ワークフローデータ
- 案件のステータスなどワークフローの処理に関する情報・ユーザコンテンツ画面やユーザプログラムのパスなど案件にひもづくユーザアプリケーションの情報です。
- 「システム案件 ID」によって、 IM-Workflow 内で管理されます。
- ユーザアプリケーションデータ
- ユーザコンテンツ画面にて入力され、ユーザプログラムを通して管理される業務データです。
- 「ユーザデータ ID」によって、ユーザアプリケーション内で管理します。
4.3.1. システム案件 ID¶
システム案件 ID とは、 IM-Workflow 内で案件(ワークフローデータ)を一意に識別するキーです。
- 案件作成時に(申請または起票を行った際に)、 IM-Workflow 内で採番されます。外部から指定することはできません。
4.3.2. ユーザデータ ID¶
ユーザデータID とは、案件にひもづく業務データ(ユーザアプリケーションデータ)を一意に識別するキーとして、ユーザアプリケーション内で採番するキーです。
- 採番のタイミングは任意です(案件の開始前に採番してもかまいません)。一時保存または申請または起票を行う際に IM-Workflow 側に渡します。
- IM-Workflow に保存されたユーザデータIDは、ユーザアプリケーション(ユーザコンテンツ画面・ユーザプログラム)の呼び出し時にパラメータとして受け取ることができます。