服务传输层

这一层负责应用之间的消息传输。目前,该层包括了超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP)、以及一些新兴协议,比如块可扩展交换协议(BEEP)。

XML 消息层

这一层负责将消息编码到一个通用的 XML 格式,这样消息就可以被另一端所解读。目前,这一层包括 XML-RPC 和 SOAP。

服务描述层

这一层负责将公共接口描述为一个特定的 web service。目前,服务描述通过 web service 描述语言(WSDL)来处理。

服务发现层

这一层负责集中服务到一个通用的注册中心,并提供简单的发布/发现功能。目前,服务发现通过通用描述、发现与集成(UDDI)来处理。
随着 web service 的发展,可能会加入更多的层,每一层也可能加入更多的技术。
后续章节将讨论 web service 的组件。

关于服务传输层的一点说明

web service 协议栈的最底层是服务传输层。这一层负责两台计算机之间 XML 消息的实际传输。

超文本传输协议(HTTP)

HTTP 是目前进行服务传输最受欢迎的选择。HTTP 简单、稳定,并且部署广泛。此外,大多数防火墙允许 HTTP 通信。这样就允许 XML-RPC 或者 SOAP 消息冒充做 HTTP 消息。如果你想对远程应用进行集成的话这样很好,但是这样也确实会带来很多安全问题。

块可扩展交换协议(BEEP)

这是一个有望取代 HTTP 的协议。BEEP 是互联网工程任务组(IETF)准备建立的一个新协议。BEEP 直接建立在 TCP 层并包含许多内置功能,包括一个初始的握手协议、身份验证、安全以及错误处理。使用 BEEP,我们可以为各种应用程序创建新协议,包括即时通讯、文件传输、内容整合以及网络管理。
SOAP 并不依赖于任何特定的传输协议。事实上,你可以通过 HTTP,SMTP,或者 FTP 来使用 SOAP。因此,一个有前途的想法就是在 BEEP 之上使用 SOAP。

老李分享:Web Services 架构 2的更多相关文章

  1. 老李分享:Web Services 架构 1

    老李分享:Web Services 架构   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...

  2. 深入理解RESTful Web Services

    RESTful的软件架构已经多火不用多说,和MVC架构一样,很多网站服务(Web Services)都遵循RESTful设计模式,那么到底什么是RESTful Web Services呢?设计一个RE ...

  3. 老李分享:Web Services 特性 1

    老李分享:Web Services 特性   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...

  4. 老李分享:Web Services 组件 1

    老李分享:Web Services 组件   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...

  5. 老李分享:为何要使用 Web Services

    老李分享:为何要使用 Web Services   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询q ...

  6. 老李分享:Web Services 组件 2

    WSDL 是一种基于 XML 的语言,它用来对 web service 及其如何访问进行描述. WSDL 表示 web service 描述语言(Web Services Description La ...

  7. 雷林鹏分享:Ruby Web Services 应用 - SOAP4R

    Ruby Web Services 应用 - SOAP4R 什么是 SOAP? 简单对象访问协议(SOAP,全写为Simple Object Access Protocol)是交换数据的一种协议规范. ...

  8. 前后端分离之Web前端架构设计

    架构设计:前后端分离之Web前端架构设计 在前面的文章里我谈到了前后端分离的一些看法,这个看法是从宏观的角度来思考的,没有具体的落地实现,今天我将延续上篇文章的主题,从纯前端的架构设计角度谈谈前后端分 ...

  9. 老李分享:webservice是什么?

    老李分享:webservice是什么?   前言 Web Services 是 Web 应用出于和其他 Web 应用以交互数据为目的的开放式标准(XML.SOAP.HTTP 等).Web Servic ...

随机推荐

  1. 基于微博数据用 Python 打造一颗“心”

    一年一度的虐狗节刚过去不久,朋友圈各种晒,晒自拍,晒娃,晒美食,秀恩爱的.程序员在晒什么,程序员在加班.但是礼物还是少不了的,送什么好?作为程序员,我准备了一份特别的礼物,用以往发的微博数据打造一颗“ ...

  2. 测试工作中ADB命令实战

    作者:TT,<测试架构师>微信公众号作者 大家能点击进来,说明还是对ADB有所了解或听说过的,可能也会比较熟练的掌握了这些命令,下面描述如有不对的地方,欢迎指正和交流学习,请多指教! 一. ...

  3. 多源最短路径---Floyd-Warshall算法

    摘自啊哈算法-知识分享,代码自己有改动,使得输出更直观. 小哼准备去一些城市旅游.有些城市之间有公路,有些城市之间没有,如下图.为了节省经费以及方便计划旅程,小哼希望出发之前知道任意两个城市之间的最短 ...

  4. IntelliJ IDEA 报错:Error:java: 未结束的字符串文字

    构建javaweb项目时,控制台报错: 这个问题是由于编码冲突导致的,在设置中找到File Encodings可以看到 ide采用utf-8编码格式,而项目则是GBK编码方式,由此产生冲突. 解决办法 ...

  5. Jsp——response对象

    <%@ page language="java" contentType="text/html; charset=UTF-8" import=" ...

  6. 为 instance 配置静态 IP - 每天5分钟玩转 OpenStack(157)

    这是 OpenStack 实施经验分享系列的第 7 篇. 传统运维中为服务器配置静态 IP 是再常见不过的了.但在 OpenStack 环境下只能指定 network,IP 都是 Neutron 从 ...

  7. webpack(四)处理 css\less\sass 样式

    (一) 处理普通的.css 文件,需要安装 css-loader,style-loader .less 文件,需要安装 less-loader .sass 文件,需安装  less-loader np ...

  8. Ubuntu下安装Redis并实现远程访问

    之前的一篇随笔写到Redis在Windows下的安装,但目前好多大数据处理的服务是在Linux上的,所以想以Redis为例并实现在Windows上利用C#代码远程访问. 以在Ubuntu下为例,步骤如 ...

  9. 设置debian的静态IP

    欲设置的信息: IP地址:198.9.146.131 子网掩码:255.255.255.0 网关:198.9.146.254 DNS:198.9.9.1 198.9.9.2 首先编辑/etc/netw ...

  10. 读书笔记 effective c++ Item 31 把文件之间的编译依赖降到最低

    1. 牵一发而动全身 现在开始进入你的C++程序,你对你的类实现做了一个很小的改动.注意,不是接口,只是实现:一个私有的stuff.然后你需要rebuild你的程序,计算着这个build应该几秒钟就足 ...