最近因为实现一个系统,其中用到工作流,而在此之前对工作流未曾涉及,故先网上搜索了一番,了解到JBPM有图形化设计环境,又有JBOSS、Red Hat作后盾,故决定一试。用JBOSS提供的JBPM示例尝试一遍,并自己往其中添加流程测试后,觉得JBPM是一个不错的选择,于是又看了一下示例的程序代码、数据库设计,感觉还是蛮简洁的。
选定了工作流引擎,接下来就着手框架搭建了。因之前有一些Spring方面的经验,故开始时准备中间层用Spring实现,但如何与JBPM集成是一个问题,而现行Spring集成JBPM的方案我不太满意--没有做什么优化,配置方面也不简洁,于是SEAM开始走入视野。先看了一下文档,并运行了自带的两个示例之后,对SEAM开始感兴趣起来。然后就是通读例子源码,自己动手实现这两个例子,对SEAM也越来越喜爱,自此开始我的SEAM之旋。现在项目已告一段落,有了将对SEAM的认识梳理、总结一下的想法。
对SEAM最深的感受是:与以前的无状态的开发框架不同,SEAM更热衷于有状态的对象。另外就是SEAM对JBPM工作流引擎有很好的集成。在接下的时间里,我想就如下几点来谈谈我对SEAM的认识:
1.Conversation Context;
2.Bijection;
3.页面流;
4.工作流