一种业务处理执行语言流程部署方法
技术领域
本发明涉及工作流中间件技术架构领域,尤其涉及一种业务处理执行语言流程部署方法。
背景技术
随着网页服务Web Service技术日益成熟,许多企业的很多部门相应地创建了Web Service服务,如何在不改变这些Web Service独立正常运行的情况下,将这些Web Service集成起来创造出新的业务模型、业务流程成为了一个比较突出的业务需求,可通过业务处理执行语言(Business Process ExcutionLangue,BPEL)实现Web Service的集成。
通过BPEL将Web Service集成并部署的过程如图1所示,包括以下步骤:
S101,业务流程分析,根据业务需求进行流程分析,确定流程各WebService节点之间的逻辑关系;
S102,自动流程建模,根据流程分析结果,使用BPEL设计器进行BPEL流程建模;
S103,部署单元生成,将BPEL流程需要的资源文件存放到一个文件夹下,资源文件可包括流程定义文件(.bpel),流程部署文件(.deploy.xml),流程服务描述文件(.wsdl)以及一个或多个伙伴连接文件(.wsdl);
S104,流程部署,将生成的部署单元拷贝到部署目录下,根据算法进行流程部署或更新。
目前存在多种流程部署方式,比如基于压缩文件的方法,需要将BPEL流程所需资源文件打包成一个压缩文件进行部署,部署时需要将压缩文件解压到一个文件目录,部署过程复杂性较高,部署效率低。
发明内容
本发明实施例提供了一种业务处理执行语言流程部署方法,用于实现BPEL流程的部署,同时可进一步实现流程部署更新。
本发明实施例提供了一种业务处理执行语言(Business Process ExecutionLanguage,BPEL)流程部署方法,包括以下步骤:
BPEL部署监听器监听流程部署目录,并将为新部署单元创建的新增子目录发送给BPEL目录分析器;
BPEL目录分析器接收新增子目录,并检测新增子目录是否包含流程部署文件,
如果不包含所述流程部署文件,则向所述BPEL流程部署监听器发送部署报错信息,所述流程部署监听器接收到部署报错信息后,继续检测所述部署目录下是否有新增子目录,
如果包含所述流程部署文件,则进一步检测所述部署单元是否包含部署标记,
若没有部署标记,则为所述部署单元创建部署标记,向BPEL引擎发送创建部署标记信息,所述BPEL引擎读取部署单元进行流程部署,
若有部署标记,则检查部署单元是否发生变更,若部署单元存在变更,进行流程部署更新。
优选地,BPEL目录分析器接收BPEL流程部署监听器检测到部署目录下有新增子目录后发送的信息前进一步包括:
在BPEL引擎下创建BPEL引擎部署目录;
将BPEL流程部署单元的部署文件拷贝至所述BPEL引擎部署目录下,建立新增子目录;
BPEL流程部署监听器检测BPEL引擎部署目录下是否有新增子目录。
优选地,BPEL目录分析器向BPEL引擎发送创建部署标记信息,所述BPEL引擎读取部署文件进行流程部署后进一步包括:
BPEL引擎发布部署流程;
BPEL引擎存储部署流程。
优选地,若有部署标记,则检查是否部署单元是否发生变更,若部署单元存在变更,进行流程部署更新具体过程为:
BPEL目录分析器收到子目录变更消息,所述子目录变更信息由所述BPEL流程部署监听器检测所述部署目录下有所述子目录变更后发送;
BPEL目录分析器检测所述子目录变更后是否包含流程部署文件,
如果不包含所述流程部署文件,则向所述BPEL流程部署监听器发送部署报错信息,所述BPEL流程部署监听器继续检测所述部署目录下是否子目录变更,
如果包含所述流程部署文件,则进一步检测所述部署单元是否变更,若存在变更,则进行流程部署更新。
从以上技术方案可以看出,本发明实施例具有以下优点:
(1)在BPEL引擎下建立一个部署目录,BPEL引擎部署流程时只需将部署单元的资源文件拷贝到部署目录形成部署单元子目录即可进行流程部署;
(2)通过对部署单元子目录进行部署标记判断部署单元是否需要进行部署,实现方法简单高效。
附图说明
图1是Web Service集成并部署的流程示意图;
图2是本发明实施例的BPEL流程部署方法流程部署的流程示意图;
图3是本发明实施例的BPEL流程部署方法流程更新的流程示意图。
具体实施方式
本发明实施例提供了一种业务处理执行语言流程部署方法,用于实现BPEL流程的部署,同时可进一步实现流程部署更新。
参考图2,所示为本发明实施例的一种业务处理执行语言流程部署方法,包括以下步骤:
S201,BPEL部署监听器监听流程部署目录,并将为新部署单元创建的新增子目录发送给BPEL目录分析器;
BPEL引擎下都有一个部署目录,部署目录下每个子目录存放一个BPEL流程部署单元依赖的资源文件,资源文件中包括流程定义文件(.bpel)、流程部署文件(deploy.xml)、流程服务描述文件(.wsdl)以及一个或多个伙伴链接文件(.wsdl)。BPEL引擎的BPEL流程部署监听器对部署目录下的子目录进行实时的扫描,如果扫描到有新增的子目录,表示有新增的流程部署单元进入,此时会向BPEL目录分析器发送一个新增子目录信息。
S202,BPEL目录分析器接收新增子目录,并检测新增子目录是否包含流程部署文件,
BPEL目录分析器收到BPEL流程部署监听器发送来的新增子目录信息后,判断此新增的子目录是否包含流程部署文件,流程部署文件以deploy.xml为后缀。
S203a,如果不包含流程部署文件,则向BPEL流程部署监听器发送部署报错信息,流程部署监听器接收到部署报错信息后,继续检测部署目录下是否有新增子目录,
如果检测到不包含流程部署文件,说明部署单元缺少资源文件,BPEL目录分析器向BPEL流程部署监听器发送部署报错信息,不需要进行流程部署。
S203b,如果包含流程部署文件,则进一步检测部署单元是否包含部署标记,
如果包含流程部署文件,说明部署单元的资源文件完整,则可以进行进一步的判断和处理,先需要检测部署文件是否包含部署标记,部署标记为.deploy。
S204a,若没有部署标记,则为部署单元创建部署标记,向BPEL引擎发送创建部署标记信息,BPEL引擎读取部署单元进行流程部署,
S204b,若有部署标记,则检查部署单元是否发生变更,若部署单元存在变更,进行流程部署更新。
流程部署后进一步包括BPEL引擎发布部署流程和BPEL引擎存储部署流程。
从以上步骤可以看出,通过基于目录与标记的方法简单的实现BPEL流程的自动部署,提高了BPEL流程部署的效率。
进一步的,在步骤S204b中的若有部署标记,则检查部署单元是否发生变更,若部署单元存在变更,参考图3,进行流程部署更新的具体过程为:
S301,BPEL目录分析器收到子目录变更消息,子目录变更信息由BPEL流程部署监听器检测部署目录下有子目录变更后发送;
S302,BPEL目录分析器检测子目录变更后是否包含流程部署文件,
S303a,如果包含流程部署文件,则进一步检测部署单元是否变更,若存在变更,则进行流程部署更新,
S303b,如果不包含流程部署文件,则向BPEL流程部署监听器发送部署报错信息,BPEL流程部署监听器继续检测部署目录下是否子目录变更。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种业务处理执行语言流程部署方法进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。