Hi Tibor, Thanks for the explanation. I agree with you in the understanding of Sonataflow as low level orchestration which is covering use cases different from BPMN (although using the same process engine) In fact, if you review one of the zulip threads, in that one I'm discarding the DRL support on technical grounds and asking for a use case for DMN (which fits technically, but I agree is in a grey area). Then I recall that two years ago this was already discussed within the Runtimes team (which was larger then) and the use case is an existing, simple DMN file like Traffic Violation, which depending on the result of the rule execution might trigger a call to a Rest Service (to record that the driver is out of points, for example). So, it`s an edge case, probably because DMN is within a grey are itself (it can be understood as just a rule engine or as a business process) In summary, I think the confusion is already there and adding just DMN support to SWF (in the way that it has been done, reusing the existing process engine support) is not increasing it beyond an acceptable point. Therefore, I think we can make some clarification in the upcoming guide documenting the feature (we can agree on the wording, clarifying the use case and clearly stating that DMN, when used inside SWF, should not be understood as a business process)
On Tue, Apr 16, 2024 at 1:07 PM Tibor Zimányi <tzima...@apache.org> wrote: > Hi Francisco, > > thanks for clarification on the mailing list. As I wrote in my first > e-mail, I am not against it. I just want to be sure, this is a thing that > is known publicly, not just from non-official conversations. > > For me personally, I don't see the reasoning to have DMN in Sonataflow, > because DMN is specified as a business friendly (mainly for business > people, not so technical ones) specification. All things you mentioned, > that can be executed, are pure infrastructure functions, highly technical > ones. However, with the clarifications, I will not block this. It is just > my opinion. I always thought of Sonataflow as a low level orchestration > platform and not a business automation workflow engine. I would be very > interested in the opinion of others about this. > > Best regards, > Tibor > > On Tue, Apr 16, 2024 at 12:04 PM Francisco Javier Tirado Sarti < > ftira...@redhat.com> wrote: > > > Hi Tibor, > > There is not any plan, not expectation, that SonataFlow will execute > BPMN. > > That's absurd from my point of view. > > However, executing a decision rule, which always has inputs and outputs, > > maps well with the SWF function idiom (an idiom that already allow a SWF > > definition to invoke REST services, GRPC functions, Java code, Python > > scripts, JQ expressions and Camel, among another stuff). A DRL unit does > > not map so well and I do not think applies to the SWF idiom (can be > forced > > but I do not feel natural, because a DRL unit, implies the existence of > > Java POJO as model, which is not an idiom in the SWF spec), that's why it > > has not been implemented. > > About "strategic implications' ', integration with DMN was already > > discussed as a "nice to have" capability two years ago and was not > > implemented because of time constraints. Recently it has been raised > again > > and now I have time to implement it. Since it was an easy implementation > > that does not have project wide implications (or affecting the incoming > > release), I do not feel there was a reason to discuss it here. > > Now that we are discussing and has been explained, do you still see any > > issue? > > > > > > > > > > > > > > On Tue, Apr 16, 2024 at 10:06 AM Tibor Zimányi <tibor.zima...@gmail.com> > > wrote: > > > > > Hi Ricardo, > > > > > > "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." > > > > > > This is actually the reason why I started the topic in this thread. > > Because > > > what the community expects cannot be decided on informal chats. So what > > is > > > the expectation with these changes please? Is it expected from your > > > perspective e.g. that Sonataflow will also execute BPMN in the future? > > What > > > is the proposal along these changes please? These kinds of things need > to > > > be discussed officially. If not, I will -1 it personally, till we have > an > > > agreement on the mailing list, because this may have strategic > > implications > > > around the whole KIE project. > > > > > > Best regards, > > > Tibor > > > > > > On Mon, Apr 15, 2024 at 6:29 PM ricardo zanini fernandes < > > > ricardozan...@gmail.com> wrote: > > > > > > > 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 < > > > > ftira...@redhat.com> 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 <tzima...@apache.org > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > -- > > > Tibor Zimanyi > > > > > >