apache / incubator-kie-issues

Apache License 2.0
11 stars 1 forks source link

Drools: implement/enforce single common API #1297

Open gitgabrio opened 4 weeks ago

gitgabrio commented 4 weeks ago

Different engines uses functionally-equivalent method to achieve same behavior (code-generation, model execution).

This is an Architectural Technical Debt.) :

Architectural technical debt is a design or construction approach that's expedient in the short term, but that creates a technical context in which the same work requires architectural rework and costs more to do later than it would cost to do now (including increased cost over time).

Efesto initiative was meant to unify them behind a common, unified API, that would allow

  1. better abstraction for client-code (e.g. kogito-runtimes -> engines
  2. easy integration of new "engines" (completely new engines or different implementations, e.g. TrustyPMML and jPMML)
  3. OOTB engine integration
  4. single-place for new cross-boundary features (e.g. messaging, monitoring, etc) Currently, fully supported engines are DRL and PMML. DMN is ongoping work. BPMN/SWF to evaluate