惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Application and Cybersecurity Blog
Application and Cybersecurity Blog
N
News | PayPal Newsroom
The Last Watchdog
The Last Watchdog
S
Secure Thoughts
Forbes - Security
Forbes - Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
PCI Perspectives
PCI Perspectives
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
Last Week in AI
Last Week in AI
Blog — PlanetScale
Blog — PlanetScale
Hacker News: Ask HN
Hacker News: Ask HN
H
Heimdal Security Blog
D
Docker
Cloudbric
Cloudbric
P
Privacy International News Feed
S
Security Affairs
TaoSecurity Blog
TaoSecurity Blog
博客园 - 聂微东
WordPress大学
WordPress大学
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
Tenable Blog
Scott Helme
Scott Helme
人人都是产品经理
人人都是产品经理
Recent Announcements
Recent Announcements
P
Palo Alto Networks Blog
小众软件
小众软件
L
LINUX DO - 最新话题
美团技术团队
Google Online Security Blog
Google Online Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
雷峰网
雷峰网
Microsoft Security Blog
Microsoft Security Blog
The Hacker News
The Hacker News
Webroot Blog
Webroot Blog
T
Tor Project blog
G
Google Developers Blog
A
About on SuperTechFans
Y
Y Combinator Blog
K
Kaspersky official blog
A
Arctic Wolf
量子位
I
InfoQ
V
Visual Studio Blog
T
Troy Hunt's Blog
C
Cybersecurity and Infrastructure Security Agency CISA
J
Java Code Geeks
博客园 - 【当耐特】
GbyAI
GbyAI

博客园 - 云飞扬

揭开文档在线编辑和预览的神秘面纱 AI的正确使用方法 详解HFBPM开发框架(下) 详解HFBPM开发框架(中) 详解HFBPM开发框架(上) 浅谈数据访问层 流程梳理的重要性 菜鸟电子面单对接技术方案(link) 数据库升级工具 HF Code Designer 代码生成器 一步一步学习开发BPM工作流系统--------(七)BPM表单设计和业务展现平台 一步一步学习开发BPM工作流系统--------(六)BPM流程设计器(2) 一步一步学习开发BPM工作流系统--------(六)BPM流程设计器(1) 一步一步学习开发BPM工作流系统--------(五)用户、组织机构和权限管理 一步一步学习开发BPM工作流系统--------(四)BPM数据库访问层 一步一步学习开发BPM工作流系统--------(三)开发WinForm的应用平台-2 - 云飞扬 一步一步学习开发BPM工作流系统--------(三)开发WinForm的应用平台-1 一步一步学习开发BPM工作流系统--------(二)BPM工作流系统的组成部分 - 云飞扬 一步一步学习开发BPM工作流系统--------(一)为什么要开发工作流系统 支持多数据库本地和远程调用的数据访问层架构
HF工作流引擎与现有业务系统的整合
云飞扬 · 2012-09-01 · via 博客园 - 云飞扬

     最近忙于项目,流程原理的介绍要放后一些,见谅!该篇先来解答朋友们的几个问题,BPM系统是企业业务流程的一个统称,HF是我们开发的BPM系统的名字,HF分三部分:流程设计器,流程引擎和业务平台,三者是高松散低耦合的,三部分在设计上是完全独立,都可以单独拿出来重新定制,HF的流程设计器和引擎这两部分可以结合使用,业务展现平台完全可以自己开发。目前大部分客户是使用流程设计器和流程引擎来改造现有的业务系统,这里把整合的过程大体介绍一下。

    HF工作流解决方案提供了流程引擎、流程设计器和业务展现平台,依靠这些我们可以从零搭建业务系统。但是在我们实际应用中经常遇到客户已经有了业务系统,如果再重新搭建业务系统势必造成重复投资,这时候就需要对原有业务系统进行改造,他们只需要在原有业务系统上增加工作流的功能即可。HF工作流引擎的设计是完全满足这个需求的,引擎的设计是开放式的,可以与任何第三方业务系统整合,第三方业务系统可以是java的系统,也可以是Php的系统,它的实现过程也非常简单,下面介绍一下HF流程引擎与业务整合的关键步骤:

实现工作流系统的整合一般从下面几个方面进行:

一、组织机构的整合

工作流系统的核心是人和任务,工作流系统离不开人,人是靠组织机构进行管理的,这是创建工作流系统的前提。HF工作流系统有一套自己组织机构,这套组织机构的划分是按照部门、岗位和人员划分的,与国内企业组织机构划分模式基本一致。如果现有业务系统中也存在组织机构,那么就要考虑两个组织机构合二为一或者通过其他手段让组织机构达到同步。

二、业务数据与流程数据的关联

在使用工作流之前业务数据是“孤立”的,像一个个的信息孤岛,工作流引擎的作用就是把它们互相串连起来,形成一个有机的整体。那么如何把二者有机的结合起来,实现流程数据与业务数据的关联,让工作流引擎知道如何组织业务数据,这需要在流程模板中配置任务数据的表单,业务平台可以根据配置加载表单,表单对应数据库里的表,数据表中指明所属的流程实例和任务实例,具体的做法是在业务数据表中增加四个字段worflowid,worktaskid,workflowinstanceid,worktaskinstanceid,也许这是唯一改变现有业务系统的地方,不需要流程流转的业务数据表不必改动的。业务表单整合后,表单提交的代码包括两部分,一部分是保存表单数据,一部分是调用流程引擎实现流转,实例代码如下:

#region 执行流转,处理任务

private void button7_Click(object sender, EventArgs e)

{

//

//此处是原来的业务数据提交代码,增加保存WorkflowInsId等四个字段与流程实例关联

//

//

//下面是通知流程引擎开始流转

//

string OperatorInsId = dataGridView3.SelectedRows[0].Cells["OperatorInsId"].Value.ToString();

WorkflowRuntime wfruntime = new WorkflowRuntime();

wfruntime.RunSuccess += new WorkflowRuntime.RunSuccessEventHandler(wfruntime_RunSuccess);

wfruntime.RunFail += new WorkflowRuntime.RunFailEventHandler(wfruntime_RunFail);

wfruntime.isSave = checkBox3.Checked;//true 表示保存草稿,执行Run方法的时候流程不流转

wfruntime.Run(textBox3.Text, OperatorInsId, "提交");//命令分支,必须与建模中的命令定义名相同,否则无法流转

}

#endregion

就是上面这几句代码完成了一个业务的整合,非常简单,对原有系统改动较小。

三、支持工作流系统的用户任务管理界面

工作流系统是一个人机交互很强的系统,任务必须人工干预,也就是处理任务(包括流程的发起和任务的处理)。所以必须提供发起流程的业务界面和接收任务的处理界面,这样用户才能发起流程,处理任务。HF工作流的设计充分考虑到了用户实际的需求,任务需要认领才能处理,认领任务后其他人就不会再看到该任务。

clip_image002

四、其他功能

HF工作流引擎还支持流程回退、流程授权、任务指派、动态指定下一任务处理人等复杂情况。