業界をリードするオープンソースの企業向けコンテンツ管理(ECM)のメーカーであるAlfresco Softwareは、jBPMの作者であり、前のJBoss jBPMのリードで、BPMの権威であるTom Baeyens氏がリードするオープンソースのActiviti Business Process Managment (BPM)プロジェクトを月曜日に発表した。以前jBPMのメンバーであったJoram Barrez氏も、Activitiの中心となる開発者として加わった。Alfrescoは、長い間、製品にjBPMを組み込んで提供してきており、今後もサポートを提供し続ける予定だ。最終的には、Alfrescoは、Activitiも将来のリリースに組み込むことになる。
Activitiは、新しいApache 2ライセンスのオープンソースプロジェクトで、BPMN 2.0をサポートする軽量の組み込みBPMエンジンを提供する。BPMマーケットでは、多くの仕様が存在し、それらの仕様はBPMエンジンやWorkflowエンジンが解決する主要な問題すべてについて完全なものを提供していない。BPELは複雑なプロセスを構築するためには、あまりにも限定的な実行時モデルしか提供していないと批判されることが多い。さらに紛らわしいことに、BPMN 1.0が出てきて、プロセスを記述するために非常にリッチなシンボルの組を定義したのにもかかわらず、BPELが行ったような実行時の意味づけを定義しなかった。多くのベンダは、BPELへの双方向変換が可能なツールを作成したと主張したが、BPMNで記述できる多くのことがBPELでは記述できないので、それは不可能なことだ。
jBPMを含む多くのエンジンは代替品を提供して満足していた。jBPMは、jPDLという、より単純でプロプラエタリなXMLシンタックスを提供している。これは手で書くことができ、アプリケーションに埋め込むことが容易である。
Activitiは、違った方式をとり、BPMN 2.0を取り込むことにした。BPMN 2.0は、プロセスの視覚的な記述方法とともに、実行時の意味づけも定義している。このことによって、標準に準拠し、直接的で、ビジネスアナリストとプロセスの実行時の表現を扱う技術者にとってお互いの間での往復が容易な環境を提供することが可能となる。jBPM(そして、その他のうまく作られたプロジェクト)と同様に、Activitiはプロセスモデルを言語から分離する。そして、モデル上に他のプロセス言語を記述することも、やろうと思えば可能なのだ。jBPMと違い、Activitiはプロプラエタリなフォーマットを持っておらず、BPMN 2.0を実現するために混乱をまねくような変換を必要としない。BPMN 2.0がネイティブなフォーマットなのだ。
Activitiは、ビジュアルモデラー(Activiti Modelerと呼ばれている)とともに配布され、このビジュアルモデラーによって、非常に洗練されたダイアグラムを記述することが可能となる。BPMN 2.0は、とてもコンパクトであり、便利なものだ。ある点では、jPDLより少し冗長な記述が必要だが、スキーマのなかで「ショートカット」が導入されている。これらの「ショートカット」は、最終的に有効なBPMN 2.0に変換することができる。従ってプロプラエタリな拡張を記述する必要がないのだ。
Activitiは軽量であり、容易に既存のアプリケーションに統合することができる。これはSpringフレームワークの目的と合致する。BPMN 2.0のサポートの他にワークフローエンジンの他の利用用途を考える人もいるかもしれない。Spring Web Flowは、Webページのナビゲーションのワークフローを記述するし、Spring Batchは処理するバッチのパイプラインのワークフローを記述する。Spring Integrationはイベントからプロセスの状態を推測するなどだ。SpringSourceはSpring BatchプロジェクトのリードであるDave Syer氏をActivitiチームのなかでSpringコミュニティを代表する位置づけとして配置し、BPMNをSpringユーザに提供しようとしている。
基本的な情報を得たい開発者は、10 Minute Tutorialを見るとよいだろう。さらに学びたい時には、Activiti User Guideを参照するとよい。このプロジェクトは独立して運営されている。Alfrescoの一部ではあるが、独自のコミュニティの構築を促進している。