activiti notes

原创
2013/04/17 15:57
阅读数 540

最近在看activiti, 算是对bpm有一个了解,发现activiti是一个很强大的东西,值得细细研究一下。

昨天看了一大陀activiti的文档,看了基本配置,也在tomcat里跑了war, 熟悉了一下环境,让它运行起来不难,难的是第一次接触bpm对整个的业务还不了解,在activiti里随便点了几下,大致了解了一点就开始用代码实现创建用户,组,可部署process,当然使用的也是官网bpm的例子,现在试图用code,跑一个process看看如何。。

API看的差不多了,就那么多的操作,不是太多,想深入一下他究竟是怎么解析bpm文件,怎么把他对应的信息放入的db村起来的时候就蒙掉了,太复杂了,从此也知道,有工具啥异想天开的事情都可以做,java基础就那么多东西,一个thinking in java把java弄了个地朝天,但是相关的框架却此起彼伏多如毫毛,这就是一个工具的魅力。

基本API操作ok了,剩下的就是BMPN相关的一些结构需要了解一下了,每个节点到底有什么用,怎么用,估计2天也看不完但还是的慢慢看。看完然后能自己建流程,能运行,再看activiti的引擎究竟是怎么工作的吧,好奇的很呢。

04/17/2013

又看了些文档,算是把整个的文档粗略的看了一遍,又在activiti的网站上兜了几圈,看了些activiti的发展历史,看了其创始人的一些简历,看了创始人对BPM的一些评价,发现我挺喜欢BPM的,以后如果可以就在这方面发展下去了,但是也是要看机会多不多了。看完了BPM以及实现的一些方方面面,突然发现以前写的那些程序简直就是用塑料做的一个儿童玩具,都是小儿科,只有这个才是一个企业必备的应用软件。be passionate with BPMN...

看了一大堆的BPMN结构,完全没有头绪,看这玩意就像管中窥豹只见一斑完全没有任何作用,看来还是要从实战做起,用到了再去瞅瞅看,不然看死累死还不解又没有成就感。

04/18/2013

文档上讲的还是比较少的,现在在看activiti in action这本书,感觉还是不错的,知道比user guide上讲的比较详细的。看书也是个头疼的问题,还好我有我自己的看书方法,才不至于那么枯燥无味,看到一半就想打退堂鼓。其实看activiti除了熟悉bpmn的一个流程是大头,另外一点就是学习他的扩展性,毕竟activiti并不是一个完整的产品,而是作为一个项目或者模块集成在自己的产品里,所以扩展这一部分也是很重要的。这本书大部分也主要在讲bpmn的使用,同时也讲了其扩展性,在没有其他可用资料的情况下,这本书无疑是最好的,而且也不过时,么有与当前版本差的太远。

04/19/2013

看了activiti可以实现那些功能,其中一些功能我觉得还是挺有趣的,特别是使用spring的di让整个的开发更灵活起来了。其中有JPA,感觉很不错,至少不用负责model中的crdu了,execution and task linstener觉得还是比较有意思的,这样如果想做一个监控的系统就不是特别的难,因为有其原生的支持,应该用起来就不会太别扭。

04/22/2013

对于activiti的错误处理方法,有2类,一种是使用BPMN的定义去实现,另外一种是使用在java service task里去实现。前面已经少许提到过activiti的部署方式主要分,嵌入式和独立部署,嵌入式的要求比较简单而与其的通信直接调用API就ok,独立部署的适合范围更广,扩展性也有很多的余地,与其通信是使用平台无管的REST API,跨语言跨平台都是可以支持的,同样的REST API的扩展也是相对容易,而且本身activiti与spring集成,若使用spring容器管理activiti可以达到事务处理的能力。

以上的部署方式还是比较业余的,对于一些企业级的程序,activiti同样可以完美的集成,其中就有与JBoss,OSGi在一起的使用,所以说activiti还是使用的范围还不仅仅局限在一个tomcat里,或者是一个小小的应用里。

04/23/2013

与其他系统的集成是可以通过BPMN定义的一些service去实现的,但是当集成的复杂度慢慢上升,这些service也开始变的越来越庞大,这时候就需要有第三方的组建去专门实现与其他系统的通信,而activiti只负责与中间系统进行交互而不用考虑具体与其他系统通信的细节而更专注于流程的执行。activiti对Apache Camel, Muel ESB的集成接口,所以很容易实现与这些系统的集成。

在这里接触到了一个新的概念 BRMS, 业务规则管理系统。就是在业务流程里面需要添加一些规则,当然同样可以在流程里作为逻辑来处理,但是这样的灵活性就失去了很多,比如规则的更改就导致流程定义的更改,重新部署等问题。在activiti这里,他没有像jBPM那样集成了一个规则引擎而是留出了相应的接口,让用户自由选择规则引擎的使用。使用规则引擎的好处当然就是更改规则方便,而且有了BRMS就可以实现类似的流程管理来管理这些规则,其中介绍的规则引擎就是在jBPM中使用的Drools.

04/24/2013

整本书看完了,但只是走马观花,不过没有遇到比较费解的问题,而且还增加了不少见识;接下来就是再用code跟这书上的例子自己在实现一遍,玩玩看。

04/25/2013

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部