Posts

Showing posts with the label Drools

CrĂ©er une fonction dans DMN et l’utiliser dans une table de dĂ©cision dans jBPM

 đź’ˇ Introduction Dans jBPM , on utilise souvent des tables de dĂ©cision DMN pour dĂ©finir les règles mĂ©tiers de manière visuelle. Mais il arrive que certaines logiques (calculs, validations, transformations) soient rĂ©pĂ©tĂ©es dans plusieurs dĂ©cisions. 👉 Pour Ă©viter la duplication, vous pouvez crĂ©er une 📦 fonction rĂ©utilisable dans votre modèle DMN et l’appeler depuis vos tables de dĂ©cision, expressions ou contextes . Cela rend vos modèles plus clairs , modulaires et faciles Ă  maintenir . đź§  1️⃣ Qu’est-ce qu’une fonction dans DMN ? Dans DMN, une fonction est un morceau de logique rĂ©utilisable Ă©crit en FEEL (Friendly Enough Expression Language) . Elle peut recevoir des paramètres d’entrĂ©e et renvoyer une valeur. ✅ Exemple simple de fonction FEEL : function(x) x * 2 📊 Vous pouvez la dĂ©finir : Dans un contexte Comme une dĂ©cision distincte Ou sous forme de Business Knowledge Model (BKM) pour la rĂ©utiliser globalement ⚙️ 2️⃣ Pourquoi utiliser des fonctions da...

DMN Functions in jBPM

 đź’ˇ Introduction In jBPM , we often use DMN Decision Tables to define rules visually. But sometimes, the same logic (for calculations, validations, or text manipulation) is needed across multiple rules. Instead of repeating that logic, you can define it once as a 📦 Function inside DMN and reuse it in your Decision Tables, Literal Expressions, or Contexts. This makes your decision models more modular, maintainable, and business-friendly. đź§  1️⃣ What Is a Function in DMN? In DMN, a function is a reusable piece of logic written in FEEL (Friendly Enough Expression Language) . It can accept input parameters and return values just like a normal programming function. ✅ Example of a simple FEEL function: function(x) x * 2 📊 You can define it: Inside a Context As a separate Decision node Or as a Business Knowledge Model (BKM) for global reuse ⚙️ 2️⃣ Why Use Functions in DMN Reason Benefit đź§ľ Reusability Define once, use across multiple decisions ⚙️ Maintainab...

DMN (Decision Model and Notation) dans jBPM

 đź’ˇ Introduction Dans les processus mĂ©tier modernes, de nombreuses dĂ©cisions reposent sur des règles : approbations, calculs de risque, Ă©valuations d’Ă©ligibilitĂ© ou tarifications dynamiques. Au lieu d’Ă©crire ces règles directement dans le code Java, ⚙️ jBPM permet de les gĂ©rer de manière visuelle et indĂ©pendante grâce Ă  📊 DMN (Decision Model and Notation) . Cette approche sĂ©pare la logique de processus (BPMN) de la logique de dĂ©cision (DMN) — pour une automatisation plus flexible, maintenable et orientĂ©e mĂ©tier. đź§© 1️⃣ Qu’est-ce que DMN ? DMN signifie Decision Model and Notation , une norme de l’OMG (Object Management Group). Elle permet de modĂ©liser les règles mĂ©tiers et les dĂ©cisions sous forme de tables de dĂ©cision (Decision Tables) au lieu de les coder manuellement. ✅ En rĂ©sumĂ© : BPMN dĂ©finit comment le processus s’exĂ©cute. DMN dĂ©finit quelle dĂ©cision doit ĂŞtre prise. ⚙️ 2️⃣ DMN dans l’Ă©cosystème jBPM jBPM s’intègre nativement avec le moteur Drools DMN ...

DMN (Decision Model and Notation) in jBPM

 đź’ˇ Introduction In real-world business processes, many workflows depend on decision logic — like approval rules, risk evaluation, eligibility checks, or pricing calculations. Instead of hardcoding this logic into Java, you can externalize and maintain it easily using 📊 DMN (Decision Model and Notation) integrated with ⚙️ jBPM . This approach separates process flow (BPMN) from business decisions (DMN) — making your automation more flexible, maintainable, and business-friendly. đź§© 1️⃣ What is DMN? DMN stands for Decision Model and Notation , a standard defined by OMG (Object Management Group). It allows you to model business rules and decision logic visually — like a table — instead of embedding them in code. ✅ In short: BPMN defines how the process flows. DMN defines what decision to take. ⚙️ 2️⃣ DMN in the jBPM ecosystem jBPM integrates DMN through the Drools DMN engine , which means you can: Model your decisions in a DMN editor Deploy them as part of a...