自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

要思考

一个程序员的所思所想,新浪微博:http://weibo.com/ronghao100

  • 博客(275)
  • 收藏
  • 关注

jBPM-Side流程设计器架构说明

一、    代码主要结构所谓流程设计器者,无怪乎读取xml文件,图形展现,操作图形元素,改变xml文件,回写,如此而已。既然如此,设计器的流程结构就非常清晰:首先是xml框架解析xml文件为Model模型组件,然后Model模型组件被展现为Component视图组件;用户对Component视图组件进行操作,这些操作被同步的修改到Model模型组件;最后用户保存时,Model模型组件经...

2009-09-20 21:11:29 144

jBPM4 PVM的流程定义模型与过程调度

完整的jBPM4 PVM介绍发表在《程序员》第8期,这里截取部分的意思是PVM的过程调度是非常灵活的,PVM提供了一套和token类似的execution过程调度机制,通过对execution的完全操控,节点运行期行为有了无限的可能。 PVM的流程定义模型首先要说明的是,上图里的类全是接口。位于最上层的是ObservableElement,其提供给流程元素以附加Event(事件)的能力...

2009-08-05 18:02:50 372

使用selenium测试showModalDialog模态对话框

Selenium目前没有提供对IE模态对话框(即通过showModalDialog方法打开的弹出对话框)的处理。原因在于,模态对话框会将父页面的JS挂起,直至对话框处理完毕才会继续执行父页面JS。因为Selenium的底层实现是基于JS的,所以模态对话框会同时将selenium挂起,selenium无法选中模态对话框,直至超时。但是很多系统往往有大量的模态对话框应用。这些应用分为两类:一类是选人、...

2009-07-27 21:10:08 705

他是传奇

迈克挂了。有些伤感。但是和前些日子老婆的伤感有些不同。老婆伤感是因为罗京,老婆总在说,罗京是个好人。我却和她有着不同的意见,在人与人之间关系日益冷漠的今天,一个人死了,很多人为之伤心,这并不是一件容易的事情,我想这一定另有原因。我说,一只你很讨厌的狗,天天在你楼下叫唤,并且一叫20年,它死了,你一定会感到怅然若失,这是惯性。老婆说,你这么说不对,人怎么能和狗比?我说,好吧,我只是打个比...

2009-07-01 18:17:50 117

jBPM4与Spring的集成

      现在流行抱大腿,不过对眼光的要求也颇高。要不就如高也,即使四眼,一样无用。对Java企业开发而言,Spring的腿则是一定要抱的。而所谓抱Spring的腿,无外乎三点: 一是通过Spring暴露出服务,将服务配置到Spring的IOC容器里;二是在自己的运行环境里访问到Spring的IOC容器,能够轻松使用Spring容器里所配置的服务;三是对于具有事务管理特性的项目来...

2009-06-22 16:26:13 139

jBPM4的运行期环境

      万物生长靠太阳,儿童的生长离不开土壤、空气和水,当然。应用程序也是如此,离不开数据库连接、事务、日志、消息等,这些,共同构成了应用程序的运行期环境。      理想中的环境是什么样子的哩。好吧,一句话,召之即来,挥之即去,当需要某个服务时,ok,打个响指,该服务就准备好被调用了,调用完毕后也不用费心费力地擦屁股,不必老是提心吊胆有好事者追问:你擦了吗,确定擦了?真的确定擦了?直接丢...

2009-06-17 18:05:29 101

(Multi-stage Continuous Integration)多阶段持续集成

[b]一、目前的情况[/b]目前我们要进行持续集成的对象是一个有着100人左右的开发团队,他们开发着一套很庞大的系统。整个开发团队划分为多个开发小组进行协同开发,每个开发小组负责2-3个模块的开发,实际这里的模块已经相当于一个中小型系统。各模块所有的类都通过eclipse整体编译在一起,直接放置在WEB-INF/classes下。本地是无法启动整个系统的,需要耗费大量的资源。[b]...

2009-05-26 23:08:27 226

父亲的故事之二含蓄

父亲第二个故事主人公是我的小外甥,五岁,他喊我父亲叫姑爹爹。在校门口,他拦住父亲,喊:姑爹爹。很干脆。父亲说,哦,周成啊。他说,我要吃东西。父亲说,好啊,吃么事?小外甥从背后掏出雪糕,指了指不远处的小卖铺老板,说,你付钱就可以了。说这句话的时候,他显得有些得意洋洋。旁边不远,站着另外一个得意洋洋。父亲描述这件事的时候,笑了笑,说,现在的孩子很会表达。我也笑了笑,我突...

2009-05-08 18:06:46 105

Jbpm4的IOC容器

       和Jbpm3一样,Jbpm4实现了自己的IOC容器。以现在的眼光看来,应用程序里一个IOC容器几乎是居家必备的,否则,又要平白多出一坨一坨的工厂类和单态类来。一、    Jbpm4 IOC容器介绍IOC容器的目的是管理组件和实现组件之间的解耦。和Spring里的BeanFactory对应,Jbpm4里的接口是Context,具体实现则是WireContext。Context实际在Jb...

2009-05-07 18:30:00 96

父亲的故事之一算账

老婆做个小手术,清明回了趟家。家里的花开了,是油菜花,漫山遍野地、肆无忌惮地、有恃无恐地生长。连课本都说,春天是美丽的季节。晚上,围坐在老式的煤炉前,炉火正旺,炉上的鱼汤开了,嘟嘟的向外冒着泡,是鲢鱼。父亲手里拿着一块豆腐,摊开,用菜刀在豆腐上就那么划拉几下,那些豆腐块就嫩嫩地落到鱼汤里,一股清香弥漫开来。父亲说,给你们讲讲我的故事吧。说这话的时候,厨房的灯光很暗,煤炉里的煤球发出...

2009-04-12 22:32:16 202

QCon北京大会感想

公司团体票,参加了QCon北京大会第二天的内容。感觉大多数技术网站都有水化和后继乏力的感觉,原因很简单,简单地依靠用户产生内容是有问题的,专业作者和专职编辑团体才是高质量内容的保障。在这方面,个人觉得INFOQ非常不错。说说自己对大会的一些感想。关于话题第二天的话题是关于网站架构,虽说一直做企业开发,但对网站一直有很高的兴趣。网站的访问量、用户量是企...

2009-04-11 22:35:18 227

原创 JbpmSide介绍

在周末的openparty上,分享了关于JbpmSide介绍的session。主要介绍了这个项目的目标、功能规划、开发计划以及当前的进度。下面是可供下载的ppt。JbpmSide仍然定位于一个完整的工作流解决方案。 附件:JbpmSide PPT

2009-03-30 10:37:00 2593 1

JbpmSide介绍

在周末的openparty上,分享了关于JbpmSide介绍的session。主要介绍了这个项目的目标、功能规划、开发计划以及当前的进度。附件中是可供下载的ppt。 JbpmSide仍然定位于一个完整的工作流解决方案。 设计器的代码已经可以从googlecode下载。附件2是编译后的swf文件,可直接运行。...

2009-03-30 10:29:53 92

原创 JbpmSide流程设计器进度

汇报一下设计器当前进度以及下一阶段主要的开发目标。当前进度主要集中在图像处理方面:    1、采用Riawave,完成了整个设计器图形处理的架构    2、工作流节点的图形建模    3、节点的拖拽以及连线    4、节点、连线的剪贴、复制、删除操作,支持快捷键    5、画板的缩放和Grid显示与否采用的图形类库是Degrafa。下一阶段(2-3周)会实现

2009-03-27 10:03:00 2389 1

JbpmSide 流程设计器进度

汇报一下设计器当前进度以及下一阶段主要的开发目标。当前进度主要集中在图像处理方面:    1、采用Riawave,完成了整个设计器图形处理的架构    2、工作流节点的图形建模    3、节点的拖拽以及连线    4、节点、连线的剪贴、复制、删除操作,支持快捷键    5、画板的缩放和Grid显示与否采用的图形类库是Degrafa。下一阶段(2-3周)会实现以下的功能:    1...

2009-03-26 22:15:22 132

jBPM-side流程设计器功能规划

 目标:jBPM-sideProcessDesigner是一个独立的设计器,基于Flex技术。其目的在于既使得程序开发人员能够基于其进行业务流程的建模,同时业务人员也能够基于其进行简单的建模和修改,例如修改节点的顺序、参与者等操作。此外,jBPM-sideProcessDesigner具有很高的可配置性,在流程定义scheme变化的情况下,能够很快的做出适配。即其与具体的流程定义语...

2009-03-08 21:57:41 141

Flex框架Riawave应用以及对AJAX开发框架的思考

Jbpmside要使用Flex开发流程设计器以及管理器,刚好公司的一个内部项目也应用到Flex,大概花了一个礼拜来熟悉和了解Flex。其中发现Flex开发和AJAX开发的很多相通之处,这里把自己对Flex的一些学习心得总结一下。分为三部分,分别是对Riawave框架的介绍、参照Riawave,对自己先前采用的AJAX开发框架的介绍、以及对AJAX前景的一些自己看法。一、Flex框架Riawave的...

2009-03-01 22:05:32 96

你服务,你全家才服务

在拥挤的公交车上读完《工作流管理(模型、方法和系统)》,自从搬完家,上班的路途突然变得遥远。这本书确实是按照它的副标题组织的,分别介绍工作流的建模模型、应用工作流开发的方法以及部分商业的工作流产品。对petri网的介绍是这本书的重点,如果想对petri网有个大概的了解而又不愿意接触深奥的数学,那么可以一读。本书随后分析了如何对流程模型进行分析,包括对建模正确性与否的定量分析以及对资源运行效率...

2009-02-19 14:18:22 94

工作流技术基础读后

大概花了三天的时间读完这本书,书本身也不厚,读起来很快。这本书出版于2001年,所以对它也没有抱有很大的期望,但是还不错,特别是前三章,很有些惊喜。后面关于工作流仿真的描述也很到位。但是关于技术实现,则大都略过了。  总结一下里面个人觉得不错的部分。  第一章很不错,强调为什么需要工作流管理系统。  ...

2009-02-09 18:03:11 145

记忆中的年

小时候,记忆中的年总和红色有关,因为鞭炮是红色的。那时候,还小,不挣钱,但口袋里总是有着不知来历的几毛钱。叫上表哥,一起到小店里买鞭炮,买不起贵的,买最便宜的那种,两百响。不及回到家里,两个人坐在泥巴地上拆鞭炮,分成两堆,一人一堆,把口袋撑得鼓鼓的,那是我们的财富。鞭炮,顾名思义,是鞭和炮。我们买的其实是鞭,炮仗可是个大家伙,不仅个头大声音也大,那是会让我们眼睛亮晶晶的家伙。因为稀有,...

2009-01-31 21:49:57 167

年夜饭之蒸肉

年夜饭里最重要的当属蒸肉。第一步是准备蒸肉粉。不去超市买,要自力更生。取大米,用水泡一个晚上,然后碾碎成粉。没有机器,这里是山寨版地手工玻璃瓶碾压。第二步是和肉。调料是:盐、五香粉、蒸肉粉、葱花、豆瓣酱等。可以根据个人的口味增减。 第三步是准备蒸菜。没有找到老家方言里的“踏里棵”,用白菜代替,洗好,晾干。莲藕,切块。最后就是放上蒸锅开蒸,先用大火,问到香味后,小火焖一小时...

2009-01-27 14:17:27 178

年夜饭之炸红薯丸子、炸莲藕和做糯米丸子

想了很长时间,最后决定春节不回家。这意味着两件事情,一件是不用再去挤火车,这是好事,另一件则是需要自己来做年夜饭。本来是让爸妈来北京的,但是今年很奇怪,年前来北京的火车票也很紧张,没有买到票。于是和老婆、老妹三个人在北京孤单地过。29早早的就起床,去菜市场买菜,想起往年这个时候都是在被窝里过,突然就想起爸妈的好来。今天的任务是炸红薯丸子、炸莲藕和做糯米丸子。这也是每年家里的必备菜,做之前老婆...

2009-01-27 13:50:54 206

又见年底总结

在温暖的办公室里写下这些字的时候,外边的天气很好,目光从明亮的窗户扔出去刚好能够触到西直门,所以这应该算是北京的好天气。回想起去年的这个时候,也是坐在办公室里,在上地,不远处的信息环岛,运通105在缓缓挪动。我很喜欢运通105,尽管有很多车可以选择,但是运通的司机总是很生猛,他能够骂骂咧咧地迅速变线超车,也能够抢在绿灯的最后一秒秒穿过路口,上他的车你需要确实坐稳扶好。下雨的时候会去坐车,平时则是骑...

2008-12-29 16:59:41 102

隔壁的那个老头-读胡适杂忆

断断续续地花了几个月时间才断断续续地读完这本书。没有顺序,跳跃着章节读。书是8月份买的,当当网,技术书是越来越贵,这类书却是折扣的厉害。书送来了,也在封面郑重其事地写下“认真读书”,然后也认真地签上了自己的大名,也心想,这次一定要认认真真地读完。却始终没有读完,先是回家结婚,然后就是换工作,再后就是翻译书,心想,哪有时间读书。等到年底终于有些时间了,却突然发现,书不见了。然后就是到处寻找,...

2008-12-25 16:07:31 432

原创 BPM向左,工作流向右(二)工作流系统杂谈

 当面对一个完整的工作流系统时,你可能会被它众多的功能所困惑:流程流转模式、时间服务、组织适配、表单权限等等。但是如果我们转换一种思路,首先从用户使用的角度来进行分析,工作流系统的组成就会变得异常清晰。实际在现实开发中,整个系统也是由用户的业务需求一步步迭代而来。 一、       从用户的角度分析工作流系统的组成这里的用户分为两类:一类是应用系统开发人员(以后

2008-11-09 09:29:00 3138

BPM向左,工作流向右(二)工作流系统杂谈

当面对一个完整的工作流系统时,你可能会被它众多的功能所困惑:流程流转模式、时间服务、组织适配、表单权限等等。但是如果我们转换一种思路,首先从用户使用的角度来进行分析,工作流系统的组成就会变得异常清晰。实际在现实开发中,整个系统也是由用户的业务需求一步步迭代而来。 一、       从用户的角度分析工作流系统的组成这里的用户分为两类:一类是应用系统开发人员(以后简称开发...

2008-11-07 11:28:51 165

原创 基于memcached的SNA实现

系统要集群,使用SNA方案。一、 缓存的处理缓存要使用统一的缓存服务器,集中式缓存。原先的实现采用ehcache。在spring里的配置,以资源缓存为例:    bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">        property name="confi

2008-10-28 20:44:00 2060 2

基于memcached的SNA实现

系统要集群,使用SNA方案。一、 缓存的处理缓存要使用统一的缓存服务器,集中式缓存。原先的实现采用ehcache。在spring里的配置,以资源缓存为例:<!-- EhCache Manager --> <bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFacto...

2008-10-28 17:34:17 92

SNA方案之session炒冷饭

SNA方案中,session的处理是一个重要方面。原帖见这里:http://www.iteye.com/topic/200611原帖里提到的两种方案都需要hack代码。下面是我的方案:1、使用会话cookie保存web服务器产生的sessionid   为什么是sessionid而不是userid,原因在于谁也不知道除去登录外其他人会在httpsession里干些什么2、自定义SessionMap...

2008-09-04 14:49:19 231

原创 一次性能调优的实战

项目情况:是一个大型公司的内部办公系统,该系统有两个和一般企业应用不太一样的特点:一是用户量非常多,人员数达到2W左右,另一个是采用分级管理的形式,各个分公司数据分开管理。我们的定位:我们是作为业务平台的提供商参与这个项目的,我们提供底层的开发平台,系统集成商在此基础上进行二次开发。在项目从开发到部署的过程中遇到了很多的问题,也反映出很多问题。一、怎么回事,跑得比猫还慢

2008-09-01 13:43:00 5612 22

一次性能调优的实战

项目情况:是一个大型公司的内部办公系统,该系统有两个和一般企业应用不太一样的特点:一是用户量非常多,人员数达到2W左右,另一个是采用分级管理的形式,各个分公司数据分开管理。我们的定位:我们是作为业务平台的提供商参与这个项目的,我们提供底层的开发平台,系统集成商在此基础上进行二次开发。在项目从开发到部署的过程中遇到了很多的问题,也反映出很多问题。[b]一、怎么回事,跑得比猫还...

2008-09-01 12:56:10 144

原创 BPM向左,工作流向右(一)什么是业务流程

从事工作流以及相关开发已经三年。提到工作流,很多人都会想到BPM,想到业务流程。对于业务流程,我的理解经过了一个过程,从最开始对工作流抱有的不切实际的期望,到对BPM的一些看法,再到目前的趋于实际。有一些感触,也有一些理解。对于业务流程管理而言,我想说的是:BPM向左,工作流向右,都不靠谱,或者说它们实际所能描述的流程和这里的业务流程根本就风牛马不相及,不是一个概念,唯一的相同

2008-08-27 11:34:00 3940 7

BPM向左,工作流向右(一)什么是业务流程

从事工作流以及相关开发已经三年。提到工作流,很多人都会想到BPM,想到业务流程。对于业务流程,我的理解经过了一个过程,从最开始对工作流抱有的不切实际的期望,到对BPM的一些看法,再到目前的趋于实际。有一些感触,也有一些理解。对于业务流程管理而言,我想说的是:BPM向左,工作流向右,都不靠谱,或者说它们实际所能描述的流程和这里的业务流程根本就风牛马不相及,不是一个概念,唯一的相同点是只...

2008-08-26 17:43:37 199

js组件的测试,是个问题

用js编写自己的组件,测试一直是个头疼的问题。最开始大量使用alert,firebug出现后天突然蓝了。但是人的欲望总是没有止境的,在面对越来越多的后台数据交互以及特定于不同业务数据不同的展现形式时,仿佛一夜回到解放前。 说说我现在的困境: 目前要做的是工作流的提交页面,也就是对当前办理工作的用户展现后续任务,根据不同的情况由用户选择或是引擎自动计算。这是最简单的情况,后续包括参与者的...

2008-08-11 19:06:57 155

原创 工作流之收回

收回收回是工作流参与者对自己“已办任务”(对已完成的工作项)的一种操作,即参与者主动对已办理过的工作项进行重新办理。为什么要收回?参与者完成任务后,发现自己办理有错误等情况后,需要将此任务收回重新办理。工作项的参与方式目前有四种方式:共同参与、竞争参与、顺序参与、基于角色的共同参与。下面会针对这四种方式进行讨论。工作项收回模式1、未触发下一节点的工作项的收回即当

2008-07-22 18:19:00 3847 4

工作流之收回

 收回收回是工作流参与者对自己“已办任务”(对已完成的工作项)的一种操作,即参与者主动对已办理过的工作项进行重新办理。 为什么要收回?参与者完成任务后,发现自己办理有错误等情况后,需要将此任务收回重新办理。 工作项的参与方式目前有四种方式:共同参与、竞争参与、顺序参与、基于角色的共同参与。下面会针对这四种方式进行讨论。 工作项收回模式...

2008-07-15 18:31:02 237

原创 从贫血到充血Domain Model

关于Domain Model的讨论已经非常多了,炒炒冷饭,这里是自己的一些做法。 以Workitem(工作流里的工作项)作为例子 最开始的做法: 一个实体类叫做Workitem,指的是一个工作项或者称为任务项 一个DAO类叫做WorkitemDao 一个业务逻辑类叫做WorkitemManager(或者叫做WorkitemService) 主要看看Workite

2008-07-04 09:54:00 6133 17

原创 从贫血到充血Domain Model

关于Domain Model的讨论已经非常多了,炒炒冷饭,这里是自己的一些做法。以Workitem(工作流里的工作项)作为例子最开始的做法:一个实体类叫做Workitem,指的是一个工作项或者称为任务项一个DAO类叫做WorkitemDao一个业务逻辑类叫做WorkitemManager(或者叫做WorkitemService)主要看看WorkitemManager

2008-07-03 16:49:00 2029

从贫血到充血Domain Model

关于Domain Model的讨论已经非常多了,炒炒冷饭,这里是自己的一些做法。以Workitem(工作流里的工作项)作为例子。最开始的做法:一个实体类叫做Workitem,指的是一个工作项或者称为任务项一个DAO类叫做WorkitemDao一个业务逻辑类叫做WorkitemManager(或者叫做WorkitemService)主要看看WorkitemManager,因为主要逻辑集中在这里pu...

2008-07-03 12:01:32 125

原创 工作流回退模式分析

回退(Rollback WorkItem) 回退是工作流参与者对自己“待办任务”(实际是对工作项)的一种操作,即参与者主动回退待办任务列表中的任务到已经执行过的人工节点。 为什么要回退? 参与者接受任务后,发现不应由自己办理此任务或以前的执行者办理有错误等情况后,需要将此接受的任务回退给以前某个节点的执行者重新办理。 回退模式 回退的情况实

2008-06-24 09:29:00 4066 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除