《Web服务(WebService)技术课件》由会员分享,可在线阅读,更多相关《Web服务(WebService)技术课件(23页珍藏版)》请在金锄头文库上搜索。
1、课程名称主讲教师:XXX第六章Web服务 (Web Service) 技术章节内容Web Service的主要技术2异构平台的整合4Web Service 的简介3 1Web Service的应用3 3什么是Web Service什么是Web Service呢?从表面上看,Web Service就是一个应用程就是一个应用程序,它向外界暴露出一个能够通过序,它向外界暴露出一个能够通过Web进行调用的进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(
2、通常为Web)中被描述、发布、查找以及通过Web来调用。Web Service便是基于网络的、分布式的模块化组件,便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输它可以使用标准的互联网协议,像超文本传输协议协议HTTP和和XML,将功能体现在互联网和企业内部网上。Web Service平台是一套标准,它定义了应用程序如何在平台是一套标准,它定义了应用程序如何在Web上实现互操上实现互操作性作性。你可以用你喜欢的任何语言,在你喜欢的任何平台上写Web Service。
3、 Web Service 为 Internet 上的组件服务通过网络提供,以 URL 定位方法调用以Internet技术为基础未來的分散式应用程序课程名称高层次的复用( reuse)Function ReuseObjectReuseServiceReuseApplicationApplicationWeb Service的标准SOAP (Simple Object Access Protocol)UDDI (Unviversal Description ,Discovery,and Integration) 统一描述发现和集成协议公开的,或是企业自己的注册与查询WSDL (Web Servic
4、e Description Language)Web Service 描述语言Web Service的标准1.XMLWebService通过标准的Web协议向Web用户提供有用的功能。多数情况下使用SOAP协议。2.XMLWebService可以非常详细地说明其接口,这使用户能够创建客户端应用程序与它们进行通信。这种说明通常包含在称为Web服务说明语言(WSDL)文档的XML文档中。3.XMLWebService已经过注册,以便潜在用户能够轻易地找到这些服务,这是通过通用发现、说明和集成(UDDI)来完成的。4.XMLWebService体系结构的主要优点之一是:允许在不同平台上、以不同语言编
5、写的各种程序以基于标准的方式相互通信。5 5.我们将XMLWebService定义为:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。SOAPSoap是XMLWebService的通信协议。 SOAP是一种规范,用来定义消息的XML格式。包含在一对SOAP元素中的、结构正确的XML段就是SOAP消息。SOAP规范的其他部分介绍如何将程序数据表示为XML,以及如何使用SOAP进行远程过程调用(RPC)。这些可选的规范部分用于实现RPC形式的应用程序,其中客其中客户户端将端将发发出一条出一条 SOAP 消息消息(包含可包含可调调用函数,以及要用函数,以及要传
6、传送到送到该该函数的参数函数的参数),然后服然后服务务器将返回包含函数器将返回包含函数执执行行结结果的消息果的消息。目前,多数SOAP实现方案都支持RPC应用程序。SOAP还支持文档形式的应用程序,在这类应用程序中,SOAP 消息只是消息只是 XML 文档文档的一个包装的一个包装。文档形式的SOAP应用程序非常灵活,许多新的XMLWebService都利用这一特点来构建使用RPC难以实现的服务SOAPSOAP规范的最后一个可选部分定义了包含SOAP消息的HTTP消息的样式。此HTTP绑定非常重要,因为几乎所有当前的OS(以及许多以前的OS)都支持HTTP.HTTP绑定虽然是可选的,但几乎所有S
7、OAP实现方案都支持HTTP绑定,因为它是SOAP的唯一标准协议。由于这一原因,人们通常误认为SOAP必须使用HTTP。其实,有些实现方案也支持MSMQ、MQ系列、SMTP或TCP/IP传输,但由于HTTP非常普遍,几乎所有当前的XMLWebService都使用它。由于HTTP是Web的核心协议,因此大多数组织的网络基础结构都支持HTTP。 到目前为止,SOAP最引人注目的特征是它可以在许多不同的软件和硬 件平台上实现。这意味着SOAP可用于链接企业内部和外部的不同系统。 HTTP的普及和SOAP的简单性使您几乎可以从任何环境调用它们, 因此成为XMLWebService的理想基础。 SOAP
8、 的用户并不直接编写的用户并不直接编写 SOAP 消息,而是使用消息,而是使用 SOAP 工具包来创建和分析工具包来创建和分析 SOAP 消息。这些工消息。这些工 具包通常将函数调用从某种语言转换为具包通常将函数调用从某种语言转换为 SOAP 消息。消息。 SOAP(HTTP+XML)SOAPSOAPRequestSOAPResponseUDDIUDDI 目录条目是介绍所提供的业务和服务的 XML 文件。UDDI 目录条目包括三个部分。 “白页”介绍提供服务的公司:名称、地址、联系方式等等; “黄页”包括基于标准分类法的行业类别; “绿页”详细介绍了访问服务的接口,以便用户能够编写应用程序以使
9、 用 Web 服务。 服务的定义是通过一个称为类型模型(或 tModel)的 UDDI 文档来完成的。多数情况下,tModel 包含一个 WSDL 文件,用于说明访问 XML Web Service 的 SOAP 接口,但是 tModel 非常灵活,可以说明几乎所有类型的服务。UDDI 目录还包含若干种方法,可用于搜索构建您的应用程序所需的服务。例如,您可以搜索特定地理位置的服务提供商或者搜索特定的业务类型。之后,UDDI 目录将提供信息、联系方式、链接和技术数据,以便您确定能满足需要的服务。UDDI 允许您查找提供所需的 Web 服务的公司。如果您已经知道要与谁进行业务合作,但尚不了解它还能
10、提供哪些服务,这时该如何处理呢?WS-Inspection 规范(英文)允许您浏览特定服务器上提供的 XML Web Service 的集合,从中查找所需的服务。UDDIUDDIWSDLWeb Service Description Language (WSDL):用来定义Web Service交换的文件格式以及提供服务方式的说明文件WSDL 表示 Web 服务说明语言,是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。WSDL 对于 SOAP 的作用就象 TLD 对于Tiglib的作用。由于 WSDL 是 XML 文档,因此很容易进行阅读和编辑;但大多数情况下,它由软件
11、生成和使用但大多数情况下,它由软件生成和使用。 要查看 WSDL 的值,可以假设您要调用由您的一位业务伙伴提供的 SOAP 方法。您可以要求对方提供一些 SOAP 消息示例,然后编写您的应用程序以生成并使用与示例类似的消息。WSDL 通过明确的表示法指定请求消息必须包含的内容以及响应消息的样式。WSDLWSDL 文件用于说明消息格式的表示法以 XML 架构标准为基础,这意味着它与编程语言无关,而且以标准为基础,因此适用于说明可从不同平台、以不同编程语言访问的 XML Web Service 接口。除说明消息内容外,WSDL WSDL 还定义了服务的还定义了服务的位置,以及使使用什么通信协议与服
12、务进行通信。用什么通信协议与服务进行通信。WSDL WSDL 文件定义了编写使用文件定义了编写使用 XML Web Service XML Web Service 的程序所需的全部内容的程序所需的全部内容。当前,许多 SOAP 工具包都包括从现有程序接口生成 WSDL 文件的工具,但却几乎没有直接用于编写 WSDL 的工具,而且 WSDL 的工具支持也很不完整。但不久就会出现编写 WSDL 文件的工具,接着还会有生成代理和存根的工具(与 COM IDL 工具很相似),这些工具将成为多数 SOAP 实现方案的一部分。到那时,WSDL 将成为创建 XML Web Service 的 SOAP 接口
13、的首选方法。 由W3C制定的标准发布发布发布发布查询查询查询查询Web Service Web Service 提供者提供者提供者提供者绑定绑定绑定绑定InternetInternetSOAPSOAPSOAPWeb Service的应用可以利用Web Service作为B2B跨平台整合的机制。即时资讯服务公司(音乐、电影、股票等)可以利用Web Service,提供各种平台资讯服务。仓储、货运业可以通过Web Service結合移动设备,建立即时管理系统。异构平台的整合企业內外系统的整合ApplicationServerSOAP/HTTPSOAP/HTTPSOAP/HTTPUDDICRM下游工
14、厂下游工厂分公司分公司经销经销商商异构平台的整合-Galileo42000 travel agency511 airlines37 car rental47000 hotelWebService实例在环境变量中设置当前JDK为1.4.2将weblogic.jar和webservice.jar设置到classpath中将C:beaweblogic81serverbin设置到path中编写并编译源文件StockTrade.java javac d . StockTrade.java运行ant命令,生产ear文件和stocktrade_client.jar文件,并将jar文件设置到classpath
15、中,将生成的ear文件部署到Weblogic中编辑StockClient.java源文件删除生成的examples包, 编译StockClient.java源文件 javac d . StockClient.java运行编译的测试客户端类StockClient并观察输出结果 java examples.StockClientWeb Service小结重点在应用而非技术可先将现有功能模块重新包装Web Service 组件, 可重复使用降低开发成本协同开发慢慢取代独立开发本章小结Web Service 的简介Web Service的主要技术Web Service的应用异构平台的整合谢谢观看谢谢观看