概要
Dromara Warm-FlowはJavaベースのオープンソースワークフローエンジンで、Apache-2.0ライセンスに基づく軽量な設計が特徴です。本記事では、このエンジンを用いた企業向け承認システムの構築方法について解説します。主な特徴
- 簡潔なデータベース構成:7つのテーブルで全機能を実現
- 双模式設計ツール:BPMN2.0と類似した钉钉風UIの両方をサポート
- 拡張性:会議承認、タスク転送、条件分岐など12以上のシナリオをカバー
技術アーキテクチャ
Warm-Flowは以下の4つの主要モジュールから構成されています:
- warm-flow-core:プロセス定義・インスタンス管理のコアロジック
- warm-flow-orm:MyBatisとMyBatis-Plusをサポートするデータアクセス層
- warm-flow-plugin:式評価やUIコンポーネントの拡張プラグイン
- warm-flow-ui:プロセス設計のための双模式ビジュアルエディタ
導入手順
環境準備
JDK1.8+をインストールし、以下のSQLを実行してデータベースを初期化します:
CREATE DATABASE warmflow DEFAULT CHARSET utf8mb4;
-- SQLファイル:sql/mysql/warm-flow-all.sql
依存関係設定
Spring Bootプロジェクトに以下を追加してください:
<dependency>
<groupId>org.dromara</groupId>
<artifactId>warm-flow-mybatis-plus-sb-starter</artifactId>
<version>最新バージョン</version>
</dependency>
設定ファイル
application.ymlに以下を記述:
spring:
datasource:
url: jdbc:mysql://localhost:3306/warmflow
username: your_username
password: your_password
実装例
以下はプロセス定義の例です:
public class ProcessDefinition {
private String processId;
private String name;
private List<Step> steps;
// ゲッター・セッター
}
応用事例
- OAシステム:有給申請、費用精算など
- ERPシステム:工場生産工程の承認フロー
- CRMシステム:顧客フォローアップの自動化
よくある問題
- デザインツールが起動しない:依存関係の確認とリソースファイルの再パッケージ
- プロセス実行失敗:テーブル構造の再確認と初期化
- 承認者表示異常:式の形式チェックとユーザー検索ロジックの再確認