[jboss-jira] [JBoss JIRA] (DROOLS-5372) Investigate PMML abstraction/coexistence
Gabriele Cardosi (Jira)
issues at jboss.org
Fri Jun 5 04:59:00 EDT 2020
[ https://issues.redhat.com/browse/DROOLS-5372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14136707#comment-14136707 ]
Gabriele Cardosi edited comment on DROOLS-5372 at 6/5/20 4:58 AM:
------------------------------------------------------------------
Most cost-effective solution could be:
# create a new _Command_ with API tailored for new kie-pmml (see
{code:java}
ApplyPmmlModelCommand
{code}
as example)
# verify the behavior when *both*
{code:java}
PMMLAssemblerService
{code}
s (from old and new kie-pmml) are present in the classpath ( "openshift/docker" images):
## only one is invoked; evaluate how this may be managed when both modules are expected to be present in the classpath
# different issue for the PMMLRuntime, since it is defined and used in the new kie-pmml but not in the old one
# Define an _environmental_ variable used to choose the implementation *but only if both are presents* (this variable is ignored if only one implementation is present)
# Inside both PMMLRuntimes.getResourceType, and a verification snippet that *if both implementations are present, consider the variable*
# inside DMN:
## inside
{code:java}
AbstractPMMLInvocationEvaluator.PMMLInvocationEvaluatorFactory.newInstance(...)
{code}
add an "if" to choose wich kie-pmml implementation (old or new) is to be used when the jpmml one is not in the classpath
# Code written for *old* kie-pmml will be incompatible for new one (and the other way around)
was (Author: gabriolo):
Most cost-effective solution could be:
# create a new _Command_ with API tailored for new kie-pmml (see
{code:java}
ApplyPmmlModelCommand
{code}
as example)
# verify the behavior when *both*
{code:java}
PMMLAssemblerService
{code}
s (from old and new kie-pmml) are present in the classpath ( "openshift/docker" images):
## only one is invoked; evaluate how this may be managed when both modules are expected to be present in the classpath
# different issue for the PMMLRuntime, since it is defined and used in the new kie-pmml but not in the old one
# inside DMN:
## inside
{code:java}
AbstractPMMLInvocationEvaluator.PMMLInvocationEvaluatorFactory.newInstance(...)
{code}
add an "if" to choose wich kie-pmml implementation (old or new) is to be used when the jpmml one is not in the classpath
> Investigate PMML abstraction/coexistence
> -----------------------------------------
>
> Key: DROOLS-5372
> URL: https://issues.redhat.com/browse/DROOLS-5372
> Project: Drools
> Issue Type: Task
> Reporter: Gabriele Cardosi
> Assignee: Gabriele Cardosi
> Priority: Major
> Labels: TrustyAI
>
> New and old PMML implementations should live together for some time.
> USer should be able to choose implementation.
> Consider creating a "proxy" pmml-module that
> 1) declare PMMLAssemblerService
> 2) declare PMMLRuntime
> 3) delegate actuial executioin based on some variable to actual implementation (ppml-old - pmml-new, jpmml)
> This "wrapper" should also be invoked by ApplyPmmlModelCommandExecutorImpl
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
More information about the jboss-jira
mailing list