《语义Web服务发现组合方法研究及在医疗服务集成中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
浙江工业大学硕士学位论文语义Web服务发现和组合方法的研究及在医疗服务集成中的应用作者姓名:余晖指导教师I范菁教授、熊丽荣副教授浙江工业大学计算机科学与技术学院2013年04月 DissertationSubmittedtoZhejiangUniversityofTechnologyfortheDegreeofMasterResearchonMethodofSemanticbased孵匆bServiceDiscoveryandCompositionanditsApplicationinMedicalServiceIntegrationCandidate:Y_uHuiAdvisor:Prof.FanJingAssociateProf.XiongLirongCollegeofComputerScienceandTechnologyZhejiangUniversityofTechnologyApr2013 浙江工业大学学位论文原创性声明本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进行研究工作所取得的研究成果。除文中已经加以标注引用的内容外,本论文不包含其他个人或集体已经发表或撰写过的研究成果,也不含为获得浙江工业大学或其它教育机构的学位证书而使用过的材料。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式标明。本人承担本声明的法律责任。作者签名:后0填日期:如哆年亨月列日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权浙江工业大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本学位论文属于1、保密口,在年解密后适用本授权书。,2、不保密吼(请在以上相应方框内打“√”)黧镛导师签名:确日期:hl弓年t-月叫日日期:码年萝月叫曰 浙江工业大学硕士学位论文语义Web服务发现与组合方法研究及在医疗服务集成中的应用摘要Web服务由于其互操作性和重用性,成为了面向服务的体系架构(SOA)的核心支撑技术。如何利用数量众多的Web服务组建松散耦合的企业应用系统,以满足不断变化的业务需求,己成为一个研究热点。目前,Web服务组合的研究主要有两个分支:业务流程驱动的Web服务组合和语义驱动的Web服务组合。业务流程驱动的服务组合以工作流技术为基础,实现方便,但存在着灵活性和动态性不足的问题。语义驱动的服务组合强调Web服务自描述的特性,通过为Web服务添加语义信息,使组合方案通过AI规划等方式自动生成,组合过程无需人工参与,灵活性大大提高,但存在着组合服务可用性不足的缺点。本文针对医疗服务集成领域,围绕着语义Web服务组合架构、服务匹配与选取、抽象服务的自动合成等内容进行研究。主要工作包含以下几个方面:第一:分析了以医疗领域为代表的企业级服务集成领域需求特点,针对传统业务流程驱动的服务组合方法不适应企业业务流程变化需求以及复杂多变的网络环境的情况,采用一种新的半自动的组合方法,在基于业务流程驱动的服务组合方法的基础上,用抽象服务描述流程中动态的部分,然后在服务执行阶段采用基于语义的服务组合方法自动合成抽象服务所需服务。第二:针对服务执行阶段服务发现和选取的问题,综合考虑了基于逻辑的两种语义web服务匹配模式,采用混合式的匹配算法来进行服务发现,以获取满足抽象服务功能性需求的w曲服务集合:在获取可用的服务集合后,采用基于QoS的服务选取算法来选择满足抽象服务非功能性需求的Web服务。第三:在服务执行阶段,当单个Web服务无法满足抽象服务需求时,通常采用抽象服务的自动合成来获取组合Web服务来满足需求。本文提出一种基于语义回溯树的Web服务组合方法来合成组合服务。该方法采用语义绑定矩阵来存储Web服务以及它们之间的语义关联,然后根据抽象服务节点的需求生成语义回溯树集合,最后选取生成路径并合成组合Web服务。i 浙江工业大学硕士学位论文第四:在以上关键技术和设计的研究基础上,实现了业务流程驱动的半自动语义Web服务组合框架的主要模块,并针对医疗领域服务集成的问题,采用该组合框架实现患者就医的完整流程,并验证了组合服务系统的健壮性和灵活性。关键词:语义Web服务,业务流程驱动,服务发现,服务组合,QoS,医疗服务集成 浙江工业大学硕士学位论文ResearchonMethodofSemanticbasedf饴bServiceDiscoveryandCompositionanditsApplicationinMedicalServiceIntegrationABSTRACTBecauseofitsinteroperabilityandreusability,webservicehasbecomethecoresupporttechnologyofServiceOrientedArchitecture.Inordertodealwitllchangeablebusiness.howtoutilizenumerouswebservicestobuildloosely—coupledapplicationshasbecomearesearchhotspot.CurrentresearchesonwebservicecompositionproblemCanbedividedintotwodirections:processdrivenwebservicecompositionandsemanticdrivenwebservicecomposition.Basedonworkflowtechniques,processdrivenwebservicecompositionmethodhastheadvantageofconvenientimplementationbutlackofflexibilityanddynamiccharacteristic.Semanticdrivenwebservicecompositionfocusesonwebservice’Sself-descriptioncharacteristic,byaddingsemanticstowebservicesautomaticallygeneratesthecompositeservicethroughAIplanningetctechniques.Comparingwithprocessdrivenmethods,thesemanticdrivenmethodsimprovetheflexibilitybutcannotguaranteetheavailability.Aimingattheenterpriseapplicationintegrationofmedicalservicedomain,thisthesismainlyresearchesthearchitectureofsemanticwebservicecomposition,servicematchmakingandselectionmechanism,automaticservicecompositionproblemsetc.,detailedasfollows:(1)Basedonthecharacteristicanalysisofenterpriseserviceintegrationdomain,aimingathowtosolvethedynamicadaptabilityproblemwhenthetraditionalprocessdrivenservicecompositionmethodfacestheflexibleandmutablebusinessprocessincomplexnetworkenvironment,thisthesisproposesanewsemi-automaticservicecompositionmethodwhichdescribesthedynamicsub-processwithabstractservice,andreplacesitduringtheruntimeusingsemanticservicecompositionmethod.(2)Aimingattheproblemofservicediscoveryandselectionattheserviceruntime,thisthesisdiscussestwokindsoflogic—basedsemanticwebservicematchmakingschemeandproposesahybridmatchmakingalgorithmmeetstheabstractservice’Sfunctionalrequirement.AndaQoS—basedserviceselectionalgorithmisproposedtomeettheabstractservice's111 浙江工业大学硕士学位论文non—functionalrequirement.(3)Whenthereisnosinglewebservicecallmeettherequirementofabstractserviceduringtheruntime,thisthesisproposesasemantic—backwardtreebasedwebservicecompositionalgorithm.Firstly,thealgorithmusesasemanticbindingmatrixtosavethesemanticrelationsbetweenwebservices,thengeneratesthesemantic—backwardtreesaccordingtotheabstractservice,andfinallyselectsandcomposeswebservicebasedontheservice’SQoSprofile.(4)Basedonthemethodsandtechniquesmentionedabove,thisthesisdesignsandimplementstheframeworkofasemi—automaticwebservicecomposition.Andacompletemedicaltreatmentprocessisshowninthisframeworkwhichtestsandverifiestherobustnessandflexibilityofthecomposedsystemaswell.KeyWords:semanticwebservice,processdriven,servicediscovery,servicecomposition,QoS,medicalserviceintegration 浙江工业大学硕士学位论文目录摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..i第1章绪论⋯.1.1研究背景⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.11.2研究意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.21.3国内外研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.21-3.1Web服务发现的研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.21.3.2Web服务组合的研究现状⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯41.4本文的研究目标和内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.61.4.1研究目标⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯61.4.2研究内容⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.71.5论文组织结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.8第2章web服务组合相关技术⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯92.1Web服务⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯.⋯..92.1。1Web服务定义和基本特征⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.92.1.2Web服务的体系结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯92.1.3Web服务技术架构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..112.2语义Web服务⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯~112.2.1OWL-S⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯1:12.2.2WSMOPⅣSML⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.132.2.3SWSo/SWSL⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.142.2.4SAⅣSDL⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯142.3Web服务组合概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯152.3.1Web服务组合的定义与特点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯152.3.2Web服务组合研究框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一162.3.3Web服务组合相关项目⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..172.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯19第3章业务流程驱动的半自动语义web服务组合方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.203.1半自动w曲服务组合方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203.2形式化定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯223.2.1Web服务类型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.+223.2.2组合流程的定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯233.3业务流程驱动的半自动语义Web服务组合框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.253.3.1半自动组合总体框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯253.3.2执行引擎机制详细分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯273.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯29第4章语义、№b服务的发现和选取⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.304.1语义Web服务的发现与匹配⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..30 浙江工业大学硕士学位论文4.1.i概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一4.1.2本体概念相似度计算⋯⋯⋯⋯⋯⋯⋯.4.1.3语义Web服务的匹配算法⋯⋯⋯⋯⋯4.2基于QoS的W曲服务选取⋯⋯⋯⋯一30324.2.1概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4.2.2QoS模型和管理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.^⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯364.2.3单个Web服务的QoS选取⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯384.2-4组合Web服务的Qos选取⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯394.3本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4l第5章基于语义回溯树的抽象web服务自动合成⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..425.1语义绑定矩阵⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯425.1.i语义数据绑定⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一425.1.2语义绑定矩阵⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.435.2语义回溯树⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4J45.3基于语义回溯树的服务自动组合算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯465.3.1语义绑定矩阵的生成与维护⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯465.3.2语义回溯树的自动生成⋯,,.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一485.3.3合成QoS最佳的组合服务⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一505.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯52第6章医疗领域的服务集成案例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.536.1半自动语义Web服务组合框架的设计与实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一536.1.1开发工具和环境⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.536.2.2系统设计与实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯546.2医疗领域的服务集成实例⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯586.2.1医疗流程描述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..586.2.2流程实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..596.2,3流程的动态性和容错性⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯636-3本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯65第7章总结与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯667.I总结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯667.2展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯66参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.68舅C谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。72攻读学位期间参加的科研项目和成果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯73 浙江工业大学硕士学位论文1.1研究背景第1章绪论随着企业信息技术的不断发展与医疗信息化的不断深入,医疗领域所使用的软件系统越来越多,如HIS(HospitalInformationSystem,医院信息系统)、PACS(PictureArchivingandCommunicationsSystem,图像存档与通信系统)、CIS(ClinicaIInformationSystem,临床信息系统)和RIS(RadiationInformationSystem,放射科信息系统)等。由于这些系统通常由不同的IT厂商开发,基于不同的软硬件平台,从底层技术到数据模型,以及业务流程和数据字典都存在着广泛的异构性,导致信息孤岛现象越来越严重【l】。如何充分集成这些软件系统,实现对业务调整和需求变更的迅速响应,成为了工业界和学术界研究的热点。面向服务的架构(Service—OrientedArchitecture,SOA)给传统的软件开发带来革命性的变化。复用已有的服务,在已有服务的基础上形成分布式、松散耦合的软件系统是SOA的核心理念。而在企业级应用开发领域,传统的一次开发、持续使用的方式已经过时,应用SOA架构解决不断变化的业务需求己成为新的软件开发方式。SOA的核心思想是以服务为基本单位,通过服务重用和快速组合构建随需应变的松散耦合分布式应用系统。而Web服务技术的不断成熟和发展为实施SOA提供了最佳支撑技术。Web服务是SOA中所强调的服务概念的一种具体表现形式和功能载体,它是一种基于Web环境的具有自适应、自描述、模块化并且良好互操作能力的应用程序。Web服务的最大优点在于互操作性和重用性,其互操作能力使得Web服务成为一种用于异构系统无缝集成的粘合剂,而重用性使得w曲服务成为软件服务化的最佳载体【21。单个w曲服务功能通常比较简单,无法满足复杂业务流程的需求,因此需要将Web服务组合起来以提供更为强大的功能。Web服务组合技术的研究受到了工业界和学术界的广泛重视,各个研究者从自身领域出发,得到了许多研究成果。目前,Web服务组合方法的研究有两个分支‘3】:流程驱动的Web服务组合和语义驱动的w曲服务组合。流程驱动的Web组合以工作流技术为基础,使用较为成熟的流程建模工具和语言对业务流程进行建模。流程驱动的Web服务因其稳1 浙江工业大学硕士学位论文定、可靠的优点而广受工业界欢迎,但其大多基于固定流程,即便采取了动态服务绑定等方式,在面对业务流程发生变化时仍需重新定义流程。对于企业应用而言,其核心业务流程很少发生变化,经常变更的只是局部子流程,但局部流程的变更导致整个流程的重新定义与部署是对资源的极大浪费。语义驱动的服务组合强调Web服务自描述的特性,通过为Web服务添加语义信息,使组合方案通过AI规划等方式自动生成,组合过程无需人工参与,灵活性大大提高,但存在着组合服务可用性不足的缺点。为创建具有较好适应性的服务组合业务流程,同时满足企业级应用可靠性需求,本论文以浙江省重点创新团队项目为背景,提出一种业务流程驱动的半自动化语义web服务组合框架。在业务流程驱动的服务组合基础上引入局部的自动服务组合,即用基于语义描述的抽象服务定义局部的动态子流程。在组合流程执行阶段,通过基于语义回溯树的服务自动组合方法生成组合服务替换抽象服务。并提出一种可配置的组合流程QoS计算方法,以解决当存在多个组合服务满足需求时的服务选取问题。该框架保证流程整体正确可靠,在满足商业需求的基础上大大提高其动态能力,具有一定的实用价值。SOA已经在医疗、电信、电子政务、交通、金融等领域得到了广泛的重视与应用。在医疗卫生领域,医疗信息化经过了近20年的发展,取得了巨大的进步,大部分医院都建立了医疗信息系统;但是由于医疗信息和医院业务的复杂性,医疗领域的SOA实施与其他行业相比较为落后。随着医疗改革的不断深入,区域协同医疗甚至跨区域协同医疗的需求愈发强烈,对集成的需求也与日俱增。本文的研究意义在于:第一,面向企业服务集成领域,来研究业务流程驱动的语义Web服务发现和组合方法,并针对医疗领域给出应用案例,具有一定的理论意义和实用价值。第二,采用基于语义的方式实现服务的集成需求,可以提高和改善已有系统的灵活性和动态性,缩短软件研发周期,提高软件的可维护性。1.3.1Web服务发现的研究现状Web服务发现是Web服务组合的基础和前提。目前,Web服务发现主要有三个研究内容:服务发现模式的研究、服务发现方法的研究以及服务发现性能的研究。(1)Web服务发现模式研究2 浙江工业大学硕士学位论文Web服务发现模式主要分成集中式和非集中式两种。集中式的发现模式主要以UDDI为典型代表,服务信息被集中存储在服务注册中心中。该模式实现简单,但存在着服务器负载大、稳定性低的缺点。非集中式主要以P2P模式为主。与UDDI集中式的管理不同,在该模式下,Web服务作为一个节点置于一个对等网络中。在Web服务发现阶段,服务请求者向其相邻的节点发送请求以进行W曲服务的查询。文献[4】提出一种双层的P2P架构,将基于Intemet的虚拟计算环境的概念集成到P2P模型中,并基于该模型提出一种两阶段三步骤的服务发现算法;文献【5】提出一种基于P2P网络的语义Web服务发现系统SNet,该系统利用S虹pGraph来构造一个P2Povedaynetwork来完成语义Web服务的发现。(2)Web服务发现方法的研究Web服务发现方法主要有基于语法和基于语义的两种。传统的基于语法的发现主要是通过关键词的匹配方式,发现效果差。文献[6】[7]提出基于向量空间模型的检索方法,采用词向量来表示Web服务描述文档,并计算广告服务向量与查询向量之问的相似度来实现服务的匹配,但这类方法和文本检索没有本质的区别。基于语义的服务发现方法分成基于逻辑推理的发现方法、基于非逻辑推理的发现方法以及混合式的发现方法。基于逻辑推理的发现方法主要是根据Web服务语义标注的逻辑关系来决定语义Web服务之间的语义关系。文献[8]最早提出语义Web服务发现中逻辑匹配的定义,成为众多语义Web服务发现方法的研究基础,一些研究人员在该文基础上,提出了一些新的匹配等级,如文献[9】提出了交叉满足度(IntersectionSatisfiable)。针对Web服务中模糊、不精确的概念问题,文献[10]利用模糊描述逻辑(FuzzyDL)来对这类概念进行描述,然后进行近似的推理。非逻辑的匹配方法主要采用文本相似度、结构化的XML/RDF查询、path—length—based的等相似度计算方法,如文献[11]提出一种基于语义概念距离的服务匹配方法。不同的匹配模式具有其自身的优势和不足,为了整合多种匹配模式的优势,一些研究者采用了混合匹配的模式。文献【12】[14】提出基于逻辑推理+文本相似度的混合匹配策略;文献【15]提出一种基于SAWSDL的可定制的匹配方法,用户可以根据不同的场景需求,选择不同的匹配策略。(3)Web服务发现性能的研究在改善服务发现性能方面,主要是通过服务分类等预处理的方式过滤掉不符合用户需求的服务,然后在一个更小范围的服务子集上查询以提高发现效率。文献[16]考虑到本体的扩展性,当本体变得越来越复杂时,基于描述逻辑的推理是一个沉重的任务,因此通过两次SPARQL查询来过滤不满足用户功能、非功能性需求的服务,减少了搜索空间。文献【17]提出一种基于语义服务聚类(SemanticWebServicesClustering,swsc)的发现方法,提高 浙江工业大学硕士学位论文了发现性能。文献[18】提出一个基于服务聚类的概念位置向量模_型(ConceptPositionVectorModel)来避免不相干的搜索。1-3.2W如服务组合的研究现状Web服务组合领域产生了很多研究成果,已有学者对其进行了综述【3】【19】【20][2l】。目前Web服务组合方法的研究主要有两个方向【3]:业务流程驱动的Web服务组合和语义驱动的Web服务组合。前者从业务流程建模的角度出发,首先建立抽象的、不可执行的组合流程,然后通过服务的发现和选取找到符合抽象服务节点需求的具体web服务并绑定;语义驱动的Web服务组合从语义网的角度出发,强调Web服务的自描述和语义,通过语义Web服务匹配机制寻找服务接口之间的“语义连接性”,通过AI规划等方式自动生成组合方案。前者是“自顶向下”的组合方式,后者是“自底向上”的组合方式。(1)业务流程驱动的服务组合业务流程驱动的服务组合主要以工作流技术为基础。工作流是在计算机的辅助下,根据一组程序化的规则,将文件、信息和任务从一个参与者传递到另一个参与者,从而使业务流程部分或者全部地自动化【221。工作流技术经过多年的发展,从理论到应用都非常成熟,己被广泛地应用到业务流程管理(BusmessProcessManagement,BPM)、企业应用集成(EnterpriseApplicationIntegration,EAI)等领域。因此,业务流程驱动的服务组合方法被工业界广泛接受,也易于部署到现有的业务系统中。业务流程驱动的服务组合从具体的业务场景出发,用成熟的建模语言和工具对业务流程进行建模,通过为流程中的每一个节点选取并绑定Web服务来实现组合服务。现有的成熟的商业过程建模语言主要有BPEL[231、XLANGl241、WSFL[251、BPMLl26】和WSCLl271。BPEL(BusinessProcessExecutionLanguageforWebServices,商业过程执行语言),是2002年由IBM的WSFL(WebServiceFlowLanguage)和微软的XLANG两种语言合并而成,又称BPEL4WS。BPEL兼具WSFL和XLANG两者的优点,比其他过程建模语言更具表达性。BPEL通过服务调用、操作数据、抛出故障等将不同的活动连接起来,从而创造出复杂流程。以BPEL为代表的传统的业务流程驱动的服务组合间的交互与执行完全受控于业务流程,运行时无法动态修改流程,导致灵活性和动态性不足,因此许多学者提出了改进方法。惠普实验型28]㈣提出了一种基于模板的服务组合,将流程中的某些节点定义服务模板,在流程执行前利用服务发现技术将模板替换成具体的Web服务。文献[30]提出一种柔性工作流的服务组合方法,将不确定子流程用“黑盒”表示,在流程执行阶段用基于规则的组合4 浙江工业大学硕士学位论文方法替换“黑盒”执行,该方法具有良好的灵活性,但未考虑规则可能存在冲突的问题。针对工作流建模灵活性不足、易于出错的问题,文献[311提出一种工作流服务组合框架,引入人工智能规划方法生成组合流程,然后将服务选择问题表示成约束满足问题(ConstraintSatisfactionProblem,csp)解决。文献[32】提出一种结合AI规划和工作流的动态服务组合方法,有效克服了采用单种方法所造成的不足。可见将Web服务语义化,引入AI规划等方法以解决灵活性不足的问题是业务流程驱动的服务组合研究的趋势。(2)语义驱动的w曲服务组合语义驱动的web服务组合强调Web服务自描述的特性,用OWL.S等本体论形式化的语言对Web服务进行标注,将Web服务当作是人工智能中的动作,然后通过AI规划等方式来获取组合方案。这一类的服务组合方法包括:情景演算、层次任务网、规则等。斯坦福大学的Mcllraith等人[331【341对情景演算语言Golog进行了扩展,通过提供可复用的高层次过程以及自定义约束来实现服务的自动组合。在该类方法中,Web服务被视为情景演算的原子动作或复杂动作,将用户的输入视为初始情景,用户的需求视为目标情景,然后通过Golog语言获取将初始情景转化为目标情景的演绎过程。马里兰大学的E.Sirin等人【35]提出了基于层次任务网(HierarchicalTaskNetwork,HVN)的规划器SHOP2来实现服务的自动组合。在HTN规划中,任务分解的概念和服务组合流程的分解相似,该方法将用户的任务不断分解成子任务,直到被子任务能被单个Web服务所完成为止。在每一次的任务分解中,SHOP2都会检查当前的分解是否满足约束条件,若满足则规划问题成功得解。文献[36]认为OWL-S与智能规划标准语言PDDL(PlanningDomainDefinitionLanguage)具备相似性,提出一种组合方法将OWL—S转化成PDDL,然后通过PDDL规划器求解即可实现服务的自动组合。斯坦福大学SWIG研究小组提出一种基于规则的服务组合规划工具SWORD[371。在SWORD中,每个Web服务被表示成从服务的前提条件到执行效果的一条规则,然后使用Jess规则引擎确认该服务组合是否可以由已有的服务规则实现,若是则产生该服务组合的规划方案。Narayanan[381将服务组合问题描述为Petri网的可达性分析问题,用库所(Place)表示状态,用变迁(Transition)表示W曲服务,服务的请求被描述成Petri网的一个库所,然后服务组合问题即被转化为该库所的可达性问题。由于描述逻辑(DescriptionLogic)在语义Web中具有基础地位,文献[391用DL的概念包含公式来描述将Web服务的功能,将服务组合问题表示为DL的满足性验证问题,从而用5 浙江工业大学硕士学位论文标准的DL推理技术Tableaux算法即可实现服务组合。图1-1问题状态空间中的搜索由于人工智能中AI规划问题可以表示为问题状态空间中从起始状态到目标状态的图搜索问题【40】,如图1.1所示,因此图搜索技术也可用于解决Web服务组合问题。例如文献[5】根据服务的输入输出构造服务依赖关系图,提出一种图搜索算法进行服务合成,但该方法搜索复杂度较高,且获得的组合方案不能保证全局最优。文献[13】提出一种基于完备回溯树的服务自动组合方法,属于图搜索范畴,通过建立完备回溯树的方式以获取有效生存路径,最后将路径合成为组合服务,但该方法缺乏对Web服务的语义描述,导致服务组合成功率降低。与业务流程驱动的服务组合方法相比较,语义驱动的方法是完全自动的、自底向上的组合方式,其优点是可以根据用户需求即时地构造服务,灵活性和动态性都比较好。但是,语义驱动的服务组合有着可用性不足的缺点,即其提供的组合方案不一定满足具体业务的需求。1.4本文的研究目标和内容1.4.1研究目标针对医疗领域服务集成的特点,在分析国内外w曲服务发现和组合方法相关研究的基础上,开展利用Web服务组合技术实现医疗领域服务集成的研究,在保证集成系统的可用性的同时满足一定的扩展性、动态性需求。在实现该服务集成的过程中,考虑业务流程驱动的服务组合方法的不足,研究利用运行时的动态服务发现和自动组合技术来达到系统的可扩展性和动态性目标,并使其具有面对复杂网络环境时的容错机制。 浙江工业大学硕士学位论文1.4.2研究内容本文从医疗服务集成领域出发,围绕着服务组合建模和执行阶段关于语义Web服务的发现、基于QoS的Web服务选取以及抽象服务的自动合成等内容进行研究。主要内容包括以下四个方面:(1)业务流程驱动的半自动语义Web服务组合方法在以医疗领域为代表的企业级服务集成领域中,全局主干流程很少发生变化,而局部子流程经常发生变化。针对传统业务流程驱动的Web服务组合方法不适应企业业务流程变化需求以及复杂多变的网络环境的情况,本文设计了一种业务流程驱动的语义Web服务组合方法。该方法基于分治策略,将全局流程用业务流程驱动的方式建模,局部动态子流程则采用抽象服务描述,并在服务执行阶段首先采用基于语义的服务发现算法进行服务发现;当不存在单个服务能满足抽象服务需求时,则采用基于语义的Web服务自动组合算法合成组合服务;当由于网络环境的变化导致Web服务执行错误时,则通过服务的发现和组合来替换原有的Web服务,使得组合流程具有一定的容错能力。(2)语义web服务的发现和选取方法提出语义的Web服务发现和选取方法,以满足抽象服务的功能性和非功能性需求。本文首先分析了基于逻辑推理的两种语义Web服务匹配模式,提出一种混合式的语义Web服务匹配模式以综合两种匹配模式的优点,并提出了基于该匹配模式的语义Web服务匹配算法。针对基于QoS的服务选取问题,本文提出一种可扩展的QoS管理模型,将QoS分成领域相关和领域无关两类,使得组合框架可以针对领域QoS进行扩展,并基于该模型提出单个QoS服务的选取算法和组合流程QoS的计算方法。(3)语义w曲服务的自动组合方法提出一种基于语义回溯树服务组合算法来进行抽象服务的自动合成。本文首先对语义回溯树相关概念进行了形式化定义,然后详细介绍了基于语义回溯树的组合算法SBT-ASC。SBT-ASC算法分成三个步骤:首先采用语义绑定矩阵存储语义Web服务参数之间的语义关联;然后搜索语义绑定矩阵,对抽象服务的每一个输出都生成语义回溯树;最后考虑执行期的时间限制,采用贪心策略选取最佳的生成路径合成组合服务。(4)业务流程驱动的半自动语义web服务组合框架的设计与实现在以上关键技术的研究基础上,设计并实现业务流程驱动的半自动语义Web服务组合框架的主要模块,包括流程设计器、服务执行引擎、服务发现模块、服务组合模块等。针对医疗服务集成的问题,采用该半自动服务组合框架实现患者就医的完整流程,并模拟业务流程和网络环境发生变化的场景,模拟结果表明组合流程系统较好地适应了7 浙江工业大学硕士学位论文上述两种变化,具备一定的健壮性和容错能力。本文一共分成七章,具体安排如下:第一章:绪论。主要介绍论文的研究背景和研究意义、国内外关于Web服务组合领域的相关研究现状、论文的研究目标和研究内容,以及论文的结构安排。第二章:Web服务组合相关技术介绍。针对Web服务组合所涉及到的相关技术进行了详细说明,包括Web服务技术、语义Web服务技术、Web服务组合的研究框架,并对现有的Web服务组合系统进行了对比与分析。第三章:业务流程驱动的半自动服务组合方法。针对传统业务流程驱动的组合方法在企业服务集成领域中灵活性和动态性不足的问题,本文提出一种半自动的语义Web服务组合方法。首先介绍了该组合方法的动机和基本思想,然后对Web服务和组合流程的相关概念进行了形式化描述,最后提出半自动的语义Web服务方法和抽象框架,并详细描述了服务执行引擎的执行过程和容错机制。第四章:语义Web的服务发现和选取机制。对于服务发现机制,首先分析Web服务发现中的两种匹配机制以及其优缺点,然后提出一种混合式的匹配度计算方法以及采用了该匹配度计算方法的服务匹配算法。在服务选取方面,首先介绍了QoS概念以及相关研究现状,然后给出基于QoS的W曲服务选取算法。第五章:基于语义回溯树的抽象Web服务自动合成方法。这一章首先对语义回溯树的相关概念和性质进行了介绍,然后给出了基于语义回溯树的抽象Web服务组合算法SBT-ASC的完整步骤。第六章:医疗领域的服务集成案例。这一章首先对医疗领域的服务集成现状进行了分析,然后给出了半自动服务组合框架主要模块的实现方案,最后将其应用于医疗服务集成的案例中。第七章:总结与展望。归纳和总结了本文的主要研究工作,并对进一步的研究重点和研究方向做了展望。 浙江工业大学硕士学位论文2.1Web服务第2章Web服务组合相关技术2.1.1Web服务定义和基本特征按照SOA的倡导者M.P.Papazoglou教授的定义【42】:“w曲服务是一种平台独立的、松耦合的、自包含的、基于可编程的Web的应用程序,可使用开放的XML标准描述、发布、发现、协调和配置。”具体地说,Web服务是一种模块化的软件应用程序,通过网络发布到注册中心,如UDDI(UniversalDescription,Discovery,andIntegration)t43】;其他的应用程序可以通过注册中心获得这些Web服务的调用规范,通常采用WSDL(WebServiceDescription)‘删描述;然后使用SOAP(SimpleObjectAccessProtoc01)t4sl协议访问和调用这些Web服务。Web服务具有以下几个特征:(1)可编程式访问:与普通网站不同,Web服务并不主要面向人的,而是面向其他应用程序。当然,Web服务也可被人机交互应用程序所集成。(2)接口与实现分离:服务接IS]定义了外部世界可以看到的功能,而对于服务的访问者来说,服务的具体实现是隐藏的。因此服务的实现既可以直接提供其接口定义的功能,也可以通过组合其他服务来提供。(3)开放性:w曲服务使用开放的、平台无关的协议进行描述、发布和传输,其所有协议完全免费,可以被实现在不同软硬件平台上。2.1.2Web服务的体系结构虽然Web服务与SOA经常被放在一起讨论,但是两者并不完全等同。SOA作为一种设计理念和方法学,独立于任何具体的技术。Web服务是SOA中所强调的服务概念的一种具体表现形式,是SOA服务化的最佳功能载体。Web服务的体系结构可以大致地看成三个独立的角色以及他们之间的关系,图2-1给出了Web服务体系结构的逻辑视图。 浙江工业大学硕士学位论文查找服务及其绑定信息(UDDI和WSDL)web服务请求者服务注册中心(UDDI)注册、发布服务(UDDI和WSDL)绑定并调用服务(SOAP)图2.1Web服务的角色和操作Web服务提供者1.三种角色(1)服务提供者(ServiceProvider):服务的所有者(企业或者个人)。Web服务提供者是拥有Web服务的组织,负责发布Web服务,并按照服务发现所规定的格式将服务信息注册到服务注册中心。(2)服务请求者(ServiceRequester):需要满足一定功能的企业或个人,或查找并调用服务的外部应用程序。W曲服务的请求者可分成两类,可以是面向最终用户的浏览器,也可以是另一个Web服务。(3)服务注册中一I',,(ServiceRegistry):服务注册中心是一个可供搜索的Web服务目录。服务提供者在该目录中发布他们的服务描述,服务请求者在该目录中查找并获得服务的绑定信息。2.三种操作(1)发布(Publish):服务提供者将web服务描述信息发布到服务注册中心以供服务请求者查找与绑定。发布操作实际有两个步骤,一是对Web服务本身的描述,二是将Web服务注册到服务注册中心。(2)查找(Find):根据服务注册中心提供的查询接口,服务请求者发出查询请求并获取服务的接口描述、绑定等相关信息。Web服务的查找同样有两个操作组成,一是查询满足服务请求者需求的Web服务,注册中心会返回一个Web服务结果集;二是根据服务请求者的偏好、QoS等需求,选择服务结果集中的一个W曲服务进行绑定。(3)绑定(Bind):服务请求者通过从服务注册中心中得到的绑定信息,调用服务提10 浙江工业大学硕士学位论文供者所提供的Web服务。2.1.3Web服务技术架构Web服务的实现包含了一系列的协议和规范,其目的就是保证在任何平台上,使用任何技术和编程语言都可以实现和访问Web服务。图2.2给出了Web服务技术架构的协议栈,自下而上分别为:传输层、消息层、描述层、发现层、服务质量层、业务流程层。其中最核心的协议是SOAP、WSDL和UDDI。[二二二亟堕至亟亟垂亚二二]园[二二二耍画堕亟巫垂二二二[垂]图2-2Web服务技术架构‘2羽Web服务技术具有良好的可伸缩性:若只需实现异构系统的简单互通,那么使用SOAP和WSDL协议即可:若需要应对安全、事务、可靠消息传输等较高需求时,又可以利用相应的WS.母标准将SOAP和WSDL进行扩展,开发者只需关注自身领域的业务逻辑,通过简单的配置和少量的编码即可实现安全可靠的分布式系统;在面对复杂的企业业务环境时,又可以通过编排和编配技术来实现更大程度的松散耦合特性。2.2语义Web服务由于标准的Web服务协议是基于语法层次上的描述,因此Web服务的功能无法被机器所理解,因此使得Web服务的发现、匹配和组合等活动的自动化变得异常困难。针对雾 浙江工业大学硕士学位论文标准Web服务的局限性,语义Web服务结合语义技术和Web服务技术,将Web服务用语义本体建模,从语义层面上描述Web服务的接口、消息、结构等描述信息,使得Web服务的自动发现、自动组装和调用成为可能。如表所示,目前在语义Web服务研究领域,具有较大影响力的工作有:OWL—St461、WSMO/WSML[471、SWS0/SWSL[481和SAWSDL(WSDL—s)/491。表2-1语义Web服务相关研究概述名称项目介绍形式化基础oM。一SWSM0/WSⅣ口LSAWSDL由美国卡内基梅隆大学、斯坦福大学、麻省理工学院等大学及NOKIA联合提出,使用OWL作为本描述逻辑体描述语言定义顶层本体。由欧靶j!::竺查学和口冀翼!三三!曼曼皆,使用一阶一阶谓词逻辑逻辑表示Web服务的概念模型。⋯⋯⋯⋯由罴翼气扩充W蚤装嚣念进行语不确定eb义标注,为服务提供语义信息。⋯⋯由美、欧多家机构提出,旨在将OWL—S、针对有sWs∞wsL装竺翠装举嘴嚣警露霎巍黑裟薯一阶谓词逻辑基础的模型。2.2。1OWI,SOWL-S(WebOntologyLanguageforService),前身是DAML-S,是本体语言OWL(WebOntologyLanguage)和web服务技术相结合的产物,是几个提案中提出较早、学术界影响力最大的一个,与现有的语义Web服务标准也结合的较好。OWL—S顶层本体可分成三部分:ServiceProfile,ServiceModel和ServiceGrounding。 浙江工业大学硕士学位论文图2-2OWL—S项层本体‘461ServiceProfile简要地描述了服务的基本信息,如服务的功能、QoS指标、服务提供者的信息等,主要用于服务的查找与匹配。ServiceModel描述了服务内部的执行逻辑。一个ServiceModel与一个Process(流程)相对应。OWL.S提供了三种不同的Process,AtomicProcess(原子流程)、CompositeProcess(组合流程)、SimpleProcess(抽象流程)。AtomicProcess描述的是没有子流程,可被一步直接调用执行的原子操作;CompositeProcess由多个其他的Process组合而成,通过了Sequence、Split-Join等流程控制结构(ControlConstruct节点)用于描述子流程的执行顺序(控制流),以及用Binding节点用于描述子流程间的数据交换(数据流);SimpleProcess提供一种抽象机制,无法被直接访问,必须通过服务的查找和绑定等具体化操作才能被调用执行。ServiceGrounding描述了服务如何被访问,即服务所使用的协议、消息格式和寻址方式等信息。ServiceGrounding提供了语义和语法间的映射关系,将OWL.S落入到可执行的WSDL协议上来。Z.2.ZWSMO/WSMLWSMO(WebServicesModelingOntology)是欧洲语义系统计划的重要组成部分,在WSMF(WebServiceModelingFramework)的工作基础上提出来的一个Web服务描述本体,WSML是描述WSMO的本体语言。WSML/WSMO从Ontology、WebService、Goal和MediatorService四方面描述Web服务的语义信息:Ontology提供了用于描述实体的领域本体,包括概念、关系、函数、公理等:WebService是描述语义Web服务的本体,主要包含功能、非功能属性和行为模型;Goal用来描述用户需求,包含用户所需目标服务在功1冀 浙江工业大学硕士学位论文能、非功能、行为等方面的信息;MediatorService用来解决不同实体连接时在数据、协议和模型的不兼容问题2.2.3SWSU/SWSLSWSO/SWSL是SemanticW曲ServiceOntology和SemanticWebServiceOntology的简称,是以项目WSMO/WSML和OWL—S为研究基础,旨在将OWL.S、状态机模型、和一部分WSMO结合在一个框架中。下面分别对SWSO和SWSL进行详细介绍:SWSL语言由SWSL.Rules和SWSL—FOL两个子语言组成,前面一个子语言是一个以规则为基础的语言,它既可以用作描述语言同时也可以用于实现的开发语言,后面一个子语言是以一阶谓词逻辑为基础,并且为与其他基于一阶谓词逻辑的流程模型和服务本体之问进行的互操作提供了支持语义支持。SWSL—Rules和SWSL—FOL这两个语言都是层次化语言,与OWL不同的是它们并不以计算复杂度和语言的表达能力来进行分层。SWSO则提供了一整套用于描述语义Web服务的概念模型,它有两种形式的概念模型:FLOWS(Web服务的一阶逻辑本体,First-OrderLogicOntologyforWebService)和ROWS(Web服务规则本体,RulesOntologyforWebService)。前者为语义Web服务的一阶逻辑本体,后者为服务规则本体。SWSO的问题在于其服务功能性描述所采用的FOL是基于标准PSL的,而该标准不如规划系统、情景演算、规则系统那样受到广泛支持;SWSO整个标准过于复杂,完善性和一致性尚待加强。目前尚未出现基于SWSO的组合系统。2.2.4SAWSDLSAWSDL(SemanticAnnotationsforWSDLandXMLSchema)由IBM和Georgia大学最初以WSDL—S之名联合提出。该语言将标准的WSDL的服务模型进行扩展,通过对WSDL中的operation、interface、fault、XML类型或消息增加语义本体信息,从而实现服务的语义标注。不同于OWL—S、WSMO/WSML和SWSO/SWSL,SAWSDL是独立于任何本体语言,允许Web服务开发人员选择自己的本体语言,这就实现了语法层与语义层的解耦,提高了灵活性。此外,SAWSDL是基于标准协议WSDL的基础上扩展得到,因此与已有的工具平台有更好的兼容性,容易在现有WSDL的应用和系统中得到推广。 浙江工业大学硕士学位论文2.3.1Web服务组合的定义与特点随着SOA概念的兴起和云计算的蓬勃发展,软件即服务(SoftwareasaService,SaaS)的概念被越来越多的企业所接受。开放平台与开放API技术的发展,使得越来越多的企业和商业机构将其业务功能和组件通过标准的Web服务形式暴露出来,以寻求跨组织的协同作业,满足其业务增值的目标。随着Intemet环境下的Web服务数量越来越多,如何将这些服务集成起来,以满足特定的业务需求和商业目标,成为工业界和学术界研究的重点。虽然Web服务组合这一一术语被各种文献反复提及,但目前尚不存在一个公认的定义,这是由于研究人员观察的角度和侧重点不同。几个重要文献中给出的Web服务组合定义如下:文献[5Q]从业务流程的角度,认为Web服务组合是根据一定的业务规则将服务进行组合,使其相互协作从而完成既定的业务目标的过程:文献[51】从企业应用集成的角度,认为Web服务组合是将来自于不同企业和机构的异构系统进行集成,消除信息孤岛,实现信息和功能的共享的目标。文献[35]从任务规划的角度,认为Web服务组合是将大型的任务分解成子任务,然后通过服务发现寻找能满足子任务的Web服务的过程。文献[19】从满足用户需求的角度,认为Web服务组合是当单个Web服务无法满足特定的用户需求时,将若干Web服务进行合成,以形成具有内部流程逻辑的大粒度的组合服务的过程。综合考虑以上定义,本文从服务集成领域出发,认为:Web服务组合是基于面向服务的体系结构,将已经存在的Web服务按照其功能进行重新聚合和组装,生成满足特定业务功能要求的服务的过程。Web服务组合具有以下特点:(1)层次性和扩展性Web服务组合是一个递归过程,即Web服务的组合通过复用和组合已有的Web服务来生成一个大粒度的Web服务,该组合服务亦可作为一个更大粒度组合服务中的一个成员Web服务。这种递归性质使得Web服务组合具有几乎无限的层次性和扩展能力。(2)描述业务功能的多种属性传统的应用集成技术通常从技术层描述业务构件模块(例如构件类型、功能、使用环境等)【521。使用服务概念封装软件构件,能够对不同层次的属性,如接口、行为、语义、事务、隐私等多角度进行刻画。(3)抽象流程与具体服务的解耦Internet环境高度的复杂性,导致一个w曲服务在一个时刻可用,在下一个时刻可能15 浙江工业大学硕士学位论文就变得不可用了。因此,服务组合强调抽象流程与实际的服务分离,具有明显的二阶段特征:在建模阶段领域专家只需关注业务需求的抽象行为,形成抽象的组合服务模型,然后在执行阶段通过一定的发现和匹配机制不断发现网络环境中的各种服务加以组合。(4)提高业务功能的重用性对于公司和商业组织而言,大多数新业务来自于对已有功能的复用和组装。传统的集成方式由于业务与具体实现紧密耦合,导致面对新的业务需求时需要重新进行大量的开发,功能的复用性差,成本很高。服务组合将已有组件以Web服务形式发布,能够实现快速低成本的业务集成。综上所述,Web服务组合技术通过重用已有服务,实现跨组织、跨领域问灵活高效的业务集成。基于服务组合技术,领域专家们只需关注在高层的业务流程建模,而不必考虑纷繁复杂的技术细节,能够大大提高业务系统的动态性和可扩展性。因此,Web服务组合技术是实现跨组织的开发和业务集成的重要技术,具有十分广泛的应用前景。2.3.2Web服务组合研究框架Web服务组合不是一个孤立的问题,根据组合生命周期的不同,包含了Web服务的发现、选择、组合、验证、执行和监控、事务和安全等等一系列的问题【2】'而Web服务描述则作为一系列研究的基础贯穿Web服务组合的整个生命周期。(1)Web服务发现随着Web应用的普及和移动互联网的不断发展,Web服务数量的不断增多,用户的需求和所处的环境也是千变万化,如何根据用户的需求和环境的变化,从海量的Web服务中快速、高效地发现服务成为一个难点问题,直接影响到服务组合的质量和用户的组合体验。(2)Web服务选择Web服务选择是指从W曲服务发现所返回的Web服务集合中选择最合适的服务。随着移动互联网的普及,w曲服务的选择问题研究不仅要考虑QoS属性,还应考虑发现和匹配用户的偏好、地理位置信息等,这给Web服务的选择带来的新的挑战。(3)Web服务组合Web服务组合方法直接影响了组合实施的效果。对于业务流程驱动的Web服务组合方法而言,其基于固定流程的特点,如何适应不断变化的业务流程需求成为该类方法的最大问题。对于语义驱动的Web服务组合方法,其可用性不足,如何正确地生成出满足需求的组合方案是该类方法的主要问题。16 浙江工业大学硕士学位论文似)Web服务验证Web服务验证指的是在组合服务执行前,验证其内部流程是否存在死锁、流程的可达性、语义一致性等内容。Web服务的验证研究通常通过Petri网、自动机理论、PI演算等形式化方式进行。(5)Web服务执行和监控Web服务组合通常是所处的是分布式的、动态的网络环境,这种高度的不稳定性需要一个可靠的服务执行引擎和实施监控机制来保证组合服务正确、高效地被执行。(6)Web服务事务和安全由于Web服务的组合跨越了不同组织边界,将原本处于企业内部的数据和应用暴露在Intemet环境下,因此需要一定的安全机制来保证企业信息安全不受威胁。另一方面,Web服务支持长时问异步交互的特性,以及执行环境的不可预知性有可能导致Web服务的响应超时等问题,引起组合服务的执行失败,此时需要一定的事务机制来提高系统的可靠性和容错性。2.3.3Web服务组合相关项目e—Flow[28】【291是由HP公司开发的一个比较成熟的基于工作流的Web服务组合系统。支持服务定制、组合服务设计、组合服务管理、组合服务执行监控等功能。eFlow系统将一个组合服务抽象成一个流程模式(ProcessSchema),流程模式中包含组件服务节点、决策节点和事务节点等元素。系统支持动态的服务绑定功能,具有服务发现功能,能够适应一定程度的动态网络环境。SELF.SERV[531是澳大利亚昆士兰大学和新南威尔士大学联合研发的一个支持快速开发和执行的Web服务组合平台。SELF.SERV以状态转换图的方式进行组合流程建模,其中每一个状态表示一次服务的调用。SELF—SERV区分三种类型的服务:原子服务、组合服务和服务社区,其中服务社区代表一类互相可替换的服务集合。SELF—SERV主要分成三个模块:服务发现引擎、服务编辑器、服务部署器。用户通过服务编辑器定义新的或者编辑已有的服务,在组合服务建模时,可以指定社区服务,因此服务发现引擎可以在运行时实现服务的动态选取和绑定,因此具有较好的灵活性。SELF—SERV采用对等的服务编排方式,组合流程中的每一个成员服务通过协调器、封装器和路由表实现P2P的执行。FLAME[54]是由中科院计算所和德国弗朗霍夫软件研究所合作研发的面向北京2008奥运会平台。该平台的目的在于整合奥运期问的各种服务,通过服务组合的方式满足不同17 浙江工业大学硕士学位论文用户的个性化服务需求。FLAME将Web服务组合的开发分成业务层设计和软件层设计两个部分,并在此基础上提出了一种服务组合模型CAFISE。在该模型中,为了准确描述业务逻辑,设计了一种服务组合语言V1NCA。V1NCA同时支持服务的静态绑定和运行时绑定,具有较好的灵活性。设计层的VINCA可以自动转换成软件层的BPEIAWS执行。SeGSeC[551(SemanticGraphbasedServiceComposition)是加利福尼亚大学欧文分校开发一个基于语义的动态Web服务组合系统。SeGSeC与组件服务语义模型(ComponentServiceModelwithSemantics,CoSMoS)和组件运行时环境(ComponentRuntimeEnvironment,SORE)共同完成Web服务组合。SeGSeC主要包含四个模块:RequestAnalyzer将用户输入转化为CosMoS语义图,支持以自然语言的方式描述需求;ServiceComposer根据语义图生成可执行的组件服务;Reasoner负责检查组件服务功能的匹配;ServicePerformer负责组件服务的调用。Hale]]561是乔治亚大学LSDIS实验室开发的语义Web服务组合系统。系统采用WSDL描述接口,WSLA描述QoS需求,主要包含七个部分:SA.WSDL用于解析WSDL;WSLAParser用于解析WSLA,获取非功能性需求;ProcessHierarchyModeler为人机界面,用于用户需求的获取;PlanningDomainGenerator根据需求生成一阶谓词逻辑定义的描述文件;eDR.GOLOGPlanner根据描述文件自动生成组合规划;BPELGenerator根据组合规划生成可执行的BPEL:KBbasedProcessMonitor负责组合执行的监控。ASTRO[571是ITC—IRST和Trento大学联合研发的基于分布式的、本体描述的Web服务组合系统。ASTRO主要包含以下几个子系统:WsRequirement提供类似工作流的图形符号机制用于获取用户需求;WsTranslator将WsRequirement获取的需求和服务信息以形式化的语言描述;WSYNTH根据形式化的描述构建组合模型,生成可执行的BPEL文件;WNON负责监控服务运行期的各种信息:NuSMV是一个基于有限状态机的形式化验证系统;WSConsole将WNON获取的监控信息可视化的展示。根据上一节Web服务组合系统研究框架的分析,表2.2将上述6个Web服务组合系统进行对比和分析。表2-2Web服务组合系统的对比模块eFlowSELF.SERVFLAMEHaleySeGSeCASTRO服务发现√×√×服务选择√×√服务组合工作流AI规划工作流服务验证√×√服务执行√执行监控√×√×√ 浙江工业大学硕士学位论文事务×安全×2.4本章小结本章就Web服务组合相关技术进行了详细介绍:包括:Web服务技术、语义Web服务技术、服务组合技术等。同时本章还介绍了国内外语义Web服务标记语言的研究项目如OWL.S、WSMO/WSML等,然后阐述了服务组合的相关概念、特点、以及研究框架,并针对该研究框架,对国内外服务组合相关研究项目如eFlow、SELF.SERV、SeGSeC进行了分析和比较。 浙江工业大学硕士学位论文第3章业务流程驱动的半自动语义Web服务组合方法在前文介绍的Web服务组合相关理论和技术的基础上,针对传统业务流程驱动的组合方法在企业服务集成领域中灵活性和动态性不足的问题,本文提出一种半自动的语义Web服务组合方法。本章首先介绍了该组合方法的基本思想,然后对Web服务和组合流程的相关概念进行了形式化描述,最后提出半自动的语义Web服务方法和抽象框架,并详细描述了执行引擎的执行过程和容错机制。3.1半自动Web服务组合方法在Web服务组合领域,灵活性和可用性是一对矛盾。在SOA中,业务流程驱动的服务组合方式一直备受工业界青睐,主要是因为其直接从业务需求的角度建模,可以非常准确地刻画企业用户的真实需求。但是随着云计算和移动互联网的兴起,Intemet环境日趋复杂,跨组织、跨领域、跨区域的集成需求越来越多。SOA已从传统的企业内部集成,转向面向全球的Intemet环境下的服务集成。相比于企业内网的稳定性,Internet环境则复杂多变。在这种趋势下,Web服务的组合如何能在保证企业用户的业务需求的基础上,适应复杂多变的网络环境,成为BPEL等业务驱动的服务组合方法的最大挑战。本文提出的业务逻辑驱动的语义Web服务组合方法是基于以下假设:在企业服务集成领域,全局的主干流程很少或基本不发生变化,而经常变化的是局部子流程。例如,在医疗集成领域,美国医疗卫生信息与管理系统协会和北美放射学会提出的IHE标准[59】将医疗流程分成三种类型:通用流程、灵活流程和异常流程。其中通用流程指的就是流程中结构化程度较高,即通常是流程实例覆盖率接近100%的部分,如看病时每一个病人都必须经过挂号、门诊、收费、取药等固定几个活动。而灵活流程指的是医疗流程中结构化程度较低的部分,其在整个流程中发生的位置不确定,发生时处理的方式也不相同。这种局部的灵活流程在单一的流程模型中很难表达,即使表达了也会使流程模型的逻辑变得复杂而难以理解【58】,如IHESWF模型中的PatientUpdate(病人信息更新)流程,并不是所有的流程实例都会进行病人信息的更新。异常流程描述了在医疗流程中普遍存在的异常情况,这些异常在医疗过程中不被期望,但却不可避免,如在检查过程中各种原因(如病人身体突发异常等)导致检查无法继续的情况,此时需要有异常处理的机制。 浙江工业大学硕士学位论文由于企业服务集成领域有这样的特性,基于分而治之的基本思想,我们可以将全局的主流程用基于业务流程的方式来建模,然后在局部动态的、需要灵活性的地方采用语义驱动的自动组合方式,这样能在保证整体流程满足企业业务需求的同时,一定程度上提高整个流程的动态性和灵活性。在异常处理方面,分成两种类型:可预知的异常作为流程中的一个分支,而不可预知异常则通过运行时的异常处理机制来解决。如图3.1所示,这种全局主流程采用业务流程驱动的方式建模、而在局部动态子流程采用自动的方式生成服务的组合方法称为半自动的Web服务组合。图3—1业务流程驱动的语义半自动Web服务组合不同于完全自动的服务组合方法,半自动服务组合方法将组合服务的生成分成两个阶段,首先是组合流程建模阶段,流程设计人员根据具体的行业需求,通过建模工具设计适合具体业务逻辑的组合流程,用抽象服务表示流程中动态的节点。二是自动组合阶段,根据抽象服务的功能、非功能性需求,自动地查找、组合和绑定服务。前者是手动的过程,后者是完全自动的过程。半自动的服务组合有许多研究成果,如惠普实验室的e-Flow系统‘28][291可以对流程中的活动建立抽象服务,然后通过服务发现和绑定技术替换抽象服务,但该组合方法需要事先将组合流程定义完全,不支持运行时的服务组合。文献[30】提出半自动组合方法在执行阶段生成组合流程以满足运行时环境的动态需求,但未考虑w曲服务的语义和QoS。本文认为,对于业务流程驱动的半自动服务组合来说,服务的语义和QoS会影响到匹配的21 浙江工业大学硕士学位论文准确度和用户的满意度,因此必须充分地考虑它们的作用。为了便于描述,本小节给出Web服务的三种类型的形式化定义,并给出了一种递归的组合流程描述模型。3.2.1Web服务类型本文中的服务组合方法总共涉及到三种类型的Web服务:原子Web服务、抽象Web服务和组合Web服务,下面分别予以描述。定义3—1原子Web服务:一个原子Web服务是不可分割的、可被直接调用执行的Web服务,可被描述成一个七元组E_<",r/,旯,I,O,co,Q>,其中:(1),z为服务名称,是服务的唯一标识;(2)印为服务功能性描述;(3)旯为服务提供者信息;(4)I={‘,之,...‘}为服务的输入集合;(5)D={Ol,02,...,0m)为服务的输出集合:r6)国为服务的访问节点,描述了服务的调用方式,如OWL.S中的ServiceGrounding,WSDL中的portType等;(7)Q={ql,q2,...,qk)为服务质量的集合,如服务执行时间、费用等。定义3-2抽象Web服务:抽象Web服务是组合流程中的“占位符”,当不存在单个具体服务能满足业务流程的需求,或存在不能被预定义的动态子流程时,通过抽象服务的自动组合替换成组合服务执行。一个抽象Web服务可以被表示成一个六元组颤=<聆,r/,I,O,口,%>,其中:(1)n为服务名称:(2)刁为服务功能性描述;(3)I=昧之,¨矗}为用户能提供的输入集合;(4)D={01,02,...,D卅)为用户期待的输出集合;(5)口为用户最低的语义相似度需求:(6)%={wt,w2,...,wk}为服务质量参数的权重需求。 浙江工业大学硕士学位论文定义3.3组合web服务:一个组合Web服务是一个“黑盒”,是对一段组合流程P的封装,流程P对用户不可见。一个组合w曲服务是可以被表示成一个六元组:sc-<11,v,I,O,P,Q>,其中:(1)n为服务名称;(2)v为组合服务的版本;(3)I={/1,/2,...‘)为服务的输入集合;(4)O={D1,02,...,D坩)为服务的输出集合;(5)p为组合流程,描述了组合服务内部的执行逻辑;(6)Q={ql,q2,...,吼}为组合服务的服务质量,由组合流程唯一决定,即存在函数毋=‘;(p),吼∈Q。定义3-4参数类型:设p为w-eb服务s中的一个输入/输出参数,若p被领域本体中的一个概念C所标注,则称C为P的参数类型,记作P:C。若S中所有的输入输出参数都被本体概念所被标注,则称该服务s为语义Web服务。3.2.2组合流程的定义流程是一个活动序列,它由一个事件引起,然后对信息进行转换,并产生相应的输出。业务流程是实现既定业务需求的一组逻辑上相关联的任务。Web服务的组合流程由一组Web服务按照一定执行顺序组合而成的序列。组合流程包含两方面内容:w曲服务控制流和W曲服务数据流。服务控制流指定了web服务的执行逻辑,服务数据流则描述了Web服务间的数据交换。为了形式化组合流程,引入以下定义:定义3—5流程控制符:一个流程控制符(ControlFlow,CF)是以下四种之一:(1)口》b:流程口、b顺序执行;(2)a+6:流程a、b并发执行;(3)e?a:6:布尔表达式e为真,则执行流程口,否则执行流程b;(4)P木a:循环执行a直至布尔表达式e为假。应用以上流程控制结构,即可递归构造组合服务控制流。如图3—2所示的组合流程控制流可形式化表示成口睁((P1术6)+(乞?c:d))。 浙江工业大学硕士学位论文图3-2组合流程的控制流定义3-6数据绑定:一个数据绑定6是一个四元组:b-- _‘process:thePar趣rdf;resource=”#C’editCa州Nu$bef”/,,其中:(1)S。为源服务;(2)蜀为目标服务;(3)以为源服务S中的一个参数;(4)P。为目标服务岛中的一个参数。数据绑定描述了组合流程的数据流,服务髟的参数P。接受足的参数见作为其数据来源,如图3—3所示。b=5p图3-3组合流程的数据流定义3_7组合流程:一个组合流程P可以用如下公式3一l表示:fSp2{<凹,D,B>(3-1)s为一个Web服务;三元组sire(p,:C,Pd:C)>&以图5-1语义数据绑定示例语义数据绑定是对概念3.7在语义层面的扩展,如图5.2所示,存在着三种类型的语义数据绑定。 浙江工业大学硕士学位论文图(a)描述了抽象服务输入和广告服务输入之间的绑定,)X.inputl能语义匹配广告服务的一个输入鲫,甜f2。图(b)描述了抽象服务输出和广告服务输出之间的绑定,出output,能语义匹配抽象服务的一个输出OUtpUt2。表示抽象服务是否存在一个输表示广告服务是否存在一个输图(c)描述了广告服务输出和广告服务输入之间的绑定,表示两个广告服务,其中的一个广告服务是否存在一个输出output能语义匹配另一个广告服务的一个输入input。号廿警纠世竺号<;7L—jI\7sire(inputl:c,input2:o>SR肛sim(outlmtl:C,output2:c)◇厂_厂_◇上丝叫广告服务|I抽象服务卜坞{....。........。.............一I...........................一>以.口outputinlmUt;广告服务p—o叫广告服务{l—一sire(output:C,/nput:c)>&以(b)(c)图5-2三种语义数据绑定方式5.1.2语义绑定矩阵定义5-2语义绑定矩阵:语义绑定矩阵是存储所有语义数据绑定的数据结构,一个语义绑定矩阵M是一个m×n的矩阵,其中I删一,)∈s.Du&.,和勺房‰,。}eS.八j&.D分别是第i行和第歹列的标签,矩阵M中的元素M。可以表示为:鸭={》∥>2部训“C’∥o≥%%6.<晶%%P(5-1)我们以表5.1所示的广告服务集合和抽象服务为例,详细说明说明语义绑定矩阵的概念。表5-1广告服务集合和抽象服务示例F陀6ServicesS芝墨&●inputsbZ2{毛,毛){‘){f)outputs{D1){021{D3}{D4){0}若表5.1中存在如下数据绑定,使得其相关参数概念相似度值大于抽象服务的概念相似度阈值, 浙江工业大学硕士学位论文包=<墨,SR,Ol,O>62=<是,&,02,o>63=<最,SR,03,o>64=<是,S,i,‘>65=<&,墨,i,/4>玩=<&,S,i,毫>67=Stm(oI:C,0:c)>&.aslm(02:C,0:C)>SR.口slm(03:C,0:C)>是.口stm(i:C,‘:c)>&.口(5-2)stm(i:C,‘:c)>岛.口stm(i:C,毛:c)>&∥stm(04:C,之:c)>&.口则表5—1中的广告服务和抽象服务可以转化成以下5x6的语义绑定矩阵:M=臃良66玩其中,行标签和列标签如表5—2所示:岛也63表5-2行标签和列标签够123456IolD2D3吼D5Z●cjljZ2Z31415D(5-3)由于经过统计绝大部分Web服务的参数不会超过10个,因此能与一个Web服务的参数概念相匹配的另一个Web服务参数很少,因此矩阵M是稀疏矩阵,所以通常将该矩阵压缩存储。稀疏矩阵的压缩算法很多,本文不再赘述。5.2语义回溯树Web服务集合被转化成了语义绑定矩阵之后,我们为抽象服务中的每一个输出建立回溯树,本节给出语义回溯树的相关概念。定义5-3语义回溯树:给定一个语义绑定矩阵M。。。和一个输出对象o,一棵语义回溯树是一棵以集合{o)为根节点的树,可以形式化为一个三元组乙+:c/lis—t:rest></process:Sequence></process:cc“poseOf>
</process:composeO刊图6.12生成的检查组合服务片段从该组合服务描述文件中可以看出MDCT替代了落后的CT技术被服务组合模块所选择。这样的话,只需做少量的工作,就可以将新增的服务集成进已存在的组合服务系统之中,达到一定的动态业务适应能力。(2)容错能力考察为了考察组合服务系统的容错性,我们假设医院的医保卡收费发生故障不可用,将其从Axis2中移除(在服务注册中心中保留,即能被发现,但实际调用则会抛出异常),然后在不改变组合流程定义的情况下重新运行上述案例。将生成的组合服务描述文件输出至文件中,其付费服务片段如下图6—13所示:m饥 浙江工业大学硕士学位论文。(process:CompositeProcessr盱:tO=-”eha’驴Proc£5#”}(ser、,ice:describes,‘嘶0re50“rc£5$⋯‘/’‘service:isPcesentedS“Jr够?蹭$o“rf壮’ch}一葶岢鼬’v£ce”/}‘orOCeSS:service黼x*£:tonq=”en“’Char童eSe仲ice‘/DrOCe$S:$ervicemme>‘pmces$:b.‘I婶址r町?雌so“rc牡’#。i。{ofcha78#:tem;’/,‘p’·0Ce$$:haslnvutrdf:r£50#rce-“=Patie^tIO”/}
此文档下载收益归作者所有