`
kungstriving
  • 浏览: 129078 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ActiveBPEL引擎研究一(工作流介绍)

    博客分类:
  • BPEL
阅读更多

    项目要用到工作流引擎,而且是整个系统的核心部件。所以,又要对工作流的部分进行研究了,为什么要说又呢?呵呵,本科时候的毕业设计就做的工作流的啊,但是说实话那时候并没有太多的理解,虽然题目定在了工作流,但是我实际做的东西还是分布式对象运行管理的。

    算了,不说旧话了,反正现在的新项目上工作流系统也是很正常的,时下对工作流的研究还是非常热门的。现在又有了这么多的新技术什么SOA啊,WebService,UDDI啊这些的。其实,认真想想工作流这个概念,还是对于产业界非常有用的(如果实施的好的话,SAP应该也包含类似的东西吧,但是好像很多企业实施之后,头比身子大啊,哈),它是起源于办公自动化(OA)的,后来逐步发展到工业界。从工作流的名字可以看出,其实就是工作流程,在没有计算机系统之前,工作的流转都是靠人来完成,比如你审批一个文件,都是你拿着文件跑上跑下的,盖章,签字的。工作流的理念就是将我们日常生活中的工作流程搬到计算机上,搬到网络上,让我们绝大部分的机械工作都让电脑来完成。想想也是很美的,现在要审批一个文件,你只需要坐在电脑旁,打开公司的工作流系统,点击某个按钮来启动审批这个文件的流程。当然,你要有这个文件的电子版,也把它交给工作流系统,这样,你的文件就随着工作流系统的控制,从一级领导-二级领导等等一路走了下来。当然,这些领导们也是这个系统的用户,他们进入这个系统就看到了自己需要审批你的文件了,就这样,通过类似的方式工作流系统就是这样工作的。

    对于上面的这个场景我想大部分人还是很有疑问的,比如

1)流程从哪来的?

   流程设计器的工作。流程设计器也是工作流系统不可缺少的一部分,通过它,熟悉本公司业务流程的员工可以设计出各种日常事务,或是生产过程的流程。它一般是可视化的图形界面,有很多的框框、线条之类的,通过拖拽来构建一个流程(——!当然了,比在word里面画图要难的多,因为还需要设置很多参数,或是指定活动等。这些参数就在日后流程运行时,控制了流程的流向啊)。把流程创建好之后,一般会生成一个基于XML的文本文件,这个文件其实就是你刚才设计的流程。然后,你把文件交给流程引擎,设计器的工作就算完成了。嗯??引擎是什么

2)引擎是什么?

   你光有了上面的流程文件也没啥用啊,这时就需要一个东西来处理这个文件了,它读取这个文件的内容,根据文件设定的流程走向来控制这个流程。比如,文件审批的流程启动之后,引擎发现首先要项目经理通过,所以它就给项目经理这个用户发送一个消息,说XXX要审批X文件,然后,项目经理进入系统,pass这个文件,这时候引擎知道了项目经理已经通过了这个文件,根据流程定义文件,下一个应该是处长了,所以它又要通知处长了。。。类似的。引擎就好像流程的指南针一样,指导着流程走向不同的地方。它是整个系统的核心。

 

上面的叙述可能也不是很清楚,但是大家肯定能有一个大体的认识了。工作流确实有很多的优势的,而且现在有很多的开源的工作流系统可以使用,下面就是java开源工作流列表,

http://www.open-open.com/08.htm

 

而对于我们这个项目,强调的是跨域资源共享、分布式协同执行,从这两点出发以往的工作流系统就无法满足项目需求了(一般的工作流系统都不是分布式的,更不要说跨域的资源共享了)。所以项目组决定采用BPEL(Business Process Execution Language)语言来定义流程,它最大的特点是可以与WebService绑定,而WebService对于异构系统可以进行封装,从而可以解决资源共享的问题。那么,就需要有一个支持BPEL语言的引擎,现在BPEL的流程引擎还不是很多,开源做的比较好的有ActiveBPEL、JBoss-jBPM-BPEL、Apache-ODE、bexee。开源的设计器就更少了Eclipse-BPEL是目前比较成熟的一种。而ActiveBpel的设计器也已经成为商业版,JBoss-jBPM确实是一个很棒的开源工作流引擎,而且有很棒的设计器,但是它并不是支持标准bpel语言的。所以也不在考虑范围之内了。

 

下面介绍下ActiveBpel:

ActiveBPEL 是BPEL引擎的代表,也是一款可执行BPEL4WS规范的开源流程引擎,其结构和实现方式具有很高的参考价值。目前国内很多正在开发基于BPEL产品的中小型软件厂商,其实现的很多基础性内容和思想都参考自ActiveBPEL。受目前国内中小型客户对流程需求的限制,基于BPEL的开源引擎或小型产品被市场接受度还很低。但BPEL所围绕的业务流程及流程整合应用是一个发展趋势。【摘自Huihoo Wiki】

ActiveBpel支持标准bpel语言,而且开源,有很大的研究价值。对于工作流工作原理、技术方法的研究都有很大帮助,但是不好的是,它没有自己的设计器,它的公司已经将其设计器ActiveVOS商业化。

 

ActiveBpel的安装配置,网上有很多文章,我这里只是简单说一下。

下载它的二进制包或者all包之后,解压根据readme的提示就可用顺利安装,需要注意的是ActiveBpel最新版5.0还是基于JDK5开发的,Tomcat的版本也支持5.X系列的。然后就是需要配置一些环境变量。启动tomcat,随着ActiveBpel也就启动了。如果需要其他帮助,可以查看{ActiveBpel.root}/doc文件夹下 的文档,包括了console的使用,部署流程,持久化等,写的非常详细,照做就是。

 

我们项目组需要做的就是了解其工作机理,然后修改,使其具有分布式特性,而且可以支持流程的分拆(我会在其他文章中详细介绍什么是流程分拆)。

 

这是ActiveBpel引擎研究的第一篇,我还会随着项目进展再写写自己的学习体会。

分享到:
评论
1 楼 zfms 2012-06-28  
写的能否再重点突出一些,看完后感觉挺累的

相关推荐

    activebpel-5.0.2

    ActiveBPEL引擎要求安装和正确的配置servlet容器。ActiveBPEL引擎的安装脚本是用作环境变量,也就是Tomcat的最上层目录。ActiveBPEL引擎应该运行在任何标准的servlet容器下。

    activebpel-5.0.2-bin.zip

    ActiveBPEL引擎要求安装和正确的配置servlet容器。ActiveBPEL引擎的安装脚本是用作环境变量,也就是Tomcat的最上层目录。ActiveBPEL引擎应该运行在任何标准的servlet容器下。

    activeBpel的网上收集的网页资料

    从网上收集整理关于activeBpel的介绍和资料,对学习了解activeBpel有点帮助

    ActiveBPEL的安装和配置

    ActiveBPEL的安装和配置

    activeBPEl使用指南

    本手册详细介绍一个贷款申请的流程,并用activeBPEL设计和实现

    ActiveBPEL.rar

    ActiveBPEL、jdk1.5、tomcat5.5.12、eclipse3.4.1

    Activebpel部署的客户端配置运行实例详解

    Activebpel部署的客户端配置运行的详细过程(英文原文,不过易懂)。

    bpel入门级实例

    去年写的一个小冬冬,把一个oracle的bpel实例改写后在activeBpel上运行,因为activeBpel是open的,可以研究引擎架构的实现。

    ActiveBPEL中组合服务自动部署的研究和实现

    对在此语言基础上自动产生BPEL的实现方法进行研究,提出一种由SCML出发自动转化BPEL并在引擎中自动部署、发布、执行的方法,并用此方法把旅游服务的模型发布在ActiveBPEL引擎上。该方法对于流程自动发布具有一定的可用...

    基于Web Services 的工作流管理系统研究 (2006年)

    针对当前主流的分布式计算平台的特点及其在工作流技术中的应用的不足,提出了一种基于Web Services的工作流管理系统架构,并采用ActiveBPEL引擎建立了一个基于Web Services的工作流管理系统平台,最后运行应用实例以...

    astro服务组合开发软件

    服务组合类,企业业务流程编排实例工具。通过它可以实现服务组合与协同,结合activebpel引擎。

    BIS-Grid-开源

    BIS-Grid引擎是UNICORE 6中间件(www.unicore.eu)的扩展,该中间件实现了WSRF兼容服务,以支持Service Grid中基于WS-BPEL的工作流执行。 该项目部分基于ActiveBPEL引擎

    BPEL的一个运行实例

    4.2. 安装ActiveBPEL引擎.............................................................................. - 44- 4.3. ActiveBpel 的数据持久化配置...............................................................

    SOAandWSBPELComposingServiceOrientedSolutionswithPHPandActiveBPEL.pdf 英文原版

    SOA and WS-BPEL – Composing Service Oriented Solutions with PHP and ActiveBPEL

    bpel环境搭建.zip

    包含activebpel5.0.2,apache ode 1.3.6,apache tomcat5.5.27,jdk1.5

    FlashBPELViewer-开源

    Macromedia Flash ActiveBpel进程查看器。 可以显示流程,流程和用于调用Web服务的变量视图。

Global site tag (gtag.js) - Google Analytics