您的位置:首页 > 产品设计 > 产品经理

BPM独立部署设计

2016-02-23 09:16 603 查看
BPM只负责流程运转、流程及表单的定义,表单数据、业务全部在应用系统中。单据在应用系统中发起:应用系统通过接口读取表单定义信息并展示为页面,用户填写填写表单后,表单数据和必要的业务数据通过接口传递到BPM,表单数据保存在应用系统中(如需表单更新流水,需增加流水管理功能); BPM根据传入的表单及业务数据,根据流程定义及运转和选人规则,得到下一步及下一步审批人,并将任务下发,如有表单数据的更新,需通过接口将表单数据更新到应用系统中; 在BPM中定义统一的流程规则,如按用户、组织架构、汇报关系、用户组、角色、层级、权签等级等定义审批人,各维度均适用于所有的流程。如有特殊维度用于引擎,需修改流程的控制逻辑; 下图为时序图,释义如下:

主要分为三个部分,即BPM,基础数据,应用系统。基础数据为应用系统和BPM的基础,应包括LDAP、SSO、数据字典、组织架构、人力资源数据(档案、汇报关系等)。1.管理员在BPM中定义表单和流程定义,包括表单和流程的相关设置;表单对应的数据库表在应用系统中,BPM不负责存储 ;2.用户在应用系统中根据流程id向BPM查询表单定义,BPM返回流程表单定义,用户填写表单(表单数据信息或关于审批的流程变量及发起人、发起人部门等向基础数据发起请求)提交后交由BPM处理;3.BPM引擎查询基础数据,根据流程和表单定义、设置及表单数据得到下一步及审批人,完成本步骤审批,并将新任务分配给下一步审批人;保存流程审批历史,并返回消息给应用系统;从而完成一次审批过程
1.用户在应用系统中发起表单,首先应通过流程定义id等信息向bpm发出查询请求,bpm返回流程定义、表单定义等信息;2.应用系统向基础数据查询表单的基础信息,如当前用户工号、姓名、部门等信息;3.用户填写其他信息;4.通过接口向bpm提交表单;5.在处理过程中会向基础数据查询基础数据信息用于流程处理;6.bpm 引擎根据流程预定义的规则进行判断、择路、生成任务、查找审批人等,并保存审批历史;bpm处理完成后向应用系统返回处理结果;7.应用系统接收处理结果并保存相关信息重复3~7直至流程终结. BPM的代码依赖情况:sys-setting(数据字典)、com-dependence(档案、组织架构等),这部分属于基础数据,归到基础数据中; 另外还包括较多的应用模块(该部分主要是前后置的调用,如离职后终止合同、更新档案、用户信息等),包括per-contract、per-leave、per-relationship、rec-staffingcontrol、att-attendance、data-operation、auth-authorize、adm-notice、dem-manage、per-performanceReport、PLMQueryAPI_fat,应用模块全部归于应用系统中; BPM、基础数据、应用系统分别独立部署,并通过PI、服务注册中心等进行通信; 另外,也可以考虑BPM和基础数据(或与OA部署在一起),所有其他应用系统的审批在OA中进行,与现有费控审批在OA中可以办理相似,可以减少接口开发和异构系统之间的通信。 以图书馆管理系统使用BPM审批为例: 图书馆管理系统BPM独立部署设计:1.建立bpm-web,去掉所有前后置(从而减轻与业务模块的耦合),梳理必需的依赖(BPM与基础数据直接依赖);2.BPM单独部署;3.图书馆管理系统单独部署,保留必须依赖(与基础数据直接依赖),打成web单独部署;4.将图书馆管理系统与bpm两个独立部署的系统通过某种通信方式关联起来,目前的思路与在sap通过webservice生成表单在oa中审批类似,即1.在图书馆管理系统中生成表单,填充图书、借书人等信息,然后生成表单信息(即借书历史)保存在应用系统中,将审批信息发给bpm;3.bpm完成审批后将审批结果、新任务等返回给应用系统;4.用户在应用系统中打开审批链接,填写审批信息,点击审批将表单数据存储在数据库中,同时将审批信息再发给bpm,重复步骤3,直至审批完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  设计 BPM 独立部署