2018Web服务组合技术在电子商务中的应用
作者:毛一梅 乐嘉锦 徐建平[摘要] Web服务技术已被电子商务企业广泛接受和认同,然而,在业务过程处理中,通常需要按照一定的粒度,将多个Web服务根据特定的应用背景和需求进行合理的组合,以便实现完整的业务过程。本文主要研究基于本体的Web组合服务的合成建模及接口集成的技术,介绍该技术在电子商务中应用的基本思想,并根据具体的案例提出了Web组合服务的实施方案。
[关键词] 电子商务 Web服务 Web组合服务 合成建模
在电子商务中,具有良好封闭性、松散耦合和高度可集成等特点的Web服务技术深受企业的青睐,但是单一的Web服务功能毕竟简单、有限,难以满足某些实际应用的需要,人们开始关注Web服务的组合问题,本文主要研究基于本体的Web组合服务的合成建模及接口集成的技术在电子商务中的应用,分析了具体的案例,提出了Web组合服务的实施方案。
一、Web服务的组合
1.概述
Web服务的组合就是通过合成不同提供者提供的原子Web服务或组合服务来为用户提供增值的服务。目前,有许多著名公司的商务套件产品都开始支持Web服务及其组合的应用。Web服务的组合中如何建模是组合成败的关键之一。
2.本体建模
在Web服务的合成中,本体建模的优劣直接影响到组合服务的效果。本体建模分为二个部分:输入输出参数建模和Web服务合成建模。
(1)输入输出参数建模
输入输出参数进行建模分收集属性和构建抽象属性二个步骤。收集属性就是根据现有的Web服务的输入输出参数来进行属性的选取;构建抽象属性是根据实际情况对收集到的属性和Web服务中已有的类进行分类和抽象,构建基本类和抽象类。在本体中可以有两个基本的关系——sub-class-of和part-of:
sub-class-of:A “sub-class-of” B,表示A是B的子类。这里的A和B只能是抽象类。sub-class-of具有传递性,即A “sub-class-of” B,B“sub-class-of”C意味着A“sub-class-of”C。
part-of:A“part-of”B表示A是B的一个元素。这里的A可以是基本类或抽象类,也可以是一个集合;而B只能为集合或者抽象类。part-of也具有传递性。
可以由sub-class-of和part-of定义一个关系:A“semi-part of”B。
定义1 假设有两个集合A、B,如果对于A中任意一个元素α,总能在B中找到一个元素β,使α、β满足关系:α“part of”β或α=β或α“sub-class-of” β,则A“semi-part of”B。
(2)Web服务合成建模
通过把Web服务转化为本体中的属性,并定义属性之间的关系来完成建模。
定义2 对于,我们把WSi作为本体中的一个属性Pi,其中Pi的定义域是PDi,值域为,。
把Web服务转化为属性之后,即可通过定义属性间的关系对Web服务之间的关系进行描述。
定义3 假设有两个属性Pi,Pj,对于,如果,就有,则Pj“semantic-equal”Pi。其中表示i的属性Pi取值为j,即i,j满足关系Pi。
由“semantic-equal”定义可知,属性Pj的语义包含Pi的语义。如果能够根据Web服务建立这种关系,我们就能由这种关系来判断Web服务的语义包含问题。
定理1 假设所产生的属性为所产生的属性为Pj。Pj“semantic-equal”Pi,当且仅当 ,如果满足WSi,就有满足WSj(其中in+1,…in+r可以取任意值)。
证明:充分性:,因为,所以,应该有这样的形式,。假设,满足WSi的输入输出为(i',j'),则j'一定具有形式满足WSi,所以(i, j)也满足WSj。因此i,j满足,即Pj“semantic-equal”Pi。
必要性:满足WSi,所以,i,j应有形式i=(i1,…,in),j=(o1,…,on),且。假设i'=(i1,…,in,in+1,…in+r),j'=(o1,o2,…,on-m),其中(in+1,…in+r)可以取任意值。因为PDi(I1,I2,…,In),PRi(O1,O2,…,On),所以,i'PDi,j'PRi;因为(i,j)Pi,所以(i',j')Pi;因为Pj“semantic-equal”Pi,所以(i',j')Pj,即(i',j')满足WSj。
可以由定理1推出定理2。
定理2 假设WSi(I,O),WSj(I',O')所产生的属性分别为Pi,Pj,如果I“semi-part-of” I',O'“semi-part-of”O,且对于满足WSi的任意一组输入输出都满足WSj,则有Pj“semantic-equal” Pi。
定理1与定理2表明如果用户期望的Web服务是WSj(I1,I2,…,In,In+1,…, In+r,O1,O2,…,On-m),通过合成得到这样一个Web服务:WSi(I1,I2,…,In,O1,O2,…,On),则它的每一组输入输出都能满足的WSj要求,因此它能够根据提供的输入来获得用户期望的输出,即在本体中如果用户要求的Web服务对应的属性为Pj,只需找到与Pj有semantic-equal关系的属性Pi进行合成。
上述思想提出了在输入输出参数语义和Web服务语义上满足用户需求的合成目标。但Web服务的语义分解很难实现,可以通过引入另一种“semi-semantic-equal”关系将上述关系弱化。
定义4 设有两个属性Pi,Pj,对于i,j,如果iPDi,jPRi,就有iPDj,jPRj,则Pi“semi-semantic-equal”Pj。
定理3 假设nm≥0,r≥0,对于WSi(I1,I2,…,In,O1,O2,…,On),WSj(I1,I2,…,In,In+1,…,In+r,O1,O2,…,On,On-m)所产生的属性分别为Pi,Pj,Pj“semi-semantic-equal”Pi。
证明:i,j,假设i,j满足属性Pj,则有iPDj,jPRi。由定义1可知,PDj(I1,I2,…,In,In+1,…,In+r),PRj(O1,O2,…,On-m),因为PDi(I1,I2,…,In),PRi(O1,O2,…,On),所以PDjPDi,PRjPRi。即PDj(I1,I2,…,In),PRj(O1,O2,…,On),所以iPDi,jPRi,即Pj“semi-semantic-equal”Pi。
同样可由定理3推得定理4。
定理4 假设WSi(I,O),WSj(I',O')所产生的属性分别为Pi,Pj,如果I“semi-part-of”I',O“semi-part-of”O',则有Pj“semi-semantic-equal”Pi。
上述定理表明,如果用户要求的Web服务对应的属性为Pj,只需找到与Pj有“semi-semantic-equal”Pi关系的属性Pi的合成方案即可。
3.基于本体的接口合成
Web服务WSi(I1,I2,…,In,…,In+r,O1,O2,…,On+r)要求其后续的Web服务WSn的输入是O1,O2,…,On+r,即WSn(O1,O2,…,On+r,…),如果存在这样的Web服务WSj(O1,O2,…,On,…),则可用WSj来代替WSn作为WSi的后续,根据定理3,需要在本体中找到与WSn对应Pn具有“semi-semantic-equal”关系的属性Pj。我们首先由用户提供的输入产生WSn,然后根据WSn在本体中产生一个对应的虚拟属性Pn,然后查找与Pn存在“semi-semantic-equal”关系的属性Pj,Pj对应的Web服务就是所需要的后继Web服务。反复迭代,直到最后一个Web服务的输出满足用户的需要为止。
;
页:
[1]