WebService作业

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

西安建筑科技大学研究生课程考试试卷考试科目:Web服务与应用课程编码:081070任课教师:叶娜考试时间:2015.5.27学号:1408210711学生姓名:张晗玥题号成绩总成绩学分123456阅卷人签字789试题总页数作业一1.WhichcomponentsofaWebservicedescriptionpresentanswerstoeachofthefollowingquestionsabouttheservices:What,Where,How?答:WSDL的抽象描述部分包括类型、消息、操作和端口类型,整个抽象描述部分回答了此WEB服务的what问题。具体描述部分包含服务绑定,端口和服务三个部分,其中服务绑定回答了How的问题。端口和服务回答了Where的问题。2.试比较WSDL,IDL,与OWL-S。答:(1)WSDLWSDL是用来描述网络服务或终端(Endpoint)的一种XML语言,它用于定义Web服务以及如何调用它们。WSDL文档可用于动态发布Web服务、查找已发布的Web服务以及绑定Web服务。WSDL将Web服务定义为服务访问点或端口的集合。在WSDL中,服务访问点和消息的抽象定义从具体的服务部署或数据格式绑定中分离出来。消息是对交换数据的抽象描述;而端口类型是指操作的抽象集合;用于特定端口类型的具体协议和数据格式规范构成了可再次使用的绑定。将Web访问地址与可再次使用的绑定相关联,可以定义一个端口,而端口的集合则定义为服务。语义网的发展要求可以通过Web资源的内容等语义信息来访问Web资源,而不仅仅是通过数据类型匹配、关键词匹配来查找信息。Web服务作为Web上的一类越来越重要的资源,同样要求SemanticWeb对其提供广泛的语义支持,从而实现SemanticWebServices。OWL-S就是SemanticWeb中一种用来描述Web服务的属性和功能的本体规范,它使用一系列基本的类和属性来描述Web服务,提供了一个可共享的框架。它的目标是使得Web服务成为计算机可理解的实体,从而便于实现服务的发现、调用、互操作、组合、验证和执行监控等。(2)OWL-S在OWL-S中,描述服务的基本信息主要有三类本体:ServiceProfile,ServiceModel和ServiceGrounding1、ServiceProfile描述了服务查询代理用来判断服务是否满足它要求的一组属性信息,如服务提供的功能、服务的输入、输出、执行的前提条件、执行产生的结果等。它描述了服务做什么,用于服务的自动发现。2、ServiceModel描述了服务的过程模型(使用服务时所涉及的控制流和数据流)。它描述了服务是如何工作的,与ServiceGrounding配合用于服务的自动组合和执行。3、ServiceGrounding将过程模型的描述和WSDL中的通信协议及消息描述联系起来。它描述了如何访问一个服务。OWL-S的ServiceGrounding将OWL-S与WSDL关联到一起。二者之间的关联有利于一个服务开发者受益于两种规范的优势,一方面开发者能够利用OWL-S的过程模型,另一方面开发者能重用WSDL的已有工作和基于WSDL的消息传递机制。OWL-S和WSDL是互补的,因为两者实际上覆盖了不同的概念空间,但在提供WSDL所谓的抽象类型规范方面确实存在重叠。WSDL用XMLSchema表达,而OWL-S用OWL类表达。但是WSDL表达不了OWL-S类的语义,而OWL-S表达不了WSDL的绑定信息。因而,采用OWL类表达WSDL中抽象类型的声明,而使用WSDL的绑定结构表达消息的格式。(3)IDLIDL是传统中间件接口描述语言,当前存在的IDL语言都和一种具体的中间件平台相关联,这种语言只关心构件在名称、输入输出参数层面的接口描述,因为在构建在相应中间件平台上的构件都采用相同的访问机制。对于传统中间件,构件提供者只是简单定义构件接口,并且将构件注册到中间件平台,中间件平台复杂在需要时激活构件,构件的位置对调用者来说是透明的。IDL通常是定义一个服务的但入口点。3.简要描述.NET或JAVAEE平台下开发一个WebService及其客户端的步骤。答:在.Net平台下开发一个WebService及客户端的方法如下:自己开发服务端自己调用(vs2010)1).菜单:“新建-项目”,在打开的窗体中选择,如下图:2).在“项目解决方案”中右击此项目并“添加-新建项”,然后选择web服务,如下图3).打开新添加的页面,在其中加入四个函数,一定在四个函数的上方加上“[WebMethod]”,这是说明让客户端来调用的函数,如果上面没有或注释掉,就表示客户端不能访问它。下面把它默认的HelloWord函数注释,源码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Services;namespaceMyWebServices{///summary///WebService1的摘要说明////summary[WebService(Namespace=)][WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)][System.ComponentModel.ToolboxItem(false)]//若要允许使用ASP.NETAJAX从脚本中调用此Web服务,请取消对下行的注释。//[System.Web.Script.Services.ScriptService]publicclassWebService1:System.Web.Services.WebService{//[WebMethod]publicstringHelloWorld(){returnHelloWorld;}[WebMethod(Description=相加)]publicdoubleAdd(doublenum1,doublenum2){returnnum1+num2;}[WebMethod(Description=相减)]publicdoubleSub(doublenum1,doublenum2){returnnum1-num2;}[WebMethod(Description=相乘)]publicdoubleMul(doublenum1,doublenum2){returnnum1*num2;}[WebMethod(Description=相除)]publicdoubleDiv(doublenum1,doublenum2){if(num2!=0)returnnum1/num2;elsereturn0;}}}4).在浏览器中运行WebService1.asmx,即在“解决方案”中右键WebService1.asmx,在浏览器中运行5).开发客户端。建立一空的WebApplication程序在“解决方案”中右键此项目“添加web引用”,会弹出一窗体,让用户输入wsdl的URL.设置Web引用名的名称并点击添加引用,此时会在项目中出现一个这样服务的图标。如下图:增加一webForm,它的HTML源码为:cs源码(按钮事件):protectedvoidButton1_Click(objectsender,EventArgse){stringop=Select1.Value;if(Text1.Value==string.Empty||Text2.Value==string.Empty)return;doublenum1=double.Parse(Text1.Value);doublenum2=double.Parse(Text2.Value);doubleresult=0;MyTest.WebService1ws=newMyTest.WebService1();if(op.Equals(+))result=ws.Add(num1,num2);elseif(op.Equals(-))result=ws.Sub(num1,num2);elseif(op.Equals(*))result=ws.Mul(num1,num2);elseif(op.Equals(/))result=ws.Div(num1,num2);Text3.Value=result.ToString();}运行客户端,如下图,此时成功运行:作业二4.ExplainwhatistModelinUDDIdescription?Giveanexampleofitsusage.(在UDDI描述中什么是tModel,举例说明他的用法)答:tModel是UDDI数据模型中两个顶级数据实体(businessEntity和tModel)之一。tModel这个术语是多个概念的联合。按照UDDI规范中的描述,tModel被用于表示一个规范或一个概念的服务类型(ServiceType)性概念。在目前的UDDI的实现中,有这样四种注册的服务类型:分类系统(ClassificationSystem)、标识系统(Identificationsystem)、抽象接口组件(abstractinterfacecomponent)和规范(specification)。tModel是这些服务类型在UDDI注册数据的承载体和表现形式,是Web服务描述的元数据。一个Web服务所包含的tModel的全体构成了这个Web服务的技术指纹,通过对这个技术指纹的分析,我们就可以很方便地了解该Web服务是符合那些技术规范的,采用怎样的调用界面的,以及其分类和标识的信息等。tModel概念在发现那些被发布以供广泛使用的服务信息的场合下非常有用。为了让读者获得一个更清晰的理解,让我们考察以下示例。例子:假设您的企业购买了一个能通过您的网站自动接受电子定单的软件包。您可以通过使用某个公共UDDI站点,来为你自己的企业发布这个电子商务的服务。您选购这个软件包的理由之一是它的应用广泛性。实际上,销售给您该软件包的那位销售员也着重提到了这个软件受到普遍好评的一个特性,那就是使用和支持了已被普遍应用的XML商务文档格式来实现自动的商务信息交换。当您对该软件完成安装及配置后,它会自动查询某个公共UDDI站点来识别与该软件相兼容的商业伙伴。该软件通过查询您所指定的那些商业实体,并定位那些已经发布了与您的软件相兼容的电子商务服务的商业实体,来实现这个功能。这个软件的配置过程是通过利用tModel的以下特性来实现的,由于已经为完整的软件界面规范注册了一个tModel,并且每个使用该软件界面规范的企业的订单服务都引用了这个完整规范的tModel的键值,因此这个匹配过程非常容易实现。一般来说,把tModel的键和服务描述共同作为线索来跟踪一个指定的服务的兼容性源头是足够可靠的。由于许多服务都会被构建和实现成兼容于某个特定的规范,对该规范的具体信息(通过tModel条目来描述规范的具体信息或具体信息的URL,通过tModel引用来实现一般的规范引用)的引用(可以仅使用一个键值)就不需要在每个注册的电子商务服务中重复了。对于企业商务软件的开发人员来说,tModel提供了一个通用方法,其作为一个通用引用点,使得兼容服务可以很简单地被识别。而对于使用该软件的企业来说,好处在于能够极大地缩短了识别特定服务是否与您的软件兼容的工作过程。最后,对于软件生产商和标准化组织来说,注册一个规范的相关信息,然后用该规范的的tModel来查找兼容的Web服务的实现,能帮助他们的客户真正获得使用被广泛应用的设计规范所带来的好处。tModel的结构规范如下:elementname=tModeltypecontent=elementOnlygrouporder=seqelementref=name/elementref=descriptionminOcc

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功