昨日、関西IT勉強宴会に参加してきたので個人メモ。
詳細なまとめは専門サイトなり勉強会のまとめなりで。
お題はBPM(
Business Process Management)。
まず、BPMってよく分からない。
BusinessをProcess化してManagementする。
ちょっと具体的に書くと、業務をフローにして運用する。
継続的に分析して、改善して…の繰り返し。
ここまでの考え方はまぁ分かる。
概念が何となーく分かったところで、BPMを扱うツールたる「BPMS」の使い方や、既存システムとの連携の仕方が分からないとどうにもならない。
なので、以下に簡単にまとめます。
■BPMSの使い方
①プロセスとデータをモデリングする。(描く)
プロセスはフロー、データはテーブルレイアウトのイメージ。
※データが複数レコード持てるのかは不明。
②プロセスインスタンスを生成する。
バッチキックのイメージ。
例えば、既存システムからあるタイミングでキックされることで、プロセスが開始される。
③各プロセスを実行(処理)する。
例えば、データの値を入力する、承認する、など定義したプロセスの内容を実施して
Questetraが勝手に抽出してくれるWebフォームで入力できる。
と、これが基本。
今回の勉強会ではあまり触れなかったが、恐らく色々と分析ができるはず。
あと、データはプロセスに紐付くプロセスデータとプロセスを跨るテーブルデータがあるらしい。
■既存システムとの連携の仕方
①Http
②API
③メール
④スケジュールにもリアルにもできるみたい。
既存→BPMSならリアルもスケジュールもないんだろうけど、
BPMS→既存でリアルにするなら、既存側に常駐が要りそう。
■BPMの観点
①人間中心
②システム中心
③ドキュメント中心
があるとのこと。
さて、ここまでがBPMSとは、使い方、連携方法、について。
次に、どういうケースで適用できるのか、について。
■業務の一部を切り出す
①棚卸業務の一部(実際の棚卸作業)のみをBPMSにしてしまう。
1)既存システムで担当者割り振りして、BPMSに引き渡す。
※特定のレコードデータを渡してプロセスを生成する。
2)BPMSで実際の棚卸作業を実施する。
3)BPMSのプロセス完了で既存システムにデータを返す。
■業務全体をBPMSにしてしまう。
①サブシステム丸ごとBPMSにしてみました!な感じ。
②BPMが、経営レベルの観点で見て、全体のプロセスを改善・最適化することが目的なので、ある意味正解のはず。
■まとめ
①ポイント(勉強会での)
・部分抽出するなら、
単純なステータスの繊維とみなせるDBのサブセットを切り出す。
(BPMS引渡し済み、返却済みのステータスが必要)
・既存システムとBPMSの関連は、サブシステム同士の関係に似てる。
※連携はリアルにかなり近く、密接だが。
②所感
・余り疎結合じゃない。
SOAとかその辺を意識するなら疎結合な仕様の検討は必要かもしれない。
→そもそも、とりあえず業務を切り出して、プロセスフローの継続的改善を目的にしてるので、
最初から疎結合にする必要性もないし、するべきではないと思う。
・適用範囲や深さは如何様にもできるので、色々試してみるといいかも。
1)適用範囲が「大きい」のは対象が経営レベルで、「小さい」のは各業務レベル。
2)深さは、適用範囲が大きい場合に、どこまで細かくBPMSで扱うか。
・サブシステムとして考えてしまうと、システム的な切り出し方をしてしまいそう。
あくまでBusinessProcessのManagemetであることを忘れないようにしよう。
■最後に
今回の勉強会で使用したのは「Questetra BPMS」。
Saas型でブラウザ上で完結する。
詳細は別途調べてみる予定。
※非常に簡便なBPMSなので、大手ベンダーのBPMSとは仕様や勝手が異なるはず。