工作流技术JBPM开发入门(四)--思想触碰之发现问题(2)

对于这个工作流的学习真的是不断深入的过程,总觉得不能理解的,不可能实现的要求,现在它就出现在你的面前,真心让你哭笑不得!

我们再来说说使用工作流的优势:

1,流程管理业务(切记)

2,能方便的应对业务的变更(业务结点和流程分离)

3,实现流程的复用,结点的复用

4,记录流程追踪过程

5,状态的维护等

一直在说要用流程来管理业务(控制业务的处理流程),工作流的每个结点并不知道接下来改做什么,也不知道业务要想要做什么,而只管根据流程的顺序执行,至于做什么我无需关心。

理解误区:

对于WF4.0的工作流来说,每个结点由我们开发人员自己开发,简单来说就是开发业务结点,实现相应的业务功能,再抽象一步就是我们将所有的业务结点进行抽象,使得一个抽象业务结点可以被所有的业务复用。那么这个来说我们很容易理解抽象结点,然后需要使用工作流的话,将结点拖到工作流中,那么这些结点就被工作流管理起来了,我们要做的就是开发结点池,也是实现我们所说的工作流不知道要做什么,而是去控制业务流程的执行。

那么,再过来说JBPM,做了一个JBPM的实例之后,觉得jbpm没有什么要开发的公共结点,因为我直接拖到流程中的任务,并不需要写什么代码,只需要指派到某个人,或者绑定上某些表单,这些仅仅是一些属性的设置,并不需要开发什么结点呀?所以对于要开发结点池一直很困惑。而且在实现的过程中,我们也在不断思考,工作流到底带给我们了什么?做着做着,实现的方式便成了这样(以下进行说明),大家可以看看存在什么问题!

实现方式:

1,首先,我将所有调用工作流的方法均抽象出来,供所有的业务使用(实现工作流方法复用)

2,对于画好的流程图来说,工作流引擎就会给我们实现,按照流程图的方式自动执行,不需要我们再去实现什么

3,针对每个流程节点配置每个结点的操作人和操作页面

4,每个业务需要工作流操作时,即可调用(互用),具体的业务中掺杂着工作流的方法。

实现功能:

1,针对已经应用工作流的业务来说,应对了流程图(业务)的变更。

例如:

流程图的顺序为:开始---申请修改课程信息--导员审批--教学秘书审批--结束

修改为:开始--申请修改课程信息--导员审批或班长审批---教学秘书审批--结束

对于这个业务的流程变更,我们并不需要重新修改代码,唯一要做的就是部署一个新的流程即可

因为所有的流程处理由工作流来操作和记录(表单和人员指定即可)

2,记录着流程的流转记录

3,针对这个业务来说,无论我怎么变更业务,工作流都可以帮我们处理(对于其他业务也同样对待)

就这样我们就以为大功告成了,确实是吗?当然不是,只能说我们局限了!

那么,还有什么地方不对呢?这些不正是我们需要的吗?问题出在哪里了?应对变化,记录流转。当做到这一步的时候,真的以为已经万事大吉了,一切都OK了,但是这时并不理解老师说的开发结点池,以及工作流并不知道我接下来要做什么的问题。这时我们只看到了能应对当前业务的变更,看似实现了工作流的思想,却没有站在更高的高度去思考。

下篇继续介绍以上问题

时间: 2024-10-07 23:01:01

工作流技术JBPM开发入门(四)--思想触碰之发现问题(2)的相关文章

工作流技术JBPM开发入门(一)

什么是工作流? 对于工作流的官方解释在这里就不在赘述了,通俗的说呢,工作流就是对于我们业务中的流程管理! 由来: 由于我们接触的大部分OA系统中存在着大量的工作流程,而这些流程夹杂着不同领域的业务,无论是状态还是一些操作等都由我们自己维护,而一旦发生业务流程上的变化,修改源代码变成为家常便饭,整个项目举步维艰,况且需求的变更又是无处不在,业务流程的变化更是不可避免. 那么说了这么多,工作流到底帮我们做了什么呢? 工作流的实现原理: 对于工作流,其实它并不是什么高大上的技术,它的实现原理很简单,其

AppleWatch开发入门四——Table视图的应用

AppleWatch开发入门四--Table视图的应用 一.Watch上的Table WatchOS中的TableView和iOS中的TableView还是有很大的区别,在开发之前,首先我们应该明白WatchOS中的Table有哪些局限性和特点.下面几点是我总结WatchOS中Table的特殊之处: 1.Table只有行的概念,没有分区的概念,没有头尾视图的概念. 2.可以通过创建多个Table,来实现分区的效果. 3.因为Watch上是通过Gruop进行布局适应的,所以没有行高等设置. 4.T

java web开发入门四(spring)基于intellig idea

spring 1.spring简介 Spring框架,可以解决对象创建以及对象之间依赖关系的一种框架. 且可以和其他框架一起使用:Spring与Struts,  Spring与hibernate (起到整合(粘合)作用的一个框架) Spring提供了一站式解决方案: 1) Spring Core  spring的核心功能: IOC容器, 解决对象创建及依赖关系 2) Spring Web  Spring对web模块的支持. -à 可以与struts整合,让struts的action创建交给spr

平安科技移动开发二队技术周报(第四期)

平安科技移动开发二队技术周报(第四期) 业界新闻 1)Java 9将于2016年正式公布 Oracle已经宣布了Java 9的时间表.其目标是在2016年9年正式公布该版本号.该时间表遵循Oracle每两年公布一个新的主版本号的计划,尽管与先前的版本号相比,眼下提出的最后期限可能存在一定的延期风险. 2)谷歌I/O 2015大会前瞻:Android M.Chromecast 2以及很多其它 谷歌I/O大会再有几天就将与广大关注者见面.这意味着我们又该对这一年一度且总能引发业界高度关注的技术事件进

Unity3D技术之本地客户端开发入门

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,我们致力于打造业内unity3d培训.学习第一品牌. 本地客户端开发入门 本地客户端 (NaCl) 是 Google 提供的新技术,其允许您在 Web 页面嵌入本地可执行代码,以便您在无需安装插件的情况下部署性能非常强的 web 应用程序.目前,NaCl 仅支持在 Windows.Mac OS X 和 Linux(含可用的 Chrome 操作系统支

转:WF工作流技术内幕 —— 通过Web服务调用Workflow工作流(开发持久化工作流)

转:http://www.cnblogs.com/carysun/archive/2009/01/11/receiveactivity.html 如果你曾经负责开发企业ERP系统或者OA系统,工作流对你来说一定并不陌生.工作流(Workflow)是对工作流程及其各操作步骤之间业务规则 的抽象.概括.描述.工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档.信息或者任务.有见及 此,微软在.NET 3.0基础上发布了WF,WCF,以及WCS(身份

跨平台开发技术-PhoneGap从入门到精通视频教程

跨平台开发技术-PhoneGap从入门到精通视频教程下载   密码: nir2      联系QQ:1026270010 一.课程背景 在近几年的IT行业发展中,最热.最快的无疑是移动互联网,它是继互联网之后的又一次信息技术革命.移动互联网巨大的市场潜力创造了无限商机,人们纷纷加入其中,各种与之相应的新技术.新应用层出不穷. 移动应用离不开移动终端设备,如PC.手机.平板电脑等.目前,移动应用的开发平台大体分为三个方向,一个是收益稳定的iOS系统,另一个是如日中天的Android系统,还有一个是

小梅科普:跨平台开发技术-PhoneGap从入门到精通

一.课程背景 在近几年的IT行业发展中,最热.最快的无疑是移动互联网,它是继互联网之后的又一次信息技术革命.移动互联网巨大的市场潜力创造了无限商机,人们纷纷加入其中,各种与之相应的新技术.新应用层出不穷. 移动应用离不开移动终端设备,如PC.手机.平板电脑等.目前,移动应用的开发平台大体分为三个方向,一个是收益稳定的iOS系统,另一个是如日中天的Android系统,还有一个是蓄势待发的Windows Phone系统.丰富的开发平台增加了开发人员选择的灵活性,但同时也带了一个问题,就是应用平台的兼

IOS开发入门实例

关于如何创建第一个 iOS 应用 本篇“第一个 iOS 应用”教程将向你介绍 iOS 应用开发中的“三个T”: Tools(工具)如何利用 Xcode 创建和管理工程. Technologies(技术)如何创建能够响应用户输入的应用. Techniques(技巧)如何充分利用 iOS 应用开发的基础设计模式. 当你完成本教程的所有步骤之后,你的应用看起来会和下边图中的差不多: 从图中可以看到,你创建的应用界面上有三个主要的元素: 一个文本框(用户把文字输入到这里) 一个标签(这里可以用来显示信息