[jboss-jira] [JBoss JIRA] (DROOLS-5372) Investigate PMML abstraction/coexistence

Gabriele Cardosi (Jira) issues at jboss.org
Thu Jun 4 11:00:03 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/4/20 10:59 AM:
-------------------------------------------------------------------

Most cost-effective solution would 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:
## are both invoked? In such case, use a "_property_" to define which one has to be actually invoked
## only one is invoked ? In such case, evaluate how this may be managed for "openshift/docker" images where both modules are expected to be present in the classpath  
# 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



was (Author: gabriolo):
Most cost-effective solution would be:

# 1) create a new _Command_ with API tailored for new kie-pmml (see 
{code:java}
ApplyPmmlModelCommand
{code}
 as example)
# 2) verify the behavior when *both* 
{code:java}
PMMLAssemblerService
{code}
s (from old and new kie-pmml) are present in the classpath:
## are both invoked? In such case, use a "_property_" to define which one has to be actually invoked
## only one is invoked ? In such case, evaluate how this may be managed for "openshift/docker" images where both modules are expected to be present in the classpath  
# 2) inside DMN:
## 1) 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