ホームページ  >  記事  >  システムチュートリアル  >  動的な意思決定管理システムについて学ぶ

動的な意思決定管理システムについて学ぶ

WBOY
WBOY転載
2024-01-09 19:30:39740ブラウズ
DMN仕様の概要

第 14 章では、Activiti とルール エンジンの統合と使用について説明しました (正確には、Activiti と Drools ルール エンジンの統合)。 Activiti6 版のリリース後、Activiti は DMN 仕様の実装を開始、つまり Activiti 独自のルール エンジンを実装しており、まだ完成していませんが、プロトタイプは作成されました。この章では、DMN 仕様と Activit ルール エンジンの暫定実装について説明します。

著者がこの本を書いた時点では、Activiti のルール エンジンは正式にリリースされておらず、公式ドキュメントや API にも関連情報は見つかりませんでした。この章の内容は、Activiti のソース コードを参照して著者が執筆したものです。ルール エンジン モジュール。将来の Activiti バージョンでは、ルール エンジンの実装および公開ドキュメントが本書で説明されている内容と矛盾する可能性があります。読者はこの状況を理解することをお勧めします。

DMN登場の背景

DMNとは英語のDecision Model and Notationの略で、直訳すると意思決定モデルとグラフィックスを意味します。前章によると、BPMN は OMG によってリリースされたワークフロー仕様であり、DMN も OMG によってリリースされた仕様です。この仕様は主にビジネス上の意思決定のためのモデルとグラフィックを定義するために使用されます。バージョン 1.0 は 2015 年にリリースされ、最新バージョンは 1.1. で、2016 年にリリースされました。

BPMN は、主にビジネス プロセスの標準化に使用されます。ビジネス上の意思決定のロジックは、PMML などの仕様によって定義されます。たとえば、一部のビジネス プロセスでは、プロセスの方向性を決定するために複数の意思決定が必要であり、それぞれの意思決定は、 BPMN と PMML の間にはギャップがあり、DMN 仕様が登場する前は、意思決定者はビジネスに参加できませんでした。モデルのギャップを埋めるために、意思決定のための仕様とグラフィックスを定義する DMN 仕様が追加され、ビジネス プロセス モデルと意思決定ロジック モデルの間の橋渡しに相当します。

DMN はワークフローと意思決定ロジックの間のブリッジとしてのみ機能しますが、実際には、この仕様には意思決定ロジック部分も含まれており、PMML 仕様で定義されている式言語とも互換性があります。言い換えれば、DMN 仕様を実装するフレームワークには、ビジネス ルールを処理する機能も備わることになります。

アクティビティとよだれ

ワークフロー エンジンとして、Activiti はルール エンジン Drools に匹敵するものではありません。これらはより補完的です。ただし、Activiti は現在 DMN 仕様を実装しており、Drools は PMML 仕様を実装しています。これは、Activiti のワークフロー後エンジンが完成していることを意味します。 , ルール エンジンの機能も含まれており、DMN 仕様に従って、DMN 仕様の実装者は PMML のサポートも提供します。その結果、Activiti のルール エンジンと Drools が競合することになります。

JBoss にはワークフロー エンジン jBPM とルール エンジン Drools が搭載されています。Activiti 自体がワークフロー エンジンです。今回のアップデートで追加されたルール エンジンと合わせて、近い将来、Activiti はワークフロー エンジンの分野に参入すると予想されていますおよびルール エンジン。JBoss と競合できます。

DMN の XML サンプル

DMN は主に意思決定モデルを定義します。BPMN 仕様と同様に、OMG によってリリースされた DMN 仕様には、対応する XML 制約が含まれています。 Activiti の現在のバージョンは決定部分を実装しているため、この章では DMN の決定部分のみについて説明します。 DMN XML ドキュメントの場合、ファイル名の接尾辞は通常 dmn です。コード リスト 15-1 は、単純な DMN ドキュメントです。

コード リスト 15-1: code\15\15.1\sample.dmn

動的な意思決定管理システムについて学ぶ

コード リスト 15-1 の XML ドキュメントは、入力パラメータ、出力結果、および 2 つのルールを含む決定ノードを定義します。コード リストの太字のコードは、startsWith メソッドを使用していることに注意してください。このメソッドは、パラメータ文字列が「Angus」で始まる場合は最初のルールがトリガーされ、パラメータ文字が「Paris」で始まる場合は 2 番目のルールがトリガーされることを定義しています。引き金になった。 XML 文書の各要素の説明については、次の章で説明します。

この記事はオープンソースチャイナコミュニティ[http://www.oschina.net]からの転載です。

以上が動的な意思決定管理システムについて学ぶの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。