本当のメリットは1つだけですが、その大きなメリット
は「懸念の分離」です。
したがって、システムにプロセスオーケストレーションロジックが埋め込まれる代わりに、外部構成になります。基本的に地図。それを(はるかに)独立して変更でき、複数のプロセス、複数のバージョンのプロセス、複数のプロセスの複数のバージョンを同時に実行することができ、それはまともなソリューションですぐに使用できます。
歴史的に、SoCの概念は何度も勝ちました-Unixの原則から始まって、「良いことをしてください」、何度も適用されます-ESBのような専用サーバーコンポーネント、異なる永続システム、キャッシング、負荷分散、監視、HTMLからCSSの分割など。
多くの場合、ビジネスプロセスとそのフロールールは、データ、UIの「画面」、またはユーザーの「階層」と直交しています。したがって、システムの他の側面とは別に開発および変更することは完全に理にかなっています。これが、1990年代初頭にBPMが登場した前提でした。
それ以来、この概念をサポートするために多くのツールと言語が作成されました。最もよく知られているのは、プロセスに直接マップする「フローチャート」を作成するためのグラフィカル言語であるBPMNです。大きくて扱いにくい(語彙に100を超える記号がある)ことや、S-BPM(基本記号が5つしかない)などの現代的なアプローチを支持していると人々は不満を述べていますが、現在の業界の慣行は、BPMNまたはその派生物、サブセット、兄弟に固執することです。
あなたはBPMNに満足していないようです:
ここのプログラマーは、ラインとボックスのレイヤーでかなりの量の作業を行っているように見えますが、私にとっては、本当にくだらない、本当に基本的な視覚プログラミング言語のように見えます。
しかし、それほど悪くはありません)その背後には理論があります。また、バージョン2.0は1.0の欠点からいくつかの優れた洞察を得ました。
そこまで行くなら、なんらかのスクリプト言語を使用してみませんか?
命令型パラダイムとスクリプト言語が常に最良の答えとは限りません。おそらく宣言型言語(HTML、CSS、SQL、Drools、またはNginx、Gradle、Maven、Puppetなどの内部言語)で見たように、結果のコードは、「まともな言語」で書かれたバージョンよりもはるかに小さく、きれいになります。 JavaやC ++など。
あなたの他の点に関して:
私が知る限り、この時点でのビジュアルプログラミング言語は、条件とループを備えています。
イベントとトリガーについて調べましたか?BPMNは言語であり、使用する前に習得するか、少なくともそれに慣れる必要があります。
内部では、BPMNはXMLであるため、手で編集したり、生成したりできます。また、XMLはテキストベースであるため、バージョン管理できます。ただし、フローチャートに変換できるXMLを持っているだけで、その助けになるとは思えません。それは正しいことです。独自のパーサーまたはエディターを作成することは、疑わしい利点を持つ困難で費用のかかる作業です。
幸いなことに、市場にはすでにそれを実現するツールがあります。
Activitiは無料で、初期価格(ゼロ)、情報の入手可能性、謙虚さから、開発者とビジネスオーナーの両方に非常に人気があります。最後の点は本当にユニークです。Activiは、パッケージ全体のソリューションに結び付けようとせずに、ビジネスプロセスの管理にのみ焦点を当てています。また、そのオープン性-そのため、JavaとRESTを知っていれば、Javaを起動して実行できます。欠点は、クライアント側、統合、アプリケーション/ビジネスロジック、およびアーキテクチャ全体が開発者に委ねられているため、開発チームが弱い場合は失敗に備えることです。無料ツールの場合、総所有コストは驚くほど高くなる可能性があります;)
スペクトルの反対側にあるペガ(ペガPRPC)は、BPMシステムの支配的な王(ガートナーとフォレスターによる)で、その年齢には驚くほど良さそうです。この巨大なキッチンシンクは、CRM、OCR、および音声認識機能、予測分析、ビジネスルール管理、WYSIWYG UIエディターの機能さえ備えています。ただし、深刻な値札が付いています。莫大な費用がかかるだけでなく、すべての開発はWebアプリ内で行われます。つまり、IE8(およびいくつかのプラグインに加えて、データテーブルの編集にExcelを使用するようなeditingいハック)を使用する必要があります。また、Java、Javascript、またはHTML / CSSの編集もWebブラウザーを使用して行われています。ユニットテスト、IDEコードの強調表示、リファクタリング、そして大好きなプログラミングおもちゃに別れを告げましょう。
それの良い面は?複雑なシステムをすぐに実装できます[ PDF、ページ22を参照]。そして、はい、結果は保証されません。
IBMは最近(企業のペースで)Lombardiを購入し、現在非常に競争力のあるソリューションを提供しています(しかし、すべてをibmで購入する必要があります)。Appianは若いベンダーであり、興味深い洞察と肯定的なフィードバックを持っていますが、それらの記述方法(視覚的な言語に加えて2つの追加のDSL言語)は、私にとって魅力的ではありません。
他のプレーヤーとそのソリューションがあります。それらのほとんどは明白です。たとえば、目、脳、心臓は、単に見ただけで文字通り出血します。だから、あなたの勇気を信頼し、あなたの開発者とユーザーがあなたを嫌わないようにしてください。
閉会メモ:
BPMシステムは、Photoshopが画像に使用するものと同じです。その視覚的なことを恐れないでください。それに適さない仕事をさせないでください(編集が不可能に近い、Photoshopで完全に作成されたWebサイトを思い出してください)。シンプルに保ち、バグを作らないでください;)