2

Activiti は有望なビジネス プロセス エンジンであり、多くの組織が Activiti を使用してビジネス プロセス管理システムの開発を開始しています。

私の場合、Activiti を使用して特定のビジネス要件を満たす BPM システムを開発したいと考えていますが、Activiti エンジンの機能は私のビジネス要件の約 70% しかカバーしていません。

追加したいビジネス要件のほとんどは、bpmn 関連ではありません。回避策に取り組み、特定のビジネス要件を追加することにしました。

問題は、Activiti プロセス エンジンの機能を拡張するためにどのような方法が望ましいかということです。

現在、2 つの一般的なオプションがあります。

  1. Activiti のソース コードを直接変更する。ソース コードの実装クラスを直接編集する必要がありますか? そのほうが速くなりますが、新しいバージョンへのアップグレードが難しくなるのではないでしょうか? それとも、いくつかの実装クラスを拡張してラップする必要がありますか? この選択は、予期しない動作につながるのではないでしょうか?

  2. Activiti エンジンを依存関係として使用し、その実装クラスの一部を拡張してラップすることにより、新しい機能を追加します。もう 1 つの選択肢は、完全に独立したデータ モデルを使用して、完全に Activiti エンジンの外部に拡張機能を追加することです。適応するための好ましい方法が何であるかはわかりません。

あなたの意見は何ですか?

4

1 に答える 1

1

迅速なオプションは、回避策を見つけて、それがアクティブになるまで待つことです。

もう1つのオプションは、Activiti(http://activiti.org/userguide/#bpmnBusinessRuleTask)に実装されているbusinessTaskを探すことです。これにより、アクティビティとBPMNの「内部」が維持され、標準であるという利点があります。

それでも拡張したい場合は、コードを台無しにしない方が理にかなっていると思います。コードを直接変更すると、新しいActivitiバージョンへのアップグレードが複雑になります。また、他の人によってすでにテストされているコードにバグを導入することはありません。

どのような要件が必要かはわかりませんが、ほとんどの人はBPMNで可能になるはずだと思います。また、アクティビティフォーラムでより具体的なヘルプを求めたり探したりすることもできます。

于 2012-12-17T10:57:14.987 に答える