关于Domain Model的讨论已经非常多了,炒炒冷饭,这里是自己的一些做法。以Workitem(工作流里的工作项)作为例子。最开始的做法:一个实体类叫做Workitem,指的是一个工作项或者称为任务项一个DAO类叫做WorkitemDao一个业务逻辑类叫做WorkitemManager(或者叫做WorkitemService)主要看看WorkitemManager,因为主要逻辑集中在这里
public class WorkitemManager {
private WorkItemDAO workItemDAO;
public void setWork ...
回退(Rollback WorkItem)
回退是工作流参与者对自己“待办任务”(实际是对工作项)的一种操作,即参与者主动回退待办任务列表中的任务到已经执行过的人工节点。
为什么要回退?
参与者接受任务后,发现不应由自己办理此任务或以前的执行者办理有错误等情况后,需要将此接受的任务回退给以前某个节点的执行者重新办理。
回退模式
回退的情况实际上是非常复杂的,其中包括了参与者的重新选择以及回退的条件判断等等。这里先列出常见的回退模式(其实也是我们支持的模式)。
串行
&n ...
收到这本书已经好久,甚至读完这本书都已经好久,一直想着写个书评,却一直被这事那事拖着,直到今天。我只想说,这是一本好书。
关于Hibernate似乎不必说太多。和朋友聊天,朋友说,你对Hibernate熟吗?我说,还好,用了两年了。朋友说,如果10分是满
分,你给自己打几分?我认真想了想,6分吧。说实话还真没有底气,会用而已。在此之前,我就看过一本Hibernate的书籍,《深入浅出
Hibernate》,然后就是满江红翻译的Hibernate中文手册。我想,也许没有必要再买一本Hibernate的书了,有问题查查
Hibernate中文手册就好了。
问题在于,我收到 ...
测试在sqlserver2000上进行,对工作流操作的相关方法在单元测试里进行多线程并发。测试发现sqlserver出现死锁的情况相当多,一些典型的情况:
1、对同一张表先insert再update是很快会引起死锁的,不管操作的是否是同一记录
解决方法:对于同一记录,需要调整hibernate的映射策略,使得一次insert完成操作。对于不同的记录需要在代码中手动flush,使得update先于insert。
2、对两张表进行多次update操作时,两张表交替update也会很快引起死锁
解决方法:在代码中手动flush,保证对两张表的update不会出现交替的情况。
3 ...
这是我们(东方易维)工作流产品设计过程中采取的设计:
一、流程实例的状态
状态分为
5种:实例化、执行中、挂起、手工结束、正常结束。
状态的变迁如下图:
二、节点实例的状态
状态分为
5种:实例化、执行中、挂起、手工结束、正常结束。
状态的变迁如下图:
三、具体节点的状态
细分:
A、人工节点、等待节点
这两个节点被触发后存在一个执行等待的过程,所以可以被用户直接挂起和手工结束。人工节点的挂起意味着所有 ...
用户的需求大概分为两部分:一部分是整个项目完全基于工作流来搭建开发,这也是很多工作流厂商患有“平台压迫症”的原因;另一部分是将工作流作为业务组件加入已有的项目中,推动业务的“审批”流转。
前者的要求显然更高,但也意味着有更多的利润。其实这一部分的用户又可以进一步的细分:一是技术能力比较差的公司,他们通过层层外包接到项目,而又没有实力自己开发,于是想通过采购工作流加上几个刚入门的程序员来完成整个项目的开发(这类用户往往也是业务平台最大的客户群),他们想着是一整套的开发解决方案,甚至包括业务分析;二是对业务编程的需求,他们需要流程引擎能够侵入业 ...
py工作流是国内比较好的工作流之一。大概看过它的一些文档,分析一下。
1、路由模型
py支持的工作流模式其实并不多,只是支持1到7七种模式而已,其中比较重要的是模式6和模式7,即M选N分支和
M选N聚合,看过它的实现,利用转移线条件来触发转移线,从而触发后续的节点。这样做比较简单,但是同时也存在很多问题,例如在路由非常复杂的情况下,例如多个分支节点的串联,以及并发路由存在多个节点时,这种做法实现起来就非常困难。另外,并发路由的工作流变量会存在相互冲突的情况,也包括业务数据的冲突。可以说py的路由模型还是很简单的,支持简单的业务可能没有问题,对于复杂的业务可能需 ...
委办只针对个人。委派给组织或岗位没有业务意义。
一、委办的分类
1、用户单一工作项的委办以及收回委办
2、用户所有工作项的委办,全权委办
3、用户按流程划分工作项的委办,基于模板的全权委办,也可以理解为基于业务的委办
二、委办的触发与终止
1、对于单一工作项的委办,在待签收和待办工作项列表需要出现委办的功能按钮,由用户选择其他用户代为办理。工作项委办后进入委办工作项列表,用户可以收回委办,同时用户和被委办人都可以对该工作项进行办理,用户自己处理则工作项自动被收回委办。
2、对于全权委办以及基于模板的全权委办,需要委办申请单。用户通过填写委办申请单,将某段时期内工作项列表的处理工作委派 ...
第一次接触这部影片,是在9年前。那是一个懒洋洋的下午,太阳穿过教室的窗户斜插过来,上完军体课,昏昏欲睡。那段日子里,昏昏欲睡似乎是永远的主题,我们是一群饥饿的人,而瞌睡就是那馒头,怎么吃,都吃不饱。下午是英语自习,英语老师是一个长相清秀的小伙子,唇红齿白,比我们大不了多少,刚刚从外国语学院毕业,至于姓什么,倒是忘记了。他的故事很多,经典的是一次上课让我们用love造句,他出了例句,说道,make love。我们哄笑一片,虽然我们刚刚高中毕业,但是我们也知道make love的意思。这让老师很尴尬,于是他的脸尴尬的红了,他急急地解释,make love有很多意思,不是你们想的那种意思。继续哄笑。 ...
既然是与用户相关的权限,那么权限的表现则一定与UI紧密相连。工作流管理系统里,用户与工作流的交互界面有四种:1、流程设计器 流程设计器的功能比较单一:定义或更新流程定义。里面涉及到包、模板和版本的概念。资源即流程模板(例如发文模板、收文模板),权限可以细分为:维护、只读以及不可见。2、流程管理控制台 对流程实例(包括活动实例和工作项实例)进行管理。这里对资源的划分有两种方式:操作和数据。从操作来分比较琐碎,例如:流程实例的挂起、终止、恢复、跳转,活动实例的挂起、终止、恢复等等,当然可以做一种集合,例如:对流程实例的管理、对活动实例的管理、对工作项实例的管理、时间服务的管理等等。从数据划分则很 ...
- 浏览: 36122 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最新评论
-
从贫血到充血Domain Model
ronghao 写道确实是一个bad smell.当Domain Model代码 ...
-- by crazy.j -
从贫血到充血Domain Model
确实是一个bad smell.当Domain Model代码中大量出现后,这种造 ...
-- by ronghao -
从贫血到充血Domain Model
very very very bad smell.Agree!
-- by bottom -
从贫血到充血Domain Model
Norther 写道引用WorkItemDAO workItemDAO=(Wor ...
-- by ronghao -
从贫血到充血Domain Model
引用WorkItemDAO workItemDAO=(WorkItemDAO)C ...
-- by Norther






评论排行榜