私は銀行ドメイン関連のプロジェクトに取り組んでおり、そこでは BPM (ワークフロー エンジン) に weblogic JPD フレームワークを使用していました。要件に応じた新しいプロジェクトでは、オープン ソースの BPM フレームワークを使用する必要があります。私はググってJBOSS JBPMに出くわしました。私の懸念は、JBPM が大規模なバンキング アプリケーションで使用するのに十分安定していることです。他にオープン ソースの BPM フレームワーク オプションはありますか。
2 に答える
これが私の2セントです。まず、私は jBPM を使用して約 2 か月になる Java の専門家です。私はコードを詳しく調べていません。(新しい) jBPM 5 の本 (まともです)、まともなオンライン ユーザー ガイド、およびディスカッション グループの質問/回答に依存しています。私はBPMNを初めて使用します。私はいくつかのかなり洗練された商用ワークフロー製品を見てきました。Google で検索したことがあれば、Activiti を見つけたと思いますが、jBPM は私のドメイン経験の範囲です。
1) Kris を侮辱するつもりはありませんが、jBPM の適応範囲がどれほど広いかは疑問です。ソースのコミットが頻繁に行われることに注意してください。私の感覚は、オンライン コミュニティのみに基づいています。たとえば、一部のプロジェクト (Apache Camel など) には素晴らしいドキュメントがあり、最も重要なのはアクティブなユーザー ベースです。jBPM の「専門知識」の領域はかなり小さいと感じています。つまり、ディスカッション グループを見ると、質問への回答のほとんどは、わずか 6 人ほどの人々から寄せられているということです。ありがたいことに、これらのほとんどはプロジェクトの開発/管理 (Kris など) に深く関わっているため、知識が豊富です。彼らは、コードの詳細な知識を必要とする小さなトリック (特別なキャスト、自動的に使用できる変数など) を知っています。
2)私にとって、デモ/例は特定の限られたコンテキストでのみ機能します。たとえば、AS7 と jBPM ツール スイートのすべてをポート 8080 にインストールするのは、含まれている ant スクリプトのおかげで 1 つのコマンドです。ただし、ポート 7070 で立ち上げるのに数日かかりました。表示されるビデオの多くは、見た目よりもセットアップ/複製がはるかに複雑です。
3) ルールを使用しますか? jBPM でルール/drools を使用できるからといって、うまく (または少なくとも直感的に) 統合されているとは思わないでください。それらの使用、トリガーされるタイミング、使用方法は、最も基本的なケースを除いて、常に混乱の原因となっています。
4) Drools Flow と jBPM プロジェクトは約 1 年前に統合されました。それが関連しているかどうかはわかりませんが、jBPM と Drools の間で似たような名前のクラスが異なるパッケージにあることによく混乱します。ドキュメントにパッケージの使用法に関する情報はありません。たとえば、ProcessInstance にアクセスできることを知った場合、通常、最初に行うことは、クラス名を system.out して、それがどの実装であるかを確認することです。これは、ルールからアクセスしているか、作業項目からアクセスしているかによって機能が大幅に異なるためです。ハンドラ、またはスクリプト タスクなど。
5) いくつかの要素、特に永続性に関連する要素がややぎこちないと思います。たとえば、セッション (ksession) で実行されているプロセスのリストを取得したい場合、ksession.getProcessInstances() はうまく機能します....永続性を使用していない場合は、まだ呼び出すことができますが、空のリスト。その場合、ロガーを設定し、ログ テーブルからプロセス ID を見つけることに頼る必要があります。これはすべて簡単に行うことができ、javadoc には getProcessInstance に関する注意事項がありますが、それでもかなり見苦しいと思います。
あなたはオープンソースに注力しているようですね。あなたが開発のためにお金をもらっているのか、それとも誰かを雇うつもりなのか、私にはわかりません。すべてのオープン ソースと同様に、コードは無料ですが、実際に何かを実行することはできません。私はここで予測していますが、jBPM を使用した大規模な製品の開発には、予想よりもはるかに多くの費用がかかると思われます。また、スケーラビリティに関する興味深い (そして良い) 議論については、「jbpm can't scale」をググってください。
私が jBPM をバッシングしているとは思わないでください。私は今日それを使ってプロジェクトを構築していますが、それは非常に多くの「無料」で印象的な機能です。幸運を。HTH
製造現場の多くの場所で使用されています。
また、これは商用製品でもあり、Red Hat は BRMS / BPMS プラットフォームの一部としてサブスクリプションを販売しています: http://www.redhat.com/products/jbossenterprisemiddleware/business-rules/