WebService作业_第1页
WebService作业_第2页
WebService作业_第3页
WebService作业_第4页
WebService作业_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西 安 建 筑 科 技 大 学 研 究 生 课 程 考 试 试 卷考试科目:Web服务与应用课程编码:081070任课教师:叶娜 考试时间:2015.5.27学 号:1408210711 学生姓名:张晗玥题 号成 绩总 成 绩学 分123456阅卷人签字789试题总页数 作业一1. Which components of a Web service description present answers to each of the following questions about the services : What, Where, How? 答:WSDL的抽象描述部分包括类型、消息、操

2、作和端口类型,整个抽象描述部分回答了此WEB服务的what问题。具体描述部分包含服务绑定,端口和服务三个部分,其中服务绑定回答了How的问题。端口和服务回答了Where的问题。2. 试比较WSDL, IDL, 与OWL-S。答:(1)WSDLW SDL是用来描述网络服务或终端(Endpoint)的一种XML语言, 它用于定义Web服务以及如何调用它们。WSDL文档可用于动态发布Web 服务、查找已发布的Web服务以及绑定Web服务。WSDL将Web服务定义为服务访问点或端口的集合。在W SDL中, 服务访问点和消息的抽象定义从具体的服务部署或数据格式绑定中分离出来。消息是对交换数据的抽象描述;

3、而端口类型是指操作的抽象集合;用于特定端口类型的具体协议和数据格式规范构成了可再次使用的绑定。将Web访问地址与可再次使用的绑定相关联, 可以定义一个端口, 而端口的集合则定义为服务。语义网的发展要求可以通过Web资源的内容等语义信息来访问Web资源, 而不仅仅是通过数据类型匹配、关键词匹配来查找信息。Web 服务作为Web上的一类越来越重要的资源, 同样要求Semantic Web 对其提供广泛的语义支持, 从而实现Semantic Web Services。OWL-S就是Semantic Web中一种用来描述Web服务的属性和功能的本体规范, 它使用一系列基本的类和属性来描述Web服务,

4、提供了一个可共享的框架。它的目标是使得Web 服务成为计算机可理解的实体, 从而便于实现服务的发现、调用、互操作、组合、验证和执行监控等。(2)OWL-S在OW L-S中, 描述服务的基本信息主要有三类本体:Service Profile, Service Model和Service Grounding1、Service Profile描述了服务查询代理用来判断服务是否满足它要求的一组属性信息, 如服务提供的功能、服务的输入、输出、执行的前提条件、执行产生的结果等。它描述了服务做什么, 用于服务的自动发现。2、Service Model描述了服务的过程模型(使用服务时所涉及的控制流和数据流)。

5、它描述了服务是如何工作的, 与Service Grounding配合用于服务的自动组合和执行。3、Service Grounding 将过程模型的描述和W SDL中的通信协议及消息描述联系起来。它描述了如何访问一个服务。OWL-S的Service Grounding 将OWL-S 与WSDL关联到一起。二者之间的关联有利于一个服务开发者受益于两种规范的优势, 一方面开发者能够利用OWL-S的过程模型, 另一方面开发者能重用WSDL的已有工作和基于W SDL的消息传递机制。OW L-S和WSDL是互补的, 因为两者实际上覆盖了不同的概念空间, 但在提供WSDL所谓的抽象类型规范方面确实存在重叠。

6、WSDL用XML Schema表达, 而OWL-S 用OWL类表达。但是WSDL表达不了OWL-S 类的语义, 而OWL-S 表达不了WSDL的绑定信息。因而, 采用OW L类表达WSDL中抽象类型的声明, 而使用WSDL的绑定结构表达消息的格式。(3)IDL IDL是传统中间件接口描述语言,当前存在的IDL语言都和一种具体的中间件平台相关联,这种语言只关心构件在名称、输入输出参数层面的接口描述,因为在构建在相应中间件平台上的构件都采用相同的访问机制。对于传统中间件,构件提供者只是简单定义构件接口,并且将构件注册到中间件平台,中间件平台复杂在需要时激活构件,构件的位置对调用者来说是透明的。ID

7、L通常是定义一个服务的但入口点。3. 简要描述.NET或JAVAEE平台下开发一个Web Service及其客户端的步骤。答:在.Net 平台下开发一个Web Service及客户端的方法如下:自己开发服务端自己调用(vs2010)   1).菜单:“新建项目”,在打开的窗体中选择,如下图:2).在“项目解决方案”中右击此项目并“添加新建项”,然后选择"web服务",如下图  3).打开新添加的页面,在其中加入四个函数,一定在四个函数的上方加上“WebMethod”,这是说明让客户端来调用的函数,如果上面没有或注释掉,就表示客户端不能访问它。下

8、面把它默认的HelloWord函数注释,源码如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services; namespace MyWebServices / <summary> / WebService1 的摘要说明 / </summary> WebService(Namespace = "/") WebServiceBinding(ConformsTo =

9、WsiProfiles.BasicProfile1_1) System.ComponentModel.ToolboxItem(false) / 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 / System.Web.Script.Services.ScriptService public class WebService1 : System.Web.Services.WebService /WebMethod public string HelloWorld() return "Hello World" WebMethod(De

10、scription="相加") public double Add(double num1, double num2) return num1 + num2; WebMethod(Description = "相减") public double Sub(double num1, double num2) return num1 - num2; WebMethod(Description = "相乘") public double Mul(double num1, double num2) return num1 * num2; We

11、bMethod(Description = "相除") public double Div(double num1, double num2) if (num2 != 0) return num1 / num2; else return 0; 4).在浏览器中运行WebService1.asmx,即在“解决方案”中右键WebService1.asmx,在"浏览器中运行"5).开发客户端。    建立一空的WebApplication程序在“解决方案”中右键此项目“添加web引用”,会弹出一窗体,让用户输入wsdl的URL.设

12、置Web引用名的名称并点击添加引用,此时会在项目中出现一个这样服务的图标。如下图:增加一webForm,它的HTML源码为:cs源码(按钮事件): protected void Button1_Click(object sender, EventArgs e) string op = Select1.Value; if (Text1.Value = string.Empty | Text2.Value = string.Empty) return; double num1 = double.Parse(Text1.Value); double num2 = double.Parse(Text2

13、.Value); double result=0; MyTest.WebService1 ws=new MyTest.WebService1(); if (op.Equals("+") result = ws.Add(num1, num2); else if (op.Equals("-") result = ws.Sub(num1, num2); else if (op.Equals("*") result = ws.Mul(num1, num2); else if (op.Equals("/") result =

14、 ws.Div(num1, num2); Text3.Value = result.ToString(); 运行客户端,如下图,此时成功运行:作业二4. Explain what is tModel in UDDI description? Give an example of its usage.(在UDDI描述中什么是tModel,举例说明他的用法)答:tModel是UDDI数据模型中两个顶级数据实体(businessEntity和tModel)之一。tModel这个术语是多个概念的联合。按照UDDI规范中的描述,tModel被用于表示一个规范或一个概念的服务类型(Service Type

15、)性概念。在目前的UDDI的实现中,有这样四种注册的服务类型:"分类系统(Classification System)"、"标识系统(Identification system)" 、"抽象接口组件(abstract interface component)"和"规范(specification)"。tModel是这些服务类型在UDDI注册数据的承载体和表现形式,是Web服务描述的元数据。一个Web服务所包含的tModel的全体构成了这个Web服务的技术指纹,通过对这个技术指纹的分析,我们就可以很方便地了解该Web

16、服务是符合那些技术规范的,采用怎样的调用界面的,以及其分类和标识的信息等。tModel概念在发现那些被发布以供广泛使用的服务信息的场合下非常有用。为了让读者获得一个更清晰的理解,让我们考察以下示例。例子:假设您的企业购买了一个能通过您的网站自动接受电子定单的软件包。您可以通过使用某个公共UDDI站点,来为你自己的企业发布这个电子商务的服务。您选购这个软件包的理由之一是它的应用广泛性。实际上,销售给您该软件包的那位销售员也着重提到了这个软件受到普遍好评的一个特性,那就是使用和支持了已被普遍应用的XML商务文档格式来实现自动的商务信息交换。当您对该软件完成安装及配置后,它会自动查询某个公共UDDI

17、站点来识别与该软件相兼容的商业伙伴。该软件通过查询您所指定的那些商业实体,并定位那些已经发布了与您的软件相兼容的电子商务服务的商业实体,来实现这个功能。这个软件的配置过程是通过利用tModel的以下特性来实现的,由于已经为完整的软件界面规范注册了一个tModel,并且每个使用该软件界面规范的企业的订单服务都引用了这个完整规范的tModel的键值,因此这个匹配过程非常容易实现。一般来说,把tModel的键和服务描述共同作为线索来跟踪一个指定的服务的兼容性源头是足够可靠的。由于许多服务都会被构建和实现成兼容于某个特定的规范,对该规范的具体信息(通过tModel条目来描述规范的具体信息或具体信息的U

18、RL,通过tModel引用来实现一般的规范引用)的引用(可以仅使用一个键值)就不需要在每个注册的电子商务服务中重复了。对于企业商务软件的开发人员来说,tModel提供了一个通用方法,其作为一个通用引用点,使得兼容服务可以很简单地被识别。而对于使用该软件的企业来说,好处在于能够极大地缩短了识别特定服务是否与您的软件兼容的工作过程。最后,对于软件生产商和标准化组织来说,注册一个规范的相关信息,然后用该规范的的tModel来查找兼容的Web服务的实现,能帮助他们的客户真正获得使用被广泛应用的设计规范所带来的好处。tModel 的结构规范如下:<element name = "tMod

19、el"> <type content = "elementOnly"> <group order = "seq"> <element ref = "name"/> <element ref = "description" minOccurs = "0" maxOccurs = "*"/> <element ref = "overviewDoc" minOccurs = "0&q

20、uot; maxOccurs = "1"/> <element ref = "identifierBag" minOccurs = "0" maxOccurs = "1"/> <element ref = "categoryBag" minOccurs = "0" maxOccurs = "1"/> </group> <attribute name = "tModelKey" minOcc

21、urs = "1" type = "string"/> <attribute name = "operator" type = "string"/> <attribute name = "authorizedName" type = "string"/> </type></element>5. 查阅资料,对Web服务发现的技术与方法进行归纳。 Web服务发现的技术与方法归纳 Web 服务发现是指根据用户对目标服务的需求,

22、通过服务发现算法从服务注册中心查找到满足用户需求的服务集合, 它是实现Web 服务组合的前提条件。评价一个服务发现方法的效果, 主要从以下三个指标进行考核: 召回率 、准确率和可扩展性。召回率是指该发现方法从服务库中返回的满足用户请求的服务数, 占服务库中满足用户请求的服务总数的比例; 准确率是指从服务库中返回的所有服务中, 能满足用户请求的服务数占返回的所有服务数的比例; 可扩展性是指该方法在不同规模服务库中的可用性, 主要指服务发现的速度。 Web 服务发现与Web 服务匹配紧密相关, 前者往往建立在后者的基础上, 即服务发现通过将用户需求规格说明与服务注册中心中的服务描述说明进行匹配,

23、从而选出被匹配的服务。因此, 服务匹配是服务发现的一个重要环节。当前, Web 服务发现相关的研究成果层出不穷 , 可将其大致划分为两大类: 基于关键字的Web 服务发现和基于语义的Web 服务发现。前者以统一描述、发现和集成协议为典型代表, 仅支持关键词匹配, 所以服务发现效果不佳; 后者则是Web 服务与语义网相结合而产生的, 被视为最有前景的服务发现方法。此外, 还有一部分工作是针对特定应用而提出的, 如基于统一建模语言 的服务发现方法、基于用户以往的服务选取记录和系统日志进行服务推荐的方法等。1 .基于OWL-S/ DAML_S 的语义Web 服务发现 Web 服务本体语言( Web

24、Ontology Language for Service, OWL_S) ( 前身为美国国防高级设计研究署代理置标语言) 是美国DAML 计划在OWL 基础上提出的一个服务本体语言, 它以描述逻辑( Description Logic, DL) 为基础, 将Web 服务的本体分成三个上层本体: Service Profile, Service Model 和Service Grounding 。其中Service Profile, Service Model 和描述逻辑被研究人员广泛应用于服务发现中。( 1) 基于OWL_S/ DAML_S 的Service Profile进行服务发现 Se

25、rvice Profile 描述了服务的基本信息, 如服务的功能信息、服务提供商信息等。Paolucci 等提出了第一个基于Service Profile 的Web 服务发现方法 。该方法采用Service Profile 描述用户请求,并将该描述与已注册Web 服务的Service Profile进行匹配, 匹配过程分为输出之间的匹配与输入之间的匹配。每一次匹配中, 利用OWL 所描述的本体知识, 对服务的输入/ 输出概念与用户请求的输入/ 输出概念进行语义匹配。Sriniv asan 和Paolucci等采用该方法扩展UDDI, 实现了基于语义Web 服务匹配器 , 取得了较好的服务发现效

26、果。该方法开辟了语义Web 服务发现方向, 随后吸引了众多研究人员在这一方向展开研究, 对OWL-S/ DAML-S的Service Profile 进行了属性扩展, 以提高服务发现效果。( 2) 基于OWL-S/ DAML-S 的Service Model进行服务发现 由于Service Model 描述了服务内部行为, 为服务发现提供了更多参考信息。服务发现过程仅考虑接口匹配还不足, 应充分考虑服务行为特征, 进而提出了基于服务行为特征的服务查询语言和匹配算法, 而服务行为特征指的就是服务模型中的消息序列。OWL-S 的服务模型表示成树结构: 将服务模型的根节点作为树的根; 将组合流程表示

27、成树的中间节点; 将原子流程表示成树的叶子节点, 采用树匹配策略实现服务匹配。有文献 将服务模型中的流程及流程间的关系即时构造出依赖图, 通过多个步骤分析依赖图来判断该服务是否满足用户需求。该方法是对前一个的一个改进方案, 它支持完全匹配和部分匹配, 在部分匹配的情况下还能进一步建议用户额外提供某些输入以达到完全匹配。此外, 该方法还具有较好的匹配粒度, 不但支持原子流程匹配, 而且支持组合流程匹配。( 3) 基于OWL-S/ DAML-S 的逻辑基础进行服务发现 描述逻辑是OWL-S/ DAML-S 的逻辑基础, 作为知识表示和推理的形式化工具, 它提供了可判定的和可靠的推理服务。有文献将服

28、务的自动发现问题转化成最佳覆盖问题, 利用描述逻辑对其进行形式化描述, 之后基于超图算法计算出最佳覆盖, 从而实现服务的自动发现过程。基于Service Profile 的方法最为简单且算法复杂度最低,其关键在于词汇本体之间的语义相似度计算; 而基于Service Model 的方法不仅考虑了接口语义匹配, 还考虑了流程结构的匹配, 因此其复杂度大大提高, 但其发现效果得到较大改善。基于描述逻辑的服务发现方法由于引入了形式化表达和推理, 自动化程度较高, 但这类方法需要对服务做过多预处理, 如形式化转化与表达, 因此必须有相应的辅助工具作为支持。2.基于WSMO/WSML 的语义Web服务发现

29、方法 Web 服务建模本体(Web Service Modeling Ontology, WSMO) / Web 服务建模语言( Web Service Modeling Language, WSML) 是欧洲语义系统计划在前期Web 服务模型框架( Web Service Modeling Framework, WSMF) 的工作基础上, 提出的一个语义Web 服务的建模本体和描述语言。3.基于WSDL 扩展的语义Web服务发现方法 前述两类基于语义的Web 服务发现方法均建立在全新的语义Web 服务模型的基础上, 在现有的大量采用Web 服务描述语言( Web Service Descri

30、pt ion Language, WSDL) 描述的服务中需进行一定的预处理工作。因此, 很多研究人员提出了基于WSDL 的语义扩展进行服务发现。其中, 以美国乔治亚大学大规模分布式信息系统实验室LSDIS 与IBM 联合提出的WSDLS 最具影响力。4 .其他基于语义的Web 服务发现方法 除上述三类方法之外, 还有其他基于语义的服务发现方法, 因篇幅有限, 仅介绍具有代表性的几个。有的采用流程本体刻画服务语义, 流程本体包含了属性、值、任务、资源和异常等基本元语。基于流程本体, 提出了流程查询语言, 从而将服务匹配问题转化为语言模式匹配, 进而采用基于模式匹配的算法实现服务匹配。有的针对移

31、动环境的特点, 提出了基于本体和上下文感知的服务发现方法, 在其服务匹配过程中充分考虑了服务、用户、设备多实体的上下文环境和个性化内容。有的提出了一种基于本体论和词汇语义相似的Web 服务发现方法, 该方法将服务相似度划分为词汇语义相似度、服务属性相似度、参量相似度和结构相似度, 并分别对其进行相似度计算。 Web 服务发现是实现服务组合的一个重要前提, 尽管当前不同学者从各自的应用领域提出了众多的方法, 但如何进一步提高服务发现的准确率和召回率, 且有效降低方法的复杂度, 从而提高方法的可用性, 是当前服务发现需要解决的重要问题。此外, 我认为由于当前缺乏一个公共的且被大多数学者接受的服务基

32、准库作为标准测试集, 不同服务发现方法只能通过理论验证、仿真试验或者实际应用的方式来说明其有效性, 不同服务发现方法之间的可比较性差, 无法衡量哪种方法更胜一筹, 所以建立一个标准的服务基准库将是推动服务发现技术进一步发展的重要基础。作业三6. 查阅资料,对服务组合的技术与方法进行综述。(了解目前技术,分为哪几类,无字数要求) 服务组合的技术与方法综述一Web服务 随着IT技术的发展和社会需求的变化,需要在极端异构的互联网环境下集成独立开发的应用程序,因此产生了一种新的体系结构要求,使得可以通过一组通用的标准协议用于接口定义、方法调用、解决异构并面向Web的分布式计算等,由此出现了面向服务体系

33、架构SOA。SOA是一种新兴的企业结构形式,可以用于设计下一代企业应用程序,其本质是用于提供一个整合和监控各种松散耦合服务的平台,并体现了良好的通用软件体系结构原则。Web服务作为软件服务的一种实现方式,突破了传统的分布式计算模型在通信、应用范围等方面的限制,允许企业和个人快速、廉价地建立和部署全球性应用,其已成为互联网上的一种重要的资源,并极大地推动了SOA的发展与应用。随着Web服务技术的发展,面向服务的计算正逐渐成为开放异构环境中复杂分布应用的主流计算模型。 至今,Web服务还没有统一的定义,从专业角度而言,比较典型的定义如下:1)IBM公司的定义:Web服务是自包含的、模块化的应用程序

34、,为商业组织或个人提供一系列的功能,可以通过Web使用标准语言格式访问。2)Sun公司定义的Web服务具有如下5个特征:通过Web可被访问;一个XML的对外接口:通过注册可以被定位;在Web协议的标准上,使用XML消息通信;在系统之间支持松散的耦合。3)W3C的定义为:一个Web服务是通过URI标志的软件系统,其公共接口用XML文档定义,该定义供其它软件系统使用,这些系统可使用基于XML的消息机制通过网络的传输协议与此Web服务进行交互。 综上所述,Web服务是一种按标准语言描述并通过网络发布、可供发现和调用的软件系统,具有松散耦合、可重用和互操作的特点,具体总结如下:1)可描述。可以通过一种

35、服务描述语言来描述。2)可发布。可以在注册中心注册其描述信息并发布。3)可查找。通过向注册服务器发送查询请求可以找到满足查询条件的服务,获取服务的绑定信息。4)可绑定。通过服务的描述信息可以生成可调用的服务实例或服务代理。5)可调用。使用服务描述信息中的绑定细节可以实现服务地远程调用。6)可组合。可以与其他服务组合在一起形成新的服务。二服务组合的背景 随着Web服务技术的日益成熟,许多机构竞相将他们的核心业务能力作为一个Web服务集合放在网络上,以实现更多的自动化和全球范围访问。典型的Web服务应用包括在线旅游预订、客户关系管理、供应链等。尽管越来越多的企业将其商业流程以Web服务的形式发布以

36、及越来越多稳定易用的Web服务共享在网络上,但单一的Web服务所提供的功能毕竟有限,很难满足用户的需求,人们希望通过网络得到更多更复杂的服务,而不仅仅是独立的单一服务。Web服务组合就是利用网络上分布的现有web服务,根据用户(最终用户或增值服务开发商)总的应用需求(包括功能和非功能属性的要求),在服务组合支撑平台的支持下,选择一系列符合一定规则的单个Web服务,组成满足总需求的服务流程,并以一个接口的形式提供给用户或其它服务使用,通过流程中各个服务的协同来最终完成用户的服务请求。 其中,Web服务组合的功能要求是指组合服务在服务组合流程上满足服务间的功能匹配要求,而非功能属性要求是指组合服务

37、在服务组合流程上满足服务间的非功能约束(如服务质量)要求。Web服务组合也被认为是通过网络将分布在不同环境、平台的已存在的Web服务按照一定的规则组装成为一个增值、更大粒度的服务或一个系统以满足用户的复杂需求,并提高软件生产率的一个过程。Web服务本身具有的基于标准协议及松散耦合的特点也为Web服务组合提供了技术支持。Web服务组合更充分地利用共享的Web服务,可生成满足用户要求的组合服务,提供更为强大的服务功能并加快系统开发的速度。从开发者的视角看,服务组合提供了重用服务的可能性;从用户的视角看,服务组合提供了无缝访问各种复杂服务的能力。Web服务组合是解决B2B应用问题的重要技术,在工业界

38、和学术界受到了广泛的关注,基于语义的Web服务组合作为实现灵活、快速信息集成的重要方法,成为新的研究热点。3、 Web服务组合 随着Web服务技术的日益成熟, 越来越多的稳定易用Web服务共享在网络上。但单个的Web服务能够提供的功能有限, 为了更加充分地利用共享的Web服务, 有必要将共享的Web服务组合起来, 提供更为强大的服务功能, 加快系统开发的速度, 快速满足用户需求。Web服务组合方法从组合方案生成方式来分有两大类:静态组合和动态组合。静态组合意味着请求者应在组合计划实施前创建一个抽象的过程模型。抽象的过程模型包括任务的集合以及任务间的数据依赖关系, 每个任务包含一个查询的子句,

39、用来查找完成任务的真正的Web服务。因此这里的自动仅指Web服务的选择和绑定是由程序自动完成的。静态组合中最常用的是用图来描述过程模型。而动态组合不仅自动地选择、绑定Web服务, 同时更重要的是自动地创建过程模型。这需要请求者指定一些约束关系, 包括Web服务间的依赖关系、用户的偏爱等。目前被普遍使用的Web服务组合方法有以下几种:3.1 基于Markov 决策过程的服务组合 虽然已有学者提出基于HTN 的服务自动组合方法, 但是这些方法没有考虑如何从多种可用分解中做出选择, 这将导致最后得到多种解决方案。Markov 决策过程( Markov Decision Process,MDP) 为决

40、策制定建模提供了一个数学框架, 其输出结果部分是随机的, 部分是决策者所控制的, 适用于解决在大范围内选优的问题。3.2基于约束满足问题的服务组合 约束满足问题( Constraint Satisfaction Problem, CSP) 是人工智能( Artificial Intelligent , AI)研究领域的一个重要分支, 其求解过程就是找到所有变量的一个或多个赋值, 使约束得到满足。文献将一个服务组合任务形式化为约束满足问题,提出了以一致性为基础的服务组合方法, 该方法为服务组合问题形式化为生成CSP 建立了一系列基本规则, 包括服务组件建模、组件接口不均匀化、组合数据类型建模、流

41、程约束和控制约束等, 为了得到一个组合服务, 首先需要利用这些规则将该服务组合问题转化为一个CSP, 从而将获取服务组合的过程转变为生成CSP 求解的过程。为了适应服务组合问题, 对传统的CSP 的求解过程进行了扩展, 提出了一种域独立的算法完成求解过程, 该算法属于增量式求解过程, 不但满足SWDL ( semantic Web description logic) 标准, 而且与OWLS 描述语言兼容。3.3基于启发式搜索的服务组合启发式搜索是在状态空间搜索时, 对每一次搜索的当前位置评估下一个最好的搜索位置, 再从这个目标位置开始进行搜索, 直到完成目标为止。有人提出了基于启发式搜索的服

42、务自动组合算法, 该算法支持服务组合的并行创建, 允许在可选择的控制流程中存在初始状态和服务效果的不确定性。同时, 该算法还支持在服务组合的过程中创建变量, 以确保其在真实环境中的应用性。但是, 该算法也存在着一些不足, 首先搜索空间过大, 从而增大服务检索的时间开销, 降低服务组合的效率; 另外,该算法还应该采用有效的优选策略, 以选出最优的服务组合, 从而提高算法的性能。3.4 基于图搜索的服务自动组合基于图搜索的方法提供了一条不同于人工智能规划的Web 服务自动组合的有效途经, 这类方法无需过多的形式化表示方法或推理系统, 比较容易实施。在基于图搜索的服务自动组合方法中, 服务以及服务之

43、间的关系被表示成关系图, 服务合成的过程被转化为在关系图中进行遍历, 寻找从输入到输出或者从输出到输入的可达路径。3.5面向RESTful 服务的自动组合 RESTful Web 服务作为一种新兴的技术, 开始在工业界和学术界受到越来越广泛的关注, 相比传统的基于简单对象访问协议( Simple Object Access Protocol, SOAP) 的Web 服务, RESTful Web 服务凭借其轻量级、易访问、可扩展等特点, 在进行服务组合时更具有优势。尽管RESTful Web 服务的应用已经越来越多, 但是面向RESTful Web 服务的组合研究还处于初级阶段。由于RESTf

44、ul Web 服务相对较新, 面向RESTful Web 服务的自动组合还存在着诸多挑战, 例如缺少面向RESTful Web 服务的正式建模和描述语言, 从不同提供方获取RESTful Web 服务进行合成时, 数据的异质性也是一个巨大的障碍。因此, 面向RESTful Web 服务的自动组合还存在很大的研究空间和发展潜力。4.结论 本文从Web服务概念,Web服务组合背景,概念、典型方法这几方面来对Web服务组合对研究现状进行了综述。随着服务技术的不断成熟与发展, 相信服务组合将会在软件即服务、云计算等大行其道的产业背景下, 进一步得到工业界的充分重视,从而从研究阶段进入到实际应用阶段,

45、为软件和服务的共享、重用发挥重大作用, 并最终成为企业业务服务增值的重要途径。可以看出,目前Web服务组合理论和技术研究还处于起步阶段,要真正实现Web服务的自动、高效的组合,真正将Web服务组合技术应用到实际中,还有很多关键问题需要解决,有待广大研究者在理论深度、技术多样性上做更为广泛、深入的研究探讨。Web服务项目开发报告1. 项目综述本项目使用Web服务技术开发个小型的系统,该系统包含三个服务第一个是自己编写的计算器服务,能实现加减乘除运算,第二个是调用网上的手机归属地查询的服务,能够实现对输入的手机号码进行归属地的查询,第三个同样是调用网上的服务,实现天气预报的功能。2. 开发环境Vi

46、sual Studio 2010、Windows 83. web服务设计3.1 简易计算器第一个web服务是自己写的一个计算器服务,采用VS2010进行编写,具体步骤如下:1).菜单:“新建项目”,在打开的窗体中选择空Web应用程序;2).在“项目解决方案”中右击此项目并“添加新建项”,然后选择"web服务"3).打开新添加的页面,在其中加入四个函数,一定在四个函数的上方加上“WebMethod”,源码如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;usi

47、ng System.Web.Services; namespace MyWebServices / <summary> / WebService1 的摘要说明 / </summary> WebService(Namespace = "/") WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1) System.ComponentModel.ToolboxItem(false) / 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取

48、消对下行的注释。 / System.Web.Script.Services.ScriptService public class WebService1 : System.Web.Services.WebService /WebMethod public string HelloWorld() return "Hello World" WebMethod(Description="相加") public double Add(double num1, double num2) return num1 + num2; WebMethod(Descripti

49、on = "相减") public double Sub(double num1, double num2) return num1 - num2; WebMethod(Description = "相乘") public double Mul(double num1, double num2) return num1 * num2; WebMethod(Description = "相除") public double Div(double num1, double num2) if (num2 != 0) return num1

50、/ num2; else return 0; 4).在浏览器中运行WebService1.asmx,即在“解决方案”中右键WebService1.asmx,在"浏览器中运行"运行结果: 3-1运行结果15).开发客户端。    建立一空的WebApplication程序在“解决方案”中右键此项目“添加web引用”,会弹出一窗体,让用户输入wsdl的URL.设置Web引用名的名称并点击添加引用,此时会在项目中出现一个这样服务的图标。如下图:增加一webForm,它的HTML源码为:cs源码(按钮事件): protected void Button

51、1_Click(object sender, EventArgs e) string op = Select1.Value; if (Text1.Value = string.Empty | Text2.Value = string.Empty) return; double num1 = double.Parse(Text1.Value); double num2 = double.Parse(Text2.Value); double result=0; MyTest.WebService1 ws=new MyTest.WebService1(); if (op.Equals("+") result = ws.Add(num1, num2); else if (op.Equals("-") result = ws.Sub(num1, num2); else if (op.Equals("*") result = ws.Mul(num1, num2); else if (op.Equals("/") result = ws.Div(num1, num2); Text3.Value = result.ToString(); 运行客户端。运行结果:图3-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论