【问题标题】:Evaluation of Drools Flow with Drools Expert on a web based J2ee project使用 Drools Expert 在基于 Web 的 J2ee 项目中评估 Drools Flow
【发布时间】:2010-11-24 13:14:48
【问题描述】:

我正在评估 drools 流作为具有 drools 专家规则的 wrokflow 引擎。关键评价点:

  • 通过自己的自定义 Web UI 生成自定义规则和工作流
  • 管理员用户可以在 UI 中查看工作流中的所有项目(查看作业队列:当前队列、执行的作业、异常)
  • 规则操作可以是 Web 服务、Java 类,也可以是存储过程
  • 在运行时删除/取消流程定义
  • 与日历/日程安排集成
  • Web Service 可以是规则输入
  • Web 服务可以成为进程中的参与者
  • 运行时编译能力也就是说,规则更改时不会重新启动应用程序
  • 将进程公开为服务

    请任何人提供您对上述领域的意见,以帮助我们进行此评估过程?

【问题讨论】:

  • 我们正在寻找有关上述支持水平标准的专家意见。

标签: java jboss drools rule-engine


【解决方案1】:

让我试着快速回答一下这些要点:

  • 通过自己的自定义 Web UI 生成自定义规则和工作流

您始终可以构建自己的自定义工具,只要您以预期的 DRL 或 xml 格式导出规则和流程。 Guvnor 提供了一些基于 Web 的规则编辑示例。我们正在研究 Oryx 以允许对流程进行基于 Web 的编辑。

  • 管理员用户可以在 UI 中查看工作流中的所有项目(查看作业队列:当前队列、执行的作业、异常)

gwt-console 允许用户登录 Web 应用程序并查看当前运行的实例;任务清单等

  • 规则操作可以是 Web 服务、Java 类,也可以是存储过程

规则操作只是 Java,因此您可以轻松调用所需的任何功能。如果您想要对这些操作进行更多的声明性建模,您可以使用工作项以更具声明性的方式对这些操作进行建模。

  • 在运行时删除/取消流程定义

ksession.abortProcessInstance(id)

  • 与日历/日程安排集成

为此使用可插入的工作项。为此,我们有一个与谷歌日历集成的示例。

  • Web Service 可以是规则输入

工作内存中的任何内容都是规则输入,或者您可以使用 from 子句在规则评估期间提取更多信息;例如来自 myService.getMoreInfo(..) 的 NewData ( .. )

  • Web 服务可以成为进程中的参与者

最好也将其建模为工作项。工作项处理程序将委托给 Web 服务。

  • 运行时编译能力也就是说,规则更改时不会重新启动应用程序

您可以在知识库中动态添加或删除知识(规则和流程)

  • 将流程公开为服务

会话可以直接公开(因此人们可以调用诸如 startProcess 等操作)。如果您想将每个进程公开为单独的服务,我想您可以轻松地围绕它构建一个包装器。

【讨论】:

  • 谢谢克里斯。我们处于评估过程的最后阶段,我们需要澄清以下方面 1. 对于人工任务,我们如何从我的应用程序身份验证服务中为泳道演员 id 分配/关联用户组 2. 在 WSHumanTask 中,我可以编写自己的 Human使用我自己的身份验证服务而不使用 mina 服务器来处理人工任务用户分配的工作项处理程序? 3. 对于工作流持久性,使用 JPAKnowledgeService 会这样做还是我们需要编写持久性逻辑,例如存储、重新检索、更新?谢谢普雷姆
  • 此外,我们还尝试将持久性服务 (JPAKnowledgeService) 配置为指定的 H2db hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/…。当我们启动应用程序时,它会在用户事务上下文查找期间抛出异常 SingleSessionCommandService,因为它返回 null ctx.lookup("java:comp/UserTransaction".);谢谢 Prem 我的项目技术是 Tomcat 6.x 作为 Web 服务器,Spring,Hibernte with Drools。
【解决方案2】:

抛出异常 SingleSessionCommandService 期间 用户事务上下文查找自 它返回 null ctx.lookup( “java:comp/UserTransaction”。);

您需要集成一个 JTA txn 管理器,例如 Atomikos 或 JOTM。我正在使用 Atomikos。

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 2011-12-15
    • 2016-10-03
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多