search
HomeSystem TutorialLINUXLearn about dynamic decision management systems

Learn about dynamic decision management systems

Jan 09, 2024 pm 07:30 PM
linuxlinux tutorialRed Hatlinux systemlinux commandlinux certificationred hat linuxlinux video

DMN Specification Overview

In Chapter 14, we explained the integration and use of Activiti and the rule engine. To be precise, the integration of Activiti and the Drools rule engine. After the release of Activiti6 version, Activiti began to implement the DMN specification. In other words, Activiti is implementing its own rules engine. Although it has not yet been completed, it has taken a prototype. This chapter will describe the DMN specification and the preliminary implementation of the Activit rule engine.

When the author wrote the book, Activiti’s rule engine had not been officially released, and no relevant information was found in official documents and APIs. The content of this chapter was written by the author with reference to the source code of the Activiti rule engine module. In future Activiti versions, The implementation and published documents of the rule engine may conflict with the content described in this book. Readers are encouraged to understand this situation.

The emergence background of DMN

DMN is the abbreviation of English Decision Model and Notation, and its literal translation means decision model and graphics. According to the previous chapter, BPMN is a workflow specification released by OMG, and DMN is also a specification released by OMG. This specification is mainly used to define models and graphics for business decision-making. Version 1.0 was released in 2015, and the latest version is 1.1. , released in 2016.

BPMN is mainly used to standardize business processes. The logic of business decisions is defined by specifications such as PMML. For example, in some business processes, multiple decisions are needed to determine the direction of the process, and each decision must be based on its own rules. To decide, and there may be correlation between each decision, there is a gap between BPMN and PMML. Before the emergence of DMN specification, decision-makers could not participate in the business. In order to fill the gaps in the model, the DMN specification is added to define the specifications and graphics for decision-making. The DMN specification is equivalent to the bridge between the business process model and the decision-making logic model.

Although DMN only serves as a bridge between workflow and decision-making logic, in fact, the specification also contains the decision-making logic part, and is also compatible with the expression language defined by the PMML specification. In other words, the framework that implements the DMN specification will also have the ability to process business rules.

Activiti and Drools

As a workflow engine, Activiti is not comparable to the rule engine Drools. They are more complementary. However, Activiti is currently implementing the DMN specification, and Drools implements the PMML specification. This means that Activiti's After the work engine is completed, it also includes the function of the rule engine. According to the DMN specification, the implementer of the DMN specification will also provide support for PMML. As a result, Activiti's rules engine and Drools will compete.

JBoss has the workflow engine jBPM and the rule engine Drools. Activiti itself is a workflow engine. Coupled with the rule engine added in this update, it is estimated that in the near future, Activiti will be in the field of workflow engine and rule engine. , can compete with JBoss.

DMN’s XML sample

DMN mainly defines the decision-making model. Similar to the BPMN specification, the DMN specification released by OMG contains corresponding XML constraints. The current version of Activiti implements the decision part, so this chapter only describes the decision part in DMN. For DMN XML documents, the file name suffix is ​​generally dmn. Code Listing 15-1 is a simple DMN document.

Code Listing 15-1: codes\15\15.1\sample.dmn

Learn about dynamic decision management systems

The XML document in Code Listing 15-1 defines a decision node, which contains an input parameter, an output result and two rules. Note that the bold code in the code listing uses the startsWith method, which defines that if the parameter string starts with "Angus", the first rule will be triggered, and if the parameter character starts with "Paris", the second rule will be triggered. The description of each element in the XML document will be described in subsequent chapters.

The article is reprinted from Open Source China Community [http://www.oschina.net]

The above is the detailed content of Learn about dynamic decision management systems. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:Linux就该这么学. If there is any infringement, please contact admin@php.cn delete
What are the differences in how Linux and Windows handle device drivers?What are the differences in how Linux and Windows handle device drivers?Apr 25, 2025 am 12:13 AM

The differences between Linux and Windows in handling device drivers are mainly reflected in the flexibility of driver management and the development environment. 1. Linux adopts a modular design, and the driver can be loaded and uninstalled dynamically. Developers need to have an in-depth understanding of the kernel mechanism. 2. Windows relies on the Microsoft ecosystem, and the driver needs to be developed through WDK and signed and certified. The development is relatively complex but ensures the stability and security of the system.

Compare and contrast the security models of Linux and Windows.Compare and contrast the security models of Linux and Windows.Apr 24, 2025 am 12:03 AM

The security models of Linux and Windows each have their own advantages. Linux provides flexibility and customizability, enabling security through user permissions, file system permissions, and SELinux/AppArmor. Windows focuses on user-friendliness and relies on WindowsDefender, UAC, firewall and BitLocker to ensure security.

How does hardware compatibility differ between Linux and Windows?How does hardware compatibility differ between Linux and Windows?Apr 23, 2025 am 12:15 AM

Linux and Windows differ in hardware compatibility: Windows has extensive driver support, and Linux depends on the community and vendors. To solve Linux compatibility problems, you can manually compile drivers, such as cloning RTL8188EU driver repository, compiling and installing; Windows users need to manage drivers to optimize performance.

What are the differences in virtualization support between Linux and Windows?What are the differences in virtualization support between Linux and Windows?Apr 22, 2025 pm 06:09 PM

The main differences between Linux and Windows in virtualization support are: 1) Linux provides KVM and Xen, with outstanding performance and flexibility, suitable for high customization environments; 2) Windows supports virtualization through Hyper-V, with a friendly interface, and is closely integrated with the Microsoft ecosystem, suitable for enterprises that rely on Microsoft software.

What are the main tasks of a Linux system administrator?What are the main tasks of a Linux system administrator?Apr 19, 2025 am 12:23 AM

The main tasks of Linux system administrators include system monitoring and performance tuning, user management, software package management, security management and backup, troubleshooting and resolution, performance optimization and best practices. 1. Use top, htop and other tools to monitor system performance and tune it. 2. Manage user accounts and permissions through useradd commands and other commands. 3. Use apt and yum to manage software packages to ensure system updates and security. 4. Configure a firewall, monitor logs, and perform data backup to ensure system security. 5. Troubleshoot and resolve through log analysis and tool use. 6. Optimize kernel parameters and application configuration, and follow best practices to improve system performance and stability.

Is it hard to learn Linux?Is it hard to learn Linux?Apr 18, 2025 am 12:23 AM

Learning Linux is not difficult. 1.Linux is an open source operating system based on Unix and is widely used in servers, embedded systems and personal computers. 2. Understanding file system and permission management is the key. The file system is hierarchical, and permissions include reading, writing and execution. 3. Package management systems such as apt and dnf make software management convenient. 4. Process management is implemented through ps and top commands. 5. Start learning from basic commands such as mkdir, cd, touch and nano, and then try advanced usage such as shell scripts and text processing. 6. Common errors such as permission problems can be solved through sudo and chmod. 7. Performance optimization suggestions include using htop to monitor resources, cleaning unnecessary files, and using sy

What is the salary of Linux administrator?What is the salary of Linux administrator?Apr 17, 2025 am 12:24 AM

The average annual salary of Linux administrators is $75,000 to $95,000 in the United States and €40,000 to €60,000 in Europe. To increase salary, you can: 1. Continuously learn new technologies, such as cloud computing and container technology; 2. Accumulate project experience and establish Portfolio; 3. Establish a professional network and expand your network.

What is the main purpose of Linux?What is the main purpose of Linux?Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version