友達から相談を受けたので、自分がやるなら、という観点での選択肢を列挙。
ワークフロー, Business Process Management, ビジネスプロセス管理システム (BPMS) という分野になるもよう。
SaaSいいかもと思ったけど、通信条件が不安定な場所で使いたいという要望もあったので、便利なフロントエンド作り自身がなく、オンプレ側での提案になるかもしれない。
Python / Django で実装
Viewflow
pip で導入できる Django のライブラリ。ドキュメント、デモも用意されてるなど、非常に揃ってるので、安心して使えそう。
AGPL v3.0 ベースのライセンス提供OSSの他、商用利用向けライセンスも用意されているとのこと。
SpiffWorkflow
- GitHub > SpiffWorkflow
こちらも pip で導入できるエンジン。Python向けなのでDjangoなくてもOK。ドキュメントもあり、良さそうな感じ。
LGPL v3 で提供されており、商用サポートを受けることも可能とのこと。
プラットフォームを使う
Activiti
- Activiti
- GitHub > Activiti/Activiti
- Activitiを使ったワークフローシステムの構築 第1回目:業務フローとActiviti
- Activitiを使ったワークフローシステムの構築 第2回目:ワークフローを描く
Activiti is a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins. Its core is a super-fast and rock-solid BPMN 2 process engine for Java. It's open-source and distributed under the Apache license. Activiti runs in any Java application, on a server, on a cluster or in the cloud. It integrates perfectly with Spring, it is extremely lightweight and based on simple concepts.
Developer Guideなんかも揃ってるし、Dockerでインストールできるイメージがあったりと、活発な印象。
Javaで作られていて、Apacheライセンスで提供されてる。
クラウド使う
Questetra BPM Suite
Questetra BPM Suite は、100% ウェブベースの ビジネスプロセス管理システム (SaaS BPMS) です。
設計担当者(プロセスオーナー)は、業務フロー図・担当ルール・入力画面 の設定を通じて ワークフローアプリ を定義します。 > 作業担当者は マイタスク に表示された作業を処理します。
解決できるワークフローの例が豊富で良いなぁ。これならサーバー運用いらないし、一番高速に対応できそう。
Approval Flows : 申請承認 ももちろん対応。Freeプランもあり(連続15日間の利用がない場合に停止、10ユーザまで登録可能)
その他
友人はRuby入門中と聞いたので、Rubyでの対応方法も少し探してみた。
- Twilio Doc > RUBYおよびRAILSを使用したワークフローの自動化