`
huqi
  • 浏览: 93373 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
一个成熟的工作流管理系统,其引擎对于子流程功能的支持必然是不可少的,这好比是一门编程语言支持函数那么普遍一样。在当前Workflow, BPM, EAI产品的建模工具中,对于子流程/子过程的应用如家常便饭一样,无处不在……下面的内容,主要就以在工作流引擎系统中子流程功能的设计展开……这包括:建模设计——父流程中描述子流程的XPDL片段及解释……主子流程多版本并存问题的处理策略……同步、异步子流程的定义……父子流程的列表展现、监控、清除处理……父子流程的完成和终止规则……
一个成熟的工作流管理系统,其引擎对于子流程功能的支持必然是不可少的,这好比是一门编程语言支持函数那么普遍一样。在当前Workflow, BPM, EAI产品的建模工具中,对于子流程/子过程的应用如家常便饭一样,无处不在——是的 ...
退回(Rollback Work Item)……为什么要退回?……退回的原则……一些不可执行退回的场景……如果本活动和前活动之间存在一个或多个路由节点,则路由不会对退回规则产生任何影响,引擎在做退回运算时将跳过所有路由节点……
退回(Rollback Work Item)退回是针对本人(工作流参与者)的“待办任务”的操作,即参与者主动退回待办任务列表中的任务。为什么要退回?参与者接受任务后,发现不应由自己办理此任务或上一步的执行者办理有错误等情况后,需要将此接受的任务退回给上一步的执行者重新办理。退回的原则:执行退回以不影响本活动以及前活动的其他执行者已完成的工作为基本指导原则。以下是一些不可执行退回的场景,当然这不是绝对的,有的引擎设计是可以支持部分下列场景的退回,所以,仅供参考。1. 本活动的定义不允许对任务执行退回操作。2. 本活动非单任务,且有其它任务已经被完成。3. 本活动非单任务,且有其它任务正在处理中。4 ...
最经典的职责链模式应用就是JavaEE规范中web.xml的filter了,filters按照配置的顺序,依次处理根据其mapping条件过滤得到的web请求(response)/应答(request),从而可以实现诸如编码转换、事务封装、页面缓存等众多“职责”……下面这个范例模拟了一个软件行业中常见的项目处理流程,为一个项目(Project对象)的职责人员构造了一条处理链,然后向这个项目发出处理指令——从而在这条链上引发相关职责人员的处理……
对于职责链模式,一般是这么定义的:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,即——将这些对象连成一条(处理)链,并沿着这条链传递该请求,直到这条链结束同时有一个对象处理它为止。最经典的职责链模式应用就是JavaEE规范中web.xml的filter了,filters按照配置的顺序,依次处理根据其mapping条件过滤得到的web请求(response)/应答(request),从而可以实现诸如编码转换、事务封装、页面缓存等众多“职责”。给出职责链模式的适用范围:1、有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定。2、想在不明确指定接收者的情况下,向 ...
对厂商而言,谁能主导流程定义与运行的相关标准谁就是市场的赢家。本篇将要探讨,当前有哪些标准与主导的厂商阵营?这些厂商阵营如何既结盟又竞争?又谁能一统江湖而成市场最大赢家?……BPM藉由明确表式的流程定义将耦合松散的一群独立服务串联成新的商业流程,并让不同的BPMS能相互沟通与运行企业流程……IT产业中,大者恒大是赢得业界标准地位的不变定律。百家争鸣的战国时代中,大家都希望成为产业的主流标准,因此为了获得最后胜利,小型的标准组织会渐渐去依附大的国际标准组织并争取这些组织的认可……目前,在BPM领域,正如作者所推测的,BPEL这种流程建模语言/规范已然成为了事实上的标准……
BPM概念与BPMS之相关技术是架构在Web Services/SOA之基础上,未来不仅会改造企业建构IT系统的方法,也同时改变企业营运模式,或称商业流程的运行方式。对厂商而言,谁能主导流程定义与运行的相关标准谁就是市场的赢家。本篇将 ...
何谓取回,取回原则,一些不可执行取回的场景……如果前活动和其下一步活动之间存在一个或多个路由节点,则路由不会对取回规则产生任何影响,引擎在做取回运算时将跳过所有路由节点……是我以前在实现工作流引擎系统时的一些设计和指导原则……
取回(Withdraw Work Item)取回是针对本人的“已办任务”的操作,即取回已办任务。何谓取回:参与者提交任务后,发现自己办理此任务有误或不应该立刻提交等情况,需要将此已办理完成的任务取回重新办理或稍后再提交。取回原则:执行取回以不影响其他执行者已经办理的任务及下一步参与者已经完成的工作为基本指导原则。如果前活动仍在执行状态,即下一步活动还没有被激活,则只要流程定义允许,任务是肯定可以被取回的。以下是一些不可执行取回的场景,当然这不是绝对的,有的引擎设计是可以支持部分下列场景的取回,所以,仅供参考。1. 前活动的定义不允许对任务执行取回操作。2. 前活动为自动活动的情况,如图23. 前 ...
Spring以依赖注入(Dependency Injection)控制反转(IOC,Inversion of Control)和面向切面编程(AOP,Aspect Oriented Programming)为核心思想……Spring也一贯本着“不重复发明轮子”的基本指导思想,在其内集成或封装了大量的开源项目,而且这些开源项目都是经过精心挑选的,至少在其领域内是具有实用价值的……如果你想试用和了解Spring2的强大功能和技术架构,我认为在Tomcat上运行一下它的范例项目petclinic(宠物医院)是个不错的选择……把项目导入到Eclipse中运行,这样可以很方便的随时跟踪和学习源代码……
搞Java企业级应用的人都知道Spring是个好东西,记得这玩意1.0出来的时候,有人甚至说“有了Spring,架构师就可以下岗了”。当然,Spring不是上帝,它提供的只是一套优雅的框架(Framework)。这套框架以依赖注入(Dependency Injection)控制反转(IOC,Inversion of Control)和面向切面编程(AOP,Aspect Oriented Programming)为核心思想。前者以Spring bean配置的方式来划分应用中服务的层次,并对各个应用模块及业务逻辑的松散耦合、甚至解耦合提供了完美的支持;而后者在日志、监控管理,特别是事务管理方面为开发 ...
在软件的设计/实现过程中,我的同事经常会遇到这样一个场景:需要在一个可重用的、大范围的方法中调用若干个不确定的方法或一系列不确定的操作。在这种情况下,我经常建议他们使用“回调”这种技巧去解决问题。回调模式和接口、抽象这两个概念是紧密相关的,在这里简要的说明一下。接口(Interface):说明类该做什么而不指定如何去做。抽象(abstract)的道理也大致如此。回调,这个模式一般是这么定义的:在回调模式中你可以指定当一个特定时间发生时回调对象上的方法。这句话是不是很不好理解?那么举些例子就清楚了,例:java swing中ActionListener的接口监听机制,类似的API还有java.sw ...
需要在一个可重用的、大范围的方法中调用若干个不确定的方法或一系列不确定的操作……定义个抽象的(先不实现的)方法先行调用,然后在具体的使用中对此抽象方法进行实现,以供前面“回头调用”,此之所谓回调……实际的例子,这是在工作中我设计的一个基于回调模式的小工具,它可以根据指定的批量数(batchSize)来处理一个较大的泛型数组(Object[]),这可以用在广域网络计算、Web服务的场景中……
在软件的设计/实现过程中,我的同事经常会遇到这样一个场景:需要在一个可重用的、大范围的方法中调用若干个不确定的方法或一系列不确定的操作。在这种情况下,我经常建议他们使用“回调”这种技巧去解决问题。回调模式和接口、抽象这两个概念是紧密相关的,在这里简要的说明一下。接口(Interface):说明类该做什么而不指定如何去做。抽象(abstract)的道理也大致如此。回调,这个模式一般是这么定义的:在回调模式中你可以指定当一个特定时间发生时回调对象上的方法。这句话是不是很不好理解?那么举些例子就清楚了,例:java swing中ActionListener的接口监听机制,类似的API还有java.sw ...
Global site tag (gtag.js) - Google Analytics