web-dev-qa-db-ja.com

bonitasoft bpm vs jBPM vs Activiti

アプリケーション内で使用されるBPMオファリングを評価しています。知りたかった

  1. bonitasoft/jBPMとActivitiの違い
  2. これらの製品の中には、フォーム生成機能を提供するものがありますが、何か良いものはありますか?カスタムWebフォームの代わりに、またはカスタムWebフォームに加えて使用しますか

ありがとう

34
shikarishambu

マニング出版のアクションブックの活動をご覧ください。これはまだMEAPエディションであるため、サンプルの章をダウンロードできます。

「ACTIVITI AND JBPM」というセクションから読み始めます。また、ActivitiとBonitasoftを比較します。

http://www.manning.com/rademakers2/ActivitiMEAPch01.pdf

お役に立てれば。

15
Ayusman

私もそのような研究をしました。具体的なユースケースに関連したキーポイントは次のとおりです。

1。ボニータ:

Bonitaにはゼロコーディングアプローチがあります。つまり、コーディングを必要とせずにプロセスを構築するための使いやすいIDEを提供します。それを実現するために、Bonitaにはconnectorsの概念があります。たとえば、Webサービスを利用する場合、グラフィカルなウィザードを提供します。欠点は、プレーンなXML SOAPエンベロープを手動で作成し、グラフィカルテキストボックスにコピーする必要があることです。このアプローチの問題は、Bonitaが意図したユースケースしか実現できないことです。 Bonitaがコネクタを開発しなかったシステムを統合する場合は、そのようなコネクタを自分でコーディングする必要があり、非常に苦痛です。たとえば、BonitaはSOAP Webサービスを利用するためのSOAPコネクタを提供します。このコネクタはSOAP 1.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ライセンスの下でライセンスされていることです。さらに、コミュニティのサポートは非​​常に弱いです。 2年以上前の投稿がいくつかあり、それらの投稿にはまだ回答がありません。

もう1つの重要なことは、Business-IT-Alignmentです。モデル化プロセスは、ITおよびビジネスアナリストが関与する共同作業です。そのため、両方のユーザーグループに適切なツールが必要です(たとえば、開発者向けのEclipseプラグインと、ビジネス向けの使いやすいWebモデラー)。 BonitaはBonita Studioのみを提供します。これは、マシンにインストールする必要があります。この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-Standardが示唆するようなサービスタスクを提供しません。対照的に、独自のJavaサービスタスクを定義し、エンジンに手動で登録する必要があり、非常に低レベルのプログラミングになります。

Activiti:

最終的に、Activitiを使用しました。これは非常に使いやすいフレームワークベースのエンジンだからです。 Eclipseプラグインと最新のAngularJS Web-Modelerを提供します。このようにして、Business-IT-Alignmentを実現できます。 REST-APIはSpring Securityによって保護されています。つまり、シングルサインオン機能を使用してエンジンを非常に簡単に拡張できます。 Apache License 2.0のため、コピーレフトはありません。つまり、生産性の高い環境で非常に重要な使用法と拡張性の点で完全に自由です。

さらに、BPMNカバレッジは非常に優れています。すべてのBPMN要素が実現されるわけではありませんが、それを行うエンジンは知りません。

Activiti Explorerは、Activiti APIの使用方法を示すデモフロントエンドです。このフロントエンドはVAADINに基づいているため、非常に簡単に拡張できます。コミュニティは非常に活発であるため、問題が発生した場合に非常に迅速に支援を受けることができます。

Activitiは、生産的な使用に非常に重要な外部フォームテクノロジーの優れた統合ポイントを提供します。すべての候補者のフォームテクノロジーは非常に限定的です。したがって、XFormsのような標準のフォームテクノロジーをエンジンと組み合わせて使用​​するのは理にかなっています。そのようなより複雑なものでさえ、formKey-Attributeを介して実現できます。

Activitiはゼロコーディングアプローチを採用していません。つまり、サービスをオーケストレーションしたい場合は、少しコーディングする必要があります。ただし、SOAPサービスとの通信でも、JavaサービスタスクとApache CXFを使用して実現できます。コーディングの労力は少ないです。

私のキーポイントが決定を下すことによって助けられることを願っています。明確にするために、これはActivitiの広告ではありません。適切な製品の選択は、具体的なユースケースに依存します。私たちのプロジェクトで最も重要な点だけを指摘したいと思います。

敬具ベン

36
Ben

BPMの選択についても同じ混乱がありました。これで、研究とActivitiの使用が完了しました。

キーポイント:

  • 作業を始めるのは本当に簡単です。最も一般的に使用されるサーバーApache Tomcatにデプロイできます。
  • 展開用にactiviti-Exploreractiviti-restなどのカップルまたはwarファイルを提供します。 REST APIsは明確で集中しています。 download activiti から同じものをダウンロードできます。
  • Eclipse IDEプロセスダイアグラムを描画するためのプラグインを提供しています。
  • Activitiのコア開発メンバーは、jBPMの同じプロジェクトからのものです。

JBPMを使用している間、デザイナーとdroolsは時々適切に同期されません。 REST APIでさえ、説明的で明確ではありません。

オープンソースとしてのBonitaSoftには、多くの重要な機能がありません。ライセンス版を購入するのは良いことです。

17

@BenSchnarrによって提供された以前の回答に返信したいと思います。透明性のために、私はBonitasoftで働いていると言わなければなりません。

競合他社のソフトウェアについてはコメントしませんが、Bonita BPMで行われたいくつかの声明を修正し、さらに情報を提供したいと思います。

ゼロコードアプローチ

Bonitasoftでは、「ゼロコード」アプローチを信じていません。 Bonita BPMは、次のような自由に いくつかの拡張ポイント を使用しながら、すぐに使用を開始できる、すぐに使用できるツールを提供することについてすべてです。

  • サードパーティシステムと対話するためのカスタムコネクタ
  • UIを作成するためのカスタムウィジェット(プロセスフォームとビジネスビュー)
  • カスタムREST API拡張

これらの拡張ポイントを使用すると、ブロックされることはありません。いつでも独自のアーティファクトを実装して、ニーズに合わせて製品をカスタマイズし、 community と交換できます。

LDAP/AD Sync

Bonita BPMは、サブスクリプションエディションの一部として組織をLDAPまたはADディレクトリと同期するための tool を提供します。 Subscriptionエディションを購入したくない場合は、同じAPIを使用してこのようなツールを自由に再実装できます。

サブスクリプションエディションの目的は、次のような機能を使用してお客様が本番環境に迅速に移行できるようにすることです。

  • 組織の同期
  • ライブアップデート機能
  • 高可用性クラスタリング

Business-IT-Alignment

Bonita BPM Studio(IDE)は、あらゆる種類のプロファイルに適応できます。 Business Analystがプロセスを完全に実装することを期待していないため、起動時にさまざまなユーザープロファイルを選択できます。 「ビジネスアナリスト」プロファイルは、BPMNモデリングビューのみを表示し、より技術的なオプションを非表示にします。

Bonita BPM Engineのライセンス

Bonita BPM Execution Engineは、LGPLでは licensed です。これにより、法的リスクなしに他のソフトウェアに自由に統合できます。

Bonita BPMが処理できるプロジェクトの複雑さ

Bonita BPMのお客様と私は、その特定の見積もりについて意見が分かれます。

Bonitaは、非常に簡単で簡単なプロセスのためのBPMツールです。

複雑で大規模で重要なBPMプロジェクトは、 成功事例 に従ってソリューションで明確に処理できます。

フォーム生成

最新リリースのBonita BPM 7は、カスタムユーザーインターフェイスに関するものです。 AngularJSやBootstrapなどの最先端の技術を使用してフォームとページ(ビジネスビュー)を作成できる I Designer という直感的なブラウザベースのツールを提供します。

このツールで作成されたUIは、高速(Vaadinではなくクライアント側の処理)であり、さまざまなメディアタイプ(電話、テーブル、ラップトップ、デスクトップ)に対応しています。

また、次のような完全なカスタマイズオプションも提供しています。

  • 豊富なインターフェースに取り組むためのカスタムウィジェットの作成
  • Bootstrapテーマの作成と使用
  • カスタムアプリケーションレイアウトの作成
12
POZ

jBPM5の良い点は、DroolsとDroolsの融合と完全に統合されているため、複雑なビジネスシナリオをモデル化して実行できることです。少なくとも私の経験では、プロセスエンジンを取得したら、次のステップはルールエンジンと、おそらく複雑なイベント処理機能と統合することです。 jBPMはこれらすべてをすぐに使用できるので、すべての機能を使用するためにさまざまなAPIを学ぶ必要はありません。

また、jBPM5で完全なライフサイクルをサポートするツールを評価する必要があります。これにより、プロセスとルールを作成するためのツールと、プロセスを管理および保存するためのリポジトリが提供されます。

もう1つの良い点はjBPM5コミュニティです。多くの人がプロジェクトを採用しており、年末までに本が出版されます。

それが乾杯を願っています

8
salaboy

また、Eclipse Public License(EPL)に基づいた包括的で成熟したオープンソースBPMSである Eclipse Stardust もご覧ください。

この回答 で、Activitiと比較するコメントを書きました。

3
RobE

特にWebフォームを調べてデータをパイプ処理する場合は、Typeform、Wufooなどのフォームベンダーが適しています。 Zapierを使用して、フォーム送信から他のアプリにデータをパイプすることができます。

より一般的な BPM機能 および BPMのガイド のレビューを次に示します。エンドユーザー、ユーザーエクスペリエンスのためにアプリ自体を本当に優先すべきです。

0
Amit Kothari