企业服务总线中的状态管理

  
2010/7/7 16:26:17
SOA(Service Oriented Architecture)即而向服务架构,最近几年来越来越热,不断发展。各大厂商在这方面也不断加大投入,推出自己的解决方案和相关产品。

本文关键字: SOA 企业总线

含义如下:

Processname:包含了该流程的名称及版本信息。

PeerServer:包含了一个节点上的配置信息,有PS名称,部署其上的SA信息,以及SA中的SU信息等。

该项可以是多个,和流程需要的PS的个数相同。

通过对SU,SA及相关描述文件的定义,就完成了对业务流程的定义。可以看出,业务流程采用分层描述的方式,最终完成对流程需要的所有的信息的描述。

3   流程状态监控算法

3.1   业务流程状态

在SynchroESB系统中,对业务流程的监控,可以通过对流程状态控制来实现的。在系统中,流程有几个状态:

1、 待部署:用户设计完流程,并上传到US服务器。

2、 停止:用户部署完流程,或执行停止操作后流程的状态。

3、 运行:流程运行时的状态。

4、 暂停:监控时使用暂停命令或断点中断时的状态。

各个状态是可以相互转换的,其状态转换图如下:
                     
                                                   图 2 流程状态图

引发流程状态变化的事件,也是系统中对流程的操作。

其中暂停状态和停止状态的主要区别是:暂停时系统保留流程运行的信息,而停止时不保存信息。

3.2   业务流程的控制

业务流程控制方法,实现是通过控制涉及流程的每个PS来实现。PS上的SA都具有生命周期,并提供了管理接口,可以通过远程方法调用(JMX Over JMS),控制PS上的SA的状态,宏观上就体现为对流程状态的控制。

SA的生命期状态包括:启动(Started),中止(Stopped),关闭(Shutdown)

在图2中线上的事件,都是系统提供的控制操作。其中比较重要的操作如下:

1、 上传流程:用户在SPO上设计好流程后,同过JMS消息通信,将流程上传到US的流程仓库中,并将流程的状态设置为待部署。

2、 部署流程:用户在SPO中进行部署操作后,US的流程管理模块分析流程描述文件,得到相关的PS和SA的信息,通过远程方法调用,将SA部署到对应PS上去。并设置流程的状态为停止状态。在停止状态时,系统中已经有了该流程的信息,并且可以进行监控。

3、 启动,停止流程:如上所述,当SPO执行启动停止流程操作时,通过US调用管理接口,依次停止和流程相关的PS上的SA,并设置流程的状态为运行。停止流程过程和此类似。

4、 暂停流程:当用户选则暂停流程时,系统保存了流程运行的状态,以便以后恢复,然后通过US的接口,依次暂停各个PS上的SA,从而达到暂停流程的目的。

3.3   业务流程的监视

在工程应用中,需要了解流程运行的情况,可以通过对流程运行的监视来实现。流程运行的监视,设计算法上和流程控制不同,是通过对PS上运行组件的监视,来分析整理出流程的状态。

当SPO启动流程监控后,会触发一个定时器,该定时器按照配置的时间,通过远程方法调用获得该流程涉及的PS上所有的组件状态,然后筛选出所监控流程包含的组件状态,从而获得流程的运行状态。获得状态后,SPO需要从界面上展示出来,处理的方法是使设计器中的相应组件改变颜色。

4   结束语

本文采用分层的思想,介绍了基于ESB的业务流程的设计和实现,首先从概念上定义了业务流程的含义,并介绍了业务流程需要包含的信息。接着分层组成流程的SU和SA的概念,给出了它们的定义和描述。文章还介绍业务流程控制及监视的算法,并给出了流程状态和监控的关系。通过实例验证,文章描述的算法和设计有良好的应用效果。

共2页: [1]2 下一页
责编:王立新
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
推荐博客
创新平台技术,助力政企私有云..

创新平台技术,助力政企私有云建设金蝶中间件有限公司 奉继承 博士第16届软博会高峰论坛,2012.05.31……

畅享
首页
返回
顶部
×
    信息化规划
    IT总包
    供应商选型
    IT监理
    开发维护外包
    评估维权
客服电话
400-698-9918