intra-mart Accel Platform IM-Workflow TERASOLUNA Server Framework プログラミングガイド 第5版 2019-12-01

4. ユーザアプリケーション開発

本章では、 IM-Workflow におけるユーザアプリケーション開発の位置づけについて説明します。

  • IM-Workflow ではワークフローエンジンの機能を提供しており、連携する業務アプリケーション(ユーザアプリケーション)を開発することでワークフローシステムを構築できます。
  • ユーザアプリケーションは、ユーザコンテンツ画面・ユーザプログラム・ユーザアプリケーションデータの3つで構成されます。
  • ユーザコンテンツ画面で入力された業務データはユーザアプリケーションデータとして、ユーザアプリケーション内で管理します。

4.1. ワークフローエンジンとワークフローアプリケーション

ワークフローシステムとは、あらかじめ決められた承認経路に基づき、複数の担当者が電子化された申請書を回覧していくシステムです。 ワークフローエンジンとワークフローアプリケーションの2つで構成されます。

  • 「ワークフローエンジン」

    • 設定された承認経路に従い、タスクを各担当者へ展開します。
    • 案件のステータス・タスクの処理履歴を管理します。
    ../../_images/flow.png
  • 「ワークフローアプリケーション」

    • 担当者がタスクを実行した際に申請書(入力画面)を表示します。
    • 申請書(入力画面)に入力された業務データを管理します。
    ../../_images/detail.png

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は、ユーザアプリケーション(ユーザコンテンツ画面・ユーザプログラム)の呼び出し時にパラメータとして受け取ることができます。