工作流
概述
工作流是针对工作中具有固定程序的常规活动而提出的一个概念。通过将工作活动分解成定义良好的任务、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的。工作流技术为企业更好地实现经营目标提供了先进的手段。
工作流基本概念
1. 问:什么是工作流呢?
答:工作流是两个或两个以上的人,为了共同的目标,连续的以串行或并行的方式去完成某一业务或某一项活动。如工作流的名称所表达的含义,一个人处理的业务不称其为工作流,只有任务从一个人"流"向另一个人的时候才有工作流,并且个体参与工作流必须是为了同一个工作目标,如果个体处于两个相互独立的项目之中,不会产生工作流。
2. 问:什么是串行?什么是并行?
答:业务中的步骤也许以一步接着一步的方式进行,我们称之为串行;
在一个活动节点由不同的人或组合根据不同的情况处理,我们称之为并行。
工作流作用
1. 首先声明一点,所有能使用工作流的系统都能不用工作流实现。但是,这样做的坏处是:
a. 开发人员很头疼,相同的流程需要不断的coding,开发周期将变长
b. 维护更是恶梦,一旦变更流程或流程有纰漏,更改会很麻烦
c. 需要人工进行数据查询、统计、分析
d. 系统将无法控制活动或任务的流向任何人都能进行处理操作
e. 等等。太多了。
2. 用工作流的好处是:
a. 上面的问题都将得到解决
b. 事找人只要人计划好事情,事情会自动去找相关的人,这样人只要专注于任务处理就行
c. 数据存储对每个人的每项操作都有记录
d. 便于可管理系统自动统计每项任务,并按你的需求进行统计分析,给出结果
e. 等等。优点多多。
适用领域
-
适用行业:
消费品行业,制造业,电信服务业,银证险等金融服务业,物流服务业,物业服务业,物业管理,大中型进出口贸易公司,政府事业机构,研究院所及教育服务业等,特别是大的跨国企业和集团公司。 -
具体应用:
关键业务流程:订单、报价处理、采购处理、合同审核、客户电话处理、供应链管理等
行政管理类: 出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手工流转处理的行政表单。
人事管理类:员工培训安排、绩效考评、职位变动处理、员工档案信息管理等。
财务相关类:付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等。
客户服务类:客户信息管理、客户投诉、请求处理、售后服务管理等管理等。
特殊服务类: ISO系列对应流程、质量管理对应流程、产品数据信息管理、贸易公司报关处理、物流公司货物跟踪处理等各种通过表单逐步手工流转完成的任务均可应用工作流软件自动规范地实施。
实现方法
既然工作流这么神奇,这么好用,那么我们该如何实现一套工作流呢?别急,接下来我们以请假流程为例,带你领略一套完整的工作流程。
工作流需要依靠工作流管理系统来实现。限于篇幅,我们这里只讨论工作流的实现,假设你现在有一套能正常运行的管理系统。
那么我们要做的就是根据客户的业务需求,画出整体的工作流程图,以请假流程为例,如图1-1。
图1-1 请假管理流程图
至于具体的图标含义,诸君可参见于http://www.mossle.com/docs/activiti工作流用户手册。
有了工作流程图,我们接下来要做的就是将该流程部署并发布到系统中。其中,LeaveProcess.bpmn20.xml是工作流程图的文件名称。
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
repositoryService.createDeployment()
.addClasspathResource("org/activiti/test/LeaveProcess.bpmn20.xml")
.deploy();
发布完成后,我们还需要启动该流程实例。其中,"LeaveProcess:1:4"是流程定义id,variables是该流程实例启动人的信息,存于Map中。
RuntimeService runtimeService = processEngine.getRuntimeService();
ProcessInstance processInstance = runtimeService. startProcessInstanceById("LeaveProcess:1:4", variables);
到了这里,一个工作流任务就正式开始了,然后我们可以根据api里所提供的接口,自定义我们工作流程的功能函数,它们的特点就是从当前节点流转到下一节点,都只需要知道当前执行人、下一执行人和当前执行任务的描述信息。
当然,我们开始了一个工作流程后,到最后一定要关闭它,也就是要结束这项工作。如果不这么做,那么这项工作就会一直留在数据库里,一两条没什么影响,但如果任务多了,那么对数据访问性能的影响那将是很可怕的。接下来就结束任务流程,其实任务流程的结束和其他正常的流转没什么区别,唯一的不同就是,结束的下一执行人是不存在的。即,对api的调用只需传当前执行人和执行任务描述信息即可。
限于篇幅,这里只介绍了工作流的理论和实现的大体流程,想要详细了解的可以联系本文作者!
相关推荐
【工作流Activiti5学习总结】 工作流管理系统(Workflow Management System, WfMS)是企业信息化建设中的重要组成部分,它负责协调和管理业务流程。Activiti5是一款开源的工作流引擎,由Alfresco公司开发,它基于...
Activiti作为一个工作流引擎,允许开发者通过编程或使用图形化工具定义、执行和管理这些流程。 在Activiti中,流程定义是用BPMN 2.0(Business Process Model and Notation)语言编写的,这是一种国际标准,用于...
activiti工作流文档,超详细,从0基础开始入门,包括数据库介绍、核心api等介绍,满足日常开发所需
Activiti是一款开源的工作流引擎,它基于模型驱动的架构(MDA),专为现代企业应用程序设计,用于处理业务流程自动化。这个"Activiti工作流示例Activiti Demo"提供了完整的源代码,帮助开发者深入理解并实际操作...
activiti5工作流官方文档汉化版activiti5工作流官方文档汉化版
本项目“工作流activiti实战项目源码”提供了使用Activiti实现工作流的实例,适合开发者进行学习和实践。 在深入理解这个项目之前,我们先来了解一下Activiti的基本概念和功能: 1. **什么是Activiti**:Activiti ...
Activiti工作流框架是一款由Alfresco软件在2010年5月17日发布的业务流程管理(BPM)框架。它以其灵活性、易用性和强大的扩展能力而闻名,在业务流程管理、工作流和服务协作等多个领域都有着广泛的应用。Activiti基于...
Activiti工作流引擎是一款开源的企业级业务流程管理(BPM)和工作流系统,它为组织提供了一种灵活、可扩展的方式来设计、执行和管理业务流程。在面试中,了解Activiti的核心服务对于理解其工作原理和实际应用至关...
工作流Activiti是一种开源的工作流引擎,用于在企业应用程序中实现业务流程自动化。它由Alfresco Software开发,旨在提供灵活、可扩展且易于使用的流程管理解决方案。在本"工作流Activiti学习代码"资源中,我们将...
工作流Activiti是一个开源的工作流引擎,用于在Java应用程序中实现业务流程自动化。它提供了一套全面的工具和API,使开发人员能够轻松地设计、部署和管理业务流程。在这个"工作流activiti源码案例"中,我们可以深入...
标题中的“工作流Activiti的学习总结(八)Activiti自动执行的应用”表明本文将探讨如何在Activiti工作流引擎中实现任务的自动化执行。Activiti是一个开源的工作流和业务流程管理(BPM)系统,广泛应用于企业级应用...
Activiti 是一个开源的工作流引擎,它被广泛用于企业应用中来管理业务流程。这个"activiti-5.1"版本是Activiti工作流引擎的一个重要里程碑,它提供了丰富的功能和改进,使得开发者能够更加高效地实现流程自动化。 ...
实现流程,让任务能够按拟定的流程自动的驱动下去,不再需要我们实现流程的驱动,记录流程的流转情况等等,提供流程生命周期的管理功能,Activiti就是一种工作流引擎。 工作流平台: 如果每一个系统(项目)都有...
5. **集成与部署**:将工作流模型集成到Java工程中,部署到服务器进行实际运行。 6. **测试与调试**:测试流程的执行情况,确保符合业务需求,对异常情况进行调试和优化。 7. **监控与管理**:通过Activiti提供的...
总之,“工作流例子-activiti5”涵盖了 Activiti 5 的核心功能,包括工作流部署、运行、历史查询以及流程图的使用。通过学习这个实例,开发者可以更好地理解和掌握 Activiti 在业务流程自动化中的应用,提升软件系统...
Activiti工作流课程Activiti工作流课程Activiti工作流课程Activiti工作流课程Activiti工作流课程Activiti工作流课程
这个"工作流activiti-6.0.0.zip"文件包含的是Activiti 6.0.0版本的完整包,通常包括源代码、文档、库文件和其他必要的组件,用于开发和部署基于Activiti的工作流系统。 Activiti 6.0.0是一个重要的版本,因为它引入...
activiti 整合达梦+人大金仓 国产数据库jar
工作流引擎Activiti的介绍和简单的例子