Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Workflow 现有的工作流引擎中是否有不';不使用BPMN和BPEL吗?_Workflow_Bpel_Jbpm_Business Rules_Bpmn - Fatal编程技术网

Workflow 现有的工作流引擎中是否有不';不使用BPMN和BPEL吗?

Workflow 现有的工作流引擎中是否有不';不使用BPMN和BPEL吗?,workflow,bpel,jbpm,business-rules,bpmn,Workflow,Bpel,Jbpm,Business Rules,Bpmn,我们的业务计划构建一个相当大的业务应用程序,大约有2000个用户 系统中的许多对象需要一系列稍微复杂的批准、通知等 出于各种原因,我们公司决定拒绝正式使用BPMN或BPEL。我正在寻找的是一个工作流引擎,我可以将这些对象传递给它,作为促进、跟踪和管理这些对象状态的一种手段。我们使用EJB3.1和WebSphereAS实现这个项目 我对工作流引擎的理解正确吗?一切似乎都与BPMN或BPEL联系在一起……我是不是在这里遗漏了一些关于为什么大多数解决方案似乎都实现BPMN或BPEL的信息?一些建议会很

我们的业务计划构建一个相当大的业务应用程序,大约有2000个用户

系统中的许多对象需要一系列稍微复杂的批准、通知等

出于各种原因,我们公司决定拒绝正式使用BPMN或BPEL。我正在寻找的是一个工作流引擎,我可以将这些对象传递给它,作为促进、跟踪和管理这些对象状态的一种手段。我们使用EJB3.1和WebSphereAS实现这个项目


我对工作流引擎的理解正确吗?一切似乎都与BPMN或BPEL联系在一起……我是不是在这里遗漏了一些关于为什么大多数解决方案似乎都实现BPMN或BPEL的信息?一些建议会很好

看看jBPM5,它提供了一个非常灵活的核心,允许您在其上构建自己的领域特定语言。现在提供的语言是BPMN2,但是您可以轻松地添加自己的语言。
Cheers

工作流引擎通常在企业体系结构中扮演积极的角色。它们执行一个声明性流程模型,该模型基本上是一个有向图,由表示活动或任务的节点和表示这些边之间的控制流的边组成。这些边可以用条件注释,以允许表达条件分支/合并。有几种建模语言,如YAWL、XPDL、jPDL、BPEL和BPMN 2.0,它们位于这些抽象概念和一些语法、视觉和功能性糖之上,但只有后者是官方行业标准。这对于避免供应商锁定、使模型可互换(至少在一定程度上)、可由专家和不同工具支持非常重要。在运行时,流程实例基于流程模型创建,并根据模型定义的控制流执行。因此,引擎主动地从一个活动导航到下一个活动,从而“协调”您的业务逻辑。BPMN 2.0和BPEL之间的主要区别在于BPEL与Web服务紧密耦合,即活动调用的业务功能应该呈现为Web服务。因此,如果您想要编排WS-*服务,它仍然是最佳选择,因为BPMN 2.0缺少到具体服务实现的定义良好和标准化绑定。无论如何,我强烈建议使用其中一种标准化语言,因为它们在业界都被广泛接受,并且得到了各种供应商和开源社区的良好支持


我试图更详细地解释这一点,因为我不完全清楚您所说的“促进、跟踪和管理这些对象的状态”是什么意思。这听起来有点像您更感兴趣的是被动地监视对象的状态更改,而不是使用工作流引擎主动控制状态更改。如果这个假设是正确的,那么抽象状态机可能会更好地满足您的需求。

我们正在构建一个产品,它具有BPMN 2.0的迁移路径,但在内部不使用BPMN。我们相信检查表比流程图更容易在实时工作流中使用。但是,它仍然有规则/触发器/条件等-因此它是一种有效地将流程建模为“类固醇检查表”的工具:


请访问

查看,谢谢万托!这正是我需要听到的。这听起来确实像是我们需要使用自己的状态机,或许还需要将其与规则引擎结合起来,但我听说你永远不应该将规则引擎用于工作流相关的事情,所以也许我会避免这种组合。很高兴我能帮上忙。关于规则引擎和工作流引擎的组合:视情况而定。我通常建议在一个流程有一系列决策要做并且决策规则相当复杂并且不应该在流程模型中硬编码时将它们结合起来。因此,经验法则可以是:使用工作流引擎控制流相关的事情,使用规则引擎进行数据流/数据驱动的决策。不过,不要使用规则人为地对显式控制流建模。如果控制流是隐式的,并且是数据触发了状态更改,那么规则引擎就是您的朋友。“在BPMN模型上指定语法约束时,BPMN标准规范相对详细,但在否认其语义时,它是不系统的,有时是不一致的。BPMN缺乏形式语义,阻碍了从语义角度检查BPMN模型正确性的工具支持的开发。”