首页 > 编程语言 >Java四大主流开源工作流引擎分析Shark,osworkflow,jbpm,jflow

Java四大主流开源工作流引擎分析Shark,osworkflow,jbpm,jflow

时间:2023-01-28 12:04:51浏览次数:38  
标签:Shark Java 流程 jboss 工作 引擎 jflow


 

首先,这个评论是我从网上,书中,搜索和整理出来的,也许有技术点上的错误点,也许理解没那么深入。但是我是秉着学习的态度加以评论,学习,希望对大家有用,进入正题!

    大主流工作流引擎:Shark,osworkflow,jbpm,jflow!

    Shark的靠山是Enhydra。Enhydra做过什么呢?多了!从j2ee应用服务器,到o/rmapping工具,到这个工作流引擎等等。为什么Shark的持久层采用DODS来实现?就是因为他们是一家人。 

    Jbpm的靠山是jboss。Jbpm3的持久层采用hibernate3来实现,也是因为这个原因吧。Jbpm3的图形化流程定义已经决定嵌入到jboss eclipse IDE中,大家看看jboss eclipse IDE preview 1.5版,我们已经可以用插件方式编辑一个jbpm3流程定义文件了。

    Osworkflow的靠山是opensymphony。我是非常喜欢这个组织的,它做出了很多的好东西。在开发工作流管理系统时,我就推荐用它的另外一个东西:webwork2。笔者主持的开源工作流引擎AgileFlow就是基于ww2+spring+hibernate架构实现的。写到这里我想是不是它可以和struts2进行完美整合?!

     Jflow是从ccflow演化而来的国产工作流引擎,富有太多的业务场景设置。 Ccflow是.net开发的,功能与ccflow完全相同。功能点比较丰富,开发时间配置即可解决绝大部分问题,区别以上几个流程引擎是自己的表单引擎、丰富的场景配置,好在文档全面,内容太多,学习一定的成本。以上三种是中间件,jflow就是成品,半成品。仁者见仁,智者见智吧,国内为数不多的自研开源bpm软件。

    完成本段时说句题外话:现在基本上所有的J2EE应用程序服务器都有自己的工作流引擎,如上面提到的Enhydra,jboss和没有提到的websphere和weblogic等,可见,学习工作流引擎技术的确是非常重要的。

Shark的流程定义语言是XPDL,我们知道,XPDL的两个最重要的概念是Process和Activity。XPDL中的Activity是基于UML1.x中的活动图的概念。活动图天生的适于工作流程建模,它相对于状态图的一个最大的优点是容易做并发线程的分叉控制,这些并发线程可以同时执行也可以顺序执行;它还有一个优点是有泳道的概念,可以控制工作流引擎中的任务的产生。Shark的如来神掌是活动图。



标签:Shark,Java,流程,jboss,工作,引擎,jflow
From: https://blog.51cto.com/u_15343873/6024893

相关文章

  • android运行java
    1、java代码打包成jar1.手动打包可直接执行的jar包1)先使用javac编译java文件,得到class文件2)新建文件,名字任起,比如可以叫manifest,内容如下(注意:1.冒号后面加一个空......
  • java 创建 编辑 PDF
    JAVA操作PDF开源项目操作PDF的JAR主要分成两类,分别是iText系列和ApachePDFBox系列1.1iTextPDF:iText是著名的开放项目,是用于生成PDF文档的一个java类库。通过iText......
  • Java:注解
    注解还记得刚开始学注解时,很天真。傻傻以为创建一个注解类,加到类、方法、属性上就能有某种功能。现在对注解的理解很简单:标记,可以被程序读取到的标记!(注释是程序不会去执......
  • 数据可视化大屏高德地图javascript webAPI开发的智慧治安物联网管理系统实战解析(web
    文章目录​​高德地图开发系列文章目录​​​​前言​​​​一、项目说明​​​​二、核心代码开发​​​​1.引入库​​​​2.构建DOM容器​​​​3.高德地图开发​​​​(1......
  • 在java中实现两层关联的枚举
    在实际开发中,有各种奇葩的需求,我就遇到一次,在调度任务建依赖的时候,需要选择依赖的周期和周期的值比如下面这样,如果你依赖天任务,那么还需要选择今天、昨天还是前七天?周......
  • Java Web项目1:水果管理系统
    JavaWeb项目1:水果管理系统核心参考资料:JavaWeb教程笔记尚硅谷JavaWeb教程项目架构体系单一架构技术体系视图(V):用户的操作界面+数据的动态显示前端技术:HTML/CSS/J......
  • 读Java8函数式编程笔记03_高级集合类和收集器
    1. 方法引用1.1. 一种引用方法的轻量级语法1.1.1. 提供了一种简短的语法1.1.2. 标准语法为Classname::methodName1.2. 凡是使用Lambda表达式的地方,就可以使用1.......
  • java多线程基础小白指南--关键字识别(start,run,sleep,wait,join,yield)
    在学习java多线程基础上,会遇到几个关键字,理解并识别它们是掌握多线程的必备知识,下面,我将通过源码或者程序演示给出我对这几个关键字的理解,如果有不同意见,欢迎在评论区或者......
  • java安全-RMI
    Java安全-RMI1、RMI原理浅析RMI(RemoteMethodInvocation)远程方法调用,是允许运行在一个JVM中的对象调用另一个JVM中的对象方法。两台虚拟机可以是同一台宿主机的不......
  • JavaScript学习笔记—正则表达式
    用来定义一个规则通过这个规则计算机可以检查一个字符串是否符合规则或者将字符串中符合规则的内容提取出来也是JS中的一个对象,所以要使用正则表达式,需要先创建正则表达......