共计 3337 个字符,预计需要花费 9 分钟才能阅读完成。
本篇文章给大家分享的是有关如何进行 web service 的原理分析,丸趣 TV 小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着丸趣 TV 小编一起来看看吧。
Web 服务是一种服務導向架構的技术,通过标准的 Web 协议提供服务,目的是保证不同平台的应用服务可以互操作。
根据 W3C 的定义,Web 服务(Web service)应当是一个软件系统,用以支持网络间不同机器的互动操作。网络服务通常是许多应用程序接口(API)所组成的,它们透过网络,例如国际互联网(Internet)的远程服务器端,执行客户所提交服务的请求。
尽管 W3C 的定义涵盖诸多相异且无法介分的系统,不过通常我们指有关於主从式架构(Client-server)之间根据 SOAP 协议进行传递 XML 格式消息。无论定义还是实现,WEB 服務過程中會由伺服機提供一個機器可讀的描述(通常基于 WSDL)以辨識伺服機所提供的 WEB 服務。另外,虽然 WSDL 不是 SOAP 服务端点的必要条件,但目前基于 Java 的主流 WEB 服务开发框架往往需要 WSDL 实现客户端的源代码生成。一些工业标准化组织,比如 WS-I,就在 WEB 服务定义中强制包含 SOAP 和 WSDL。
SOAP
一个基于 XML 的可扩展消息信封格式,需同时绑定一个网络传输协议。这个协议通常是 HTTP 或 HTTPS,但也可能是 SMTP 或 XMPP。
WSDL
一个 XML 格式文档,用以描述服务端口访问方式和使用协议的细节。通常用来辅助生成服务器和客户端代码及配置信息。
UDDI
一个用来发布和搜索 WEB 服务的协议,应用程序可藉由此协议在设计或运行时找到目标 WEB 服务。
这些标准由这些组织制订:W3C 负责 XML、SOAP 及 WSDL;OASIS 负责 UDDI。
协议集[编辑]
为提高 WEB 服务间的互操作能力,WS- I 还特别发布了 WEB 服务协议集(Profile)。协议集包含了一系列特定版本的核心定义(诸如 SOAP 和 WSDL),以及对其使用上的限制与约束。WS- I 还发布了用于部署协议集兼容 WEB 服务的测试工具及相关用例。
WS- 系列追加定义[编辑]
为扩展 WEB 服务能力,一些新的标准已经或正在被开发。这些标准通常被冠以 WS 字头(Web Service 的简称),以下是一个 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)
定义事务处理方式。
Web Service 技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据 Web Service 规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。Web Service 是自描述、自包含的可用网络模块,可以执行具体的业务功能。Web Service 也很容易部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集 XML、HTTP。Web Service 减少了应用接口的花费。Web Service 为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
Web service 就是一个应用程序,它向外界暴露出一个能够通过 Web 进行调用的 API。这就是说,你能够用编程的方法通过 Web 来调用这个应用程序。
Web service 包括内容:
XML 和 XSD
可扩展的标记语言(标准通用标记语言下的一个子集)是 Web service 平台中表示数据的基本格式。除了易于建立和易于分析外,XML 主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。
XML 解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。例如,整形数到底代表什么?16 位,32 位,还是 64 位?这些细节对实现互操作性都是很重要的。W3C 制定的 XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。Web service 平台就是用 XSD 来作为其数据类型系统的。当你用某种语言 (如 VB. NET 或 C#) 来构造一个 Web service 时,为了符合 Web service 标准,所有你使用的数据类型都必须被转换为 XSD 类型。你用的工具可能已经自动帮你完成了这个转换,但你很可能会根据你的需要修改一下转换过程。
SOAP
Web service 建好以后,你或者其他人就会去调用它。简单对象访问协议 (SOAP) 提供了标准的 RPC 方法来调用 Web service。实际上,SOAP 在这里有点用词不当:它意味着下面的 Web service 是以对象的方式表示的,但事实并不一定如此:你完全可以把你的 Web service 写成一系列的 C 函数,并仍然使用 SOAP 进行调用。SOAP 规范定义了 SOAP 消息的格式,以及怎样通过 HTTP 协议来使用 SOAP。SOAP 也是基于 XML(标准通用标记语言下的一个子集)和 XSD 的,XML 是 SOAP 的数据编码方式。
WSDL
你会怎样向别人介绍你的 Web service 有什么功能,以及每个函数调用时的参数呢?你可能会自己写一套文档,你甚至可能会口头上告诉需要使用你的 Web service 的人。这些非正式的方法至少都有一个严重的问题:当程序员坐到电脑前,想要使用你的 Web service 的时候,他们的工具 (如 Visual Studio) 无法给他们提供任何帮助,因为这些工具根本就不了解你的 Web service。
解决方法是:用机器能阅读的方式提供一个正式的描述文档。Web service 描述语言 (WSDL) 就是这样一个基于 XML(标准通用标记语言下的一个子集)的语言,用于描述 Web service 及其函数、参数和返回值。WSDL 既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的 Web service 生成 WSDL 文档,又能导入 WSDL 文档,生成调用相应 Web service 的代码。
UDDI
Universal Description, Discovery and Integration
为加速 Web Service 的推广、加强 Web Service 的互操作能力而推出的一个计划, 基于标准的服务描述和发现的规范(specification)。
以资源共享的方式由多个运作者一起以 Web Service 的形式运作 UDDI 商业注册中心。
UDDI 计划的核心组件是 UDDI 商业注册,它使用 XML 文档来描述企业及其提供的 Web Service。
UDDI 商业注册提供三种信息:
White Page 包含地址、联系方法、已知的企业标识。
Yellow Page 包含基于标准分类法的行业类别。
Green Page 包含关于该企业所提供的 Web Service 的技术信息,其形式可能是指向文件或 URL 的指针,而这些文件或 URL 是为服务发现机制服务的。
优缺点
优点:
1. 跨越防火墙;
2. 应用程序集成;
3. B2B 集成;
4. 软件重用
缺点:
1. 单机应用程序;
2. 局域网上的同构应用程序
在使用方式上,RPC 和 soap 的使用在减少,Restful 架构占到了主导地位。
在数据格式上,XML 格式的使用在减少,json 等轻量级格式的使用在增多。
在设计架构上,越来越多的第三方软件让用户在客户端(即浏览器),直接与云端对话,不再使用第三方的服务器进行中转或处理数据。
以上就是如何进行 web service 的原理分析,丸趣 TV 小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注丸趣 TV 行业资讯频道。