50 Decision Modeling Recipes to Accelerate Your Business Rules Projects with Trisotech, Red Hat, and Drools
by Bruce Silver and Edson Tirelli
Publisher: Cody-Cassidy Press
Publication Date: April, 2018
Pages: 268
Amazon: https://www.amazon.com/dp/0982368186
The new Decision Model and Notation (DMN) standard is more than just a graphical notation for creating decision requirements. Using tabular formats called boxed expressions in combination with a new expression language called FEEL, DMN is actually a full-featured language capable of creating production-ready decision services directly executable in Drools 7, Trisotech Cloud Execution, or any other DMN-conformant runtime. The DMN Cookbook provides DMN solutions to dozens of problems that decision logic developers regularly face. The recipes range from techniques for manipulating strings, numbers, dates, and tables to worked out examples for validating input data, handling variations in decision logic, modeling state transitions, and enhancing blockchain-based Smart Contracts. The book shows you how to test and deploy decision services and orchestrate them with Microsoft Flow or a BPMN process. Each example includes discussion and, in many cases, alternatives based on DMN 1.1. FEEL, DMN 1.2 FEEL, Java, and Drools extensions. The models are downloadable in XML format and can be run directly or modified to fit your own decision logic details.
Topics covered include:
- What is DMN?
- How DMN differs from traditional rule languages
- DMN Basics
- DRG elements and DRDs
- Decision tables and other boxed expressions
- FEEL
- Decision services
- Concatenating string lists
- Matching and replacing regular expressions
- Normalizing whitespace
- Converting string to a number or date
- Parsing delimited text
- Custom number functions: sqrt, standard deviation, etc.
- Invoking Java static and instance methods
- Calendar arithmetic
- Handling business calendars
- Manipulating lists and tables
- Filter expressions
- Table queries and joins
- Iteration, including DMN 1.2 enhanced iteration
- Recursion
- Set operations (set contains any), including generalized unary test
- Practical examples
- Uniform Residential Loan Application: validation, handling null values, handling XML input
- GSE Mortgage Eligibility: variations using a central registry
- Canadian Sales Tax: variations without a central registry (dynamic and static composition)
- Timing the Stock Market: modeling a state chart with DMN
- Land Registry: DMN-enhanced Smart Contract
- Decision Service Deployment: automated and manual
- Decision Service Orchestration: BPMN or Microsoft Flow