领先的SOA流程平台 - Primeton BPS - 功能组成
Primeton BPS由以下十部分产品组件组成:BPS Process Server(BPS流程引擎)、BPS API & Component Library(BPS API和构件库)、BPS Studio(BPS流程设计建模工具)、BPS Process Composer(BPS业务流程定制)、BPS Rule Engine(BPS规则引擎)、BPS Rule Composer(BPS业务规则定制)、BPS Governor(BPS引擎治理工具)、BPS Admin & Monitor(BPS流程管理监控台)和BPS Work Client(BPS流程客户端)。
BPS Process Server(BPS流程引擎)基于JavaEE Server构建,是Primeton BPS的核心,负责解析业务流程定义,协调处理活动间的路由,处理客户端的请求(如启动流程、提交工作项、查询工作项、流程监控等),处理引擎自身的调度(比如自动归档、时限控制等)、支持多租户、提供高效的并发争抢任务组件任务池。BPS流程引擎能满足大并发用户和大数据量的企业级流程应用的运行与管理要求,适用于电子政务、电信、银行、证券、能源、交通等行业。
高性能的流程引擎
BPS流程引擎从设计之初就将高性能、高可靠性要求放在首位。采取了多种技术手段保证了BPS流程引擎完全能够支撑电信、金融、政府等行业的高性能要求。
强大的扩展性
考虑到中国的很多流程领域业务量巨大,对稳定性要求极高,BPS流程引擎针对这种特殊的拓展性需求有特殊的设计。BPS流程引擎支持良好的分布式集群环境,只需要增加一台机器、修改几个配置,就可以实现集群的拓展。在集群环境下,BPS流程引擎可以维护自身的同步和通知。用户在非集群环境下开发的应用可以直接部署到集群环境。另外,通过BPS Governor,用户可以像管理单一引擎一样管理集群中的多个流程引擎。
满足中国不同行业对灵活性的要求
中国企业或政府的管理方式有其独有的特点,在企业的管理以及业务执行过程中还无法完全按照预定规则进行,经常需要人为的干预过程。因此对流程处理的灵活性提出了较高的要求。BPS流程引擎正是在综合了这些需求,并在产品中得以体现,比如支持自由流、回退及业务补偿、业务规则的引入、流程的运行时动态调整,以及工作项新建、拒绝、取回、代理、委托、改派、暂停、取消等功能。
安全、便捷、灵活的事务控制
当前,企业应用一般都很复杂,而且面对多种事务场景。比如有时候需要挂起事务,有时候需要连接事务,有时候需要和业务采用相同的事务。事务的安全性直接决定了交易的稳定性。BPS流程引擎事务可以方便地和业务事务合并或者分离;BPS流程引擎事务支持连续或者分段,能够满足多种特殊需要。
多租户功能支持
为了满足大型企业应用中的流程集中部署的场景,即流程平台以集群方式一体化集中部署,被多个不同领域业务系统同时使用,各个业务系统的数据均运行在同一组流程引擎中并且需要做到相互隔离。那么对于流程平台来说,需要提供多租户数据隔离的模式来支持此场景。BPS流程多租户的特点是“开发期单租户、运行期多租户”,即在业务系统运行阶段支持以租户的方式使用流程平台中的服务提供的接口与资源。建模以及开发阶段仍以单租户模式进行,使用习惯同BPS之前版本一致,已开放的用户接口保持兼容。部署上线时只需添加租户相关令牌文件即可将流程部署包发布到多租户模式下的流程平台中。
高效的任务争抢机制
流程任务池做为BPS的一个新组件,是为了满足银行的财务票据大并发录入的业务场景而推出的通用功能组件。此组件具有可靠、高效、可扩展等特点,可以方便的同流程集成,能够满足银行业务中海量人工任务并发处理的要求。。
BPS API & Component Library(BPS API和构件库)包括与流程应用相关的服务构件库、流程标签库两部分,通过这些丰富的API与构件库(包括Tag),开发人员在集成开发环境的支持下即可快速开发出高效的流程应用。BPS API和构件库包括:
♦ 定义管理组件:查询、修改和管理业务流程定义库的资源。
♦ 实例管理组件:对流程实例以及活动实例进行管理和状态维护。
♦ 客户端组件:包含构造流程客户端所需要的常用服务,包含工作项的查询和管理,相关数据的处理。
♦ 代理代办组件:代理代办管理的专用构件库。
♦ 特殊功能组件:处理指派、自由流、回退等特殊需求的构件库。
♦ Tag组件:包含流程图、参与者选择、查询工作列表等。
并且Primeton BPS提供的API和构件库可以支持“Java开发模式”和“EOS开发模式”的开发,在实际的应用开发过程中,Java开发模式中一般是通过API调用流程引擎所提供的服务,EOS平台开发模式中一般是通过调用EOS服务构件中的服务来使用流程引擎所提供的服务。
可视化业务流程建模
♦ 用拖拉方式“画”出流程定义。
♦ 无需编写任何代码即可快速模拟、调试业务流程。
♦ 支持多子流程场景。
♦ 支持事务分段场景。
♦ 支持多任务顺序/并行执行。
♦ 支持自动活动的异常处理策略。
♦ 支持流程和业务实体的关联。
♦ 支持各种复杂的流程模式。
♦ 支持流程启动权限的设置。
♦ 灵活的活动参与者设置。
♦ 灵活的任务分配策略。
♦ 支持自由流。
♦ 支持多种事件。
♦ 提供严密的安全机制。
♦ 提供活动启动策略及重启策略。
♦ 支持活动按策略回退。
♦ 支持活动处理时限。
♦ 支持动态路由。
♦ 支持子流程。
♦ 支持业务流程的版本控制及动态部署。
♦ 支持快速生成表单。
可视化的组织机构与角色建模
♦ 图形化组织机构或者角色建模。
♦ 支持集成用户遗留的组织与角色模型。
♦ 支持用户对组织机构与角色的扩展。
支持业务化的流程建模
♦ 业务目录管理。
♦ 业务资源管理。
♦ 业务资源提交/提取。
♦ 以技术手段和业务手段设置流程及活动属性。
应用功能开发
♦ 可通过集成的MyEclipse等Java框架进行开发与调试。
♦ 可通过集成的EOS Studio进行构件的可视化开发与调试。
BPS Governor(BPS引擎治理工具)是集成于BPS提供的系统管理工具,系统管理员可以通过它对流程引擎进行配置和管理。主要包括如下功能特性:
♦ 流程应用的管理与配置
♦ 流程集群的管理与配置
♦ 流程引擎的管理与配置
BPS流程管理监控台基于Web的,是企业管理者及时掌握业务运行状况,并对客户或市场进行快速响应的利器。通过对流程实行图形化的实时监控,管理者可以及时掌握业务处理的最新动态;及时发现长时间滞留未处理的任务;对发生异常的流程进行及时调整。主要功能包括:
业务目录管理 流程定义管理
♦ 流程导入/导出
♦ 流程版本管理
♦ 流程发布管理
流程实例的管理
♦ 流程实例查询
♦ 流程实例挂起/恢复
♦ 流程实例终止
流程异常处理
♦ 任务改派
♦ 工作交接
♦ 改派和代办工作项
♦ 挂起/恢复流程
♦ 终止流程
♦ 超时任务监控
♦ 自动活动的异常处理
对审计日志进行监控,跟踪查询历史流程的处理过程
BPS Work Client是一个基于BPS API 实现的业务流程客户端的典型案例,是一个可选安装组件。它可以帮助您在业务流程建模设计及开发过程中,快速地进行业务流程的模拟调试和验证,方便您对业务流程进行调整和优化。同时,该典型案例提供了完整的源码压缩包,您可以方便地导入Studio进行扩展开发和重构,方便您快速地深入学习基于BPS API的Java开发方法。其主要功能有:
♦ 启动流程
♦ 查询待处理的工作项列表
♦ 查询已处理的工作项列表
♦ 查询委托的工作项列表
♦ 查询委托完成的工作项列表
♦ 提交代办工作项
♦ 图形化显示流程的处理进度
♦ 管理和查看个人的代理关系
BPS Process Composer(BPS业务流程定制)是在BPS流程引擎之上实现的基于Web的流程业务化定制工具,它支持业务部门的流程管理人员基于Web的方式进行流程的业务化建模、配置与调整。
该模块主要包括如下功能:
♦ 业务资源管理:通过RIA方式进行业务流程依赖的业务资源定义的快速建模。
♦ 业务流程定制:帮助您以RIA方式进行业务流程的快速建模。
♦ 业务流程配置:帮助您以RIA方式进行业务流程的快速调整。
♦ 工作日历设置:定义流程不同类型参与者的工作日历,用于进行流程时效计算。
注:BPS Process Composer(BPS业务流程定制)是在Primeton BPS产品的一个可选件。
BPS Rule Engine(BPS规则引擎)是一个高性能的业务规则运行环境,它能从业务变量以及系统环境数据中获取必要的数据作为决策数据源,通过复杂的计算得出条件判断结果或者参与者结果,然后把结果传递给流程使用。通过把业务规则引擎和流程引擎的配合工作,可以大大提高业务配置化能力,快速支持业务流程和业务策略的变更。
BPS Rule Engine有以下主要特性:
♦ 和BPS Process Server无缝集成
♦ 高性能的轻量级规则引擎
♦ 可以使用BPS流程上下文数据和业务变量
♦ 支持规则的运行期热更新
BPS Rule Composer(BPS业务规则定制)是在BPS流程引擎和BPS则引擎之上实现的基于Web的业务化规则定制工具,通过该组件,业务管理人员可以在系统运维期间维护业务规则,使业务策略的变更及时体现到IT系统当中。业务规则定制环境中可以使用业务变量、流程上下文数据、活动上下文数据等,以"类自然语言"的方式进行灵活配置,并可以进行各种复杂的运算。
BPS Rule Composer的主要特性:
♦ 既可以在Studio中由技术人员定义业务规则,也可以在Web页面上由业务人员定义或调整业务规则。
♦ 可以以“类自然语言”的方式进行规则编辑,比如“如果【贷款金额】>500000[并且]【贷款期限】大于5年,参与者为『张三』,否则参与者为『李四』”。
♦ 业务规则编辑器和流程编辑器无缝集成,在业务规则编辑中可以引用业务变量、流程运行期数据。
♦ 在业务规则编辑中可以引用业务操作,用户可以动态增加业务操作。
♦ 支持多个条件以及在规则中进行加减乘除、括号、逻辑操作等各种复杂运算。