|
企业服务总线中的状态管理SOA(Service Oriented Architecture)即而向服务架构,最近几年来越来越热,不断发展。各大厂商在这方面也不断加大投入,推出自己的解决方案和相关产品。 含义如下: Processname:包含了该流程的名称及版本信息。 PeerServer:包含了一个节点上的配置信息,有PS名称,部署其上的SA信息,以及SA中的SU信息等。 该项可以是多个,和流程需要的PS的个数相同。 通过对SU,SA及相关描述文件的定义,就完成了对业务流程的定义。可以看出,业务流程采用分层描述的方式,最终完成对流程需要的所有的信息的描述。 3 流程状态监控算法 3.1 业务流程状态 在SynchroESB系统中,对业务流程的监控,可以通过对流程状态控制来实现的。在系统中,流程有几个状态: 1、 待部署:用户设计完流程,并上传到US服务器。 2、 停止:用户部署完流程,或执行停止操作后流程的状态。 3、 运行:流程运行时的状态。 4、 暂停:监控时使用暂停命令或断点中断时的状态。 各个状态是可以相互转换的,其状态转换图如下: 引发流程状态变化的事件,也是系统中对流程的操作。 其中暂停状态和停止状态的主要区别是:暂停时系统保留流程运行的信息,而停止时不保存信息。 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的概念,给出了它们的定义和描述。文章还介绍业务流程控制及监视的算法,并给出了流程状态和监控的关系。通过实例验证,文章描述的算法和设计有良好的应用效果。 责编:王立新 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
推荐博客 |
|