WebService学习

1.      定义

Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互相调用。对一个系统来说,WebService就是这个系统的对外的接口,其他系统通过这个接口进行接入访问。

2.      核心技术

  1. XML:描述数据的标准方法.

  2. SOAP:简单对象访问协议.

  3. WSDL:Web服务描述语言.

  4. UDDI(Universal Description, Discovery and Integration):通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议.

Web Service好比一个服务供应商,给其他厂家提供基础服务,其他厂家再将这个服务包装成自己的产品或者服务提供给别人或自己使用。有点像OEM了。既然两个公司需要合作,不可能靠一句话就可以的,就需要一些标准和规范的东西来实现。那么:

SOAP 就像两个公司之间签的合同,约束双方按一定规矩和标准办事。

WSDL 则像说明书,告诉别人你有什么,能给别人提供什么服务。

UDDI 好比你的公司需要在黄页或工商注册,企业的主营业务登记,方便别人查询。当然,你也可以不在 UDDI 中注册,就像在地下室开展业务,靠的是口头吆喝;但是如果你希望拓展市场,则需要 UDDI 以便能被客户发现,更方便地找到你。

3.      实现方式

  1)   远程过程调用(RPC)

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

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

  2)   面向服务架构(SOA)

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

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

  3)   表述性状态转移(REST)

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

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

你可能感兴趣的:(webservice)