Posts

Showing posts with the label KIE Server

Problème de sĂ©rialisation de l’API REST jBPM – Causes et solutions

 Lors de l’utilisation des API REST de jBPM , l’un des problèmes les plus frĂ©quents et les plus dĂ©routants rencontrĂ©s par les dĂ©veloppeurs concerne les erreurs de sĂ©rialisation lors du dĂ©marrage d’un processus ou du passage de variables . Ces erreurs apparaissent souvent uniquement Ă  l’exĂ©cution , parfois en environnement d’intĂ©gration ou de production , ce qui les rend plus difficiles Ă  diagnostiquer. Dans cet article, nous allons voir : Pourquoi les problèmes de sĂ©rialisation surviennent avec l’API REST jBPM Les messages d’erreur les plus courants Des solutions pratiques utilisĂ©es dans des projets rĂ©els đź”´ Messages d’erreur courants Vous pouvez rencontrer des erreurs telles que : Cannot find serializer for value 'ObjectValue [...]' ou Cannot write serialized value for variable 'body' : no 'objectTypeName' provided for non- null value ou encore : Unable to deserialize content as ObjectValue Ces erreurs se produisent gĂ©nĂ©raleme...

jBPM REST API Serialization Issue – Causes and Solutions

When working with jBPM REST APIs , one of the most common and frustrating problems developers face is serialization errors while starting a process or passing variables . These issues usually appear only at runtime , often in integration or production environments , making them harder to debug. In this article, we’ll understand: Why jBPM REST serialization issues occur Common error messages Practical solutions that actually work in real projects đź”´ Common Error Messages You may encounter errors like: Cannot find serializer for value 'ObjectValue [...]' or Cannot write serialized value for variable 'body' : no 'objectTypeName' provided for non- null value or Unable to deserialize content as ObjectValue These errors usually happen when: Starting a process instance Completing a task Passing complex JSON or Java objects via REST đź§  Root Causes (Very Important) 1️⃣ Passing JSON as a Plain String A very common mistake is sending JSON l...

Tutoriel jBPM DMN – Utiliser les Fonctions DMN (Fonctions FEEL)

 đźš€ Introduction Dans jBPM , DMN (Decision Model and Notation) est utilisĂ© pour modĂ©liser les règles mĂ©tier , les calculs , et la logique de dĂ©cision . L’un des Ă©lĂ©ments les plus puissants dans DMN est l’utilisation des fonctions , Ă©crites en : FEEL (Friendly Enough Expression Language) Java (via intĂ©gration avancĂ©e) Fonctions externes exposĂ©es au modèle Dans ce blog, nous allons nous concentrer sur les fonctions FEEL , les plus utilisĂ©es et les plus simples Ă  maintenir dans jBPM. đź§© Qu’est-ce qu’une Fonction DMN ? Une fonction DMN est un bloc logique rĂ©utilisable qui peut : ✔ recevoir des paramètres ✔ exĂ©cuter un calcul ✔ retourner un rĂ©sultat Les fonctions peuvent ĂŞtre utilisĂ©es dans : les expressions littĂ©rales , les tables de dĂ©cisions , les contexts , ou comme fonctions nommĂ©es dans le modèle. jBPM supporte : les fonctions FEEL intĂ©grĂ©es , les fonctions FEEL personnalisĂ©es , les boxed functions (fonctions Ă©crites directement dans...

jBPM DMN Tutorial – Using Functions in DMN (FEEL Functions Explained)

🚀 Introduction In jBPM , DMN (Decision Model and Notation) is widely used to model business rules, decision logic, and calculations . One of the most powerful parts of DMN is the ability to use functions written in: FEEL (Friendly Enough Expression Language) Java (via invocation) External logic (via WorkItemHandlers + DMN inputs) In this blog, we will focus on the DMN FEEL functions , the most commonly used and the most powerful inside DMN models. đź§© What is a DMN Function? A function in DMN is a reusable block of logic that can: ✔ Take inputs ✔ Perform calculations ✔ Return an output You can call functions inside decision tables , literal expressions , or context entries . DMN in jBPM supports: Built-in FEEL functions Custom FEEL functions Boxed functions (literal function expressions) 🔵 1. Built-in FEEL Functions FEEL provides many ready-made functions. 👉 Commonly used DMN FEEL functions: Function Purpose string(length) Convert values to st...

Les portées (Scopes) des signaux dans jBPM 7

Image
 đź’ˇ Introduction Les signaux dans jBPM 7 sont essentiels pour crĂ©er des processus orientĂ©s Ă©vĂ©nements et asynchrones . Ils permettent de dĂ©marrer , reprendre ou coordonner plusieurs processus sans lien direct. Mais la portĂ©e d’un signal dĂ©termine jusqu’oĂą il se propage et qui peut le recevoir . Dans ce guide, nous verrons les quatre portĂ©es disponibles dans jBPM 7 : 🔹 PortĂ©e Processus 🔹 PortĂ©e DĂ©faut (Default) 🔹 PortĂ©e Externe 🔹 PortĂ©e Instance de projet đź§  1️⃣ Qu’est-ce qu’un signal dans jBPM ? Un signal est un Ă©vĂ©nement nommĂ© qui peut ĂŞtre Ă©mis (Throw) ou captĂ© (Catch) pendant l’exĂ©cution d’un processus. Type d’Ă©vĂ©nement Description Start Signal Event DĂ©marre un processus lorsqu’un signal est reçu Intermediate Catch Signal Event Attend la rĂ©ception d’un signal Intermediate Throw Signal Event Envoie un signal Ă  un autre processus Boundary Signal Event Interrompt ou poursuit un flux lors de la rĂ©ception đź§© 2️⃣ Vue d’ensemble des portĂ©es de si...