Hi Tibor! > why we have two workflow engines in the KIE project
We just have one workflow engine with two models. BPMN and CNCF Serverless Workflow. Adding support to the former was a strategy our community envisioned at the time to leverage the serverless/cloud platforms. Also, it adds support to orchestrate services and events natively from Kubernetes. I don't want to extend too much on this and I don't want to start discussing now why we add support to CNCF Serverless Workflows as I understand this is already something the community agreed to support. Regarding calling DMN from SonataFlow, as Francisco just explained, was just a matter of adding a new function type to the parser since we already support it from our main core workflow engine. Users now will be able to run DMN from their serverless applications, which I think is pretty neat. It covers a wide of use cases out there (like orchestrating services and using DMN in between invocations, pushing events from a DMN invocation, etc.). This will surely add to the DMN and SonataFlow projects more traction. About DRL, same thing. It should be the next step. And having all these technologies playing together out of the box, I believe is what the community expects from the projects from KIE. To exemplify how this will work, take a look at this Camel example with SonataFlow: https://github.com/apache/incubator-kie-kogito-examples/tree/stable/serverless-workflow-examples/serverless-workflow-camel-routes The idea would be the same. Drop the DMN file in your project, declare a function for it, and call it in an operation state [1]. Cheers! [1] https://github.com/serverlessworkflow/specification/blob/main/specification.md#operation-state On Mon, Apr 15, 2024 at 1:04 PM Francisco Javier Tirado Sarti < [email protected]> wrote: > Hi Tibor, > Thanks for opening the topic. > This PR adds support for invoking a DMN file from SonataFlow. > This PR takes advantage of the fact that DMN file invocation is already > supported by jbpm engine and code generator and that the jbpm engine is > already being used both by SonataFlow and BPMN parsers/code generators. > Therefore what this PR does is add DMN support (in a similar way that is > done to BPMN parser) to the sonata workflow parser by just recognizing the > idiom ( a new custom type as per Serverless Workflow specification) > Therefore, Nothing needs to be changed in the jbpm engine or in the coge > generator. > > > On Mon, Apr 15, 2024 at 5:01 PM Tibor Zimányi <[email protected]> wrote: > > > Hi everyone, > > > > I noticed multiple discussions on Zulip and also a PR opened (1) about > > executing DMN from Sonataflow. I am opening this thread (because I didn't > > notice one), so we can discuss, if we want to do it. First of all, I want > > to write, I am not against it. I just want us to be completely sure, that > > it is what we want to do. Because from my perspective, it opens multiple > > other discussions about the KIE workflow portfolio. One of them could be, > > why we have two workflow engines in the KIE project, if we want to > execute > > all file types from everywhere (I read discussions on Zulip about DRL > being > > executed from Sonataflow too). It could imply, that we need a portfolio > > consolidation and similar, because we are able to execute DMN and DRL > from > > the BPMN workflow engine. > > > > What are your opinions please? > > > > Best regards, > > Tibor > > > > (1) https://github.com/apache/incubator-kie-kogito-runtimes/pull/3468 > > >
