Version3.0Web服务基础第八章2回顾•数据绑定是将从数据库检索的数据链接到控件的过程•Repeater控件是一个容器控件,它可用于显示数据列表•DataList控件可以用于显示数据3目标•解释Web服务•使用ASP.NET创建Web服务•通过各种协议使用Web服务•为Web服务创建代理,理解UDDI的角色4Web现状5Web服务的必要性•分布式系统之间的通讯•电子商务的数据交换6服务概念服务服务必须在注册表上注册,用户才能访问它使用接口,可以从其他任何程序调用服务7Web服务的概念•WebService就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API•能够用编程的方法通过Web来调用这个应用程序•把调用这个WebService的应用程序叫做客户8具有Web服务的Internet站点、服务和设备协作提供丰富的用户体验Web服务器Web服务器Web服务器合成体9Web服务构成10Web服务目录•WebService目录提供一个用以定位其他单位提供的WebService的中心位置•WebService目录(如UDDI注册表)充当此角色•WebService客户端可能或可能不需要引用WebService的目录11Web服务发现机制•WebService发现是定位(或发现)使用Web服务描述语言(WSDL)对特定WebService进行描述的一个或多个相关文档的过程•DISCO规范定义定位服务说明的算法•如果WebService客户端知道服务说明的位置,它们可以跳过发现过程12Web服务说明•若要了解如何与特定的WebService进行交互,需要提供定义该WebService支持何种交互操作的服务说明•WebService客户端必须知道如何与WebService进行交互才可以使用该服务13Web服务联网形式•为实现通用的通讯,WebService使用开放式连网形式进行通讯,该格式是任何能够支持最通用的Web标准的系统都可以理解的协议•SOAP是XMLWebService通讯的主要协议14与Web服务相关的活动•创建Web服务•定义Web服务的服务接口和调用方法•在Intranet或Internet上发布Web服务•查找Web服务以便使用它•调用Web服务以便使用它•不再需要时,取消对Web服务的发布15Web服务特征•通过Web进行访问•使用其接口进行调用•在服务注册表中注册•使用标准Web协议通信•松散耦合松散耦合的重要方面是Web服务只在必要时实时集成16Web服务的优点交叉业务集成提高效率拉近客户关系便于实时集成降低复杂性旧式应用程序17Web服务的缺点•公开单位的应用资产存在潜在的安全风险•必须支持XML•部署Web服务技术的成本有点高18在ASP.NET中创建Web服务以.aspx扩展名保存文件%@WebServiceLanguage=C#class=TestWS%usingSystem.Web.Services;classTestWS{[WebMethod]publicstringSayHello(stringname){returnHello+name;}}指定此ASP页是Web服务编写Web服务所用的语言包含Web方法的类导入命名空间表明是Web方法命名空间19使用Web服务HTTP-GET20使用Web服务-HTTP-GET21使用Web服务-HTTP-POSThtmlbodyp使用POST方法调用Web服务/pformname=form1method=POSTaction=请输入您的姓名:inputtype=textname=name/ppinputtype=submit/p/form/body/html22使用Web服务–SOAP•轻型协议,用于分散的、分布式计算环境中交换信息•有助于以独立于平台的方式访问对象、服务和服务器•借助于XML,提供了HTTP所需的扩展性•基于HTTP/XML的协议,能够使用特定值调用方法•提供平台独立性23使用Web服务–WSDL•关于Web服务的信息,如它包含的方法和需要传递给这些方法的参数等,都是通过WSDL语言描述的•基于XML•使用标记来定义服务的属性24使用Web服务-代理WSDL:FirstWSWeb服务代理25使用Web服务-调用代理scriptlanguage=C#runat=serverpublicvoidPage_Load(ObjectSender,EventArgse){FirstWS.TestWSWSObj=newFirstWS.TestWS();Text1.Text=WSObj.SayHello(Scooby);}/scriptASP:TextBoxid=Text1runat=server/26UDDI2-1UDDI用来查找以下信息:•关于业务伙伴提供的Web服务的信息•特定Web服务提供商的列表•关于公开特定Web服务的技术细节•提供特定Web服务的公司•用于注册各个服务提供商提供的服务,以便可以共享它们•有助于Web服务的客户或Web用户查找该Web服务通用描述发现和集成27UDDI2-2UDDIAPI架构UDDI服务UDDI规范(业务注册)28总结•服务具有两个特征:接口和注册•Web服务可以使用HTTP-GET或HTTP-POST访问Web服务•WSDL是Web服务描述语言(WebServicesDescriptionLanguage)的缩写•代理类不包含任何应用程序逻辑•UDDI用于注册各个服务提供商提供的服务,以便可以共享它们