新平台

Web service平台需要一套协议来实现分布式应用程序的创建。Web service平台必须提供一套标准
的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。
在传统的分布式系统中,基于界面(interface)的平台提供了一些方法来描述界面、方法和参数
(译注:如COM和COBAR中的IDL语言)。同样的,Web service平台也必
须提供一种标准来描述Web service,让客户可以得到足够的信息来调用这个Web service。
最后,我们还必须有一种方法来对这个Web service进行远程调用。
这种方法实际是一种远程过程调用协议(RPC)。为了达到互操作性,
这种RPC协议还必须与平台和编程语言无关。下面几个小节就简要介绍了组成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类型。
你用的工具可能已经自动帮你完成了这个转换,但你很可能会根据你的需要修改一下转换过程

Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,
可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、
协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、
专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。
Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,
诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。
Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
Web Services 拥有三种基本的元素。
它们是:SOAP、WSDL 以及 UDDI。

SOAP

SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML
(标准通用标记语言下的一个子集)编码信息的轻量级协议。
它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,
将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。
SOAP可以运行在任何其他传输协议上。例如,你可以使用 SMTP,
即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,
但XML有效负载保持相同。
Web Service 希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用
,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。
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描述语言WSDL 就是用机器能阅读的方式提供的一个正式描述文档而基于XML
(标准通用标记语言下的一个子集)的语言,用于描述Web Service及其函数、
参数和返回值。因为是基于XML的,所以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

UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、
为Web Service提供的、信息注册中心的实现标准规范,
同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。


调用RPC与消息传递

Web Service本身其实是在实现应用程序间的通信。我们有两种应用程序通信的方法:
RPC远程过程调用 和消息传递。使用RPC的时候,客户端的概念是调用服务器上的远程过程
,通常方式为实例化一个远程对象并调用其方法和属性。RPC系统试图达到一种位置上的透明性:
服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,
这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。

1.WebServices 简介相关推荐

  1. WebServices 简介

    先给出一个概念 SOA ,即 Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含了运行环境,编程模型, 架 ...

  2. WebServices介绍

    WebServices简介 先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含 ...

  3. 什么是WebServices

    1. WebServices简介 1.1.1 什么是WebServicesWebServices是应用程序组件WebServices使用开放协议进行通信WebServices是独立并可以自我描述Web ...

  4. 彻底理解webservice SOAP WSDL

    WebServices简介 先给出一个概念 SOA ,即Service Oriented Architecture ,中文一般理解为面向服务的架构, 既然说是一种架构的话,所以一般认为 SOA 是包含 ...

  5. WebService三大基本元素 SOAP WSDL UDDI

    转自:https://blog.csdn.net/hhooong/article/details/51763128 1.SOAP 即 Simple Object AccessProtocol 也就是简 ...

  6. Android通过ksoap2这个框架调用webservice大讲堂

    昨天有人问我Android怎么连接mysql数据库,和对数据库的操作呀,我想把,给他说说json通信,可是他并不知道怎么弄,哎算了吧,直接叫他用ksoap吧,给他说了大半天,好多零碎的知识,看来还是有 ...

  7. Android通过ksoap2这个框架调用webservice

    WebServices简介 Web services是一种部署在Web上的对象或者组件,能够通过Internet进行调用的应用程序.Web services 建立在以XML为主的开放的web规范技术基 ...

  8. 通过webservice实现天气预报

    1. WebServices简介 1.1什么是WebServices  WebServices是应用程序组件       WebServices使用开放协议进行通信       WebServices ...

  9. XML与Webservices相关的安全问题概述

    与基于Internet技术实现人与人通信(e-mail)和人与应用程序(Web页)的通信方式很相似,XML和Web services从根本上改变了应用程序之间的通信方式.他们使应用程序之间的通信更加有 ...

  10. Dubbo3 Triple 协议简介与选型思考

    Dubbo3 提供了 Triple(Dubbo3).Dubbo2 协议,这是 Dubbo 框架的原生协议.除此之外,Dubbo3 也对众多第三方协议进行了集成,并将它们纳入 Dubbo 的编程与服务治 ...

最新文章

  1. 记一次大规模数据迁移和加密
  2. poj2528贴海报(线段树离散化)
  3. d3.js——比例尺的使用
  4. 设置Golang的GOPATH
  5. 【约束布局】ConstraintLayout 之 Chains 链式约束 ( Chains 简介 | 代码 及 布局分析 | 链头设置 | 间距设置 | 风格设置 | 权重设置 )
  6. Linux root用户忘记密码解决方法
  7. 【eclipse】配置author和commiter,git配置user.name和user.email
  8. python调用函数示例_python 动态调用函数实例解析
  9. 在安卓上安装java_如何在Android上安装JavaCV并使用FrameGrabber
  10. 如何在不到1ms的延迟内完成100K TPS
  11. 查询笔记 分组与聚合 0314 1207
  12. 解决chrome/Edge提示您的连接不是私密连接的方法
  13. C语言的数据类型→浮点型数据
  14. ffmpeg 从内存中读取数据(或将数据输出到内存)
  15. hibernate运行很慢?查一张只有几条记录的表都要一俩分钟?[问题记录]
  16. ⚡自组织映射(SOM)神经网络⚡Python实现 |Python技能树征题
  17. SketchUp Pro 2022草图大师27个最常用的快捷键(含PC和Mac)
  18. android 去掉google搜索,Android 7.1 去掉桌面上的谷歌搜索框
  19. 浏览器中performance的基本使用
  20. 7 爬虫 CrawlSpider类 增量式爬虫 分布式爬虫 生产者消费者模式

热门文章

  1. jQuery Callback 方法
  2. SQLServer表字段默认值相关信息的获取方法
  3. C# 如何遍历删除某个控件上的所有子控件
  4. Google是如何设定目标并测量成功的
  5. 再次翻看WCF的书籍
  6. Excel不好吗?为什么非要用Python做数据分析
  7. python+Selenium之操作滚动条
  8. jmeter笔记02
  9. thinkphp中AJAX返回ajaxReturn()方法分析
  10. Python自省 type(),dir(),getattr(),hasattr(),isinstance().