基于BPEL的图形与XML文档相互转换的方法技术

技术编号:2919612 阅读:270 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于BPEL的图形到XML文档的转换方法,它包括以下步骤:1.创建基于BPEL的图形;2.创建与基本图形相对应的元集;3.将创建好的元集序列化,生成与基于BPEL的基本图形相对应的XML文档。另外,本发明专利技术还公开了一种实现XML文档到基于BPEL的图形转换的方法,它包括以下步骤:1.通过反序列化操作,将XML文档转换成元集;2.使用递归的方法,将元集转换成基于BPEL的图形。

【技术实现步骤摘要】

本专利技术涉及一种实现基于BPEL的图形与XML文档之间相互转换的方法。
技术介绍
随着计算机网络技术的发展和Internet应用的不断普及,Web服务因其完好的封装性、松耦合性及与平台的无关性,在其出现之后就得了迅速发展。然而,由于单个的Web服务所提供的功能单一,无法构成完整的业务应用,不能满足企业级应用的流程层集成需求,因此,需要把已有的分散的单个的Web服务组合起来,创建新的功能,形成具有增值价值的Web服务。基于Web服务的工作流技术可以实现Web服务的组合。基于Web服务的工作流技术是指把已经存在的多个单一的Web服务按正确的顺序组合起来,即通过使用Web服务工作流语言定义使用这些Web服务的业务流程。业务流程是指通过组合实现一个特定业务目标的各项活动的一个集合。活动指业务流程中实现特定业务目标的步骤。在Web服务工作流中,活动可以暴露为一个Web服务的操作,从而可以被请求者调用。伙伴指这个业务流程的参与者。因此,我们根据Web服务工作流语言可以定义出Web服务工作流模型,该工作流模型可以被工作流管理系统所执行。使用Web服务工作流语言描述业务流程的方式如下指定一组Web服务操作可能的执行顺序、这些Web服务间共享的数据、业务流程涉及哪些伙伴以及这些伙伴在业务流程中扮演什么角色、以及关于多个服务和组织是怎样参与等问题。目前,存在着不同版本的Web服务工作流语言如Microsoft的XLANG,IBM的WSFL,IBM、Microsoft和Bea共同开发的BPEL(业务流程执行语言)规范等。其中,BPEL规范正显示出逐渐成为Web服务工作流描述语言标准的趋势,它为描述基于Web服务的业务流程的XML文档,提供了XML文档大纲。在BPEL规范中定义了两种类型的Web服务活动基本活动和结构化活动。基本活动又包括九种活动invoke活动、receive活动、reply活动、assign活动、throw活动、terminate活动、wait活动、empty活动和compensate活动。结构化活动包括六种活动sequence活动、switch活动、while活动、scope活动、pick活动和flow活动。为了高效简便地按照BPEL规范定义Web服务工作流模型,一般需要提供一个可视化的工作流建模系统。工作流建模系统在可视化界面中提供了的表示Web服务活动的图形和表示流程逻辑的图形(两类图形统称基于BPEL的图形),通过组合这些图形来完成Web服务工作流模型的定义。由于工作流模型可能需要多次完成或者需要修改,并且建模的结果是为工作流管理系统中的工作流引擎提供一个可以被其解析执行的部署单元(包括一个工作流模型的描述文档),这样工作流模型必须能够持久化,一般就是以XML文档的形式保存下来。对于基于BPEL的Web服务工作流建模系统来说,工作流模型是用基于BPEL的图形来构造的,所以就是要实现基于BPEL的图形到XML文档的转换。当把工作流模型以文档的形式保存后,用户又要继续完成或修改工作流模型的时候,工作流建模系统就应该能够将这个文档还原成图形化的工作流模型。对于基于BPEL的Web服务工作流建模系统来说,也就是实现XML文档到基于BPEL图形的转换。除了这个原因以外,因为流程可重用性这个原因,也要实现XML文档到基于BPEL图形的转换。具体来说就是,因为BPEL规范是确定的,遵守BPEL规范的XML文档的格式是确定的,如果实现了上述功能,可以把任何一个遵循BPEL规范的XML文档转换为一个图形化的工作流模型,这样就可以通过修改或直接使用已有的流程来完成需要的流程,而不需要从开始开发,提高了效率。因此,从上面可以看出如何实现基于BPEL的图形与XML文档之间的相互转换是工作流建模系统需要解决的一个重要问题。
技术实现思路
鉴于上述原因,本专利技术的目的是提供一种应用于可视化工作流建模系统中的、实现基于BPEL的图形与XML文档相互转换的方法。该方法规定了工作流建模系统如何处理基于BPEL的图形与XML文档之间的相互转换。为实现上述目的,本专利技术采用以下技术方案一种基于BPEL的基本图形到XML文档的转换方法,它包括以下步骤第一步创建基于BPEL的图形;第二步创建与图形相对应的元集;第三步将创建好的元集序列化,生成与基于BPEL的图形相对应的XML文档。一种实现XML文档到基于BPEL的图形转换的方法,它包括以下步骤 第一步通过反序列化操作,将XML文档转换成元集;第二步使用递归的方法,将元集转换成基于BPEL的图形。附图说明图1为本专利技术实现基于BPEL的基本图形转换成XML文档的方法图2为本专利技术实现基于BPEL的结构图形转换成XML文档的方法图3为本专利技术将添加有子图形的结构图形转换成XML文档的方法图4为本专利技术将删除了子图形的结构图形转换成XML文档的方法图5为本专利技术将XML文档转换成基于BPEL的图形的方法图6为本专利技术基于BPEL的基本图形描述和与其对应的XML文档片段示意7为本专利技术基于BPEL的结构图形描述和与其对应的XML文档片段示意图具体实施方式为了便于实现基于BPEL的图形与XML文档之间的相互转换,本专利技术引入了元集这个概念。元集是一种对于XML的形式化描述及其处理方法。所述形式化描述是对XML的基于文档的集合的表示。所述处理方法即是对元集的处理,元集的处理包括创建、添加、删除、查找(过滤)、序列化、反序列化、设置父亲等方法。一个元集中可以包含其他元集。如果一个元集中包含有其他元集,那么这个元集称为其他元集的父元集,其他元集称为这个元集的子元集。一个元集中可以包含多个属性。属性就对应着XML文档中元素的属性。本专利技术中,元集和属性都用Java类实现。创建元集的方法即java类的构造函数,它的输入是一个字符串,该字符串作为元集的名字。下文提到的创建特定名字的元集,就是使用该方法,方法的参数是一个字符串,该字符串就是元集的特定名字。添加属性的方法往元集中添加一个属性。元集中维护一个列表来存储它的属性,添加属性就是往列表中添加一个属性。添加子元集的方法往父元集中添加一个子元集。元集中维护一个列表来存储它的子元集,添加子元集就是往列表中添加一个元集。删除子元集的方法从父元集中删除一个子元集。就是从父元集中存储子元集的列表中把相应子元集删去。查找子元集的方法从一个元集中查找某个子元集。就是从父元集存储子元集的列表中查找相应的子元集。序列化方法将一个元集对象转换为一个XML文档。就是将一个元集对象以字节流的形式存储成一个XML文档。反序列化方法将一个XML文档转换为一个元集对象。输入为XML文档的路径,可以利用SAX解析器解析XML文档还原成一个元集对象。设置父亲方法设置一个元集的父元集。这个方法可以保证元集间的关系与XML文档中元素间的关系相一致。获取父亲方法如果该元集有父元集,返回父元集;否则,返回空。创建属性的方法即java类的构造函数,它的输入是一个字符串,该字符串作为属性的名字。下文提到的创建元集的属性,就是使用该方法,方法的参数是一个字符串,该字符串就是属性的名字。基于上面的描述可知,元集和XML文档之间的转换是非常容易的,就是一个序列化和反序列化的过程,那么从基于BPEL的图形和XML文档本文档来自技高网
...

【技术保护点】
一种基于BPEL的基本图形到XML文档的转换方法,它包括以下步骤:第一步:创建基于BPEL的基本图形;创建一个按钮,其上显示的图片根据所要表示的基本图形的类型来确定;第二步:创建与基本图形相对应的元集;调用创 建元集的方法创建一个名与基本图形名相同的元集,创建元集的属性,添加到元集中,属性包括这种基本图形在BPEL中对应的基本活动所具有的属性;第三步:将创建好的元集序列化,生成与基于BPEL的基本图形相对应的XML文档;创建好的元 集调用序列化方法,序列化为XML文档,如图6右栏所示。

【技术特征摘要】

【专利技术属性】
技术研发人员:马殿富李晖刘敏曾晋孙斗朱岩
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1