三大主流工作流引擎技术分析与市场预测

本文分析了Shark、osworkflow及jbpm三大主流开源工作流引擎的技术特点,并预测了它们未来的市场趋势。Shark凭借XPDL流程定义语言获得优势地位;osworkflow采用FSM模型进行状态管理;而jbpm则结合了状态图、活动图和PetriNet的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三大主流工作流引擎技术分析与市场预测1.从《功夫》说起时下的新新人类看到我,一定会认为在下是个十足的老古董,这不,《功夫》这样的片子我到今年2月底才看。不过看过《功夫》,我想的一定比一般的人多:周星星

 

浪迹江湖,和他胖子大哥出去敲竹杆时,为什么要他大哥胸前画两把斧头?找个假靠山呗!装是斧头帮的人才不会被人欺负啊。

 

 

这让我想到年前的一则新闻:jbpm joins jboss and becomes jboss-jbpm。也就是说了,jbpm找了个靠山jboss,以后不用自己在外流浪了。

 

 

好,我们转入正题,谈这里说的三大主流开源工作流引擎:Shark,osworkflow,jbpm。

 

 

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

 

 

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

 

 

Osworkflow的靠山是opensymphony。我是非常喜欢这个组织的,它做出了很多的好东西。在开发工作流管理系统时,我就推荐用它的另外一个东西:webwork2。笔者主持的开源工作流引擎AgileFlow就是基于ww2+spring+hibernate架构实现的。

 

 

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

 

 

2.如来神掌

光有靠山是不行的,周星星加入了斧头帮还不是被邪神打扁了头?要救自己,还是要靠如来神掌。

 

 

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

 

 

Osworkflow的如来神掌又是什么呢?我们知道,它有个重要概念是State……呵呵,我们知道了,它的如来神掌是FSM。不知道FSM是什么东西??那你读大学时肯定不是好学生;当然了,不知道也不打紧,你把他类似理解为状态图就可以了。Osworkflow中的State是由step和status联合表达的,一个State就是一个step中的某个status;而state的转换由action来驱动,类似状态图中的event,因为一个event对应一个action嘛。

 

 

Jbpm的如来神掌就没有上面的简单了,它结合应用了状态图+活动图+PetriNet的知识,而且,这里的活动图还是UML2.0版的。UML2.0的活动图中,节点不叫活动(Activity)而叫动作(action),活动成了一个高层次的概念,它包含一个动作序列。一个活动图展现一系列的动作,这些动作组成了活动。Jbpm把action也改名了,称为state。Jbpm使用的状态图的概念有transition/event等,这个自己去看吧。Jbpm来内部实现中还采用了PetriNet的概念,如token,signal等。什么?又不知道PetriNet什么东东?那你大学是学计算机的吗?不是?那你可能是学文科的,学机械/电气/土木工程/交通运输等专业都有接触PetriNet的课程,如果没有学过,还是看看jbpm吧,反正我们也不搞理论,知道大致概念就行。

 

 

3.市场预测做预测是件吃力不讨好的事情,好多国外的大师做的预测也是被人骂得……幸亏我去年年中在《工作流之大局势》中做的预测还是基本正确。那时我的预测是:Shark……将登上头号宝座。应该说,在那篇文章发表前,国内的工作流引擎使用率最高的是osworkflow;到去年年底,Shark就占有了明显的优势地位,我分析有如下原因:

 

 

1) 国内的企业都看中XPDL,因为这意味着在产品说明书中又可以吹牛说“我们遵循WFMC……”

 

 

2) 因为我自诩“Shark工作流引擎在国内的主要推广者”,大部分给我反馈工作流管理系统开发选用技术的朋友都是用的Shark

 

 

3) Shark的确是一套不错的工作流引擎,就算你只是想学习XPDL,你也可以从学习Shark开始

 

 

现在已经到了《工作流之大局势》中说的从封建社会向资本主义转型的时代,而驱动这一转型的,不是别人,正是上面说的jbpm。Jbpm3将在3月发布阿尔发版,jbpm3的最终版将支持bpel4ws的核心部分。所以,我估计,Shark将在引领风骚数百天后,被jbpm3赶下第一宝座。笔者的开源敏捷工作流开发框架AgileFlow将整合jbpm3,同时对agile引擎和jbpm3引擎提供支持。

 

 

但bpel4ws真的就和我们这么快的亲密接触了吗?没有。我估计在今年它是不会真正走进我们的生活的,那会是什么时候呢?这将是我下篇文章要预测的内容,我现在可不敢乱说,我现在考虑的是,是不是要自诩“jbpm3工作流引擎在国内的主要推广者”,呵呵。(sysvs)

### 流行的数据分析模型 目前,数据分析领域中有多种常用的分析模型来满足不同的业务需求。这些模型涵盖了用户行为、产品优化以及市场洞察等多个方面: 1. **留存分析模型** 这一模型主要用于评估用户的长期价值和产品的吸引力程度。通过观察一段时间内的用户保留情况,企业能够更好地理解哪些功能或服务更能吸引并留住客户[^1]。 2. **漏斗分析模型** 漏斗分析是一种经典的转化率分析方法,适用于电商网站或其他需要跟踪多步流程的应用场景。它帮助识别潜在客户的流失节点,并提供改进策略建议。 3. **全行为路径分析** 此类分析关注的是单个用户在整个应用中的交互过程,从而揭示其偏好模式及可能存在的障碍点。 4. **热图分析模型** 主要应用于网页点击分布研究上,利用颜色深浅表示不同区域受关注度高低的情况,为企业调整界面布局提供了直观依据。 5. **事件分析模型** 针对特定动作的发生频率及其关联因素展开探讨,有助于发现隐藏规律或者异常现象。 6. **用户分群模型** 将具有相似特性的个体归为一类群体以便更精准地实施营销活动或是个性化推荐服务。 7. **用户画像构建/RFM模型** 结合历史交易记录等因素综合评定每位顾客的价值等级,进而制定差异化的客户服务方案。 8. **粘性分析模型** 衡量应用程序能否持续吸引用户频繁访问的关键指标之一就是它的“粘滞性”,即平均每日活跃人数占安装基数的比例等数值表现形式。 --- ### 数据网络架构最新趋势 #### 1. 数据湖数据仓库融合 现代数据架构正在向更加灵活的方向演进,“数据湖(Data Lake)”概念逐渐兴起并传统的关系型数据库形成互补关系。相比起后者专注于结构化查询语言(SQL),前者则允许存储任何形式的数据(包括半结构化JSON/XML文档文件等等)[^2]。这种混合式的解决方案既保持了高性能事务处理能力同时也支持复杂机器学习算法运行环境下的规模非结构化资料管理需求。 #### 2. 实时流式处理增强 为了应对日益增长的速度维度(Velocity)要求,越来越多的企业开始采用Apache Kafka,Spring Cloud Stream这样的开源框架搭建自己的消息队列系统作为连接源端生产者程序同下游消费者之间的桥梁角色;此同时Spark Streaming,Flink等新一代分布式计算引擎凭借各自优势成为主流选择,在低延迟高吞吐条件下完成复杂的ETL操作或者是直接执行在线预测任务[^4]。 #### 3. 微服务导向的设计理念 随着容器技术和编排工具(Kubernetes,Docker Swarm etc.) 的普及推广,基于微服务体系重构原有的单体应用变得越来越普遍起来。每一个独立部署单元只负责解决某一具体子域范围内的逻辑运算工作负载问题,这样做的好处是可以极地简化维护成本同时还提高了系统的可扩展性和容错性能。 ```python from kafka import KafkaConsumer consumer = KafkaConsumer('my-topic', group_id='my-group') for message in consumer: print(f"{message.value.decode()}") ``` 上述代码片段展示了如何使用Kafka Consumer API订阅主题消息流的一个简单例子。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值