14장에서는 Activiti와 규칙 엔진의 통합 및 사용, 정확하게 말하면 Activiti와 Drools 규칙 엔진의 통합에 대해 설명했습니다. Activiti6 버전 출시 이후 Activiti는 DMN 사양을 구현하기 시작했습니다. 즉, Activiti는 아직 완성되지 않았지만 자체 규칙 엔진을 구현하고 있습니다. 이 장에서는 DMN 사양과 Activit 규칙 엔진의 예비 구현에 대해 설명합니다.
저자가 책을 집필할 당시 Activiti의 규칙 엔진은 공식 문서 및 API에서 발견되지 않았습니다. 이 장의 내용은 저자가 Activiti 규칙 엔진 모듈의 소스 코드를 참조하여 작성했습니다. . 향후 Activiti 버전에서는 규칙 엔진의 구현 및 게시된 문서가 이 책에 설명된 내용과 충돌할 수 있습니다.
DMN 등장 배경DMN은 English Decision Model and Notation의 약어로 직역하면 Decision Model과 Graphics를 의미합니다. 이전 장에 따르면 BPMN은 OMG에서 발표한 워크플로우 사양이고, DMN도 OMG에서 발표한 사양입니다. 이 사양은 주로 비즈니스 의사결정을 위한 모델과 그래픽을 정의하는 데 사용되며 2015년에 버전 1.0이 출시되었습니다. 최신 버전은 2016년에 출시된 1.1입니다.
BPMN은 주로 비즈니스 프로세스를 표준화하는 데 사용됩니다. 비즈니스 결정의 논리는 PMML과 같은 사양으로 정의됩니다. 예를 들어 일부 비즈니스 프로세스에서는 프로세스 방향을 결정하기 위해 여러 가지 결정이 필요하며 각 결정은 그에 따라 결정되어야 합니다. 이때, DMN 사양이 등장하기 전에는 의사결정자가 비즈니스에 참여할 수 없었습니다. 모델의 공백을 메우기 위해 DMN 사양이 추가되어 의사 결정을 위한 사양과 그래픽을 정의합니다. DMN 사양은 비즈니스 프로세스 모델과 의사 결정 논리 모델 간의 가교 역할을 합니다.
DMN은 워크플로와 의사결정 논리 사이의 가교 역할만 하지만 실제로 사양에는 의사결정 논리 부분도 포함되어 있으며 PMML 사양에서 정의한 표현 언어와도 호환됩니다. 즉, DMN 사양을 구현하는 프레임워크는 비즈니스 규칙을 처리하는 기능도 갖게 됩니다.
액티비티와 잠꼬대워크플로 엔진으로서의 Activiti는 규칙 엔진 Drools와 비교할 수 없습니다. 그러나 현재 Activiti는 DMN 사양을 구현하고 있으며 Drools는 PMML 사양을 구현하고 있습니다. 엔진도 포함될 예정이며 DMN 사양에 따라 DMN 사양 구현자는 PMML에 대한 지원도 제공할 예정입니다. 결과적으로 Activiti의 규칙 엔진과 Drools가 경쟁하게 됩니다.
JBoss에는 워크플로 엔진 jBPM과 규칙 엔진 Drools가 있습니다. Activiti 자체는 이 업데이트에 추가된 규칙 엔진과 결합되어 가까운 미래에 Activiti가 해당 분야에서 좋은 결과를 얻을 수 있을 것으로 예상됩니다. 워크플로우 엔진과 규칙 엔진의 경쟁.
DMN의 XML 샘플DMN은 주로 의사결정 모델을 정의합니다. BPMN 사양과 유사하게 OMG에서 발표한 DMN 사양에는 해당 XML 제약 조건이 포함되어 있습니다. 현재 버전의 Activiti에서는 결정 부분을 구현하므로 이 장에서는 DMN의 결정 부분만 설명합니다. DMN XML 문서의 경우 파일 이름 접미사는 일반적으로 dmn입니다. 코드 목록 15-1은 간단한 DMN 문서입니다.
코드 목록 15-1:code1515.1sample.dmn
코드 목록 15-1의 XML 문서는 입력 매개변수, 출력 결과 및 두 가지 규칙을 포함하는 결정 노드를 정의합니다. 코드 목록의 굵은 코드는 매개 변수 문자열이 "Angus"로 시작하면 첫 번째 규칙이 트리거되고 매개 변수 문자가 "Paris"로 시작하면 두 번째 규칙이 트리거되도록 정의하는 startWith 메서드를 사용합니다. 트리거되었습니다. XML 문서의 각 요소에 대한 설명은 다음 장에서 설명됩니다.
이 기사는 오픈 소스 중국 커뮤니티 [http://www.oschina.net]에서 재인쇄되었습니다.위 내용은 동적 의사결정 관리 시스템에 대해 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!