献给java初学者,浅谈工作流及JBPM(一)

时下越来越流行工作流了,几乎是每一个项目都会涉及到工作流的应用,那么我们今天就来谈谈工作流。让初学者彻底了解工作流。

首先我们来看看什么叫做工作流,假如现在张三在公司写了一个请假单,如果天数是一天,他直接要交给他的上级李四来审批审批就可以了,如果天数多余一天,那么李四审批完了还要交给王五去审批。那么整个的这个流程就称之为工作流。

概念谁都能理解,但是要去实现这个工作流,就是很麻烦的一件事情,对于刚才我讲的那个例子来说,张三创建了一个请假单,然后要交给他的上级李四来处理,OK,我们可以把这个请假单和他要交给谁来审批也就是李四都存到数据库中,然后在李四登录的时候,就能够查看到有哪些请假单需要他来审批。这个是很好实现的,但是接下来就麻烦了,当这个请假单请假的天数是一天的时候,他有权利审批。但是如果多余一天的话,他还要交给他的上级王五去审批了。那么这个时候我们首先就要做一系列的判断,请假单是不是多余一天啊,多余一天的话李四要请示的上级是谁啊。而且如果李四要请示的上级是多个人的话我们还应该列出都由哪些上级等等等等。

我们现在只针对这一个需求就要这么麻烦的设计,如果公司有多种需求呢,审批请假单是一种流程,审批报销单也是一种流程,根据需求他的流程成百上千,很明显我们应该设计一个工作流的管理系统来管理这个工作流,然他能适合各种各样的工作流需求。

如果让我们自己去设计这个工作流的管理系统,那么我们首先应该抓住他的核心,其实工作流就是一些信息在不同的人之间的一种流动,根据不同的需求他有着不同的定义规则。那么这个系统要给用户提供这么样的一个接口,能够让用户自己去定义一个流程的规则,当用户定义了这个规则并交给这个系统的时候,他就能够读懂用户定义的这个规则并把他保存起来,并给他一个名字,以后当一个公文要流转的时候,他就根据这个公文上面写的工作流名称,把这个工作流的流向规则拿出来,根据这个规则让这个公文一步一步的流转下去。

所有的工作流管理系统都是这样来实现的,这就是他的原理,他的核心,当你理解了原理之后,其他的针对工作流的框架学习起来也就比较容易了。我们现在就来学习一种工作流引擎,也就是工作流的管理系统——JBPM。


初步认识JBPM

我最讨厌研究什么框架的意义啊、框架的好处啊、我们刚开始就是要学习这个东西怎么去用。只要你会用就可以了,谁管你知不知道历史,知不知道好处。所以这个里面我们就不再去赘述那些繁琐且没意思的套话了。

说了这么多的废话,该给你们看点实际性的东西了,现在就开始一个最简单的例子。

要想用工作流我们第一件要做的事情一定是定义某种流程规则,也就是你这个请假单是怎么走的。然后才开始部署流程。然后是将自定义的公文转到流程中去。然后就是jbpm替你来管理你的流程了,你只需要告诉他走和不走就可以了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前 言 1 1 概 述 2 1.1 选题背景 2 1.2 组织结构 2 2 所用相关技术和方法 3 2.1 工作流 3 2.1.1 什么叫工作流 3 2.1.2 工作流发展 3 2.1.3 工作流的优点 3 2.2 MVC工作模式 4 2.2.1 MVC设计思想 4 2.2.2 MVC的具体实现 5 2.2.3 MVC的不足 6 2.3 JSP技术介绍 6 2.3.1 JSP的运行原理 7 2.3.2 JSP的生命周期 8 2.3.3 Servlet和JavaBean技术介绍 8 2.3.4 Java 虚拟机 9 2.3.5 JSP访问SQL Server 2000数据库 9 2.4 数据库后台环境配置 10 2.5 系统开发工具简介 10 2.5.1 Dr eamweaver 10 2.5.2 MyEclipse 10 2.5.3 Tomcat 11 2.5.4 SQL Server2000 11 2.5.5 chs_sql2ksp3 12 3 系统需求分析 13 3.1 系统功能分析 13 3.2 系统性能分析 13 3.3 系统方案的确定和评价 13 4 系统总体设计 15 4.1 系统层次模块图 15 4.1.1 营业厅模块 15 4.1.2 收费管理模块 16 4.2 系统数据流程图 16 4.3 数据表设计 18 5 详细设计及编码 21 5.1 编写JAVABEAN 21 5.2 营业厅实现函数 21 5.3 收费厅主要的实现函数 22 5.4 JAVABEAN主要实现模块 22 5.4.1 中文字符格式的转换模块(Stringto.java) 22 5.4.2 自动生成验证码(Ran.java) 22 5.4.3 数据库的连接(ConnectionFactory.java) 23 5.4.4 数据库连接的关闭(DatabaseUtils.java)--只提供接口 23 5.4.5 密码修改模块(Common_fuction.java) 24 5.4.6 时间格式转换(timeBean.java) 24 5.4.7 数据统计(counthander.java) 25 5.4.8 营业厅的接口(luruaction.java) 27 5.4.9 营业厅的主要函数实现(luruhander.java) 28 5.4.10 收费厅的主要函数接口 32 5.5 管理员登陆模块 33 5.5.1 管理员登录 33 5.6 营业厅管理模块 36 5.6.1 Left.jsp页面 36 5.6.2 Work.jsp 40 5.6.3 customerlistinfo.jsp 41 5.6.4 allinfo.jsp 41 5.7 收费厅管理模块 42 5.7.1 Left.jsp 42 5.7.2 Work.jsp 43 5.7.3 Customerlistinfo.jsp 43 5.7.4 gongdan.jsp 43 6 系统测试与维护 45 6.1 测试目的 45 6.2 测试环境 45 6.3 系统测试 45 6.4 系统维护 45 7 开发难点与技术 46 7.1 主要程序实现的代码描述 46 7.1.1 验证码的自动生成 46 7.1.2 生成WORD工单 46 7.1.3 以一定的时间刷新页面 47 7.1.4 JSP中文问题的解决 47 7.2 在程序编码过程遇到的主要问题: 48 7.3 代码编写风格 49 7.4 我的不足: 49 结束语 50 致 谢 50
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值