Web服务

✍ dations ◷ 2025-07-13 13:51:44 #Web服务

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。

考虑到并没某个独立文档包含一切相关内容,可采用模块化的方式给出对Web服务的描述,但不能给出一个“绝对全面和准确”的定义。受外部环境和实现技术影响,各方给出的核心定义可能稍有出入,但通常包括:

这些标准由这些组织制订:W3C负责XML、SOAP及WSDL;OASIS负责UDDI。

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

为扩展WEB服务能力,一些新的标准已经或正在被开发。这些标准通常被冠以WS字头(Web Service的简称),以下是一个WS系列追加标准的不完全列表:

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

Web服务实际上是一组工具,并有多种不同的方法调用之。三种最普遍的手段是:远程过程调用(RPC),服务导向架构(SOA)以及表述性状态转移(REST)。

Web服务提供一个分布式函数或方法接口供用户调用,这是一种比较传统的方式。通常,在WSDL中对RPC接口进行定义(类似于早期的XML-RPC)。

尽管最初的Web服务广泛采用RPC方式部署,但针对其过于紧密之耦合性的批评声也随之不断。这是因为RPC式WEB服务实质上是利用一个简单的映射,以把用户请求直接转化成为一个特定语言编写的函数或方法。如今,多数服务提供商认定此种方式在未来将难有作为,在他们的推动下,WS-I基本协议集(WS-I Basic Profile)已不再支持远程过程调用。

现在,业界比较关注的是遵从服务导向架构(Service-oriented architecture,SOA)概念来构筑WEB服务。在服务导向架构中,通讯由消息驱动,而不再是某个动作(方法调用)。这种WEB服务也被称作面向消息的服务。

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

表述性状态转移式(Representational state transfer,REST)Web服务类似于HTTP或其他类似协议,它们把接口限定在一组广为人知的标准动作中(比如HTTP的GET、PUT、DELETE)以供调用。此类WEB服务关注与那些稳定的资源的互动,而不是消息或动作。

此种服务可以通过WSDL来描述SOAP消息内容,通过HTTP限定动作接口;或者完全在SOAP中对动作进行抽象。

一些人抱怨,Web服务(具象化状态转移式除外)过于复杂,认为它太过于偏重那些大型软件开发商,而不利于开源项目。但是至今不少开发工具已经具备自动化产生具象物件,已经减少web服务的调用难度。例如Microsoft Visual Studio、Eclipse等等集成开发环境(IDE)工具。使用者只需要专注于调用与实行。


Web服务的性能也时常是人们关注的一个问题。由于使用XML作为消息格式,并以SOAP封装,由HTTP传输,Web服务始终处于较高的开销状态。不过目前一些新兴技术正在试图解决此一问题,诸如新的XML处理模型致力于解决XML这一部分的性能。

无论是在Web服务出现以前,还是现在,一直不断有各种同类技术问世。比如,RMI作为这样一种中间件系统就得到了广泛部署。CORBA和DCOM则更加雄心壮志,两者都尝试将作用域波及到分布式对象,这一点也为Web服务所模仿。

这些类似方式往往借助于XML-RPC和HTTP本身,而不依靠SOAP封装参数。

相关

  • 类固醇激素甾体激素(英语:Steroid hormone、又称甾体激素),是一类四环脂肪烃化合物,具有环戊烷多氢菲母核。类固醇激素是作为激素的类固醇。 这些包括性腺的性激素和肾上腺皮质的皮质类固醇
  • 毛细现象毛细现象(又称毛细管作用)是指液体在细管状物体内侧,由液体与物体之间的附着力和因内聚力而产生的表面张力组合而成,令液体在不需施加外力的情况下,流向细管状物体的现象,该现象甚
  • 表面改性技术表面改性技术(Surface modification)是仅对材料的表面进行处理的技术,如渗碳(或渗氮)、喷丸、激光处理、离子注入、表面涂层法、阳极氧化、化学气相沉积、物理气相沉积等等。
  • 巴黎综合症巴黎综合征(英语:Paris Syndrome)是日本人在法国巴黎工作或度假时发生的一种精神紊乱状态。普世认为有礼貌的日本人因为对巴黎存有过高的期望,而在实际接触巴黎这个城市或是巴黎
  • 王贻芳王贻芳(1963年2月20日-),籍贯江苏南通,出生于江苏南京,中国物理学家,现任中国科学院高能物理研究所所长、研究员。籍贯江苏南通,1963年出生于江苏南京,南京四中毕业后进入南京大学物
  • 恩格斯弗里德里希·恩格斯(德语:Friedrich Engels;1820年11月28日-1895年8月5日),德国哲学家,马克思主义的创始人之一。恩格斯是卡尔·马克思的挚友,被誉为“第二提琴手”,他为马克思创立马
  • 投充投充(满语:ᡤᡡᠰᠠᡩᡝ ᡩᠣᠰᡳᡴᠠ ᡳᡵᡤᡝᠨ ᡳ ᡠᠰᡳᠨ,穆麟德:gūsade dosika irgen i usin),是指清兵入关后,一度允许八旗官兵抢掠汉人百姓,并以之为奴隶的政令,学者纪连海
  • 地方公共团体编号全国地方公共团体编号(日语:全国地方公共団体コード)是日本地方公共团体(都道府县、市町村、特别区、行政区、一部事务组合等)的5-6位数编码。又名JIS地名编号、地方自治体编号、
  • 尼尔群岛尼尔群岛(英语:Near Islands,阿留申语:Sasignan tanangin)是阿留申群岛中最西方的群岛,位于阿拉斯加西南。尼尔群岛中最大的岛屿是阿图岛和阿加图岛;在两岛之间的海峡有数个礁岩。
  • 叠氮酸叠氮酸,分子式HN3,在常温常压下为一种无色、具挥发性、有刺激臭、高爆炸性的液体。是拟卤化氢的一种。叠氮酸主要用于保存贮存溶液(stock solution),以及作为一种试剂。叠氮酸在1