Java中每一种技术都一般都有着对应的框架,其中,工作流也不例外,本篇就将带你了解各种工作流框架,快来看看吧。
一、jBpm
jBpm是所有引擎中最适合扩展的代表,是在所有开源引擎里最适宜被商业化应用的一款。这是因为它的流程建模模型是基于Activity Diagram(活动图)的,且它还在引擎构建上融入了FSM和PetriNet思想,所以它的内核和根基较为牢固扎实。
二、OSWorkflow
作为所有工作流引擎中最轻量型的代表,OSWorkflow是一款非常灵活和低级别定位的工作流引擎的实现框架。所谓低级别定位,意思是说,它不是定位在解决流程模型对象和运转场景中,而是提供一套可维护调度的机制,供开发人员自主扩展的。
YAWL
在算法及模式中最值得研究的代表就是YAWL了,它是Alast极力推荐的一款基于PetriNet建模的工作流引擎,它将PetriNet的Token与And、XOR、OR算法进行了融合,且对Workflow Patterns(工作流模式)中所有模式提供支持。
Shark
在所有工作流引擎中,体系和功能最为复杂的代表是Shark。这是一款遵循WfMC的XPDL标准开源工作流引擎,并且同时还遵循了OMG组织的Workflow Management Facility规范。
ActiveBPEL
ActiveBPEL 是BPEL引擎的代表,它也是一款可执行BPEL4WS规范的开源流程引擎,其结构和实现方式具有极高的参考价值。
MyApps
这是国内首款可视化配置式开发平台,该平台集流程引擎、表单引擎和报表引擎等核心科技于一体,其快速灵活的开发特性及对于中国式流程管理业务模式和操作习惯的精准拿捏展现了独到的优势。
优势
1) 微服务:高扩可展性,每个服务都能独立部署,扩容和缩容方便,能够有效地提高利用率;
2) 多时态:分为授权时、设计时、运行时。设计时:操作并存储表单、流程、视图、报表等。授权时:操作并存储用户、部门、权限等。运行时:实际用户使用系统并存储业务数据。
3) 多种部署模式:支持单机和集群部署、云端部署;
4) 集群化:由过去的对等集群架构演化为所有微服务都可以动态伸缩,涉及到负载均衡由前端单点转移至调用方;
5) 配置化:包括服务的依赖关系解耦,对应用透明无侵入;
6) 版本化:指在服务升级或线上bug修复等场景下所需要的多版本管理,服务的提供者与消费者在发布引用时须指定版本号。
7) 异步化:常用的性能优化方式,在合适的场景下,异步化可以带来更大的吞吐量、更短的响应时间,而且还具备隔离外部不稳定性的作用。
8)机卡分离:做好数据备份和升级系统的分开,便于轻松升级到新版本,
以上就是今天的全部内容,如工作流这种功能,想成为java架构师的话,是一定要都了解一些的。
推荐阅读: