私もそういう研究をしました。具体的なユースケースに関連するキーポイントは次のとおりです。
- ボニータ:
Bonitaはゼロコーディングアプローチを採用しています。つまり、コーディングを必要とせずに、使いやすいIDEを使用してプロセスを構築できます。それを実現するために、Bonitaにはコネクタの概念があります。たとえば、Webサービスを利用したい場合は、グラフィカルなウィザードが提供されます。欠点は、プレーンなXML SOAPエンベロープを手動で記述し、それをグラフィカルテキストボックスにコピーする必要があることです。このアプローチの問題は、Bonitaが意図したユースケースしか実現できないことです。Bonitaがコネクタを開発しなかったシステムを統合したい場合は、そのようなコネクタを自分でコーディングする必要があり、これは非常に面倒です。たとえば、Bonitaは、SOAPWebサービスを利用するためのSOAPコネクタを提供しています。このコネクタはSOAP1.2でのみ機能し、SOAP 1.1では機能しません(http://community.bonitasoft.com/answers/consume-soap-11-webservices-bonita-secure-web-service-connector)。SOAP 1.1を使用するレガシーアプリケーションがある場合、このシステムをプロセスに簡単に統合することはできません。同じことがデータベースにも当てはまります。専用データベースバージョン用のデータベースコネクタはごくわずかです。コネクタと一致しないバージョンがある場合は、これを自分でコーディングする必要があります。
さらに、Bonitaは無料のコミュニティエディションでLDAPまたはActive Directory Syncをサポートしていません。これは、実稼働環境にとって非常に優れています。考慮すべきもう1つのことは、BonitaはGPL / LGPLライセンスの下でライセンスされているため、Bonitaを別のエンタープライズアプリケーションに統合するときに問題が発生する可能性があることです。さらに、コミュニティのサポートは非常に弱いです。2年以上前の投稿がいくつかありますが、それらの投稿にはまだ回答がありません。
もう1つの重要なことは、Business-IT-Alignmentです。プロセスのモデリングは、ITとビジネスアナリストが関与する共同作業です。そのため、両方のユーザーグループに適切なツールが必要です(たとえば、開発者向けのEclipseプラグインや、ビジネスマン向けの使いやすいWebモデラー)。BonitaはBonitaStudioのみを提供しており、マシンにインストールする必要があります。このIDEは非常に技術的であり、ビジネスユーザーには適していません。したがって、BonitaとのBusiness-IT-Alignmentを実現することは非常に困難です。
Bonitaは、非常に簡単で簡単なプロセスのためのBPMツールです。ゼロコーディングアプローチのため、ラーニングカーブは非常に低く、モデリングを非常に高速に開始できます。必要なプログラミングスキルが少なくて済み、コーディングを必要とせずにプロセスを実現できます。しかし、プロセスが非常に複雑になるとすぐに、柔軟性がないため、Bonitaは最善のソリューションではない可能性があります。Bonitaが意図したユースケースしか実現できません。
jBPM:
jBPMは、多くの機能を備えた非常に強力なオープンソースBPMエンジンです。Webモデラーは、一部のvan der Aalstワークフローパターン(workflowpatterns.com)のプレハブモデルもサポートしています。jBPMはEclipse統合とWebベースのモデラーを提供するため、Business-IT-Alignmentは実現可能です。少し注意が必要なのは、フォームを定義できるのはWebモデラーでのみであり、私が知る限り、Eclipseプラグインでは定義できないことです。要約すると、jBPMは企業で使用するのに適した候補です。私たちの目玉はスケーラビリティでした。jBPMは、Rules-EngineDroolsに基づいています。これにより、プロセスインスタンス全体がデータベース内のBLOBとして永続化されます。これは、検索とスケーラビリティを検討する際の重要なショートッパーです。
さらに、複雑さのために学習曲線は非常に高くなります。jBPMは、BPMN標準が示唆するようなサービスタスクを提供しません。対照的に、独自のJavaサービスタスクを定義し、それらをエンジンに手動で登録する必要があるため、プログラミングのレベルが非常に低くなります。
アクティビティ:
結局、これは非常に使いやすいフレームワークベースのエンジンであるため、Activitiを使用しました。Eclipseプラグインと最新のAngularJSWebモデラーを提供します。このようにして、Business-IT-Alignmentを実現できます。REST-APIはSpringSecurityによって保護されています。つまり、シングルサインオン機能を使用してエンジンを非常に簡単に拡張できます。Apache License 2.0のため、コピーレフトはありません。これは、生産的な環境で非常に重要な使用法と拡張性の点で完全に自由であることを意味します。
さらに、BPMNカバレッジは非常に良好です。すべてのBPMN要素が実現されているわけではありませんが、それを実行するエンジンはわかりません。
Activiti Explorerは、ActivitiAPIの使用法を示すデモフロントエンドです。このフロントエンドはVAADINに基づいているため、非常に簡単に拡張できます。コミュニティは非常に活発です。つまり、問題が発生した場合に非常に迅速に支援を受けることができます。
Activitiは、生産的な使用法にとって非常に重要な外部フォームテクノロジーの優れた統合ポイントを提供します。すべての候補者のフォームテクノロジーは非常に制限されています。したがって、XFormsのような標準的なフォームテクノロジーをエンジンと組み合わせて使用することは理にかなっています。このようなより複雑なことでさえ、formKey-Attributeを介して実現できます。
Activitiはゼロコーディングアプローチに準拠していません。つまり、サービスをオーケストレーションする場合は、少しコーディングが必要になります。ただし、SOAPサービスとの通信でさえ、JavaサービスタスクとApacheCXFを使用して実現できます。コーディングの労力は少ないです。
私の要点が決断を下すことで役立つことを願っています。明確にするために、これはActivitiの宣伝ではありません。適切な製品の選択は、具体的なユースケースによって異なります。私たちのプロジェクトで最も重要な点だけを指摘したいと思います。
よろしくベン