在基于Web的J2ee项目中使用Drools Expert评估Drools Flow

时间:2009-09-01 06:18:18

标签: java jboss drools rule-engine

我正在使用drools专家规则评估drools flow作为wrokflow引擎。关键评估要点:

  • 通过自定义Web UI生成自定义规则和工作流
  • 管理员用户可以在UI中查看工作流程中的所有项目(查看作业队列:当前队列,已执行的作业,例外)
  • 规则动作可以是Web服务,Java类,也可以是存储过程
  • 在运行时删除/取消流程定义
  • 与日历/日程安排集成
  • Web服务可以是规则输入
  • Web服务可以是进程中的角色
  • 运行时编译功能即没有应用程序重新启动规则更改
  • 将流程公开为服务

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

2 个答案:

答案 0 :(得分:1)

让我试着快速回答这些子弹:

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

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

  • 管理员用户可以在UI中查看工作流程中的所有项目(查看作业队列:当前队列,已执行的作业,例外)

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

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

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

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

ksession.abortProcessInstance(ID)

  • 与日历/日程安排集成

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

  • Web服务可以是规则输入

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

中的NewData(..)
  • Web服务可以是进程中的角色

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

  • 运行时编译功能即没有应用程序重新启动规则更改

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

  • 将流程公开为服务

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

答案 1 :(得分:0)

  

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

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