3
同时提交给多个审批者审批 。 那这个时候你就不能够在请假单中间增加一个外键 , 把它整成审批者什么的
,
这个时候你就要新建一张表,在那个表里面记录这个请假单和审批者之间的关联,提交请假单实际上就是
维护这个审批者与待审之间的关联
假设我现在要新加一个审批者,或者要减少一个审批者,那么就要修改代码这就很麻烦 。 。所以假设
一开始客户就告诉你这个期间可能会有人员的变动。那这个时候我们就应该怎么办?有什么样的思路?
我们是不是就应该对这一些变化进行一个小小的封装?怎样去封装或者怎样来封装呢?我们以前是不是经
常把那些数据库里面的用户名,密码什么的放在一个配置文件里面 因为它可能经常发生变化。所以这里
我们也是将他们整合到一个配置文件里面
当你在思考如何来创建这么一个文件 给它指定某种规则来描述这个流程 然后再写一段代码来解释
这个规则 然后根据这个规则来调度这个流转 这件事情的时候 你就是在设计一个工作流引擎
提交请假单怎样提交,工作流引擎就是做这种事情的
工作流引擎做两件事情
1 、 给你提供某种规范来定义规则 , 如何定义一个流程的这种规范 。 你可以根据它提供的相关概念来定
义更为复杂的流程。这就是工作流引擎做的第一件事情 叫做定义流程
2 、工作流引擎还得解释这个规则,还要负责流转 这个过程就叫 执行流程
JBPM 的核心就是定义流程和执行流程
总的来说 ( 这是一段总结性的语言,稍微有点官方 )
工作流引擎为我们提供相关概念的定义,给我们提供了相关 API 调用这个引擎去执行流程
如果我们不用这个工作流引擎,那么我们的代码就会非常的复杂,而且维护起来非常困难
流程的操作实际上就是工作流引擎提供相关的 API 我们去调用它
接下来我们就来看 工作流管理系统的构成
工作流管理系统的构成
工作流管理系统的构成
工作流管理系统的构成 (在 UML 的 ” 请假流程 ” 里面)
工作流引擎(这个是核心,后面的是一些常用功能)
工作流设计器 (设计流程( ROSE ) 、定义流程 我们是使用它,而不是自己做一个 )
流程操作(流程引擎提供的一些 API 我们去调它。比如启动、结束、挂起、查询流程)
工作流客户段程序(用工作流的那些客户端。比如将 jpbm 集成到某个系统,那个系统对工作流引擎
来说就是客户端程序)
流程监控(对流程流转进行监控)
表单设计器(表单的设计)
与表单的集成
与应用程序的集成
参考模型 — WFMC
核心调度算法
1 、 FMS
2 、 PetriNet ( 令牌 , JBPM 就是通过令牌来调度的 , 意思就是你的请假单从张三提交到李四的时候
,
它就是通过令牌知道的,令牌就从张三指向李四 。 。 。我觉得应该是令牌先指向李四的,或者说是同时进行
的)
接下来讲解
接下来讲解
接下来讲解
接下来讲解 JBPM
JBPM
JBPM
JBPM 架构
架构
架构
架构 , 我这个图是在网上找的只不过添加了一些中文注释 , 因为考虑到大部分人英
语还是没有过六级的,但是过了六级也不一定知道的,