文档库 最新最全的文档下载
当前位置:文档库 › 2008-利用服务聚类优化面向过程模型的语义Web服务发现

2008-利用服务聚类优化面向过程模型的语义Web服务发现

2008-利用服务聚类优化面向过程模型的语义Web服务发现
2008-利用服务聚类优化面向过程模型的语义Web服务发现

第31卷 第8期2008年8月

计 算 机 学 报

CH INESE JOURNA L OF COMPU TERS

Vol.31No.8

Aug.2008

收稿日期:2008204212;最终修改稿收到日期:2008207202.本课题得到国家/八六三0高技术研究发展计划项目/可靠的服务组合方法及其验证技术研究0(2007AA01Z136)和国家/九七三0重点基础研究发展规划项目/语义网格的过程语义及其验证理论与服务集成技术0(2003CB316902)资助.孙 萍,女,1979年生,博士研究生,研究方向为Petri 网理论、工作流技术、Web 服务.E 2mail:ping 2sun @https://www.wendangku.net/doc/8510560325.html,.蒋昌俊,男,1962年生,教授,博士生导师,研究领域为Petri 网理论及应用、并行算法分析、网格计算.

利用服务聚类优化面向过程模型的

语义Web 服务发现

孙 萍

1),2),3)

蒋昌俊

1),2)

1)

(同济大学计算机科学与工程系 上海 201804)

2)

(同济大学嵌入式系统与服务计算教育部重点实验室 上海 201804)

3)

(同济大学软件学院 上海 201804)

摘 要 如何快速、准确和高效地发现满足用户需求的Web 服务是现阶段急需解决的关键问题之一.文中针对现有的Web 服务发现机制中存在的效率低下和查准率不高的两个问题,提出了一个新的语义Web 服务发现框架.在该框架下,采用Pet ri 网作为Web 服务过程描述的形式化工具.首先,利用聚类技术,从服务的功能相似和过程相似两个层面对服务进行聚类预处理,从而在很大程度上降低服务的查找空间,提高服务的查找效率.进一步,针对服务请求中可能潜在的行为约束,建立基于Petr i 网的过程需求模型,将其与候选服务的过程模型进行比较,对满足功能需求的可行服务进一步筛选,从而提高查找的精确度.最后,利用仿真实验对所提出的方法进行验证.关键词 服务发现;匹配;过程模型;P etri 网;聚类中图法分类号TP 311

Using Service Clustering to Facilitate Process 2Oriented

Semantic Web Service Discovery

SUN Ping

1),2),3)

JIANG Chang 2Jun

1),2)

1)

(Dep ar tment of Com p uter Science &E ngineer ing ,T on gji University ,Sh anghai 201804)

2)

(Key Laborator y of Embedd ed Sy stem and Ser vice Comp uting of Minis try of E ducation ,T ong ji Univer s ity ,Shang hai 201804)

3)

(School of Sof twar e Eng ineering ,Tong ji University ,Shang hai 201804)

Abstr act T he discovery of suitable Web services for a given user r equirement is one of the cen 2tral operations in Service 2oriented Architectures.With the popularization of Web services,re 2searches on minimizing the discovery dur ation and improving pr ecision ration are getting more im 2portant.T his paper proposes a mechanism to suppor t semantic Web service discovery.Petri net is adopted as a modeling language for the specification of service process model.On the one hand,the methodology of service clustering groups similar services according to the functional similarity and pr ocess similarity.The utilization of service clustering can potentially enable service match 2maker to significantly reduce the overhead,deploy the discovery of candidate services quickly.On the other hand,for a service request,a service matchmaker compares the functionality compati 2bility and process consistency with the candidate services.It is an extension of previous function 2ality 2driving service matchmaking approaches,thus leading to more accurate matchmaking.In the end,some simulation results are demonstrated to show the effectiveness of the proposed method.Keywor ds service discovery;matchmaking;pr ocess model;Petri net;clustering

1引言

Web服务是一种运行在Web上的自包含、模块化的应用程序,它可以在网络中被描述、发布、查找以及调用,从而扩展了应用程序的功能,实现了软件的动态提供.随着Web服务应用的普及,Web服务数量急剧增加,面对数量庞大的服务群,如何发现满足需要的服务成为影响Web服务进一步发展的瓶颈.近年来,国内外学者围绕Web服务的自动发现展开了广泛的研究,取得了显著的成果.

UDDI(U niversal Description,Discover y,and Integration)为用户提供了一个统一的服务发现机制,它可以通过服务注册方式来实现服务的管理.但是随着Web服务数量的增加,服务注册信息库不断膨胀.在判定一个服务是否能够满足请求时,顺序查找的方法要求服务注册库中的所有服务都逐一地与服务请求进行匹配比较,当服务库中有成千上万条记录时,很多时间会浪费在匹配比较一些毫不相关的服务上.虽然UDDI提供了一些服务分类法系统,包括北美行业分类系统、通用标准产品和服务分类法等,但这些分类标准并不统一而且较为粗糙,大都仅仅依靠服务的领域或地域进行划分,不能保证所采用的分类方法能够正确反映服务所提供的功能.如何快速、准确和高效地发现目标服务成为一个迫切需要解决的问题.

由于服务发现依赖于服务注册中心的信息库、目录和分类,因此一个提高服务发现效率的直接方法就是对服务库中的服务信息进行预处理.例如,在文献[1]中,通过对服务库中所有注册服务的输出建立倒排索引,对于所有输出,都维护一个服务列表,用于记录在服务库中所有能产生该输出的服务,从而快速定位候选服务,降低搜索空间,达到提高服务发现效率的目的;文献[2]设计了一种蕴含语义的索引机制,对服务库进行优化,使得服务匹配算法外围的循环次数减少,从而提高了服务的匹配效率; Stollberg等[3]提出利用缓存机制提高服务发现效率,对一些成功的服务匹配结果进行存储,在有服务请求时,首先从已有的历史数据中进行查找.除此之外,Chen等[4]通过分析用户请求服务的行为,对具有相同兴趣的用户进行聚类,从而指导服务发现; Lee等[5]则建立了一个服务中间件系统,利用数据挖掘技术对服务的历史日志情况进行分析,从而实现根据上下文信息对Web服务进行自动发现.这些研究都是基于用户角度进行考虑,通过收集和分析用户信息,从而实现为用户进行个性化服务、主动推荐等目的.

利用服务聚类的思想提高服务发现的效率,目前也有一些研究.例如,文献[6]针对网格服务,提出了一个基于本体聚类的服务发现方法,该方法是建立在服务输入、输出以及功能本体相似性计算基础之上的;文献[7]基于WSDL的服务描述完成对服务的聚类,从而提高服务的发现效率;文献[8]也是采用服务聚类的思想,其中服务相似度的计算是采用关键词在服务描述文档中出现频率的思想进行的,准确度不高.总体来说,上述这些研究都没有给出具体的服务相似度计算以及匹配方法.

在服务语义描述模型出现之前,服务匹配一般都是基于关键字匹配,例如UDDI,它基本上是一种静态匹配的方式,自动化程度不高.而OWL2S(Ontology Language for Web Service)的出现为新的匹配方法提供了可能,它将服务看作是人工智能中的行为,用参数来描述服务,可以比较自然地映射为行为的形式化描述.不同于传统的基于关键字匹配的服务发现,基于语义的服务发现是在语义层上进行需求描述和匹配判断的.匹配算法根据领域本体的知识,在服务需求和现有服务描述间进行推理匹配[9211].

总体来说,现有的语义Web服务都是根据其输入、输出来表征服务功能,服务匹配器针对服务的功能描述和请求者的功能需求进行比较.虽然输入、输出的语义匹配是必须的,但在某些复杂的情况下不足以完成发现相关服务的任务,例如,两个服务可能有相同的输入、输出表示,但却实现完全不同的操作.在这种情况下,单纯依靠服务的功能匹配得到的候选服务其准确性非常低.

为了达到提高服务发现准确度的目的,在对服务的输入输出功能进行匹配的同时,还需要考虑到服务的过程模型,而在这方面的研究还只进行了有限的探索.Bansal和Vidal[12]第一个提出了基于过程模型的服务发现算法,将过程模型中的复合服务采用树结构分解成原子服务,最终针对叶结点(即原子服务)进行服务匹配,但也只是比较了过程模型的输入输出,而没有考虑原子服务之间的逻辑关系; Brogi等[13]提出了一个行为感知的服务发现系统,不仅涉及服务的语义信息,而且考虑其行为信息,但采用Petri网描述服务过程信息的目的仅仅在于验证合成服务的正确性,而忽视了服务的过程模型在

1341

8期孙萍等:利用服务聚类优化面向过程模型的语义Web服务发现

服务匹配中的重要性;Gunay等[14]在讨论服务匹配

问题时也考虑到了服务的内部流程,其内部流程采用有限状态机进行描述,利用基于结构的相似性评估方法来计算匹配程度,而实际上具有相似结构的两个系统其行为信息可能相差很大,并且只局限于流程的顺序结构,而不涉及选择和循环结构,在实际中具有很大的局限性.

为了有效地解决上述服务发现中存在的问题,进而从根本上改变目前Web服务发现效率低下和准确率不高的现状,本文提出了一个语义Web服务发现框架,该框架的主要思想在于:

(1)基于Petri网对服务的过程模型进行规范化描述.虽然现有的Web服务描述语言(如WSDL、OWL2S等)简单明了,但是不够形式化、精确.为了实现服务的动态、可靠发现,需要更为准确、清晰的Web服务刻画.采用Petri网作为Web服务的描述工具,可以利用基本的Petri网分析方法,如可达图、语言等,对Web服务的过程模型进行定性定量分析,为服务的过程相似性分析以及基于过程模型的服务匹配提供支持.

(2)利用聚类技术,从服务的功能描述和过程模型两个层面上,基于语义信息评估服务之间的相似性,从而对服务库中的海量服务进行聚类.这种聚类方法能够较为正确地反映服务所提供的功能,使得服务的分类标准更为精细.通过预先对服务进行聚类处理,将具有相似功能以及相近过程的服务聚合在一起,在服务发现时,可以很快定位所需服务,缩小服务的查找空间,从而提高服务的发现效率.

(3)在服务聚类的基础上,实现基于语义的Web服务发现.扩展了服务的语义发现能力,进行两个阶段的匹配,先根据请求者的功能需求筛选服务,然后基于服务的过程模型进行更灵活的匹配.这样充分考虑了服务请求者可能潜在的过程需求,在以往的服务功能匹配层次上增加了服务的过程匹配,对满足功能需求的可行服务进一步筛选,提高了服务查找的精确度.

本文第2节介绍相关基础知识;第3节提出一个语义Web服务发现框架;第4节在对服务之间关于功能描述及过程模型相似性评估的基础上,对服务库中的服务进行聚类处理;第5节针对请求者的功能需求以及过程需求两个层面,讨论服务的匹配问题;第6节利用仿真实验对所提出的思想和方法进行说明及验证;最后是总结及下一步的工作介绍.2基础知识

2.1Petr i网

Petri网[15]作为一种从过程的角度出发描述和分析复杂系统的模拟工具,具有形式化的语义定义、直观的图形表达和严格的数学基础等优点,很适合描述具有并发、异步乃至不确定性因素在内的复杂系统,因此被越来越多地应用到Web服务过程建模和分析领域[16217].

Petri网是一种有向图,由库所和变迁两类节点构成,在库所中添加表示状态信息的Token分布,并按引发规则使得变迁引发驱动状态演变,从而反映系统动态运行过程.其形式化定义如下.

定义1.一个Petri网是一个四元组PN= (P,T;F,M0),其中

(1)P={p1,p2,,,p m}是有限个库所的集合;

(2)T={t1,t2,,,t n}是有限个变迁的集合;

(3)F A(P@T)G(T@P)表示库所和变迁之间的流关系;

(4)M0:P y{0,1,2,,}表示初始状态;

#x={y|(y,x)I F}和x#={y|(x,y)I F}分别称为节点x I P G T的前置集和后置集.在状态M 下,变迁t称为使能的当且仅当P p I#t:M(p)E1,记作M[t>.在M下使能的变迁t可以引发,引发后得到后继状态M c,则

M c(p)=

M(p)+1,p I t#-#t

M(p)+1,p I#t-t#

M(p),其它

.

记作M[t>M c.用R(M0)表示从M0可能到达的全部状态的集合.

如果v t1,t2,,I T以及可达状态M0,M1,,,满足M0[t1>M1[t2>,,则序列R=t1t2,称为从状态M0可引发的变迁序列.变迁序列的集合L(PN)= {R|R I T*:M0[R>M C M I Q}称为Petri网PN的语言,其中Q是终止状态集合.

2.2本体

本体是对领域知识概念的抽象和描述,通过定义概念以及概念与概念之间的关系来描述语义信息[18].本体可以通过带标记的有向树来表示,节点描述概念,节点之间的连线对应于概念之间的某种语义关系.如图1所示,基于RDF(Resource Description Framework)的本体语言,可以通过本体树进行描述,其中概念Br ook到Strea m的连线表示子类和父

1342计算机学报2008年

类之间的继承关系

.

目前,关于本体概念之间的相容性、本体距离以及语义相似性,已有不少研究,但暂时还没有一个统一的标准.在本文中,我们采用如下的定义.关于本体距离以及语义相似性定义方式的不同并不影响我们之后的研究.

定义2.在一个本体分类体系中,称概念A和概念B语义相容(记作A U B),当且仅当

(1)A和B同义(记作A=B),或者

(2)A是B的一个子类(记作A;B),或者

(3)B是A的一个子类(记作B;A).

在图1所示例子中,Br ook;Strea m;N a tr u2 allyOccr uing Wa ter Source.

定义3.在一个本体分类体系中,概念A和概念B之间的本体距离dis(A,B)定义为在本体树中连接它们的最短路径的边数.

例如,在图1所示例子中,概念Brook和BodyOf Water之间的本体距离为3.

定义4.在一个本体分类体系中,概念A和概念B之间的语义相似性定义为

sim(3A,B4)=d is max-dis(A,B) dis max-dis min

,

其中d is(A,B)是两者之间的本体距离,dis max, dis min则是本体树中所有概念间距离的最大值及最小值.

2.3OWL2S

Web服务描述是实现服务自动查找、组合和交互的基础.为了支持语义Web,本文采用OWL2S的Web服务描述模型.OWL2S是构建于OWL(Web Ontology Language)之上的用于描述Web服务的标记语言.在OWL2S中服务描述的基本信息主要有三部分,(1)服务轮廓(Ser viceProfile).提供了服务的基本描述,包括:1服务的基本信息,如服务的标识名、简短描述等;o服务的功能信息,包括输入I nput、输出Outp ut、前提P recondition及后果Ef f ect;?服务的属性,包括服务分类、服务质量等.(2)过程模型(ProcessModel).以流程的形式描述了服务中各子过程的逻辑执行顺序,包括:1原子过程,可直接调用,不包含子过程;o简单过程,不能直接调用,可以看作是原子过程或者复合过程的抽象表示;?复合过程,是通过一组控制结构将原子过程或简单过程组合起来的一个复杂过程,目前OWL2S支持Sequence、Split、Sp lit2J oin、Any2 Or der、Choice、If2then2else、Repea t2Until和Repeat2 While等控制结构构造符.(3)服务基点(Ser vice2 Grounding).描述用于访问服务的具体细节,如服务的U RI地址、传输协议、消息格式等.

3语义Web服务发现框架

为了有效地解决服务发现中存在的问题,进而从根本上改变目前Web服务发现效率低下和准确率不高的现状,我们提出了一个语义Web服务发现框架,如图2所示.该框架采用基于Petri网的服务过程模型描述方法,借助于聚类技术,对服务库中的Web服务进行功能和过程聚类;在服务发现过程中,在以往的服务功能匹配层次上增加了服务的过程匹配.

该框架主要包括6个组件:

(1)功能分析器.根据服务的功能描述,基于语义信息,评估服务之间的功能相似性,为服务的功能聚类提供依据.为简单起见,假设存在一个共享的本体库,所有的服务描述都基于该公共本体.

(2)Petri网转换器.负责将OWL2S的过程描述转换为Petri网表示.研究表明,OWL2S所支持的几种控制模式用Petri网进行形式化描述是完全可行且有效的.现已有一些比较成熟的工具,实现了Web服务的过程描述(如WSDL、BPEL4WS等)与Petri网之间的转换,可以借鉴使用.

(3)过程分析器.针对服务过程的Petri网表示,借助基本的Petri网分析方法,如可达图、语言等,实现Web服务过程模型的分析验证,为服务的过程相似性评估以及基于过程模型的服务聚类提供

1343

8期孙萍等:利用服务聚类优化面向过程模型的语义Web服务发现

图2服务发现框架

支持.

(4)需求解析器.借助于人工智能技术,对服务请求者的需求进行解析,识别其中的功能需求及过程需求,分别传递给功能匹配器和过程匹配器,作为服务匹配的标准.

(5)功能匹配器.基于本体推理机,根据服务请求者的功能需求,将其与服务库中Web服务的功能描述进行比较,一方面需要检验该服务能否提供请求所需的所有输出,另一方面需要检验服务请求能否提供调用该服务所需的所有输入.最后将符合条件的可行Web服务反馈给过程匹配器.

(6)过程匹配器.针对请求者可能潜在的过程需求,建立相应的过程需求模型,并将其与Web服务的过程模型进行比较,重点在于两者的行为约束关系是否协调.由于对满足功能需求的可行服务做了进一步筛选,从而提高了查找的精确度.

定义5.服务描述是对Web服务的功能属性及其过程模型的一个抽象表示,可以记为一个五元组ws=(N ame,D escr ip tion,I np ut,Outp ut,SN),其中:

(1)N ame表示服务的名称;

(2)Descr ip tion表示服务的基本描述,用一个本体概念进行标注;

(3)I nput={i1,i2,,}是服务的输入集合,并且每一个输入参数都用本体进行标注;

(4)Output={o1,o2,,}是服务的输出集合,每一个输出参数也都用本体进行标注;

(5)SN={P,T;F,M0}是服务过程模型的Petri网表示.

定义6.服务请求是对服务请求者需求的抽象描述,可以表示为一个三元组Rws=(RI nput, ROutput,RSN),其中

(1)RI nput={Ri1,Ri2,,}是请求者可以提供的输入集合,并且每一个输入参数都用本体进行标注;

(2)ROutput={Ro1,Ro2,,}是请求者需要的输出集合,每一个输出参数也都用本体进行标注;

(3)RSN={RP,RT;RF,RM0}是一个可选项,是服务请求中可能潜在的过程需求的Petri网描述.

4基于功能相似和过程相似的

服务聚类

根据对现有实际Web服务描述文件的调查分析发现,很多服务能够完成相似的功能,虽然这些服务所包含的参数个数、参数名称不完全相同,但是具有比较近似的概念和语义信息.通过预先对这些服务进行聚合,可以使服务匹配更为高效.

聚类是将一个数据集划分为若干组,使得同一组的数据对象具有较高的相似性,而不同组中的数据对象则差别较大.为提高聚类的准确性,我们从两个层次上进行考虑,首先是基于服务功能属性的聚类,其次是基于服务过程模型的聚类.

1344计算机学报2008年

4.1基于功能相似的服务聚类

本文采用相似度作为聚类分析的分类统计标准,为此将重点讨论服务之间的相似度评估.服务的提供者在描述服务时是相互对立的,即使参照相同的本体库,采用的概念也会有差异.所以,在对服务之间的相似性进行评估时,需要对服务描述的概念进行语义层次上的相互比较.

下面,针对两个服务ws j和ws k,讨论其基于功能属性(主要是基本描述、输入输出参数)的相似度计算.已知这两个服务的描述、输入输出参数分别为Descr iption j/Input j/Output j、Descr ip tion k/I nput k/ Output k.具体计算可通过以下6步进行:

(1)计算基本描述的相似性.

直接地,基于两个概念之间的本体距离计算其相似性:

sim(3Description j,Description k4)=

dis max-dis(D escr ip tion j,Descr ip tion k)

dis max-d is min

.

(2)对输入参数进行两两配对.

每一个输入都由一组输入参数进行刻画,其中每一个输入参数都对应于给定本体定义中的一个概念.不妨设各自的输入参数分别为I nput j={i j1, i j2,,},I nput k={i k1,i k2,,}.在计算关于输入参数的相似度之前,需要对这两组参数进行配对,即在两个参数集合之间建立关联关系.

图3给出了一个例子,用于说明服务参数之间的配对情况.在这个例子中,服务ws j有4个输入参数,I nput j={Depar tur eCity,Ar r ivalCity,F light2 Date,F lightClass};而服务ws k有3个输入参数, I nput k={Dep ar ture,Arr ival,Date}.显然,参数之间的配对情况应该为

3I nput j,I np ut k4={3Dep ar tureCity,Depa rtur e4, 3Ar r ivalCity,Ar r ival4,3F lightDa te,Date4}.

简单地讲,对I nput j和I nput k的参数两两比

较,对满足相容性并且距离最短(语义上最接近)

图3输入/输出参数的两两配对配对组合,记作3i ja,i ka4;对不能配对的参数(不满足相容性或者本体距离大于某一给定阈值)则舍弃.如果存在多种可能的配对情况,则较为复杂,如图4所示.在该图中,存在多种配对可能性,例如I P1= {3i j1,i k14,3i j2,i k34,3i j3,i k24},I P2={3i j1,i k34, 3i j2,i k14,3i j3,i k24},I P3={3i j2,i k14,3i j3,i k34,3i j4, i k24},等等.在这种情况下,需要考虑最优配对组合

.

图4多种配对情况

定义7.服务ws j,ws k的输入参数分别为I nput j,I np ut k,根据参数之间的相容性以及语义相似性,参数之间的配对情况记作I P={3i j1,i k14, 3i j2,i k24,,,3i jl,i kl4},其中i j1X i j2X,X i jl I I nput j,i k1X i k2X,X i kl I I nput k,l F max(|Input j|, |I nput k|)1并且i ja U i ka,dis(i ja,i ka)

l

E l

a=1

d is(i ja,i ka).如果对所有其它可能的参数配对情况I P c,都有W(I P c)E W(I P),则称I P为最优配对.

上述这类参数之间的配对问题可以转化为二分图的最优配对[19].对于图G=(V,E),如果其顶点集V可以划分为X和Y两个子集,即V=X G Y C X H Y=á,并且图中没有任何一条边连接同一子集中的两个顶点,则这种图称为二分图.如果图中的每一个顶点最多只与一条边相关联时,这样的集合称为配对M A E.如果给每条边赋予一个权值,定义一个加权和W,并且对其它所有的配对M c,都有W(M c)E W(M),则称M为最优配对.

问题的具体转化是非常直接的,将ws j的输入参数集合作为X,ws k的输入参数作为集合Y.如果X中的某个参数x和Y中的某个参数y,满足x U y 且两者的本体距离小于某一阈值(现阶段,阈值的设定只能手工进行,如何根据实验的反馈情况进行自动设定阈值将是以后的研究内容之一),则连接x 和y,并且对这条边赋予x和y的本体距离值

1345

8期孙萍等:利用服务聚类优化面向过程模型的语义Web服务发现

1|I npu t j|(|I npu t k|)表示I np ut j(Inp ut k)中参数的个数.

dis(x,y).关于求解最优配对问题,已有一些成熟的方法和技巧,可以直接利用.

(3)计算基于输入参数的相似度.

取参数对之间的平均本体距离作为I nput j和I np ut k之间的语义距离,即

Dis(I np ut j,I nput k)=1

l

E l

a=1

dis(i ja,i ka).

结合语义距离以及参数之间的匹配程度,可以采用以下公式计算其相似度:

sim(3I nput j,I nput k4)=

d is max-Dis(I nput j,I nput k)

dis max-dis min

@

l

|I nput j|+|I nput k|-l

.

(4)对输出参数进行两两配对.

参照步(2),对两个服务的输出参数也进行两两最优配对.

(5)计算基于输出参数的相似性.

类似地,基于输出参数的相似度为

sim(3Outp ut j,Outp ut k4)=

dis max-Dis(Output j,Output k)

dis max-dis min

@

|3Output j,Output k4|

|Outp ut j|+|Outp ut k|-|3Outp ut j,Outp ut k4|

.

(6)计算加权相似度

综合考虑上述各个方面,则服务ws j,ws k之间基于功能描述的相似度可以表示为

sim(3DI O j,DI O k4)=

X1sim(3Descr ip tion j,Descr iption k4)+

X2sim(3I np ut j,I nput k4)+

X3sim(3Outp ut j,Output k4),

其中参数X1,X2,X3(X1+X2+X3=1,0F X1,X2,X3F1)表示权重,值的大小由基本描述以及输入输出在服务功能描述中所起的重要性所决定.

至此,服务之间的相似度计算完毕.对服务注册库中的所有服务进行两两相似性评估,从而实现服务的功能聚类.具体可以采取自顶而下的层次分解方法,例如AGN ES算法[20]等.最初将每一个服务都作为一个类,然后根据服务之间的语义相似度将其不断聚合,以构成越来越大的聚类,反复进行,直到所有服务均聚合为一个类,或满足一定终止条件为止.篇幅所限,关于聚类的详细过程,不再叙述.而且现在已有一些比较成熟的聚类工具,可以直接使用.

4.2基于过程相似的服务聚类

基于功能相似聚类的缺点是只考虑了服务的参数接口,准确度不高.服务不仅由其接口参数决定,而且受其行为模型影响.两个输入输出信息完全相同的服务,可能在内部流程上截然不同.为实现对服务更为准确的聚类,我们将进一步考虑基于过程相似的服务聚类.

基于过程相似的服务聚类类似于服务的功能聚类,也包括相似性评估和层次分解两个步骤.在对服务的过程相似度进行评估之前,首先需要将服务的OWL2S过程模型转换为Petri网表示.然后,在此基础上,利用基于图结构或基于语言的分析方法,对不同服务的过程模型进行相似度计算.

4.2.1过程模型的Petri网转换

OWL2S的过程模型描述了所包含的原子服务以及它们之间的执行顺序关系,可以直接将其转化为Petri网表示.原子服务用变迁表示,而服务之间的控制关系则由变迁之间的流关系进行描述. OWL2S支持多种控制结构,其具体的Petri网表示如下.可以证明该转换是正确且完备的.

为了描述原子服务之间的逻辑关系,需要添加

1346计算机学报2008年

一些控制变迁,如And 2Sp lit 、And 2J oin.为区别于实际执行的原子服务,控制变迁用竖线进行表示(而原子服务对应的活动变迁则用矩形框表示).最后添加两个特殊的库所i 和o,其中i 是源库所,即#

i =á,o 是汇库所,即o #=á,分别用于标识服务流程的开始和结束.在初始状态下,只有源库所中有一个T oken .对于一个合理的服务过程,要求其流程能够正确终止,也即其相应的Petri 网能够从初始状态到达终止状态,并且终止状态时只有汇库所中

有一个T oken ,而其它库所为空.

在语义Web 环境下,服务的过程模型也是建立在本体描述之上的.在某一特定领域内,建立相应的过程本体,用于说明在该领域内所涉及到的服务过程之间的关系.如图5所示,为某一电子商务领域关于机票预定的过程本体片断,其中GetFlightDeta ils 是FightBooking 的一个子过程.因此,在基于Petr i 网的过程模型中,每一个活动变迁都由本体库中的一个概念进行标注

.

图5 机票预定服务过程本体示例

4.2.2 过程模型的相似性计算

针对网图的相似性比较,其方法大致可以分为基于结构的分析和基于语言的分析两种[21].前者借助于图论上的知识,如图同构等,来考察不同网图结构之间的相似程度;而后者则根据网图对应的语言表达式,利用字符串之间的距离(例如编辑距离)来计算两者之间的相似度.相对而言,基于语言的分析方法更为精确

[22]

,因此我们采用基于Petri 网语言

的方法来评估服务过程之间的相似性.

在基于Petri 网的Web 服务过程模型中,每个活动变迁都由公共本体库中的一个概念进行标注,这样Petri 网的一个可能变迁发生序列就可以表示成一个本体字符串.进一步将Petri 网的语言表达式看作是一个本体字符串的集合,从而就可以利用字符串之间的编辑距离来计算过程相似度.

一般来说,两个字符串之间的编辑距离是指由一个串转化成另一个所需的最少的插入、删除和替换的次数

[21]

.但是其要求字符之间的精确比较,而

不涉及语义信息.为更好地适应语义Web 服务中的相似度评估,我们将对传统的编辑距离定义进行改进.改进后的编辑距离,兼顾了字符串结构和语义信

息,能够更为准确地表示两个字符串的差异,姑且称之为语义编辑距离.

定义8. 字符串X =x 1x 2,和Y =y 1y 2,之间的语义编辑距离定义为从一个字符串转换到另一个字符串所需要的替换、插入以及删除操作的最小代价,形式化表示为

sedis(X,Y)=min {c(X,Y)}=min E

x I X,y I Y

c(x,y),

其中c(x,y)是由字符x 转换为y 的代价,定义为

c(x,y)=0,

x =E C y =E 1,

(x =E C y X E )D (x X E C y =E )1-sim(x,y),x X E C y X E ,

E 表示空字符,sim(x,y)=dis max -dis(x,y)

dis max -dis min

为字符

x 和y 之间的语义相似度.

根据定义,c(x,E )(x X E )以及c(E ,x )(x X E )即为删除和插入字符x 的代价,值为1;而c(x,y)(x X

E C y X E )则为将非空字符x 替换为y 的代价,其具体数值与x 和y 之间的语义相似度有关.与传统的编辑距离定义相比,由于减小了替换操作的代价,改进后的编辑距离计算更为准确.例如,

1347

8期孙 萍等:利用服务聚类优化面向过程模型的语义Web 服务发现

st1=BookFlightT icket#PayF lightT icket,

st2=Conf irmReserva tion#Specif yPaymentDetails.显然,如果单纯使用传统编辑距离的计算方法,需要两次替换操作才可以将串st1转换为串st2.但是,如果结合语义信息,则改进后的编辑距离为

2-sim(BookFlightT icket,Conf ir mReser va tion)-sim(P ayFlig htTicket,Specif yPaymentDetails).

针对服务ws j,ws k的过程模型SN j,SN k,计算两者之间的过程相似度,其具体步骤为

(1)生成Petri网语言表达式

根据服务过程的Petri网模型,产生语言表达式L(SN)={R|R I T*C i[R>o},并将其表示为标准多项式形式,即由若干个简单合取式构成的析取范式.对于循环结构,依据相应原子服务的平均执行次数进行展开(其平均执行次数可以通过服务执行日志获得).不妨假设各自对应的语言表达式分别为L(SN j)=A j1+A j2+,+A jp,

L(SN k)=A k1+A k2+,+A kq.

(2)对字符串序列进行两两配对

与基于功能参数的相似度计算一样,两个字符串集合A j1,A j2,,,A jp和A k1,A k2,,,A kq,也需要两两配对,权重取两个字符串之间的相似度,即

max{|A ja|,|A ka|}-sedis(A ja,A ka)

max{|A ja|,|A ka|}

.

记最优配对3SN j,SN k4={3A j1,A k14,3A j2,A k24,,, 3A jh,A kh4}(最优配对要求加权和W=E

h

a=1

sim(3A j a,

A ka4)最大).

(3)计算过程相似度

至此,两个服务过程模型的相似度就可以通过以下公式进行计算:

sim(3SN j,SN k4)=1

h

E h

a=1

sim(3A j a,A ka4)@h

p+q-h

.

下面,我们以图6中所示两个服务过程的Petri 网模型为例,解释上述思想.首先,生成相应Petri 网的语言表达式,简单记作L(SN j)=A j1+A j2+A j3, L(SN k)=A k1+A k2.容易得到两两字符串之间的配对结果为3SN j,SN k4={3A j2,A k14,3A j3,A k24}.因此,它们之间的相似度计算为

sim(3SN j,SN k4)=

1

2

E

a=1,b=2

a=2,b=3

max{|A ja|,|A kb|}-sedis(A j a,A kb)

max{|A j a|,|A kb|}

@2

3+2-2

.

图6过程模型的相似性评估

5基于功能需求和过程需求的

服务发现

所谓Web服务发现,就是根据请求者提供的服

务需求,在已有服务中查找最满足需求的服务的过

程.匹配器需要对服务请求和服务注册库中的服务

进行一一比较,由于注册库中服务的规模和数量是

相当庞大的,而每个服务的OWL2S服务描述也是

比较复杂的,再加上本体库中概念之间描述关系的

复杂性,服务的匹配效率成为制约Web服务发展的

一个瓶颈.因此,本文在服务匹配进行之前先作服务

聚类预处理,过滤掉与服务请求完全不同类别的服

务.从而避免在相似度较低甚至无相似的匹配计算1348计算机学报2008年

上浪费时间,以助于提高匹配的效率,节省资源开销.在具体匹配的过程中,又从功能需求和过程需求两个方面进行考虑.

5.1基于功能需求的服务匹配

基于功能需求的服务发现,就是在匹配中主要考虑服务描述中的功能参数信息,将请求者的功能需求和已有服务的参数分别进行语义比较.服务的输入输出都是由一组参数进行描述的,每个参数除了对应于已知本体分类体系中的一个概念外,还包括一个参数类型属性.首先,我们给出参数兼容的定义.在对参数进行匹配判断时,不仅要考虑概念的相容性,还要考虑参数类型的相容性.

定义9.称参数P1兼容于参数P2,当且仅当

(1)在一个本体分类体系中,P1=P2或者P1;P2;

(2)P1和P2的数据类型不冲突,即两者的数据类型相同或者P2数据类型的取值范围大于P1的数据类型(例如,实型数据和整型数据).

记作P1y P2.

定义10.对于一个给定的服务请求Rws= (RI nput,ROutput),存在一个候选服务ws j=

(I np ut j,Output j)能够满足其功能需求,当且仅当:

(1)对于输出需求中的每一个参数Ro I ROutp ut,在服务ws j中都有一个输出参数o I Output j相对应,满足o y Ro;

(2)对于服务ws j中的每一个输入i I I nput j,在请求者可提供的输入集合中都有一个参数Ri I RI np ut相对应,满足Ri y i.

一个Web服务与一个服务请求在功能上匹配必须满足两方面条件:(1)服务的输出可以满足服务请求的输出,即请求者想要得到的输出结果能够通过服务调用获得;(2)请求者提供的输入可以满足服务的输入,即服务正常运转所需要的输入必须由请求者请求提供.

基于功能需求的服务发现是建立在服务功能相似聚类结果基础之上的,其过程大致如下.

算法1.基于功能需求的服务发现.

输入:服务请求Rws=(RI nput,ROutput);基于功能相似的服务聚类集合D1,D2,,

输出:满足功能需求的可行服务集合S

1.S##=á;

2.随机选择一个新的服务聚类集合D j

3.f la g##=false;

4.如果已对集合D j中的服务比较完毕,则转步9;

否则在D j中随机选择一个新的服务ws j,不妨设

ws j的输入输出分别为I np ut j,Output j;

5.判断输出参数是否匹配,即是否对P Ro I ROutp ut,

都有一个o I Output j相对应,满足o y Ro;

如果成立,则转步6;

否则转步8;

6.判断输入参数是否匹配,即是否对P i I I nput j,

都有一个Ri I RI nput相对应,满足Ri y i;

如果成立,则转步7;

否则转步8;

7.S##=S G{ws j};f la g##=t rue,转步4;

8.如果f la g=tr ue,则转步4;

否则转步2;

9.输出S.

如果查找到某一服务可以满足请求者的需求,则和该服务属于同一聚类的其它服务也能满足请求者需求的可能性要高得多.同样,如果该服务与服务请求不相对应,则和其属于同一类的其它服务,也可以简单地将其忽略掉.在实际应用时,服务的聚类分析可以事先进行并存储,并不影响服务查找效率.对于一个含有n个服务的服务库,针对某一服务请求,若不采用聚类处理直接查找,则需要遍历n次;但是在采用聚类处理后进行服务查找,假设这些服务聚

合为d个服务类,则复杂性降为O d+

n

d

.

5.2基于过程需求的服务匹配

有时候,服务请求者的需求是多层次的,例如不仅要求能产生一定的输出结果,而且要求实现一些基本操作甚至是这些操作之间的一些逻辑关系,最为典型的例子是对网上购物服务希望货到付款,如果从过程描述上看,也就是说要求付款操作在配送操作之后进行.这就需要服务匹配器有一个灵活的匹配能力,在保证请求者功能需求的基础上,兼顾请求者的过程需求.事实上,OWL2S服务描述信息中也有关于服务内部流程描述的过程信息.这样就可以基于过程模型进行服务匹配,从而将请求者的过程需求与服务的内部流程进行语义比较,达到满足请求者过程需求的目的.

在实际中,基于过程需求的服务匹配是在基于功能需求的匹配基础上进行的,对返回的满足功能需求的可行候选服务进行筛选,将不满足过程匹配的服务删除,使得服务匹配结果更为精确.在过程匹配之前,需要提取请求者的需求信息,建立其相应的过程模型.该过程模型也是基于Petr i网表示,描述了请求者所希望实现的操作以及各操作之间可能存在的行为约束关系.

定义11.对于一个给定的服务请求Rws= (RI nput,ROutp ut,RSN),存在一个候选服务

1349

8期孙萍等:利用服务聚类优化面向过程模型的语义Web服务发现

ws j =(I nput j ,Output j ,SN j )能够满足其过程需求(其中RSN =(RP,RT ;RF ),SN j =(P j ,T j ;F j )),当且仅当:

(1)对于需求模型RSN 中的每一个具体操作Rt I RT (对应于RSN 中的活动变迁),在SN j 中都存在一个活动变迁t I T j 相对应,满足Rt =t 或者t ;Rt;

(2)SN j 的行为与RSN k 的行为相容,形式化表示为

#RT y $R (L(RSN ))A f (#T j y $j (L(SN j ))).上式中,#X y Y (L)={#X y Y (R )I Y *|P R I L}表示X 到Y 的一个投影映射,其中#X y Y (R )是从R 中删除X -Y 中的所有字符后的剩余子串.记$={3Rt,t 4|Rt =t 或者t ;Rt}表示两个过程模型中相应变迁的配对情况,$R ={Rt |v t:3Rt,t 4I $}和$j ={t |v Rt:3Rt,t 4I $}分别为配对变迁在两个网中的对应部分.此外,f 是一个重命名函数,定义为f (R t)=f (R )#Rt:3Rt,t 4I $,即将SN j 中的变迁标注重新命名为RSN 中与之相对应的变迁标注.

定义中的第一个条件要求匹配服务能够涵盖请求者所要求的所有实际操作;第二个条件要求匹配服务能够实现请求者的行为目标,与其行为约束要求不相矛盾.

基于过程需求的服务发现是建立在服务过程相似聚类结果基础之上的,其过程大致如下.

算法2. 基于过程需求的服务发现.

输入:服务请求R ws =(RI nput,ROutp ut,RS N)(其中

RS N =(RP ,RT;RF ));满足功能需求的可行服务集合S;基于过程相似的服务聚类集合F 1,F 2,,

输出:满足过程需求的可行服务集合S O

;1.S O

##=S ;

2.Cluster (S)##={F a |F a H S X á},即表示集合S 中服务所属的那些过程聚类集(如图7);

3.如果已对Cluster (S )中的所有服务聚类集合都比较

完毕,则转步10;4.

否则随机选择一个新的服务聚类集合F j I Cluster(S),f lag ##=fa lse ;

5. 如果已对集合F j 中的服务比较完毕,则转步3;

否则在F j 中随机选择一个新的服务ws j ,不妨设ws j 的过程描述为SN j =(P j ,T j ;F j );

6.

判断操作是否对应,即是否对P Rt I R T,都有一个t I T j 相对应,满足R t =t 或者t ;Rt;如果成立,则转步7;

否则转步9;

7.

判断行为是否兼容,即是否有

#RT y $R (L(RSN))A f (#T j y $j (L(SN j )))成立;如果成立,则转步8;否则转步9;

8. f l ag ##=true ,转步5;

9. 如果f lag =true ,则S O

##=S O

\{ws j },转步5;

否则S O

##=S O

\F j ,转步3;

10.输出S O

.

图7 基于过程需求的服务发现

考虑这样一个简单的例子,请求者希望查找一个在线购买机票的服务,要求能够实现基本的查找、选择、支付以及取票操作,并且希望能够票到付款.解析请求者的需求,建立相应的过程模型,见图8中的RSN.首先根据其功能需求,可以查找到一些候选的可行服务,不妨假设存在一个服务ws j 满足其功能需求,相应的过程模型如图8中SN j 所示,与请求者的需求相比,该服务增加了取消预定操作.但是通过这两个Petri 网的过程结构比较,

我们发现该

图8 过程模型的不一致

1350计 算 机 学 报

2008年

服务要求先付款再出票,显然与用户的需求相矛盾.这是因为

#T

j y$

j

(L(SN j))=

GetF lightDeta ils#SelectAvaila bleF light# GetF lightDeta ils#SelectAvaila bleF light# Ca ncelReser va tion+Conf ir mReser va tion#

Pa yF lightT icket#GetFlightT icket,

#RT y$

R

(L(RSN))=

GetF lightDeta ils#SelectAvaila bleF light# GetF lightT icket#P ayFlightT icket,

显然不满足

#RT y$

R (L(RSN))A#T

j

y$

j

(L(SN j)).

6仿真实验

鉴于目前没有相关的标准平台和测试数据集,本文采用随机生成的服务作为测试用例.服务本身并不执行有意义的操作,但是这些服务在接口和过程描述上都遵循OWL2S规范,从测试角度看,它们与真实的Web服务没有区别.

实验设置:

(1)使用Protege工具建立和模拟领域本体,包括类、子类和层次关系等信息,本体中的概念个数为50~100;

(2)服务库中登记了大量用OWL2S描述的服务,服务个数N=100~1000;

(3)设定服务的功能描述及其过程模型,输入输出以及各原子服务参数都随机映射到领域本体概念定义上;

(4)服务的输入输出参数个数为2~5,每个服务由3~7个原子服务组成;

(5)测试的软硬件环境如表1所示.

表1测试环境

处理器内存操作系统指标1160GH z1100GB Windows XP

实验1.在采用聚类预处理以及未采用聚类处理两种情况下,对某一给定的服务请求,基于本体信息,在服务库中查找可行的候选服务,返回匹配请求的服务ID.在不同候选服务个数下,比较其时间效率(图9)以及能够查找到的可行服务个数(图10).

仿真实验表明,在采用预先聚类情况下,虽然查找到的可行服务个数要少于未采用服务聚类情况(平均减少了1817%),但其时间效率却得到了大大提高(查找时间平均降低了8813%).服务库中的服务个数越多,效果越明显.由于绝大部分服务与服务请求者的要求相差甚远,因此经过聚类预处理能够过滤掉大量无关服务,从而大大缩小服务检索的范围,进而提高服务匹配的时间性能

.

实验2.在考虑过程匹配以及未考虑过程匹配两种情况下,对某一给定的服务请求,查找可行的候选服务(该实验中N=500),比较其查准率(图11),其中查准率是指查询返回符合查询条件的Web服务与查询返回Web服务总数量的比率

.

图11查准率比较

在过程匹配过程中,由于考虑了更准确的服务描述信息,从而可以更精确地定位服务.因此,同传

1351

8期孙萍等:利用服务聚类优化面向过程模型的语义Web服务发现

统的功能匹配方法相比,本文所提出的服务发现策略,其查准率将会得到大大提高.在这50次仿真实验中,查准率平均要高出近30个百分点.

7小结

Web服务的大量涌现对服务发现提出了新的挑战.如何快速、准确和高效地发现满足用户需求的Web服务是现阶段急需解决的关键问题之一.传统的方法需要对请求者的需求和服务注册中心的所有服务进行一一比较,其效率非常低;而且大都只考虑了服务的输入输出接口匹配,查准率不高.针对这种情况,目前已有一些解决方法,但都或多或少存在着一些问题,并不很完善.

本文据此提出了一个新的语义Web服务发现框架.首先,借助于聚类技术,基于服务功能描述和过程模型的相似性对服务库中的服务进行预先聚类,将能够实现相似功能的服务聚合在一起,在服务查找时,根据服务聚类结果可以过滤掉大量无关服务,从而可以有效地减少检索目标服务的数量,提高服务的发现效率.在此基础上,针对服务请求者可能潜在的过程需求,建立其基于Petri网的过程需求模型,并将其和服务库中的服务过程模型进行比较,对满足功能需求的候选服务进一步筛选,从而提高查找的精确度.

本文的研究只是一个开始,下一步的工作是要在现阶段研究的基础上实现一个原型系统.理论上,还有许多问题有待于进一步解决.例如,考虑更精确的服务相似度评估准则,并采用更为有效的聚类方法,对服务进行聚类处理.对于新注册的服务,如何归类,也是需要进一步研究的.此外,如何对查找到的可行候选服务进行排序,也将是今后的研究重点.

参考文献

[1]Ku ang Li,Den g Su i2Guang,Li Ying,Wu Jian,Wu Zhao2

https://www.wendangku.net/doc/8510560325.html, ing in verted ind exing to facilitate com position2orien2

ted sem antic service dis covery.Journal of Software,2007,

18(8):191121921(in Ch ines e)

(邝砾,邓水光,李莹,吴健,吴朝晖.使用倒排索引优化面向

组合的语义服务发现.软件学报,2007,18(8):191121921) [2]Ma Ke2Fang.T he res earch of semantic based Web s ervices

discovery[M.S.dissertation].Nanning:Gu angxi U niversity,

2007(in Ch ines e)

(马可方.基于语义Web的服务匹配机制的研究[硕士学位

论文].南宁:广西大学,2007)

[3]Stollberg M,H epp M,H offmann J.A caching m echanis m

for s emantic Web service discovery//Proceedings of the6th

Intern ational Semantic Web Confer ence.Busan,Korea,

2007:4802493

[4]Chen Y,Cohen B.Data mining and service rating in Service2

oriented architectures to im prove inform ation sharing//Pro2

ceedings of the2005IEEE Con feren ce on Aerospace.M on2

tana,USA,2005:1211

[5]Lee S Y,Lee J Y,Lee B Il.Service composition techniques

us ing data mining for ubiquitous computing environments.

Intern ational Journal of Computer Science and Network Secu2

rity,2006,6(9):1102117

[6]Su dha Rajagopal,T hamarai Selvi S.Semantic grid s ervice

discovery approach usin g clus tering of ser vice ontologies//

Proceedings of IEEE T ENCON2006.H on g Kong,China,

2006:124

[7]Ram Sudha,H wang Yous ub,Zhao Huim in.A clustering

based approach for facilitating semantic Web service discovery//

Proceedings of th e15th Ann ual Work shop on Information

T echnologies&System https://www.wendangku.net/doc/8510560325.html,s Vegas,USA,2006:126 [8]Nayak R,Lee B.Web s ervice discovery with additional se2

mantics an d clu sterin g//Proceedings of the IEEE/WIC/ACM

Intern ational Conference on Web In telligence.Was hington,

DC,2007:5552558

[9]Paolucci M,Kawamura T,Payne T R et al.Semantic matc2

hing of Web service capabilities//Pr oceedings of the1st In2

ternational Seman tic Web Conference.Sardin ia,Italia,

2002:3332348

[10]Meditskos G,Bas siliades N.Object2oriented similarity meas2

ures for seman tic Web service m atch mak ing//Proceedings of

5th E uropean Conference on Web Services.H alle,Germany,

2007:74285

[11]Wu Jian,Wu Zhao2H ui,Li Ying et al.Web service discovery

based on ontology and sim ilarity of works.Chinese Journal of

Computers,2005,28(4):5952602(in Chin ese)

(吴健,吴昭辉,李莹等.基于本体论和词汇语义相似度的

Web服务发现.计算机学报,2005,28(4):5952602) [12]Bansal S,Vidal J M.Matchmaking of Web services based on

the DAML2S service model//Proceedings of the2nd In terna2

tional Joint Conference on Autonomous Agents and Multi2

agent Systems.Melbourne,Aus tralia,2003:9262927 [13]Brogi A,Corfini S.Behavior2aware discovery of Web s ervice

com position s.Intern ational J ou rnal of Web Ser vices Re2

search,2007,4(3):1228

[14]Gunay A,Yolum P.Stru ctural and s emantic similarity met2

rics for Web s ervice matchmaking//Proceeding s of the8th

Intern ational Conferen ce on E2Commerce and Web T ech nolo2

gies(EC2Web2007).Reg ensb urg,Germany,2007:1292138 [15]Jiang Changjun.Behavior Theory and Applications of Petri

net.Beijing:H igh er Education Press,2003(in Chinese)

(蒋昌俊.Petri网的行为理论及其应用.北京:高等教育出版

社,2003)

1352计算机学报2008年

[16]Andonoff E,Bou zguen da L,Hannchi C.Specifying work2

flow Web s ervices u sing Petri n ets with objects and genera2

ting of their OWL2S specification s//Proceedings of th e E C2

Web2005.LNCS3590.Berlin H eidelberg:Springer2Ver2

lag,Copen hagen,Den mark,2005:41252

[17]Zhang J,Chung J Y,Chang C K et al.WS2Net:A Petri2net

bas ed specification model for Web services//Pr oceedings of

th e2nd IEEE International Confer ence on Web Services.San

Diego,Californ ia,USA,2004:4202427

[18]Gru ber T R.A translation approach to portab le on tology

specifications.Knowledge Acquisition,1993,5(2):1992220[19]Chartrand G,Zh ang P.In trodu ction to Graph T heory.Bei2

jing:Posts&Telecom Press,2006

[20]T an P N,Stein bach M,Kum ar V.In trodu ction to Data Min2

ing.Beijing:Posts&T elecom Pres s,2006.

[21]Wom bacher A,Rozie M.Evaluation of work flow similarity

meas ures in s ervice dis covery.Service Oriented Electronic

Comm erce,2006,7(26):51271

[22]Levens htein V I.Binary codes capable of correcting d ele2

tions,ins ertions and rever sals.Soviet Ph ysics2Doklady,

1966,10(2):7072

710

SUN P ing,bor n in1979,P h.D.

candidate.H er research inter ests include

Pet ri net,Web service and workflow

theor y.

JI ANG Chang2Jun,born in1962,pr ofessor,Ph.D.su2

per visor.His research interests include semantic gr id,par al2

lel computing,and Petr i net t heory.

Backgr ound

The discovery of suitable Web ser vices for a given user

requir ement is one of the central oper ations in Service2orien2

ted Architectures.With the popularization of Web services,

researches on m inimizing the discover y dur ation and impr o2

ving precision ration a re gett ing mor e impor tant.

Data mining techniques,especially cluster ing analysis,

can be used to group similar ser vices.As a consequence,

ser vice matchmaker can r educe time and cost by matchmaking

Web ser vices in well2classified service r epositor y.In addi2

t ion,most of the work in Web ser vice discovery has focused

on the service functional descr ipt ion,especia lly IOP E

(Input,Output,Pr econdit ion and Effect).T o overcome the

inaccuracy of ser vice discovery,both the service pr ofile and

the pr ocess information should be taken into consider ation.

Unfortunately,the r esear ches in t his ar ea have not received a

lot of attention so far.

This paper proposes a mechanism to suppor t semant ic

Web service discovery.Petr i net is adopted as a modeling

language for the specification of service pr ocess model.On

the one hand,the methodology of service cluster ing groups

similar ser vices accor ding to the functional similarit y and

pr ocess similar ity.T he ut ilization of service clustering can

potentially enable ser vice mat chmaker to significantly r educe

the over head,deploy the discovery of candidate ser vices

quickly.On the other hand,for a service r equest,a service

matchmaker compares the funct ionality compat ibility and

pr ocess consistency with the candidate services.It is an ex2

tension of pr evious functionalit y2driving ser vice matchmaking

approaches,t hus leading to mor e accurate matchmaking.

This paper is supported by the National H igh T echnolo2

gy Resear ch and Development Progr am(863Pr ogram)of

China under grant No12007AA01Z136,and the National

Basic Research Pr ogram(973P rogram)of China under grant

No12003CB316902.Both projects aim at pr oposing a r eliable

approach t o semantic Web ser vice composit ion,including:

ser vice description,service discover y,ser vice composition,

and composite service ver ification.T he research group has

published several high quality papers on dynamic service

composition,QoS2awar e optimal service selection,in

"IEEE Transactions on System,Man,and Cybernetics",

"Infor mation and Softwar e Technology","Journal of

Software",and other respected journals bot h at home and

abr oad.This paper mainly focuses on the field of discovery of

ser vice.It ut ilizes ser vice cluster ing and pr ocess matchmak2

ing to pot entially deploy t he discover y of candidate ser vices

quickly,and lead to more accurate matchmaking.

1353 8期孙萍等:利用服务聚类优化面向过程模型的语义Web服务发现

语义web与知识管理

语义web与知识管理 计81班李存禄 高春阳 安多 分工明细: 整理ppt及project展示:李存禄 撰写总结论文:高春阳 搜集材料:安多

摘要: 关键词: 语义web、xml、RDF、Ontology、ALC、web服务、知识管理、SHOE、OML、XOL、OWL、智能Agent服务

一、语义Web概况: 历史: 1998年Web的发明者国际W3C主席Tim Berners-Lee首次提出了语义Web 的概念。 2001年9月9日国际W3C“技术与社会领域(Technology and Society Domain)”下的语义Web活动论坛(Semantic Web Activity)正式宣告成立。语义Web活动论坛在其宣言中指出:“语义Web是当前Web的一个扩展,其中信息具有形式化定义的语义,更有助于计算机之间以及计算机与人之间的协同工作。其思想是使Web上的数据以这样一种方式来定义与链接,使其能够在各种不同的应用场景中有效地实现数据的发现、自动化处理、集成与复用。当且仅当Web不仅成为人所共享加工的场所,也成为自动化工具所共享加工的场所时,语义Web方能实现其全部潜力。” 定义: 简单的说,语义就是资源的含义(资源是一个很广泛的概念,它可以是网站、网页,甚至是网页中的部分内容);语义Web是具有明确语义的能够被机器和人理解的网络。也就是说,语义Web是一种能够理解人类语言的智能网络,它使得人-机间及机-机间的交流变得像人-人间的交流一样便利流畅。 语义Web是一个网,它包含了文档和文档的一些部分,描述了事物间的明显关系,且包含语义信息,以便于机器的自动处理。 用途: 万维网之父蒂姆·贝纳斯-李(Tim Berners-Lee)称,使用“语义Web”的用户将可应用远远强于现有网络中任何东西的功能。他表示,在“语义Web”中,用户可将两个毫不相干的东西连接在一起,比如说银行报帐单和日历。用户可以将银行报帐单拖到日历上,也可以将日历拖到银行报帐单上,这样就可以知道何时应当进行支付。他指出,“语义Web”将呈现给人们的是一个所有数据“无缝”式连接的网络。在“语义Web”(semantic Web)技术破土而出之后,目前人们对Facebook和MySpace等社交网站的“痴迷”终将被“无所不连”的网络所取代。

web技术应用基础应用复习资料

填空题 1.JSP把Java作为默认的脚本语言. 2.HTTP的中文含义是超文本传输协议,它的作用是用于传输超文本标记语言编写的文件。 3.网站一般分为三层,分别是用户界面交互层,应用程序层,数据库层。 4.Servlet的生命周期可以分为4个阶段:载入,初始化,执行,删除(销毁。 5.在JSP文件中使用〈!————〉对HTML文本进行注释,使用〈%————%〉符号对JSP语句进行注释。 6.JSP页面在使用Jag标记来调用一个标签文件之前,必须使用Taglib指令标记引入该Web服务目录下的标记库。 7.在JSP中当执行了查询结果保存在Resultset对象中。 8.在JSP中,连接数据库的方式通常有两种:一种是通过JDBC驱动程序连接;另一种是通过JDBC-ODBC桥连接。 9.HTML是超文本标记语言,作用是WWW页面内容的格式进行说明。在HTML中加入CSS的方法主要有嵌入式样式表,内联式样式表,外联式样式表。 10.Request对象的作用是表示客户端对网页的请求,并使用HTTP协议处理客户端的请求,一个常用的方法是getParameter();其作用为设置作为响应生成内容的类型和字符编码。 11.Reponse对象的作用是处理jsp生成的响应发送给客户端: setContentType(),其作用为设置作为响应生成内部的类型和字符编码。 12.JSP中的五个常见内建对象是out: application: request:reponse:session 13.Servlet中的4个常用方法分别是init():doGet():doPost():destor() 14.在JSP页面中显示用户信息的两种方法是out.println()和〈%= %〉 15.Servlet中实现页面跳转的两种方法是response.sendRedirect()和request.getRequestDispatcher().forward() 16.JSP开发网站的两种模式分为Jsp+javabean和jsp+javabean+servlet 17.一个JSP页面可由5种元素组合而成,分别是普通的HTML.标记,JSP标记,JAVA程序片,JAVA表达式和变量和方法的声明。 18.JavaBean有4个scope,分别page,request和 application,request,sussion. 19.内置对象session的setAttribute()方法可将数据存入session, getAttribute()方法可从session中将数据取出。 1 / 13 20.MVC将应用程序分为3个核心模块,分别是模型,视图和控制器。 21.异常的处理,可在该方法的代码段中包含3类代码:try.catch和finally 22.Servlet的生命周期由三个方法控制,这三个方法分别为:init();service();和destroy(). 23.使用Statement对象的executeQuery()方法执行查询语句,使用executeUpdate()方法执行更新语句,使用execute()方法执行动态的未知操作。 24.JSP中使用reponse的sendRedirect()方法实现页面的跳转。 25.JSP的英文全称是Java Servet Page. 26.将JSP与JavaBean配合使用是通过JSP中的三个动作指令实现 的:jsp:useBean: jsp:getProperty:jsp:setProperty.

语义网本体

Part2:创建本体 本次所创建的本体是一个植物(plant)本体,所用的工具是Protege4.3。首先根据植物的分类来建立本体的Schema层,按照不同的分类方式可以有不同的分类例如可以分为花(flower)、草(grass)和树(tree)三类。花又可以分为蔷薇科(Rosaceae )、十字花科(cruciferae)、百合科(liliaceae)。草又可以分为草坪草(turfgrass)、孔雀草(maidenhair)、千日草(One thousand days grass)。树又可以分为乔木(arbor)、灌木(shrub)。所建的Schema层如下图1所示。 图1 植物本体的Schema层构建图 2、添加属性,属性包括对象属性和数据属性。所添加的对象属性有:颜色、枯萎季节、茂盛季节开花时间、开花时长,其定义域均设置为Plant。添加的数据属性有:根茎的长度。具体的添加如下图2所示。 (1)对象属性添加图(2)数据属性添加图 图2 植物本体的属性构建图

3、添加相应的实例。为百合科添加实例:百合花(greenish lily flower )为乔木添加实例:雪松和杨树,为草坪草添加实例:马蹄金草(The horseshoe golden grass )具体的实例图如下图3所示。 图3 具体实例添加图 4、定义公理,例如可以对其定义灌木为丛生状态比较矮小。则需要添加对象属性丛生状态(Cluster_State)和子属性主要丛生状态(Main_Cluster_State),然后添加分类:Type,包括short and small和tall。对草坪草定义为:主要丛生状态是short and small。对乔木添加定义:主要丛生状态是tall。在Plant类下面添加叶子(leaf),然后添加对象属性is_part_of,给leaf定义为:叶子是树叶的一部分。对草坪草的具体的定义效果如下图4所示。 图4 草坪草定义效果图

南信大Web技术与应用复习提纲

必须要熟悉的内容: 1.1节-1.4节中的基本概念 2.2节中常用的HTML标签的使用:标签的功能,属性,事件。 第6章的Page,Response,Request,Application和Session对象的功能,常用属性与方法。 7.5-7.8节提到的于https://www.wendangku.net/doc/8510560325.html,相关的五大对象:Connection,Command,DataReader,DataAdapter和DataSet对象的功能,常用属性与方法。 程序填空题以教材的例题为主,不过不会完全一样,所以请熟悉例题中所提到的控件的常用方法与属性。 教材5.6.3-5.6.14的所有例题。 6.6,6.7和6.9节的有例题。 简答:(考四题) 1、请简述URL的概念与格式。 概念:统一资源定位符(uniform resource locator)是在Internet上确定某资源位置的标识符。资源指的是在Internet上访问的任何对象,如文件目录,文档,图像,视频,邮件地址等。 格式:<信息服务类型>://<信息资源地址>/<文件路径> 2、请简述Web的系统结构与工作原理。 系统结构: Web系统是客户——服务器模式: Web客户机:客户端的浏览器 Web服务器:多媒体资源存放的主机 中间件:可调用Web服务器中的数据库和其它应用程序,满足客户的各种应用要求。 工作原理: 用户点击超链接或在浏览器中输入地址后,此时浏览器将该信息转换成标准的HTTP请求发送给Web服务器。当Web服务器接收到HTTP请求后,根据请求内容查找所需信息资源,找到相应资源后,Web服务器将该部分资源通过标准的HTTP响应发送回浏览器。最后浏览器接收到响应后将HTML文档显示出来 3、Web服务端技术的主要任务是什么?有哪些常用的Web服务端技术? 主要任务:展现信息内容 技术:包括服务器、CGI、PHP、ASP、https://www.wendangku.net/doc/8510560325.html,、Servlet和JSP技术 4、请简述https://www.wendangku.net/doc/8510560325.html,在页面处理过程中的主要阶段。 1.页面初始化 页面被请求后,第一个阶段就是初始化页面的Page对象。初始化过程中服务器产生Page_Init事件,开发人员可以通过这个事件对页面中的控件,或程序中的变量进行初始化。

语义Web服务发现研究现状与发展_王珏

收稿日期:2012-05-11;修回日期:2012-07-16基金项目:国家“973”计划资助项目(2009CB3020402);江苏省自然科学基金资助项目 (BK2010103) 作者简介:王珏(1987-),男,黑龙江哈尔滨人,助理工程师,主要研究方向为Web 服务匹配(415638921@qq.com );向朝参(1987-),男,博士研究生,主要研究方向为SOA 架构、无线传感网;王萌(1983-),男,助教,主要研究方向为Web 服务发现;田畅(1963-),男,教授,博导,主要研究方向为网络信息系统、无线分组网;赵文栋(1972-),男,副教授,主要研究方向为SOA 体系架构、计算机网络;代登坡(1986-),男,助理工程师,主要研究方向为Web 服务发现. 语义Web 服务发现研究现状与发展* 王 珏1,向朝参1 ,王 萌1 ,田 畅1,赵文栋1,代登坡 2(1.解放军理工大学通信工程学院,南京210007;2.中国人民解放军78083部队,成都610011)摘 要:从不同方面对语义Web 服务发现相关技术进行综述。阐述了语义Web 服务的基本概念和特点,总结 和分析了语义服务发现的基础———语义服务描述语言,重点从单服务匹配和服务组合匹配两个方面对语义Web 服务发现的关键问题———语义Web 服务匹配近年来的研究,进行了全面的总结和讨论,并指出了语义Web 服务发现研究领域的挑战和未来的研究方向。 关键词:面向服务架构;语义Web 服务;服务发现;服务组合;服务匹配中图分类号:TP393 文献标志码:A 文章编号:1001-3695(2013)01-0007-06 doi :10.3969/j.issn.1001-3695.2013.01.002 Survey on semantic Web services discovery WANG Jue 1,XIANG Chao-can 1,WANG Meng 1,TIAN Chang 1,ZHAO Wen-dong 1,DAI Deng-po 2 (1.Institute of Communication Engineering ,PLA University of Science &Technology ,Nanjing 210007,China ;2.78083PLA Troops ,Chengdu 610011,China ) Abstract :This paper presented the state-of-the-art of semantic Web service from various aspects.First of all ,this paper ex-plained the basic concepts and character of semantic Web service.And then , it summarized and analyzed several kinds of ser-vice description languages which were the base of service discovery.Moreover , it comprehensively summarized and discussed service matching as the key problem of service discovery from two aspects —single service matching and service composition matching.In the end , this paper proposed the challenge and the future work of the study on semantic Web service discovery.Key words :SOA (service-oriented architecture );semantic Web service ;service discovery ;service composition ;service matching 0引言 信息技术的发展带动了各类应用系统的不断涌现,在为用 户带来更多便利的同时,也给IT 系统的设计和开发带来了新的挑战。如何将采用不同平台和不同技术开发的独立系统进行互连与共享,最终实现系统间的灵活配置、松散耦合、即插即用以及服务重用等功能, 从而便于用户获取服务。面向服务架构(SOA )由于实现了系统间的松散耦合,能很好地解决异构系统互连和共享这一难题,得到了高度的重视与广泛的应用 [1 4] 。2008年Gartner 公司调查发现,在当前大型的IT 系统 中,已经采用SOA 的占53%,另有25%计划在一年内采用[5]。因此, SOA 已成为各种应用系统互连和集成的一种趋势[2] 。 针对不同的应用,SOA 有多种实现方式,而近年来随着因特网的不断发展,Web 服务逐渐成为SOA 实现技术的研究热点 [6,7] 。 Web 服务是一个广义的概念,不仅在因特网中有广泛应用,很多其他IT 系统也采用了Web 服务技术。例如文献[2]提出利用Web 服务技术将分布在不同地区的各种硬件设备互连,便于设备提供的功能进行共享和重用;文献[ 8,9]提出在无线、移动网络中利用Web 服务技术对服务进行重用和组合; 文献[10]提出将Web 服务技术应用于非Web 组件中,并提出了原型系统。随着Web 应用的普及以及规模的扩大, Web 服务数量与日俱增, 同时用户的服务需求也是千变万化,如何根据用户的需求快速、 高效地从海量的服务中发现用户所需的服务是Web 服务研究的关键点和热点,直接决定着用户获取服务的效率和性能。 Web 服务发现依据服务描述方式划分,大体经历了基于 关键字、基于语法和基于语义三个阶段[11] 。由于基于关键字 和语法的服务描述能力有限, 导致服务发现的效率低,不便于服务的自动组合。为了提高服务描述能力和发现效率,学术界 提出了语义服务描述。语义服务描述的出现,在增强服务描述 能力的同时也给服务发现带来了新的挑战 [5,11,12] 。针对以上存在的问题, 近年来学术界从不同侧面进行了研究,如基于语义的服务描述语言的提出 [5,13,14] 、基于语义的单服务匹 配 [10,15 17] 与基于语义的服务组合匹配[18 21] 等。文献[ 22]对2006年以前发布/订阅系统的各种关键技术进行了详细的综述,但其主要侧重于发布/订阅系统相关技术的分析;文献 [15,23]分别对2004年以前的Web 服务核心技术和2008以 前的服务发现技术进行了综述,但近年来Web 服务研究领域 第30卷第1期2013年1月计算机应用研究 Application Research of Computers Vol.30No.1Jan.2013

web技术应用基础应用复习

w e b技术应用基础应用 复习 文档编制序号:[KK8UY-LL9IO69-TTO6M3-MTOL89-FTT688]

填空题 1.JSP把Java作为默认的脚本语言. 2.HTTP的中文含义是超文本传输协议,它的作用是用于传输超文本标记语言 编写的文件。 3.网站一般分为三层,分别是用户界面交互层,应用程序层,数据库层。 4.Servlet的生命周期可以分为4个阶段:载入,初始化,执行,删除(销 毁。 5.在JSP文件中使用〈!————〉对HTML文本进行注释,使用〈%———— %〉符号对JSP语句进行注释。 6.JSP页面在使用Jag标记来调用一个标签文件之前,必须使用Taglib指令 标记引入该Web服务目录下的标记库。 7.在JSP中当执行了查询结果保存在Resultset对象中。 8.在JSP中,连接数据库的方式通常有两种:一种是通过JDBC驱动程序连 接;另一种是通过JDBC-ODBC桥连接。 9.HTML是超文本标记语言,作用是WWW页面内容的格式进行说明。在HTML中 加入CSS的方法主要有嵌入式样式表,内联式样式表,外联式样式表。 10.Request对象的作用是表示客户端对网页的请求,并使用HTTP协议处理 客户端的请求,一个常用的方法是getParameter();其作用为设置作为响应生成内容的类型和字符编码。 11.Reponse对象的作用是处理jsp生成的响应发送给客户端: setContentType(),其作用为设置作为响应生成内部的类型和字符编码。 12.JSP中的五个常见内建对象是out: application: request:reponse:session 13.Servlet中的4个常用方法分别是init():doGet():doPost():destor() 14.在JSP页面中显示用户信息的两种方法是()和〈%= %〉 15.Servlet中实现页面跳转的两种方法是()和().forward() 16.JSP开发网站的两种模式分为Jsp+javabean和jsp+javabean+servlet 17.一个JSP页面可由5种元素组合而成,分别是普通的HTML.标记,JSP标 记,JAVA程序片,JAVA表达式和变量和方法的声明。

语义网技术

语义网技术是当前互联网技术研究的热点之一。目前大多数页面中的使用的文字信息不便于机器自动处理,只适合人们自己阅读理解,解决可自动处理的数据和信息方面发展较慢的问题,在网络上信息量剧增、人们迫切需要计算机分担知识整理这一压力的今天,成为信息检索的一个难题。本文首先建构了一种形式化的本体描述方法,并给出了标准化的定义,主要针对在本体层定义的基础上对逻辑层展开了基础研究,对于本体概念进行逻辑推理,通过本体中关系的属性,推理出隐含在本体概念间的关系。在本文的定义中本体包含五个基本的建模元语,概念,关系,函数,公理,实例,通过本体的五个建模元语构建本体,给出本体的形式化的规范定义,本体描述中的四种特殊关系有继承关系,部分关系,实例关系和属性关系,关系的各种属性是进行本体推理的逻辑依据,有传递性属性,关系继承性,反向关系继承性,逆属性,对称性属性,反身性属性,等价性属性等等,依据这些属性的逻辑性,可以推理出所要的查找。本文利用属性的逻辑推理机制采用树搜索的查找检索方式查找出隐含在概念之间的逻辑关系是本文所要进行的主要工作,这样可以判断出概念之间是否存在一些给定判断的关系,或者一个概念和什么概念存在给定的关系,再或者两个概念间都存在什么关系等等都是我们用推理检索所要实现的判断。摘要语义网技术是当前互联网技术研究的热点之一。目前大多数页面中所使用的文字信息不便于机器自动处理,只适合人们自己阅读理解,解决可自动处理的数据和信息方面发展较慢的问题,在网络上信息量剧增、人们迫切需要计算机分担知识整理这一压力的今

天,成为信息检索的一个难题,本文中对本体层概念的推理就是为了探索计算机理解语义所做的一个尝试。语义网的体系结构向我们说明了语义网中各个层次的功能和特征,语义网的研究是阶段性的,首先解决syntax(语法)层面的问题,也就是xml,然后是解决(数据层)基本资源描述问题,也就是rdf,然后是(本体层)对资源间关系的形式化描述,就是owl,damloil,这三步已经基本告罄,当然,基于rdf 或者owl的数据挖掘和ontology管理(如合并,映射,进化)按TIMBERNERS-LEE的构想,这个工作大概到2008左右可以完成,在商业上,很快就会在知识管理,数据挖掘,数据集成方面出现一些企业。目前亟待发展的是LogicLayer(逻辑层),这方面在国内外的期刊著作中还少有提到,接下来的工作就应该是对于owlbased的数据进行推理和查询了,当前的推理方法主要是针对本体而言的,而本体的概念是在某个特定领域范围内的,而且在知识库中推理和查询是紧密的结合在一起的,相辅相成的,查询的同时必然存在着推理,而这里的推理就必须要建立在一定的逻辑模型的基础上,所以推理的方法就是基于逻辑模型的逻辑推理,可采用逻辑推理的方法。本体中推理的重点在于推理结论的正确性、完备性,若是不能保证推理的正确性,则语义网的引入就不但没有给网络资源的查询带来便利,反而阻碍了网络的发展,而且还要保证推理的完备,不遗漏应有的推理结果。本体推理的难点在于推理的高效性、资源利用率,若推理虽能达到正确性,完备性的目的而浪费了大量的时间和资源,则语义网也不能达到预期的效果,所以推理方法的使用及其效果是语义网成功的关

语义Web服务描述语言研究

王文博 北京邮电大学网络与交换国家重点实验室,北京 (100876) E-mail:jsjmaopei@https://www.wendangku.net/doc/8510560325.html, 摘要:语义Web服务描述语言使得Web服务能够实现自动发现,自动执行,自动组合,是语义Web服务研究的重要组成部分。本文探讨了4种已提交给W3C的语义Web服务描述语言,并对其中影响最为深远的OWL-S和WSMO进行了比较。 关键词:WSMO,OWL-S,SWSF,WSDL-S,语义Web服务 中图分类号:TN911 1.引言 Web服务[1]由于其强大的松耦合能力,在工业界已经吸引了众多的目光。然而Web服务的接口是基于语法的,并不能为机器所理解,因而其服务的发现存在查全率和查准率低的问题[2]。基于此,人们提出了语义Web服务的概念:用语义Web技术对Web服务进行解释说明,让机器也能理解Web服务,提高服务发现的准确率,最终实现服务的自动发现,自动组合和自动调用[3,4]。 语义Web服务描述语言在整个语义Web服务中所起的作用是不言而喻的。通过语义Web 服务语言能够对现有的Web服务进行语义层面的阐述,通过本体的支持,实现从服务的功能层面和非功能层面的详尽的描述,最终实现机器理解服务的最终目的。因而对语义Web服务描述语言进行研究有着十分重要的意义。 2.OWL-S DAML-S[5](DARPA Agent Markup Language for Services)草案于2001年被提出,是第一个针对Web服务的本体描述语言。它建立在DAML+OIL本体基础之上,专门用来描述Web 服务的高层本体语言,由美国军方DARPA项目支持。DAML-S是采用DAML语言描述web服务而形成的一个本体。而OWL是在DAML基础之上的一种本体语言,它成为了W3C的Web Ontology推荐的语言标准。而OWL-S[6]类似于DAML-S相对于DAML的关系,是基于OWL的语义Web服务的本体描述框架。OWL-S是用OWL语言写的本体,语义良好。它根据对象和它们之间的复杂关系来定义Web服务的词汇表,并且是基于XML的结构化语言。 图1 OWL-S服务本体 OWL-S预先定义了一组用来描述服务的本体(Ontology),通过这些本体让机器能够理解Web服务。如图1所示,OWL-S的本体由三部分组成:ServiceProfile、ServiceModel和ServiceGrounding。它们都是关于服务的最本质的描述,分别描述了服务的作用,服务如何

网站设计与Web应用开发技术(第二版)课后习题答案

各章习题参考答案 第1章习题参考答案 1. 答:Internet是一个宽泛的概念,WWW实际上Internet所提供的众多服务中的一项。由于很多人上网主要浏览网站,很多初学者容易混淆这两个概念。 2. 答:统一资源定位符(URL)用于定位某个资源,由于Internent的复杂性,其提供的服务及传输协议有很多种,为了能区分,URL中必须进行说明,此处的http就是为了说明该请求属于超文本传输协议;URL的概念比较宽泛,http只是其中的一种传输协议,也可能出现别的情况,比如ftp等。。而www则是所请求服务器的域名,有些服务器的域名中就不包含www。 3. 答:其实技术是没有好坏之分的,关键在于是否适合你所应用的环境以及你是否能掌握。一味的求新、求好是没有经验的开发者所采取的行动。我们不应该单纯追求技术的先进性,而要追求有效和实用,当你要实现一个方案时,要分析项目的性质及最终用户,然后再寻找能解决问题的最经济、最实用也能满足用户需要的手段。因为用户并不关心你采用多么先进的技术,用户关心的是可靠(Reliable)、快速(Rapid)、方便(Convenient)。 4. 答:可以根据上文提供的基本原则,进行区分。不过有些网站不能截然的划分成其中的某一种。平时上网时多观察,多思考,对于提高自己的能力有很大的帮助。 5. 略 第2章习题参考答案 1.答:主要包括以下几个步骤(1) 建立网站前的市场分析,(2) 建设网站目的及功能定位,(3) 网站的技术解决方案,(4) 网站内容规划,(5) 网页界面设计,(6) 网站测试,(7) 网站发布与推广,(8) 网站维护,(9) 网站建设日程表,(10) 费用明细。详细内容可参考本书 2.2部分。 2.答:可以简单的通过两个方式进行判断: (1) 查看“管理工具”下是否有“Internet信息服务(IIS)管理器”,通过查看可以获知;这个方法可以获知本机是否使用了IIS服务,且仅对Windows操作系统有效。 (2) 直接在浏览器中输入“http://127.0.0.1”,看是否能看到有关信息(若安装的Web 服务器所设置的端口不是默认的80,则此方法无效)。 (3) 在本机执行netstat –a命令,查看是否存在Web服务器。 Web服务器的安装方法请查看本书2.4部分。 3.答:一般来说,这样就可以使用了,不过使用默认的配置可能会在将来出现问题。因此,通常我们需要进一步对网站进行配置。根据实际需要,一般来说,网站的安全性配置和网站的性能配置是需要修改的。

Web开发技术及其应用学习心得

Web开发技术及其应用学习心得 从大学开始接触Web应用开发技术,但是大学里概念性的东西过强,导致学完后对于如何实际应用开发并不是很有条理。 一、何为Web应用程序 我刚开始学习的是java和C++应用程序,这些程序只能在本机上运行,接触了Web应用程序开发,才知道原来自己一直在接触使用Web应用程序,像在学校使用的教务管理系统还有经常用上的人人网,都是Web应用程序,Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++、C#等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物。也就是说我们开发的程序是运行在服务器端,客户使用浏览器就可以使用程序提供的服务。 二、Web应用程序开发常用语言 Web应用程序开发常用语言有JSP、ASP、PHP、https://www.wendangku.net/doc/8510560325.html,等,自己在网上对这些语言进行的一些了解,这些语言各有各的优势和缺点,编程者可以根据各自的情况选择编程语言,我起初学习Web编程的时候是学的JSP,它的底层语言是JAVA,由于有过Java和网页设计的基础学习起来也不是很麻烦,上手还是比较快的,但是随着系统的复杂度的提高我发现开发越来越麻烦,每个表单和控件都要自己定义引用,后来通过同学的推荐,开始着手学习https://www.wendangku.net/doc/8510560325.html,,它是微软公司继ASP后推出的又一门服务器端脚本语言,https://www.wendangku.net/doc/8510560325.html,一般分为两种开发语言,https://www.wendangku.net/doc/8510560325.html,和C#,C#相对比较常用,因为是.NET独有的语言,https://www.wendangku.net/doc/8510560325.html,则为以前VB 程序设计,适合于以前VB程序员,如果新接触.NET,没有其他开发语言经验,建议直接学习C#。 三、如何学好https://www.wendangku.net/doc/8510560325.html, 学习https://www.wendangku.net/doc/8510560325.html,我个人觉得首先应该对HTML标签有所了解,因为开发动态网页还是要跟HTML标签打交道,多了解一些你在编程的时候更容易上手,还有HTML 提供的一些表单,最好能熟悉,在https://www.wendangku.net/doc/8510560325.html,中也提供了各类控件,这些控件的学习都比较简单,所见即所得,可以直接向页面中拖各种控件,后台代码写在.cs 文件中。关于学习方法,个人心得总结如下: 学习的过程最好能结合各自情况,像我自身只是一般的初学者,所以我从先看一些https://www.wendangku.net/doc/8510560325.html,的视频教程,尽快熟悉它的用法和规范,因为这样接受比较快,但是不能一味的只看视频,必须要学着去实践,开始可以跟着视频上的例子照葫芦画瓢作一些试试,可以自己尝试着去修改例子,将它变成自己的东西。另外又找了两本.net方面的书,最佳组合是一本基础的书和一本实例书,这样可以巩固前面的学习,如果有不清楚的地方可以直接查书,加深记忆,看实例的书,并且最好能照着书上实现一遍,提高自己的水平,前万不要眼高手低,要不到到头来前功尽弃,前面学的都忘了。 此次授课的老师实践经验非常丰富,他把学员建立在现实开发的基础上,深入浅出,引用实例,授课一点也不枯燥,我们在接受了他们大量的信息的同时,很自然地消化处理,没有任何被动。Java语言程序设计、数据库技术基础、Servlet和JSP编程基础到轻量级J2EE体系架构程序开发,老师们贴切的例子

语义web服务的分析与应用

语义WEB服务的分析与应用 摘要:WEB服务机制缺乏对服务的语义描述,难以在逻辑层面上实现基于语义的服务发现、服务流程组合和服务动态调用。通过在WEB服务中加入语义WEB,即构造WEB语义服务,以克服传统WEB服务语义操作能力的局限,使其支持WEB服务自动发现、执行以及动态智能组合。 关键字:语义WEB服务;WEB服务;语义WEB;OWL-S; 随着网络技术的发展,WEB正由网页的集合转向服务的集合。面对网络上存在的大量服务,如何检索、使用这些服务,更好地满足用户的需要,成为目前迫切需要研究的问题。因此,采用一种合适的WEB服务描述方法是必需的。语义WEB(Semantic WEB)致力于开发“以计算机可处理形式表示信息的语言”,正逐渐成为WEB服务描述的重要方法。 1.WEB 服务中添加语义WEB的必要性 WSDL已经提供了一种面向人理解的语义化描述,但是还不够,为什么?为了使用一个WEB Service,软件实体需要一个计算机可解释的服务描述。而语义WEB标识语言的目标之一,就是创建这些描述被定制和共享的框架;WEB站点应该使用一个基本的类和属性的集合来声明和描述服务。 WEB服务机制缺乏对服务的语义描述,难以在逻辑层面上实现基于语义的服务发现、服务流程组合和服务动态调用。而且WSDL和UDDI技术关注服务功能和接口的静态描述,忽视对服务进行非功能属性的描述,而非功能属性如服务质量正是用户在SOA环境中动态选择服务所关注和必需的。使用RDFS定义WEB服务本体,并逐层对其进行Agent扩展和QoS扩展,构建WEB服务及其质量本体,克服已有技术只能在设计时对服务接口进行微调以满足用户需求的缺陷,丰富了WEB服务机制的语义描述,使得WEB服务能够被机器理解、对用户透明、被代理自动处理,在语义逻辑上实现WEB服务之间的交互性,而且用户在选择服务时可以同时考虑WEB服务的质量,从而提高服务选择时的灵活性和自主性。 WEB服务基本上采用标准化分类的方式描述服务的功能、提供者以及如何访问服务,如何与之交互。这种机制对服务的描述能力非常有限,特别是缺乏对服务的语义描述,难以在逻辑层面上实现基于语义的服务发现、服务流程组合和服务动态调用。 为了克服上述缺陷,人们将目光投向语义WEB。在WEB服务描述中加入语义信息可以帮助更好地完成服务的自动发现、自动选择、自动组合以及服务间数据的自动映射和转换

web技术与应用任务书大作业

《Web技术与应用》大作业 1、题目:基于多社交媒体的用户信息融合研究 开发工具:https://www.wendangku.net/doc/8510560325.html,+VS2010+SQL Server2008或https://www.wendangku.net/doc/8510560325.html,+VS2010+ACCESSS 信息融合起始被称为数据融合,起源于1973年美国国防部资助开发的声纳信号处理系统,其概念在20世纪70年代就出现在一些文献中。在20世纪90年代,随着信息技术的广泛发展,具有更广义化概念的“信息融合”被提出来。参考wiki 的定义:信息融合是一个实时的连续的过程,它多层次、多方面地对多源信息进行探测、联想、估计以及组合处理,其目的是获得精确的被测目标的状态、一致性估计和完整的实时评价。 随着计算机网络信息技术的快速发展,云计算、物联网、移动互联网等新兴技术正在逐步改变人们生活方式,助推人类社会向着智能化的方向发展。在社交媒体领域,普遍都存在着单个个体同时使用多个社交媒体平台发布信息,如微信、微博、人人网等。这些信息在不同的社交媒体平台各有不同,而当前存在着单个个体在不同社交媒体平台上用户名不一致的情况,故而不能简单地根据用户名来进行信息融合。因此本题就是研究如何融合用户在不同社交媒体平台上信息的方法。 本题要求能够提出融合单个体在不同社交媒体平台上信息的解决方案,并进行原型实现。 适用人数:3人(可选可不选) 2、题目:基于SCORM标准的资源学习平台 提示:SCORM是一种标准,是关于在线学习的标准,涉及学习平台(LMS)和内容(Courseware)两个方面。通过标准的制定,学习平台和内容制作得以独立发展,由此延伸四种类型的公司:平台开发商、课件制作商、课件工具开发商、在线学习运营商。再加上教师和学生就构成了在线学习的生态环境。SCORM标准出现之前,内容和平台绑定很死,大大限制了在线学习的发展。SCORM标准则解放了生产力,使得在线学习迎来一个大的发展。

基于语义WEB服务的E-Learning技术与应用研究

河南省基础与前沿技术研究计划项目 申请书 项目名称:基于语义WEB服务的E-Learning 技术与应用研究 申请者: 所在单位(签章): 主管部门:河南省教育厅 联系电话: 电子信箱: 通讯地址: 邮政编码: 申请日期:2006 年09 月28 日 河南省科学技术厅制

填报说明 1.“申请书”用于申请河南省基础与前沿技术研究项目,由申请者负责填写。填写前请先查阅有关河南省基础与前沿技术研究项目申请办法及规定。申请书各项内容,要逐条认真填写,表达要明确、严谨,实事求是。外来语要同时用原文和中文表达,第一次出现的缩写词,须注明全称。 2.封面右上角“申报号”按照河南省科学技术厅分配的编号填写;“项目类别”栏由申请者填写, 申请项目属基础研究的此栏为“A”,属应用基础研究的为“B”,属前沿技术的为“C”。“学科名称”及“学科代码”请根据申报项目所属学科,按最新国家标准“学科分类与代码表”,填至三级学科分支。 3.基础研究是指以认识自然现象、探索自然规律为目的,不直接考虑应用目标的研究活动;应用基础研究是指有广泛应用前景,但以获取新原理、新知识、新方法为主要目的的研究;前沿技术是指有产业化前景以获取具有当代国际国内前沿的新工艺、新技术、新方法为主要目的研究;“项目名称”应确切反映研究内容和范围,最多不超过25个汉字(包括标点符号);“申请者”是指申请项目实际主持人。 4.在读(含在职)研究生和申请单位的兼职科研人员不得作为申请者提出申请,但可作为项目组成员参加研究。 5.申请者和项目组中具有高级专业技术职务的主要成员申请(含参加)的项目数,连同在研的省级以上基础研究项目数, 不得超过两项。同一项目组研究内容相近的项目,只允许报送一个项目。 6.不具有副高以上专业技术职务或硕士以上学位的申请者,须有两名具有正高专业技术职务的同行专家推荐。

[优质文档]WEB技术应用基础习题及答案

WEB技术应用基础习题作业 习题作业JSP-第一章 一、选择题: 1. 以下几个IP地址中()是合法的IP地址? A.204.1546.21.106 B.127.0.0.1 C.175.146.87.175 D.202.96.0.255 2. HTTP的默认端号是()。 A.80 B.8080 C.70 D.21 3.如果网页(),该网页是动态的。 A.有GIF动画图片动来动去 B.有动画广告飞来飞去 C.能看影视 D.是动态实时生成的 4.以下选项中()是不正确的URL。 A.https://www.wendangku.net/doc/8510560325.html, https://www.wendangku.net/doc/8510560325.html, C.http://localhost:8080/bookshop/index.jsp D.ftp://ftp.link/down/search.jsp

A.在客户发起请求时,DNS域名解析地址前,浏览器与服务器建立连接 B.客户在浏览器上看到结果后,释放浏览器与服务器连接 C.客户端直接调用数据库数据 D.Web服务器把结果页面发送给浏览器后,浏览器与服务器断开连接 6.以下说法()是正确的。 A.因特网和万维网是一回事 B.万维网是网络的网络 C.万维网是一个运行在Internet上的全球性、分布式信息发布系统 D.万维网是覆盖全球的网络 二、简答题 1.简述名词:计算机网络、互联网和Inernet。 2.Internet提供哪些主要服务? 3.简述电子邮件的收发过程。 4.Inernet上的主机指什么? 5.WWW的英文全称是什么,它的主要功能是什么?

6.简述Web和Internet的区别与联系。 7.简述IP地址表示方式。 8.ASP与https://www.wendangku.net/doc/8510560325.html,技术有什么特点? 9.静态网页和动态网页的区别是什么? 10. 可以为Internet上两台主机分配同一个IP地址吗?可以为同一个网络的两台主机分配同一个IP地址吗?可以为两个不同网络的两台主机分配相同的主机地址吗? 11.IP地址分为哪几类?它们各自适用于什么情况? 12.为什么要使用子网掩码?子网掩码的作用是什么? 13.已知主机的IP地址和它的子网掩码,试确定该主机所在网络的类型,网络号,子网号和主机编号。 14.域名解析系统的作用是什么? 15.URL的组成是什么?写出其标准的结构形式,并简述各部分的功能。 16.请解释https://www.wendangku.net/doc/8510560325.html,/wwwroot/default.html的含义。 17.Web应用程序的三个层面各司何职,该工作模式有哪些优点?画出三层结构图。 18.以Web方式访问数据库的特点是什么?

Web技术与应用-考试卷

一、单项选择填空题(每空3分,共24分) 1.下列哪个协议是传输层的协议 A A.TCP B.IP C.SMTP D.SNMP E.FTP 2.下列哪一个HTTP请求头部字段可以声明客户端的浏览器类型 C A.GET B.Host https://www.wendangku.net/doc/8510560325.html,er-agent D.Connection E.Accept-language 3.下列哪一个是不正确的URL D A.https://www.wendangku.net/doc/8510560325.html,/coliege/science/computer/computer.htm B.ftp://https://www.wendangku.net/doc/8510560325.html,/pub/ C.mailto:webmaster@https://www.wendangku.net/doc/8510560325.html, D.file:///c:/html/sample.htm E.smtp://webmaster@https://www.wendangku.net/doc/8510560325.html, 4.下列哪个样式表的优先级最高: D A.浏览器缺省样式(Browser default Style) B.外部样式表(Extenal Style Sheet) C.内部样式表(Internal Style Sheet) D.内嵌样式(Inline Style) E.定制样式表(Customized Style Sheet) 5.下列哪个对象可以维护B/S客户端的会话状态 A A.HttpSession B.HttpServletRequest C.HttpServletResponse D.PrintWriter E.ServletContext

6.下列哪种不是XML的应用 A.WSDL B.SOAP C.HTML D.BPEL E.XPDL 7.在下列SOA的构成元素中,哪一个是质量方面的 A.传输 B.业务过程 C.服务描述 D.服务 E.事务 8.AJAX技术使用的是哪种脚本语言 D A.VC++ B.C# C.Java D.JavaScript E.VBScript 二、论述题(共40分,每题8分) 1.请说明Servlet在处理HTTP请求时Forward和Redirect的区别。 Redirect是通过response对象完成的,例如: response.sendRedirect(response.encodeRedirectURL("/jasmine/login")); 所以它不能把客户端的任何信息传递下去,因为request对象并未被传递 Forward是通过ServletContext对象完成的,例如: RequestDispatcher disp = this.getServletContext().getRequestDispatcher(" f.jsp"); disp.forward(request, response); 所以可以把客户端的任何信息传递下去,因为request对象被传递 2.请说明SOA中服务注册中心的作用。

《Web技术及应用》课程设计

《Web技术及应用》课程设计 网络技术与应用期末课程设计报告 主题在线约会系统课程级别:网络安全与执法课程编号:June XXXX 内容 第一章导言 (1) 1.1发展背景 (1) 1.2发展状况分析.........需求分析 (2) 第二章系统设计 (4) 2.1功能设计 (4) 2.2数据库设计..........................................................................................................5 2.3过程(或算法)设计.....................第三章系统实现..................................................................................6 ............................. (6) 3.1约会系统 (6) 第4章设计总结.......10篇参考文

献.................................................................................................................. ..............附件记录..............................................................................................10(核心代码). (11) 在线约会系统 第一章导言 近年来,随着移动互联网的发展,人们的交流方式变得更加开放。互联网接入不仅限于计算机。无可争辩的事实是,移动电话的普及已经迅速将通信从计算机转移到移动电话。信息化是当今世界经济和社会发展的总趋势。以网络和多媒体为核心的信息技术已经成为拓展人的能力的创造性工具。互联网不受时间和地点的限制。有我们最新的想法,最有创意的想法,最新的新闻等等。当然,也有我们最好的回忆。在大学期间,我们每个人都有很多怀旧的记忆。有风景可以玩,有快乐可以聚风。有时间孤独和无聊,也有时间独处。学习、成长,伴随着我们走过了三年的风风雨雨。这真是一次风雨无阻的散步。我们用各种各样的形式来记住年轻人的童话。当我们要告别大学的时候,当我们回忆起这些,它不仅是一笔财富,也是一段美丽而简单的记忆。为此,我设计并开发了这个约会平台。与你我分享他/她的喜怒哀乐。随着互联网、微博和博客的兴起,交流变得更加人性化和随时随地的自由。 这个设计是一个简单的社交平台。注册用户可以分享他们的照片、Flash视频、心情、朋友等。可以找朋友,添加朋友,。朋友也可以同

相关文档