こんにちは。平田です。
1/14、15に開催された、Red Hat主催のJBoss BRMS/BPM Suite Deep Dive Workshopに参加しました。
このワークショップでは、主にJBoss BPM Suiteを対象に基本的な使い方や技術情報について、Red Hat本社の製品マネージャからの説明 + ハンズオン形式で学習しました。 ワークショップの内容は次のようなものでした。
- 一日目
- 製品の概要やアップデート内容、開発ライフサイクル、新ワークベンチの機能、サービスタスク(SOAP呼び出し)
- 二日目
- シミュレーション、BAM、REST/JMS API、デプロイ戦略、KIE API
以下、所感です。
プロダクトラインの変更
現在、JBoss Enterprise BRMS 5.3として提供されている製品は、JBoss BPM Suite 6とそのサブセットのJBoss BRMS 6になります。
BPM Suite 6は、実質的に従来製品の後継製品と言えると思います。これに対して名前が同じBRMS 6は、乱暴に言えばjBPMと関連機能を削った(ルールエンジンに特化した)サブセットです。
名前が同じ(Enterpriseはとれてますが)というあたり、混乱を招きそうです。サブスクリプションの料金などはどうなるんでしょうね。
新ワークベンチ
旧GuvnorとjBPM Consoleは刷新・統合され、ワークベンチとなりました。諸々進化しているようですが、使い勝手については旧Guvnorと似たり寄ったりという印象です。
ルールやビジネスプロセスのオーサリングツールは、従来製品のままですが、BPMのフォーム生成が強化されているのとBPMのシミュレーションができるようになっています。フォーム生成が強化されたといっても、ワークベンチを業務アプリのフロントエンドに使うケースは無いでしょうから、デモやBPMのウォークスルーといった用途で使うのだと思います。
構成管理
従来製品では、ルールスクリプトやビジネスプロセスといった「アセット」をJCRに格納していましたが、新バージョンではGitに格納します。思い切った変更ですが、マイナーなJCR実装よりも相互運用性が上がりますし、良いんじゃないでしょうか。
それから、従来製品ではアセットのパッケージングには独自の形式を使っていましたが、設定ファイル入りのJARファイル(KieModule)とMavenリポジトリに変更されました。
KIE API
旧Drools FlowのコードベースをもとにjBPM 5を開発した経緯から、ルールエンジンやワークフローエンジンとの連携にはDroolsのAPIを使っていましたが、新たにKIE(Knowledge Is Everything: きぃ)という統合APIになるようです。
DroolsのAPIは変化が激しく、一向に仕様が安定しませんでしたが、これを機に、せめて利用者向けの公開APIだけでも長く使えるものにして欲しいです。
また、気になった点としては、旧KnowledgeAgentに代わるKieScannerの仕様です。旧KnowledgeAgentは、change-set.xmlを使ってHTTP越し、ないしファイルシステム上のリソースを監視、動的反映できました。一方、KieScannerはMavenリポジトリしか対象としていないように見えますが、この辺りは確認が必要です。
BAM
従来製品ではBAM用のログデータが保存できるだけでしたが、BPM Suite 6ではカスタマイズできるダッシュボードが付属します。
シミュレーション
ワークベンチの新機能として、ビジネスプロセスのシミュレーションが追加されました。あるビジネスプロセス上のタスクに所要時間などを設定し、擬似的な仕事を発生させてスループットを計測する、といったことができます。
5年くらい前に、IBMのBPM製品で似たような機能のデモを見たことがありますが、このようなシミュレーションによってビジネスプロセスや人員配置などを最適化するのだとか。
教科書的にやるのであれば、シミュレーションとBAMと組み合わせてPDCAを回すのでしょう。
まとめ
メジャーバージョンアップということもありいくつか大きな変更がありましたが、さすがにjBPM 3.2から5のときのように右も左も、ということはありませんでした。
個人的にはワークベンチやKIE APIなど、スクラップ&ビルドの繰り返しはそろそろやめてもらって、完成度を高めてもらいたいです。