信息化 频道

如何深入浅出理解SOA?

【IT168 信息化】

简介 

    最早在1996年, Gartner就提出了SOA的概念,为SOA描述的远景目标是:在于让IT变得更有弹性,以更快地响应业务单位的需求,实现实时企业(Real-Time Enterprise)。后来在IBM、BEA等IT巨头的推动下,各种技术逐渐完备。截止到目前为止,业界还没有一个统一的SOA定义。SOA是一种软件系统架构,其通过松耦合的方式,将各个组件的不同功能单元——服务(Service)——连接起来。SOA的核心是服务(Service),与服务相关的实体还有服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约等。

    W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。

    服务代理者(Services Broker)是一个服务存储库,它允许服务提供者发布服务到该服务存储库上并使服务请求者能够找到这些服务。服务发布者(Services Provider)提供符合契约(Contract)的服务,并将这些服务发布到服务代理者(Services Broker)。服务请求者(Services Consumer),也被称为服务消费者,通过查找服务代理者(Services Broker)中的服务,找到想要的服务。

    服务本身是无状态(Stateless)的,可以有一到多个组件(Component)组成。服务的表现形式可以是多种多样的,既可以嵌入到页面响应服务请求,也可以作为一个服务接口用来被调用。服务的实现没有技术限制,可以是用各种语言来实现。具体如图01-01所示:
 

IBM在其developerWorks上这么定义SOA:“面向服务的体系结构(Service-Oriented Architecture,SOA)是一种 IT 体系结构风格,支持将您的业务转换为一组相互链接的服务或可重复业务任务,可在需要时通过网络访问这些服务和任务。这个网络可以是本地网络、 Internet,也可以分散于各地且采用不同的技术,通过对来自纽约、伦敦和中国香港的服务进行组合,可让最终用户感觉似乎这些服务就安装在本地桌面上一样。可以对这些服务进行结合,以完成特定的业务任务,从而让您的业务快速适应不断变化的客观条件和需求” 。

面向服务的架构(Service-OrientedArchitecture,SOA)是一种IT术语,不是一种商业术语,这使得很多人难以理解SOA的概念。本文尝试结合日常生活中的例子来形象的阐述什么是SOA,使大家对SOA有一个全面的认识,从而在整个企业级(而不是企业中的一个或多个部门)构建灵活、可重用的系统。
 

0
相关文章