K2BPM系统开发框架使用说明-流程开发说明
- 格式:pdf
- 大小:759.56 KB
- 文档页数:6
(BPM业务流程管理)开发手册第 1 章简介1.1. 目标读者这个开发指南是为了给有经验的开发者看的,这样就可以获得jBPM的完全的灵活性。
在这个开发文档中提及的特性可能当前不会被支持到。
请自行使用。
1.2. 概述第 2 章孵化器解释了最终会放到用户手册中的功能,它们会成为支持的一部分。
要注意孵化器中的功能还没有确保稳定。
(比如这里可能主要的语法或实现在下一个版本中被改变)。
第 3 章BPMN 2.0介绍如何在jBPM中使用BPMN 2.0流程语言。
第 5 章流程虚拟机到第 9 章高级图形执行解释了jBPM的核心,流程虚拟机(PVM),活动和事件监听器是如何建立在它上面的。
第 10 章配置到第 18 章Signavio web建模器解释了jBPM框架的高级用法。
1.3. 源代码和WIKIjBPM的源代码可以在我们的SVN获得:https:///repos/jbpm/jbpm4/这里有一篇关于如何构建源代码的wiki:http:///maven2/org/jbpm/jbpm4/1.5. 依赖库如果你想在自己的项目中安装或部署jBPM,现在也比以前方便了很多:只需要把正确的jar放到系统的classpath下。
我们还没有清理maven pom文件中的依赖描述。
所以我们还不能给出lib 目录下,你需要包含到应用中的,jar的最小集合。
(参考Jira issue JBPM-2556 然后进行投票,如果你希望让我们知道这些问题对你优先级很高)。
依赖库的版本放在lib,是我们测试过的。
所以我们推荐你使用lib目录下的依赖版本。
为了在这方面帮助你,这里有一个jPDL当前所用的maven依赖的列表:jboss的idm依赖在 org.jboss.identity.idm:*部分,可以忽略,包含org.hibernate:hibernate-entitymanager这个列表应该已经让你开始选择一个子集,而不是从 ${jbpm.home}/lib目录下包含所有依赖库。
K2流程数据设计指南2011-10-20文档版本1.总体设计理念K2驱动的流程系统中,数据可分流程数据和业务数据二大类。
尽管二类数据必然会有交互的部分,但建议的总体设计原则如下:●业务数据和流程数据尽可能的分离●业务数据处理、流程数据来源皆以K2驱动为中心●数据冲突发生时以K2数据为标准2.K2流程内的业务数据设计K2可以以Process DataField(或Process XML DataField)、Activity DataField(或Activity Xml DataField)的形式在K2内持久化保存数据。
由于K2对DataField的读取和保存采用整体序列化/反序列化的方式,因而过多的以DataFields形式保存数据或过频的操作DataFields对K2的性能会产生影响,因而K2的这种数据处理方式决定了它不合适以DataFields的形式大量保存业务数据的设计。
1)K2流程内的业务数据设计本着业务数据和流程数据尽可能分离的原则,建议的K2流程内业务数据设计如下:●在K2流程内保存对业务数据的关联:通过K2 Process DataField保存该流程实例对应的主业务数据的KEY(暂命名为ApplyID),从而实现从流程内也可以定位到对应的业务数据⏹ApplyID的初始化方式:通过K2 API发启流程时,同时传入已保存的主业务数据KEY。
⏹ApplyID的使用场景:在实现UI层审批页面的逻辑时,通常根据K2的SN利用K2 API获取到任务实例信息(包含ApplyID信息),再利用得到的ApplyID信息可以获取所有的业务数据信息;在K2流程内部根据ApplyID可以方便的定位到所需的业务数据信息。
●K2内根据业务数据进行业务规则的判断和处理当K2的Line Rule或Destination Rule需要业务数据的信息时,有二种主要处理方式:⏹定义对应的DataField保存业务数据信息,利用K2 API与K2交互时传入对应的业务数据信息。
K2 BPM系统流程操作手册Template目录K2BPM系统流程操作使用手册 (3)IT申请流程 (9)1. IT申请阶段 (9)2. 查看发起的申请流程 (13)3. 流程审批阶段 (15)4. 流程处理阶段 (18)备件申请流程 (19)1. 备件申请阶段 (19)2. 查看发起的流程 (21)3. 流程的审批阶段 (22)4. 流程处理阶段 (24)K2BPM系统流程操作使用手册流程办公1.发起新流程根据业务需求发起对应的业务流程,发起流程界面如图3-1-1所示图1-1-1所示点击界面流程图标,弹出申请界面,填写申请单,发起流程申请,其中vos发文与取消申请流程根据集团员工权限发起,2.待处理任务待处理任务功能在显示所有需要处理的任务信息,选择需要处理的任务,双击打开处理任务,待处理任务信息如下图所示,如图1-1-2所示:图1-1-2选择需要处理的任务,双击打开处理任务信息查询待处理任务1-1-2标记1所示,根据流程名称选择筛选列和查询条件查询待处理任务信息3. 我发起的流程我发起的流程显示“我”发起的所有流程信息,根据流程信息,查看流程状态、审批状态,如图1-1-3所示:图1-1-3查看我发起流程信息:如图标记1所示,根据流程发起时间、流程状态、表单执行阶段查询流程信息 根据流程名称查询我发起的流程信息:已发起的流程根据流程活动状态、发起时间等条件查询后,流程根据类别显示,数据多时,可根据流程名称、筛选列、输入条件筛选已发起的流程信息。
已发起的流程,在领导未审批的情况下,流程可以召回,选择已经发起的流程点击标记2处,流程召回至待处理任务中。
112 34查看审批历史:数据查询成功,点击标记是3处的“查看历史记录”弹出审批历史记录信息,查看流程审批状态,如下图所示图1-1-4查看流程图:流程发起成功后,点击图1-1-3处的标记4处查看流程的走向图,如下图所示:图1-1-5也可双击查看具体审批信息,根据流程状态显示,当流程状态为活动时,双击打开申请单,申请单数据信息不允许编辑修改4. 我处理过的流程已处理流程,显示“我”处理的所有的流程信息,选择流程办公菜单,点击“已处理的流程”显示所有我处理的流程信息,如下图所示:图1-1-6查看“我”处理的流程信息:如图标记1所示,根据流程状态查询已处理的流程信息,流程状态分为完成、活动、错误,选择对应的流程状态,点击标记1处的内容刷新按钮,查询数据根据流程名称查询已处理的流程信息:已处理的流程根据流程活动状态查询后,流程根据类别显示,数据多时,可根据流程名称、筛选列、输入条件筛选已处理的流程信息查看已处理流程历史记录信息:数据查询成功,点击标记是3处的“查看历史记录”弹出审批历史记录信息,如下图所示:图1-1-7查看流程图:流程发起成功后,点击图1-1-6处的标记3处查看流程的走向图,如图1-1-5所示:1235.草稿夹草稿夹,用于保存所有流程保存的草稿数据信息,二次发起时,可直接从草稿箱中发起,在系统菜单中,选择流程办公子菜单,点击“草稿夹”显示所有保存的草稿信息,如下图所示12图1-1-8草稿数据显示:根据流程名称,显示所有流程草稿信息查询草稿数据信息:如图标记1所示,根据流程名称、开始时间、结束日期搜索草稿数据信息删除草稿数据信息:选择需要删除的草稿信息,点击右上方删除按钮,删除数据信息编辑草稿:如图2所示,点击编辑按钮,弹出对应的保存流程草稿数据信息,修改发起后,对应的草稿数据消失6.我的代理“我的代理”功能在于将“我”需要处理的任务,设置后由他人代理审批处理,在系统菜单中,选择流程办公子菜单,点击“我的代理”设置代理信息,如下图所示:1 2图1-1-9查询代理信息:如图标记1所示,填入流程名称、输入查询条件查询代理数据信息添加代理信息:如图标记2所示,点击标记2处的添加按钮,弹出添加代理窗体,如下图所示:流程名称:不允许输入,选择填入需要代理的流程名称,不允许为空被代理人:选择被代理人员,不允许输入,点击弹出人员选择控件,选择人员(人员选择控件详情参见附录)开始日期、结束日期:输入代理开始时间和结束日期,必填,不允许,选择填入时间备注:选择,输入备注信息确定:按钮,点击确定按钮,弹出确定窗体,确认后数据保存成功取消:按钮,点击取消按钮,关闭添加代理按钮取消代理:取消代理的条件有两个,一、当代理时间过期后,代理自动失效二、代理人员选择需要失效的代理数据,点击标记2处的失效按钮,代理结束IT申请流程1.IT申请阶段IT申请流程的发起,集团员工根据工作需求发起IT工作流程,集团员工在菜单栏选择流程办公选项,选择发起新的流程,发起新流程界面如图所示:图2-1-1如上图所示,选择点击流程,流程进入申请状态,如下图所示:图2-1-2IT申请信息填写:1)申请人信息:申请人姓名、AD账号、电子邮箱、联系电话、所属公司、部门\科室,其中电子邮箱、联系电话允许修改,所属公司:如果申请人员在多公司任职,则允许选择,部门科室根据所属公司的选择显示在所属公司下面的部门科室级别,默认显示当前申请人的姓名、AD账号2)申请类型:申请类型分为windows\邮箱账号申请、其他权限\账号申请:如果申请人选中了Windows\邮箱账号申请,则其他权限\账号不能同时申请Windows\邮箱账号申请:1 2图2-1-3Windows邮箱账号申请:1.添加windows邮箱账号:如图2-1-3所示,点击图2-1-3标记1处的添加按钮,添加windows\邮箱账号申请相信信息,姓名:输入申请账号姓名,不允许为空姓名拼音:输入姓名拼音,不允许为空,只允许输入英文字母性别:选择填入性别信息,不允许为空工号:输入工号信息,不允许为空,(如果没有工号,则为实习)所属组织:选择填入组织信息,不允许为空电话:输入电话信息2.删除windows邮箱账号:如图2-1-3标记2处所示,选择需要删除的windows有限账号信息,点击删除按钮,删除其他权限\账号申请:图2-1-4其他权限\账号申请:其他账号申请包括Internet权限申请、VPN权限申请、USB开放申请、国内(国际)密码申请和通讯费用补贴申请5种权限\账号申请。
万科K2工作流系统用户手册目录1引言 (3)1.1编写目的 (3)1.2背景 (3)2运行环境 (3)2.1硬件环境 (3)2.2软件环境 (3)3流程操作 (4)3.1发起流程 (4)3.1.1登陆系统 (4)3.1.2发起流程 (4)3.1.3编辑流程 (6)3.1.4提交流程 (9)3.2审批流程 (13)3.2.1邮件审批 (13)3.2.2K2系统审批流程 (16)3.2.3查询流程 (31)3.2.4流程催办 (32)4个人设定 (34)4.1.1授权设置 (34)4.1.2移交设置 (35)5流程管理 (36)5.1.1增加流程 (36)5.1.2创建模板 (37)5.1.3流程权限设置 (39)5.1.4条件配置 (40)5.1.5流程复制 (41)5.1.6岗位设置 (42)5.1.7系统角色 (43)5.1.8秘书设置 (45)5.1.9删除审批 (46)6权限管理 (47)6.1.1平台管理员设置 (47)7K2流程发布 (48)1引言1.1编写目的本文档的编写目的主要是说明用户如何使用万科K2工作流系统的操作。
1.2背景确定统一的K2自动化平台,完成管理流程体系中关键内容的标准化,并设置控制点,把握数据来源,跟踪实施效果,制定较为完善的标准化和自动化策略,形成“管理流程标准化和自动化推广模板”。
形成一个标准化的管理流程体系,建立一个统一高效的审批自动化平台。
达到各一线公司优势互补,形成较为一致的管理流程体系,各类管理流程流程步骤、事项明晰,审批速度的提高,老公司进一步规范现有管理流程体系,新公司可以在较短时间内掌握管理方法提升管理能力,满足公司高效率底风险的管理要求,适应公司规模化复制效应的实现,为流程的持续优化打好基础的目的。
2运行环境2.1硬件环境可支持Windows XP的硬件配置2.2软件环境操作系统:Windows (sp2)浏览器:IE6.0,IE7.03流程操作3.1发起流程3.1.1登陆系统●打开IE,输入K2工作流系统的IP地址,回车●在弹出窗口输入用户名和密码(已加入万科域的自动登录,无需输入用户名和密码)3.1.2发起流程●点击工作流->发起流程按钮●选择公司区域-> 公司名称●在公司下,列出的所有流程,选择需要创建的流程,点击发起按钮在流程的右边会列出该流程的一般描述和该流程的步骤图例3.1.3编辑流程进入流程首页后,填写页面中的每一项内容(后面有红星提示的为必填内容)申请时间:系统自动带出显示流程的发起时间所属公司,部门,K2系统会自动抓起流程发起人的公司和部门属性填写内容后面有红星提示的为必填内容上传附件如该流程还需添加其他文件,与之关联,可以利用附件功能,上传附件点击附件按钮选择文件所在位置,点击上传按钮在页面中会显示文件名称,上传人姓名和上传时间如一个流程需要上传多个附件,可以按上述步骤,多次操作,每个文件会按上传时间依次列出相关流程如该流程和其他流程有关联,可以使用相关流程功能,使该流程和其他流程建立关联关系点击关联流程点击新增按钮,使用搜索功能,添加需要关联的流程如一个流程需要关联多个流程,可以按上述步骤,多次操作,关联多个流程●提交流程该流程的所有信息,如流程字段,附件,相关流程都已填写完毕后,就可以提交该流程,交给审批人员审批。
⼀步⼀步学习开发BPM⼯作流系统--------(六)BPM流程设计器(1)流程设计器是编辑流程模版的⼯具,可视化的流程设计器能直观的编辑流程模版,所见即所得,如下图是我们要做的流程设计器:在开始之前,先介绍⼀下⽬前市场上流程设计器的⼏种形式,⽆⾮就是两种形式⼀种是B/S的,⼀种是C/S,我个⼈感觉这两种形式没必要苛求那⼀种,各有优缺点,B/S的安装⽅便⼀些,不⽤安装直接使⽤,但操作灵活性⽐不上C/S的,B/S的流程设计器⽬前有⼏种技术可以实现,⼀种是js,⼀种是Silverlight或者FLex,还有⼀种是⽤ActiveX插件。
流程设计器⼀般是管理员、实施⼈员使⽤,⽤户群体⽐较单⼀固定,但使⽤要求⽐较⾼,必须⽅便灵活,所以我们的流程设计器采⽤C/S的⽅式,结合我们前⾯提供的WCF远程数据服务,可以实现远程流程模版管理,绝对不亚于B/S的流程设计器。
该篇内容⽐较多,先看⼀下要介绍的内容:1、流程模版分类管理2、如何使⽤GDI+画流程图3、流程任务节点类型和属性4、流程模版的导⼊导出下⾯详细介绍每⼀部分:1、流程模版分类管理按照业务对流程模版进⾏分类,建⽴⼀个树形结构的分类机制,不限级数,如下图:每个分类上可以配置管理界⾯,如下图:可以配置两种形式的管理界⾯,⼀种是web页⾯,⼀种是winform的窗体。
这些管理界⾯是在业务平台上使⽤。
2、如何使⽤GDI+画流程图GDI+:Graphics Device Interface Plus是2D图形处理的技术,在C#.NET中,使⽤GDI+处理⼆维(2D)的图形和图像,使⽤DirectX处理三维(3D)的图形图像,图形图像处理⽤到的主要命名空间是System . Drawing:提供了对GDI+基本图形功能的访问,主要有Graphics类、Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等。
了解了GDI+基本概念后,再来了解2D图像处理的原理,在窗体或者控件上显⽰图形或者图像必须使⽤OnPaint事件,把成像的代码放到该事件⾥,在窗体重画时才会保持显⽰状态,如果不放在该事件⾥,那么在窗体重画时图像就⽆法显⽰,所以OnPaint事件是图像显⽰的重要事件,每个窗体和窗体上的控件都是利⽤该事件来显⽰的,做过控件开发的应该很了解这个机制。
K2流程开发手册2014-4-18版本目录1引言 (1)1.1 编写目的 (1)1.2 背景 (1)1.3 定义 (1)1.4 参考资料 (1)2开发 (2)2.1 新建流程 (2)2.2 添加流程Data Field (6)2.3 添加节点 (9)1引言1.1 编写目的本文为K2流程开发手册。
1.2 背景1.3 定义1.4 参考资料2开发2.1 新建流程1:双击打开解决方案2:选择新建项目选择项目类型K2,模板 K2Empty Project 名称填写为:TestProcess点击确定。
3:选中TestProcess鼠标点击右键4:选择新建项点击添加。
2.2 添加流程Data Field 1:点击视图—K2 Object BrowSer如下图2:点击Data Fields --- Process1,鼠标点击右键3:点击Add录入:Name: ProcessID Data Type :Integer点击OK;4:重复步骤3录入Name: BizFormID Data Type :Integer5:重复步骤3 录入 Name: ProcessGroupIDData Type :Integer6: 重复步骤3 录入 Name: RequestUserIDData Type :Integer7: 重复步骤3 录入 Name: RequestUserDomainID Data Type :String 8: 重复步骤3 录入 Name: RequestUserNameData Type :String 9: 重复步骤3 录入 Name: OutComeData Type :String完成后如下图:注意:新建Data FieLd名称后面不能有空格。
2.3 添加节点1:从工具箱拖拽DefaultActivity到流程设计页:修改名称为:部门经理审批2:添加节点DataField,点击 Add录入:Name :NodeID Data Type Integer Initial Value 10注意:流程中可以包含多个节点,每个节点NodeID 必须唯一。
流程k2的使用与部署1. 简介流程k2是一种流程管理工具,主要用于帮助企业实现流程自动化和规范化管理。
本文将为您介绍流程k2的使用和部署方法。
2. 流程k2的特点•易于使用:流程k2提供直观友好的用户界面,使用户可以轻松创建和管理流程。
•灵活多样:流程k2支持多种流程类型和审批方式,满足不同企业的需求。
•自动化处理:流程k2能够自动化处理流程中的各项任务,提高工作效率。
•实时监控:流程k2提供实时监控功能,用户可以随时了解流程执行状态。
3. 流程k2的部署步骤3.1 安装流程k21.下载流程k2安装包。
2.打开安装包,根据安装向导进行安装。
3.完成安装后,启动流程k2。
3.2 配置流程k21.打开流程k2的配置界面。
2.输入数据库的连接信息。
3.根据实际需求配置邮箱服务器和LDAP服务器信息。
4.保存配置并重启流程k2。
3.3 创建流程模板1.打开流程k2的管理界面。
2.点击“新建流程模板”按钮。
3.输入流程模板的名称、描述和关联表单信息。
4.设计流程模板的流程图,包括流程节点和节点间的流转关系。
5.保存流程模板。
3.4 创建流程实例1.打开流程k2的发起界面。
2.选择要使用的流程模板。
3.填写流程实例的基本信息。
4.提交流程实例。
5.流程会按照流程模板设计的流转规则自动执行。
4. 流程k2的使用指南4.1 登录流程k2系统1.打开流程k2的登录界面。
2.输入用户名和密码。
3.点击“登录”按钮。
4.2 查看待办任务1.在流程k2的首页,点击“待办任务”选项卡。
2.查看待办任务列表。
3.点击任务名称,查看任务详情。
4.完成任务处理,提交审批意见。
4.3 查看流程历史记录1.在流程k2的首页,点击“流程历史记录”选项卡。
2.查看已完成的流程实例列表。
3.点击流程实例名称,查看流程详细信息。
4.4 创建流程1.在流程k2的首页,点击“新建流程”按钮。
2.选择要使用的流程模板。
3.填写流程实例的基本信息。
开发手册
开发手册示例为立项申请,目前分为三个部分:1.表单开发、2.流程开发、3.表单与K2流程之间的交互。
表单开发
表单整体结构
上图是立项申请所有的表单元素,分为三大块:
1.申请人信息,这个一个公共的功能模块。
2.项目信息,这是一个自定义的功能模块,里面有跟业务相关的数据收集。
3.按钮动作,目前有保存(保存到草稿箱)、提交(提交流程)、返回列表(返回到上一页
面)。
程序整体结构
上图立项申请所有的项目文件,以下重点介绍四个文件:
1.ProjectInfo.ascx,这文件是表单中的项目信息,此文件作用于收集业务信息,在表单整
体结构有相关说明,后台实现的功能:
a)添加、删除(列表形式的数据)、修改(列表形式的数据)、查询操作。
i.立项申请表单程序实现步骤:根据原型,画出对应的表单,跟据表单
设计对应的数据库表(一般处理时,会把一些公共的信息提取出来,这样更能
专注到业务中,比如申请人信息,基本上每支表单都需要用到),使用
Codematic2利用模板生成Model、BLL层(使用三层架构),如需扩展就需要
自建DAL层,生成的BLL层有添加、删除、修改、查询方法。
b)实现BindData(WIProcessEntity entity, bool readOnly) 方法,entity参数是流程实体,
记录着立项申请流程的流程状态,readOnly是控制表单元素是否可用,此方法用于
申请、审批、查看页面需要调用的初始化方法。
c)实现ProcessGatherData(WIProcessEntity entity) 方法,entity参数是流程实体,此方
法用于提交流程数据,如立项申请,在总经理审批时,需要把总经理选择的人传入
到流程中,并设计此人为下一步审批人。
2.ApplyPage.aspx,此文件是申请人申请时所使用的页面,申请页面的作用是收集业务信息,
比如立项申请申请页面:
当申请人发起立项申请时,系统会自动带起申请人信息,申请人需要填写流程主旨、项目名称、项目说明与上传相关附件等信息,填写完成后,可选择相应的操作,实现过程:
a)引用FlowHeaber用户控件,此控件用于收集申请信息。
b)引用ProjectInfo用户控件,此控件用于收集项目信息。
c)引用FlowComment用户控件,此控件用于收集审批意见或显示审批历史记录。
d)功能操作区,有保存(保存到草稿箱)、提交(提交流程)、返回列表(返回到上一
页面)操作
e)后台的实现,首先需要FormGatherdata()(收集表单数据)与FormBindData()(绑
定数据到表单),然后实现功能操作:
i.保存操作:执行FormGatherdata()收集表单数据方法,执行SaveBusiness()方法,
保存实体数据,清空流程实体,弹出提示对话框,跳转页面。
3.提交操作:执行FormGatherdata()收集表单数据方法,执行FlowHeaber用户控件的
ProcessGatherData()方法,收集流程数据,执行ProjectInfo用户控件的ProcessGatherData()方法,收集流程数据,执行SubmitProcess()方法提交流程,清空流程实体,弹出提示对话框,跳转页面。
4.AuditPage.aspx,此文件是审批人审批时使用的页面,审批页面的作用是收集审批人的相
关信息(是否批准、意见、信息补全之类的),比如立项申请,审批页面:
上面有处理意见收集,审批动作,到总经理会有选择项目组成员的操作:
实现过程:
分为四个区域,前三个区域在ApplyPage.aspx已做详细介绍,后台的实现:
a)同意、驳回、领命三个对于流程的操作,后台执行的方法只有一个,与ApplyPage.aspx
的提交方法是相同的,这上面的按钮与流程开发中的流程的方向线是一致的(例如
在总经理有同意,驳回二条方向线,后台会根据总经理这个节点上的所有方向线做
显示隐藏操作,这个时候,到总经理审批只有同意,驳回二个按钮,同理,到项目
组成员这个节点上,只有领命这个按钮)。
b)返回列表,跳转到前一页面。
5.ViewPage.aspx,此文件是相关人(申请人与审批人)查看时使用的页面,查看页面的作
用是显示流程与业务数据,做只读控制,比如立项申请查看页面:
后台实现:
实现其它表单绑定方法,初始化调用。
a)返回列表:跳转到前一页面。
流程开发
流程新建步骤
此步骤为FlowText的开发步骤:
1.新建K2项目,名称为MTLBPM
2.新建流程,名称为FlowText
3.打开FlowText,结果如下:
这是K2流程创建时的初始状态。
流程开发
产项申请K2流程开发最终效果图如下:
流程步骤:
1.申请人提交申请到经理
2.经理审批,如果同意就到总经理审批(审批页面),如果驳回就到申请人修改再提交(申
请页面)
3.总经理审批,如果同意就到项目组成员,如果驳回就到申请人修改再次提交。
4.项目组成员(总经理在表单上指定的),项目组成员领命。