北极星

搜索历史清空

  • 水处理
您的位置:电网信息化云计算综合正文

SOA特征简介与Web扩展服务的前景展望[1]

2008-08-04 18:38来源:希赛关键词:SOAWeb收藏点赞

投稿

我要投稿
  什么是面向服务的体系结构(SOA)?

  面向服务的体系结构(SOA)表示您可以如何使用Web服务的大图景。Web服务规范定义了实现服务以及与它们的交互所需要的细节。然而,面向服务的体系结构(SOA)是一种用于构建分布式系统的方法,采用SOA这种方法构建的分布式应用程序可以将功能作为服务交付给终端用户,也可以构建其他的服务。面向服务的体系结构(SOA)可以基于Web服务,但是它可能改为使用其他的技术来代替。在使用面向服务的体系结构(SOA)设计分布式应用程序时,您可以将Web服务的使用从简单的客户端-服务器模型扩展成任意复杂的系统。
  因而,单个的软件资产成为开发其他应用程序的基本构件。您可以通过与新的代码和遗留代码一起使用的共同交互方式来减少系统的复杂性(CBDi的LawrenceWilkes开玩笑说,面向服务的体系结构(SOA)可以代表“节省我们的资产(SaveOurAssets)”)。有一种标准的方法可以用于表示这些软件资产和与它们交互;现在人们关注的重点已经转移到基于这些构件的应用程序装配上来了。

  虽然在这里讨论的是用于业务应用程序的面向服务的体系结构(SOA),但是面向服务的体系结构(SOA)同样也可以用于其他的分布式系统,比如网格计算和高级Web服务规范(例如,Web服务分布式管理(WS-DistributedManagement)、Web服务信任(WS-Trust)以及UDDI)。

  什么是服务?

  在面向服务的体系结构(SOA)中,服务(service)是封装成用于业务流程的可重用组件的应用程序函数。它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转变。用于实现特定服务的流程并不重要,只要它响应您的命令并为您的请求提供高质量的服务就可以了。

  通过定义的通信协议,可以调用服务来强调互操作性和位置透明性。一个服务表现为一个软件组件,因为从服务请求者的角度来看,它看起来就像是一个自包含的函数。然而,实际上,服务的实现可能包括在一个企业内部的不同计算机上或者许多业务合作伙伴拥有的计算机上执行的很多步骤。就封装的软件而言,服务可能是一个组件,也可能不是一个组件。如同类对象,请求者应用程序能够将服务看作是一个整体。

  Web服务是以使用SOAP消息(它是用像HTTP这样的标准协议上的WSDL来描述的)的调用为基础的。使用Web服务的最佳实践就是与外部的业务伙伴通信。

  松耦合

  服务请求者到服务提供者的绑定与服务之间应该是松耦合的。这就意味着,服务请求者不知道提供者实现的技术细节,比如程序设计语言、部署平台,等等。服务请求者往往通过消息调用操作——请求消息和响应——而不是通过使用API和文件格式。

  这个松耦合使会话一端的软件可以在不影响另一端的情况下发生改变,前提是消息模式保持不变。在一个极端的情况下,服务提供者可以将以前基于遗留代码(例如,COBOL)的实现完全用基于Java语言的新代码取代,同时又不对服务请求者造成任何影响。这种情况是真实的,只要新代码支持相同的消息模式。

  明确定义的接口

  服务交互必须是明确定义的。Web服务描述语言(WebservicesDescriptionLanguage,WSDL)是受到广泛支持的方法,用于描述服务请求者所要求的绑定到服务提供者的细节。服务描述的重点在于与下面几部分交互所用的操作:

  服务

  调用操作的消息


  构造这种消息的细节


  关于向何处发送用于构造这种消息的处理细节的消息的信息

[1][2]

投稿与新闻线索:陈女士 微信/手机:13693626116 邮箱:chenchen#bjxmail.com(请将#改成@)

特别声明:北极星转载其他网站内容,出于传递更多信息而非盈利之目的,同时并不代表赞成其观点或证实其描述,内容仅供参考。版权归原作者所有,若有侵权,请联系我们删除。

凡来源注明北极星*网的内容为北极星原创,转载需获授权。