WebServices简介

时间:2024-02-19 08:25:27 赛赛 Web Services 我要投稿
  • 相关推荐

WebServices简介

  Web Service是一个平台低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序。以下是小编整理的WebServices简介,欢迎查看。

  WebServices简介

  SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构。既然说是一种架构的话,所以一般认为 SOA 是包含了运行环境、编程模型、架构风格和相关方法论等在内的一整套新的分布式软件系统构造方法和环境,涵盖服务的整个生命周期。而在 SOA 的架构风格中,服务是最核心的抽象手段。SOA 中的服务是构建在一些开放标准的基础之上的,Web服务定义了如何在异构系统之间实现通信的标准化方法,从而就使得 Web 服务可以跨越运行平台和实现语言,同时也使得 Web 服务成为了实现 SOA 中服务的主要技术。

  有没有一种办法可以实现跨应用程序通信和跨平台通信呢,也就是如何可以实现应用程序 A 可以和应用程序 B 的通信?或者说如何实现Java 写的应用程序和用.Net开发的应用程序之间的通信?拿腾讯QQ的天气预报工具来举例,天气预报功能是如何实现的呢?有一种办法,那就是腾讯公司放个卫星上天,并且在公司中成立一个气象部门,天天关注于天气,然后实时更新腾讯 QQ 的天气预报信息。确实,这种办法确实行得通,但很蠢。

  再举一个跨平台的例子,假如有两个公司,一个公司项目使用. Net 开发,另一个使用 Java 开发,这两个公司本来相互独立,但是这两个公司如果需要把两个项目结合起来,两个项目之间需要通信,此时两个项目基于不同的平台。

  第三个例子,一个公司使用的服务器是 Windows Server 2008,那么它如何和 IT 供应商的UNIX 或是 Linux 服务器进行连接?

  WebServices特点介绍

  WebServices 提供一个建立分布式应用的平台,使得运行在不同操作系统和不同设备上的软件,或者是用不同的程序语言和不同厂商的软件开发工具开发的软件,所有可能的已开发和部署的软件,能够利用这一平台实现分布式计算的目的。WebServices的思想是:使得应用程序也具有 Web 分布式编程模型的松散耦合性。

  1. WebServices 是自包含的。即在客户端不需要附加任何软件,只要客户机支持 HTTP 和XML 就 OK 了。

  2. WebServices 是自我描述的。在客户端和服务端都不需要知道除了请求和响应消息的格式和内容外的任何事。

  3. WebServices 是跨平台和跨语言的。客户端和服务端均可以在不同的平台和语言环境中实现,同时,不必为了支持 WebServices 而更改现有的代码。

  4. WebServices 是基于开放和标准的。XML和HTTP 是WebServices 的主要技术基础,而 XML 和HTTP早就成了业内标准了。

  5. WebServices 是动态的。

  6. WebServices 是可以组合的。即通过一个 WebService 访问另外一个 WebService 来达到组合的目的。通过组合 WebServices 便可以将简单的 WebServices 聚合成为实现更多复杂功能的复杂的服务。

  7. WebServices 是松散耦合的。它完全解耦了客户端和服务端。

  8. WebServices 提供编程访问的能力。换句话说,就是可以通过编写程序来访问Web 服务。

  9. WebServices 是基于经过考验的成熟技术上构建的。比如 XML 和 HTTP。

  10. WebServices 提供打包现有应用程序的能力。

  11. WebServices 通过网络进行发布,查找和使用。

  WebServices到底是什么?

  WebServices是基于 XML 和 HTTP 的,(当然这是最基本的 WebServices ,也可以通过 HTTPS 或者是 SMTP 来实现通信),不论Java平台还是.Net平台开发(或者是是使用 Web 服务),这一切都和Web服务无关,只需要关注通过 HTTP 协议来传输 XML 就 OK了,至于这些 XML 是如何被服务提供者开发出来的或者这些 XML 是如何被服务请求者使用的(小编按:如何实现很重要,后面会提到),这些都和应用开发无关,这里可以看出Web服务的另一个优势,那就是跨语言跨平台(实现协同工作),通过 Web 服务可以实现不同应用程序和不同平台之间的通信,Web服务允许独立于实现服务的硬件或者是软件平台和编写服务所使用编程语言来实现(小编按:WebServices对硬件基础、软件平台、开发语言不关心)。

  以上可以回答开头引子中提出的三个问题,即:

  1)QQ天气预报问题:通过访问气象局发布的天气状况的WebServices来实现

  2)Java 应用程序和. Net应用程序之间的通信

  3)解决 Linux 或是UNIX 和 Windows Server 2008 之间进行连接问题。

  另外通过使用不同的 Web 服务,我们可以从不同的平台和操作系统进行访问,从而提高不同应用程序共享数据和应用的能力。

  WebServices三种基本元素之SOAP

  SOAP 即 Simple Object AccessProtocol,也就是简单对象访问协议。其指导理念是“唯一一个没有发明任何新技术的技术”(小编按:通过XML和HTTP就可以实现),是一种用于访问 Web 服务的协议。即SOAP基于XML和HTTP,其通过XML来实现消息描述,然后再通过 HTTP 实现消息传输。

  SOAP 协议的一个重要特点是它独立于底层传输机制,Web 服务应用程序可以根据需要选择自己的数据传输协议,可以在发送消息时来确定相应传输机制。

  由于 HTTP 协议本身的一些特点和局限性,使得当 SOAP 使用HTTP 绑定的 Web 服务并不能满足某些企业应用的需求。比如,HTTP 不是一个可靠传输协议,所以有可能在传输过程中出现问题,然后 HTTP 协议基于Request/Response 模型,也就是说客户端需要在等待响应消息接收完成后才能继续执行,从而容易出现时延的问题。

  基于上面的这些需求,便需要选择合适的传输协议了。

  WebServices三种基本元素之 WSDL

  WSDL 即Web Services Description Language也就是Web服务描述语言,是基于 XML的用于描述 Web 服务以及如何访问 Web 服务的语言。

  服务提供者通过服务描述将所有用于访问 Web服务的规范传送给服务请求者,要实现 Web服务体系结构的松散耦合,服务描述是一个关键,不管是请求者还是服务提供者,通过服务描述便可以不必了解对方的底层平台,编程语言等,服务描述与底层的 SOAP 基础结构相结合,足以封装服务请求者的应用程序和服务提供者的 Web服务之间的这个细节。

  WSDL 描述了 Web服务的三个基本属性:

  1. 服务所提供的操作

  2. 如何访问服务

  3. 服务位于何处(通过 URL 来确定就 OK 了)

  WebServices三种基本元素之 UDDI

  UDDI 即 Universal Description,Discovery and Integration,也就是通用的描述、发现以及整合,用来描述了访问特定的Web服务的一些相关的信息。

  前面说到WSDL是用来描述了访问特定的 Web 服务的一些相关的信息,但是如何来发现我们所需要的 Web 服务,而 Web 服务提供商又如何将自己开发的 Web 服务公布到因特网上?

  这就需要使用到 UDDI,它是一个跨产业,跨平台的开放性架构,可以帮助 Web 服务提供商在互联网上发布 Web 服务的信息。

  UDDI 是一种目录服务,企业可以通过 UDDI 来注册和搜索 Web 服务,简单来说,UDDI 就是一个目录,只不过在这个目录中存放的是一些关于 Web 服务的信息而已。

  小编按:WebServices三种基本元素在科普文里的描述比较难懂,事实上这些理论描述和实际应用的感受完全不同。引用一个非常简单的比喻,可能更加容易理解:

  Web Services:是一个可以将应用程序变为web应用程序,将自己本地的应用程序信息通过网络,发布到网络当中,让别人通过浏览器等访问本地的信息。

  SOAP:是定义访问Web Services的协议,也就是哪些是可以访问的,怎样的格式才能够访问,返回的格式又是什么样的,这些都是SOAP定义的。

  WSDL:是描述SOAP协议的具体语言,用WSDL实现SOAP协议,把它写成文件,直接访问。

  UDDI:是把这些web services 收集和存储起来,这样当别人访问这些信息的时候就从UDDI中查找,看有没有这个信息存在。

  历史

  web广泛用到的技术:

  1.TCP/IP:通用网络协议,被各种设备使用

  2.HTML(标准通用标记语言下的一个应用):通用用户界面,可以使用HTML标签显示数据

  3.NET: 不同应用程序间共享数据与数据交换

  4.Java:写一次可以在任何系统运行的通用编程语言,因为java具有跨平台特性

  5.XML(eXtensible Markup Language):通用数据表达语言,在web上传送结构化数据的容易方法

  他们的特点是其开放性,跨平台性,开放性正是Web services的基础。

  近几年来,Internet的迅猛发展使其成为全球信息传递与共享的巨大的资源库。越来越多的网络环境下的Web应用系统被建立起来,利用HTML、CGI等Web技术可以轻松地在Internet环境下实现电子商务、电子政务等多种应用。然而这些应用可能分布在不同的地理位置,使用不同的数据组织形式和操作系统平台,加上应用不同所造成的数据不一致性,使得如何将这些高度分布的数据集中起来并得以充分利用成为急需解决的问题。

  随着网络技术、网络运行理念的发展,人们提出一种新的利用网络进行应用集成的解决方案——Web Service。Web Service是一种新的Web应用程序分支,其可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。因此,Web Service是构造分布式、模块化应用程序和面向服务应用集成的最新技术和发展趋势。

  趋势

  1.内容更加动态:一个web service必须能合并从多个不同来源的内容,可以包括股票,天气,新闻等,在传统环境中的内容,如存货水平,购物订单或者目录信息等,都从后端系统而来;

  2.带宽更加便宜:web services可以分发各种类型的内容(音频,视频流等);

  3.存储更便宜::web services必须能聪明地处理大量数据,意味着要使用数据库,LDAP目录,缓冲,和负载平衡软件等技术保持可扩展能力;

  4.普遍式计算更重要:web services不能要求客户使用某一版本的windows的传统浏览器,必须支持各种设备,平台,浏览器类型,各种内容类型;

  两种重要技术

  要达到这样的目标,Web services要使用两种技术:

  1.XML:XML是在web上传送结构化数据的伟大方式,Web services要以一种可靠的自动的方式操作数据,HTML(标准通用标记语言下的一个应用)不会满足要求,而XML可以使web services十分方便的处理数据,它的内容与表示的分离十分理想;

  2.SOAP:SOAP使用XML消息调用远程方法,这样web services可以通过HTTP协议的post和get方法与远程机器交互,而且,SOAP更加健壮和灵活易用;

  其他像UDDI和WSDL技术与XML和SOAP技术紧密结合用于服务发现。

【WebServices简介】相关文章:

苦丁茶的简介10-27

围棋的简介09-14

美术的简介08-26

泰国舞蹈简介04-07

茶艺师简介03-25

装潢设计的简介08-26

ACCP认证简介11-10

Oracle认证简介04-01

京剧的起源简介04-02

豫剧起源简介03-08