统一流程平台(Uniflow)产品介绍2019/8/24兰德纵横网络技术股份有限公司1Uniflow基本介绍2019/8/24兰德纵横网络技术股份有限公司2Uniflow是一个具备平台级能力的流程引擎!丰富特性快速开发外部集成平台能力•基于浏览器开发•拖曳+配置+表达式,全程无代码•灵活的版本管理•流程的复制和复用•自定义关键业务数据的使用和传递•多种处理人员设置•……..•任意退回•任意撤回•任意跳转•动态分支•单点循环•会签+一票否决•任意扩展会签•自动阅办•起草模式•进入挂起•……..•通过回调接口与业务应用交互•通过人员接口实现用户角色解释•基于消息机制的任务通知催办•基于适配模式的待办任务推送•基于格式转换的业务服务集成•……..•流程解释单元的全对等扩展能力•流程执行单元的可用监控和失效转移•流程数据的分布式解决方案•全面实现应用级别的租户隔离•服务质量分析、流转效率分析Uniflow技术优势2019/8/24兰德纵横网络技术股份有限公司3WebSphere.WebLogic•处理能力、数据容量的线性水平扩展•结合“组织、应用、分类标签”多维度的租户管理模式•基于全对等原则的分布式架构,基于可用性监控的失效转移,带来更高可靠性•支持多种关系型数据库和NoSQL数据库,支持不同数据库产品的混合使用•支持webservice/REST/API多种接口•支持全流程/子流程/流程片段的复用•运行健康监控、运转效率分析•基于浏览器的开发、管理、运维工具Uniflow的发展历程业务服务开发服务维护服务统计分析监控优化开发运维辅助流程跟踪流程定义数据节点-A流程过程数据核心业务模块分发服务业务系统动态监控模板定义流程管理节点-B流程过程数据核心业务模块节点-C...流程过程数据核心业务模块流程引擎流程定义数据核心业务模块(负责业务逻辑的解释和处理)流程监控流程定义业务服务接口统一流程平台管理维护外部消费系统流程引擎数据流转过程数据V1:单节点具有多租户能力的流程引擎V2:基于软分发策略、互备模式的流程平台V3:支持软硬分发、全对等水平扩展的流程平台V4BetaBQUCC服务层BPM节点-NDBBPMApp...BPM节点-3DBBPMApp...BPM节点-2DBBPMApp...BPM节点-1DBBPMApp...DubboWSWS分布式服务——流程处理路由服务负载均衡层(网络路由器)UCCApp1...UCCApp2...UCCApp3...UCCAppN...存储设备层UCCDB环境监控均衡指标数据中心集中配置中心指标数据收集器分析处理中心开发运维辅助日志查看与分析集成环境监控引擎管理平台集成环境管理引擎运维工具业务系统快速开发平台业务系统WSClient业务系统业务系统BQUCC服务层RESTFulRESTFul/WSRESTFul/WS服务负载均衡层(网络路由器)............存储设备层开发运维辅助日志查看与分析统一待办推送引擎管理平台运行指标监控引擎运维工具业务系统快速开发平台业务系统RESTFul/WSClient业务系统业务系统UCCDB1UCCDB2UCCDBN配置/模板库日志库...UCCApp1UCCApp2UCCApp3UCCApp4UCCAppN统一数据源UDS常规数据源UniflowV3整体架构BQUCC服务层BPM节点-NDBBPMApp...BPM节点-3DBBPMApp...BPM节点-2DBBPMApp...BPM节点-1DBBPMApp...DubboWSWS分布式服务——流程处理路由服务负载均衡层(网络路由器)UCCApp1...UCCApp2...UCCApp3...UCCAppN...存储设备层UCCDB环境监控均衡指标数据中心集中配置中心指标数据收集器分析处理中心开发运维辅助日志查看与分析集成环境监控引擎管理平台集成环境管理引擎运维工具业务系统快速开发平台业务系统WSClient业务系统业务系统灵活的访问控制、负载均衡策略。核心解释单元以对等式部署,实现处理能力的随需扩展。数据库可采用分布式产品,或自有分布式解决方案,提升可靠性。流程处理单元高度抽象,与路由层配合实现动态增减。通过路由层实现流程引擎节点的状态监听和失效转移。使用BQ实现异步处理机制,提升整体吞吐量。提供基于WS、Client、快速开发平台等多种接入方式。UniflowV4整体架构2019/8/24兰德纵横网络技术股份有限公司6简化部署架构去除UE(及数据库)、应用服务器、内置负载均衡(Ganglia),核心部署仅涉及UCC和数据库。同步调用机制将目前与业务系统间的异步调用方式(提供回调接口)改为同步调用方式,降低业务系统的使用复杂度,避免业务系统与平台间的数据不一致。分布式数据处理基于统一数据源(UniflowDataSource),支持异构、多节点数据库水平扩展,主备复制,提升平台整体可用性。支持自动业务流支持WebService/REST等类型的服务集成,实现“自动业务流”场景。BQUCC服务层RESTFulRESTFul/WSRESTFul/WS服务负载均衡层(网络路由器)............存储设备层开发运维辅助日志查看与分析统一待办推送引擎管理平台运行指标监控引擎运维工具业务系统快速开发平台业务系统RESTFul/WSClient业务系统业务系统UCCDB1UCCDB2UCCDBN配置/模板库日志库...UCCApp1UCCApp2UCCApp3UCCApp4UCCAppN统一数据源UDS常规数据源2016年版本更新2019/8/24兰德纵横网络技术股份有限公司7版本编号发布时间功能说明V3.42016-04-06条件表达式增强:支持弱类型;条件决策表日志国际化V3.4.12016-05-16流程实例/任务实例/阅读实例支持优先级V3.4.22016-05-23服务方法:增加若干方法,支持若干流程特性V3.4.32016-05-31在提交处理任务的一个事务里同时修改工单标题。V3.4.42016-07-04转交/撤回/退回/跳转/指派支持option参数。指派支持扩展数据,并且派生出来的子任务继承了父任务的扩展数据。流程特性:待办唯一;单向指派;阅办唯一。V3.4.52016-08-01服务方法:增加若干方法,支持若干流程特性V3.4.62016-11-09服务方法:增加若干方法,支持若干流程特性V3.4.72017-01-10新增服务方法:子流程回调重试V3.52016-12-30授权服务:对外开放虚拟系统:全面支持模版扩展数据:重构服务方法:增加若干方法,支持若干流程特性V4.02016-09-20用Vert.x作为服务框架,去J2EE容器。采用RxJava作为异步调用方式。同步流转的服务方法和实现(去掉了UE和BQ)增加短流程(服务调用)支持支持https作为传输协议,提高安全性。4.12016-10-09事务模板引用4.1.12017-01-06授权服务:对外开放虚拟系统:全面支持Uniflow的多种应用模式Uniflow支持多种应用模式:既可以按照引擎服务方式,也可以按照引擎+开发平台组合方式实现业务。应用模式(广义)方案综述:覆盖应用的全部开发内容,其中快速开发平台负责前端交互和业务规则的实现;流程平台负责业务流程的实现。应用案例:浙江移动:2014年启用此模式,至今覆盖金华、湖州、绍兴等多个地市的近百个流程,单流程应用开发周期为1~3天。安徽联通:2014年上线,覆盖OA范围的40+业务流程。广西联通:2013年上线绩效考核系统。平台模式(狭义)方案综述:流程平台提供统一的流程服务能力,负责业务流程的开发、运行和管理;由第三方厂商自行开发业务应用(不限技术平台)。应用案例:中国电信:面向M域的所有业务系统提供流程服务,配合5家集成厂商完成应用开发。2010年初次上线,使用3个节点覆盖10省份(用户4w+),年均处理流程300w+;2014年广东、江苏上线(用户7w+)4个节点,第四季度处理流程170w+。浙江移动:2011年上线,使用单节点支持供应链、合同管理等十几个系统,日均处理流程5000+;统一用户信息统一人员角色统一应用日志消息通知提醒统一文档中心业务应用系统财务系统人力系统办公审批审计系统基础支撑服务统一流程平台业务流程定义流程解释/跟踪流程管理维护动态负载均衡运行状态监控流程分析统计……..统一用户信息统一人员角色统一应用日志消息通知提醒统一文档中心表单开发调试数据/服务集成展示资源管理界面解释执行快速开发平台基础支撑服务统一流程平台业务流程定义流程解释/跟踪流程管理维护动态负载均衡运行状态监控流程分析统计……..异步/同步调用模式2019/8/24兰德纵横网络技术股份有限公司9业务应用流程平台发起流程/提交任务返回当前处理是否成功返回后续任务信息(1…N)发起流程/提交任务返回后续任务信息(1)异步模式1.业务应用通过调用流程平台对外提供的服务,发起流程或提交任务。2.流程平台以同步方式,在当前调用中直接返回处理结果,如发起流程成功则返回流程实例。3.流程平台内部根据流程定义,处理业务流转,产生一个或多个后续任务。4.每产生一个后续任务,流程平台通过业务应用所实现的回调接口,产生一次回调交易,业务应用通过这次回调,记录后续任务信息,并触发本地逻辑。处理业务流转同步模式1.业务应用通过调用流程平台对外提供的服务,发起流程或提交任务。2.流程平台以同步方式,在内部完成业务流转,并在当前调用中直接返回处理结果,包含所有后续任务信息。统一流程平台V4中,在既有的“异步模式”服务外,引入了“同步模式”的服务接口,简化了大部分场景中业务应用的调用逻辑,同时解决了业务应用端流程状态数据不准确的痼疾。集成外部服务,支持自动业务流2019/8/24兰德纵横网络技术股份有限公司10UCC服务交互转换器服务定义库外部业务服务1.UCC根据流程定义,在“服务节点”通过“服务交互转换器”调用所配置的外部服务,传递业务参数。2.服务交互转换器从服务定义库中获取服务请求消息定义,将业务参数组装为相应格式的消息数据(如SOAP、JSON)。3.服务交互转换器将组装好的请求消息通过制定消息发送到外部业务服务的提供方。4.服务交互转换器获取外部业务服务的返回消息(如SOAP、JSON)。5.服务交互转换器从服务定义库中读取服务返回消息定义,从返回消息数据中分解出UCC可处理的数据。6.UCC从服务交互转换器中获得服务调用的返回数据,完成当前节点逻辑,执行后续流转。通过对WebService/REST等常用服务协议的支持,基于服务节点与外部业务服务的无缝集成,使流程平台在以人工任务为主的“长流程”之外,具备将多个业务服务进行流程编排的“短流程”能力。162534流程开发模式•新建流程模板•复用已有流程定义业务流程•业务流程模拟•业务流程调试验证业务流程•版本化管理•流程热发布发布业务流程登录流程管理平台(zoneland环境)新建流程模板基本操作新建节点节点拖拽改变位置节点名称和编号的设置连线删除节点和连线撤销和重复提交和提交并发布节点属性1节点名称/编号:通常,名称写中文(页面展现),编号写英文(程序中逻辑判断)顺序号:数字类型,选填建议按流程顺序升序跳跃编制,比如第1个节点为1,第2个节点10,第3个20用途是查询流程模板信息时,返回结果中节点的排序节点种类片段,引用流程片段(流程片段:在同一个流程模板中定义一些独立于主流程之外的流程片段,即节点+决策),此时“时效/片段”字段必填:片段名称片段开始/结束,流程片段的开始节点和结束节点模板引用(V4.1),引用另一个流程模板,类似片段的方式嵌入到当前流程模板中,此时“时效/片段”字段必填:systemId.templateId.templateVer节点属性2节点类型审批(单人),可传