Web服务的方式有哪几种

面向服务架构的技术
服务器君一共花费了249.106 ms进行了5次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

Web 服务是一种面向服务架构的技术,通过标准 Web 协议提供服务,保证不同平台的应用服务可以交互。根据 W3C 定义,Web 服务(Web Service)应当是一个软件系统,用以支持网络不同机器的互操作性。网络服务通常是许多应用程序接口(API)组成,它们通过网络的远程服务器,执行客户所提交的请求。

定义

1. 核心定义

没有某个独立文档包含一切相关内容,无法给出一个“绝对全面和准确”的定义,因此,采用模块化方式给出对 Web 服务的描述。各方给出的核心定义可能稍有出入,但通常包括:

  • SOAP - 一个基于 XML 可扩展消息信封格式,需同时绑定一个传输用协议。这个协议通常是 HTTP 或 HTTPS,也可以是 SMTP 或 XMPP。
  • WSDL - 一个 XML 格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。
  • UDDI - 一个用来发布和搜索 Web服务的协议,应用程序可借由此协议在设计或运行时找到目标 Web 服务。

W3C 负责 XML、SOAP 及 WSDL;OASIS 负责 UDDI。

2. 协议集

为提高 Web 服务间的互操作性,WS-I 特别发布了 Web 服务协议集(Profile),通常以 WS(Web Service)开头。协议集包含一系列特定版本的核心定义(如 SOAP 和 WSDL),及其使用的限制与约束。WS-I 还发布用于部署协议集兼容Web 服务的测试工具及相关用例。

以下是一个 WS 系列追加标准的不完全列表:

  • WS 安全(WS-Security)- 定义如何在 SOAP 中使用 XML 加密或 XML 签名来保护消息传递。可作为 HTTPS 一种替代或扩充。
  • WS 信赖性(WS-Reliability)- 一个来自 OASIS 标准协议,用来提供可信赖 Web 服务间消息传递。
  • WS 可信赖消息(WS-ReliableMessaging)- 同样是一个提供信赖消息的协议,由 Microsoft、BEA 和 IBM 发布。目前 OASIS 正对其实施标准化工作。
  • WS 寻址(WS-Addressing)- 定义在 SOAP 消息内描述发送/接收方地址的方式。
  • WS 事务(WS-Transaction)- 定义事务处理方式。

W3C 制定了不少 WS 追加定义,但近来开始受到质疑。一些人呼吁 W3C 作为网络和语义定义者,应当把精力放在核心网络本身,而不是为 Web 服务改换版本。特别是,2007 年 2 月企业级 Web 服务论坛上,对 W3C 不再充当 Web 服务定义者的诉求开始表面化。此外,OASIS 对 Web 服务扩展实施了许多标准化工作,包括 Web 服务资源框架以及 WSDM。

Web 服务方式

Web 服务有三种手段:远程过程调用(RPC),面向服务架构(SOA)以及表述性状态转移(REST)。

  • 远程过程调用(RPC)- 为 Web 服务提供一个分布式函数/方法接口供用户调用。这是一种较传统的方式。通常,在 WSDL 中对 RPC 接口进行定义(类似于早期的XML-RPC)。本质上,RPC 方式利用一个简单映射,把用户请求直接转化成一个特定语言编写的函数/方法。

现在,该方式已不在使用。

  • 面向服务架构(SOA)- 现在,业界比较关注的是遵从面向服务架构(Service-oriented architecture,SOA)来构建 Web 服务。该方式中,通讯是由消息驱动,而不再是某个动作(方法调用)。这种 Web 服务也称为“面向消息的服务”。

SOA Web 服务得到大部分主要软件商及业界的支持和肯定。它与 RPC 方式的最大差别是,SOA 更关注如何去连接服务,而不是特定某个实现细节。WSDL 定义了联络服务的必要内容。

  • 表述性状态转移式(Representational state transfer,REST)- REST Web 服务类似于 HTTP 或其他类似协议,接口是在一组广泛使用的标准以供调用,如 HTTP GET、PUT、POST、DELET。该方式关注与那些稳定的资源交互,而不是消息或动作。

REST 可以通过 WSDL 来描述 SOA 消息内容,通过 HTTP 动作,或者完全在 SOA 中对动作进行抽象。

相关概念

  • SOAP(简单对象访问协议,Simple Object Access Protoco)- 是一种标准化的通讯规范,主要用于 Web 服务(Web service)。SOAP 是为了简化 Web 网页服务器,从 XML 数据库中提取数据时,无需格式化页面,并能够让不同应用程序通过 HTTP 协议,用 XML 文件通信,与具体编程语言、平台和硬件无关。此标准由 IBM、Microsoft、UserLand 和 DevelopMentor 于 1998 年共同提出,并得到 IBM、Lotus、Compaq 等公司的支持,于 2000 年提交给 W3C。SOAP 是第二代的 XML 协议。第一代的主要是 XML-RPC 和 WDDX。
  • WSDL(Web 服务描述语言,Web Services Description Language)- 是为了描述 Web 服务发布的 XML 格式。WSDL 读作 "wiz-dəl"。WSDL 描述 Web 服务的公共接口。这是一个基于 XML 的关于如何与 Web 服务通讯和使用的服务描述,也就是说,描述与目录中列出的 Web 服务进行交互时需要绑定的协议和信息格式。通常采用抽象语言描述该服务支持的操作和信息,使用的时候再将实际的网络协议和信息格式绑定给该服务。
  • UDDI(统一描述、发现和集成,Universal Description, Discovery, and Integration)- 它是一个基于 XML 跨平台的描述规范,可以使世界范围内的企业在互联网上发布自己所提供的服务。UDDI 是 OASIS 发起的一个开放项目,它使企业在互联网上可以互相发现并且定义业务之间的交互。UDDI 业务注册包括三个元件:白页,有关企业的基本信息,如地址、联系方式以及已知的标识;黄页,基于标准分类的目录;绿页,与服务相关联的绑定信息,及指向这些服务所实现的技术规范的引用。UDDI 是核心的 Web 服务标准之一。它通过简单对象存取协议进行消息传输,用 Web 服务描述语言描述Web服务及其接口使用。
  • BPEL4WS(网络服务业务流程执行语言,Business Process Execution Language for Web Services)- 是 2002 年 8 月由 Microsoft、IBM 和 BEA 联合发布,用于商业流程描述的规范化、标准化,该语言中包含多种网络服务,并能将系统内部和业务伙伴间的信息交换标准化。该流程执行语言是从 WSFL 和 XLANG 脱胎而来的,继而发展为 BPEL。
  • WCF(Windows Communication Foundation )- 是由微软发展的一组资料通讯的应用程程序开发接口,是 .NET 框架的一部分,由 .NET Framework 3.0 开始引入,与 WPF(Windows Presentation Foundation)和WWF(Windows Workflow Foundation)并列为新一代 Windows 操作系统和 WinFX 的三个重大的应用程序开发库。在.NET Framework 2.0 及之前版本中,微软发展了 Web Service(SOAP with HTTP communication)、.NET Remoting(TCP/HTTP/Pipeline communication)和 Winsock 等,但它们的设计方法不同,彼此之间也有重叠,如可用 .NET Remoting 开发 SOAP、HTTP 。对开发人员,不同的选择会有不同的程序设计模型,必须要重新学习。同时,服务导向架构(Service-Oriented Architecture)开始流行,因此,Microsoft 重新审视了这些通讯方法,设计了一个统一的模型,这就是 WCF。

本文地址:http://www.nowamagic.net/librarys/veda/detail/2060,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/2060

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《JavaScript DOM编程艺术(第2版)》 基思(Jeremy Keith) (作者), 桑布尔斯(Jeffrey Sambells) (作者), 魏忠 (合著者), 杨涛 (译者), 王建桥 (译者), 杨晓云 (译者), 等 (译者)

《JavaScript DOM编程艺术(第2版)》内容简介:JavaScript是Web开发中最重要的一门语言,它强大而优美。无论是桌面开发,还是移动应用。JavaScript都是必须掌握的技术。W3C的DOM标准是开发Web应用的基石。已经得到所有现代浏览器的支持,这使得跨平台Web开发成了一件轻松惬意的事。《JavaScript DOM编程艺术(第2版)》是超级畅销书的升级版,由倡导Web标准的领军人物执笔,揭示了前端开发的真谛,是学习JavaScript和DOM开发的必读之作。

更多计算机宝库...