SOA简介

来源:互联网 发布:白金数据双语百度网盘 编辑:程序博客网 时间:2024/05/29 13:50
SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署,组合和使用.服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性.
SOA
的关键是"服务"的概念,W3C将服务定义为:"服务提供者完成一组工作,为服务使用者交付所需的最终结果.最终就构通常会使使用者的状态发生变化,但也可能使提供者的状态发生变化,或者双方都产生变化".
Service-architecture.com
SOA定义为:"本质上是服务的集合.服务间彼此通信,这种通信可能是简单的数据传送, 可能是两个或更多的服务协调进行某种活动.服务间需要某些方法进行连接.所谓服务就是精确定义,封装完善,独立于其他服务所处环境和状态的函数".
Looselycoupled.com
SOA定义为:"按需连接资源的系统.SOA,资源被作为可通过标准方法访问的独立服务,提供给网络中的其他成员.与传统的系统结构相比,SOA规定了资源间更为灵活的松散耦合关系."
Gartner
则将SOA描述为:"客户端/服务器的软件设计方法,一项应用由软件服务和软件服务使用者组成.....SOA与大多数通用的客户端/服务器模型的不同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口."
Gartner
相信BPM(Business Process Management)SOA的结合对所有类型的应用集成都大有助益-"SOA极大的得益于BPM技术和方法论,但是SOA面临的真正问题是确立正确的 企业意识,:强化战略性的SOA计划(针对供应和应用)并鼓励重用."
从上述定义中我们可以看到SOA的几个关键特性:一种粗粒度,松耦合服务架构,服务之间通过简单,精确定义接口进行通讯,不涉及底层编程接口和通讯模型.

SOA
并不是一种现成的技术,而是一种架构和组织IT基础结构及业务功能的方法.SOA是一种在计算环境中设计,开发,部署和管理离散逻辑单元(服务)的模型.
SOA
要求开发人员将应用设计为服务的集合.SOA要求开发人员跳出应用本身进行思考,考虑现有服务的重用,或思索他们的服务如何能够被其他项 目重用."单独的","独立的","封装完善的"服务所具有的一个关键好处是,可以采用多种不同的方法将它们组合成较大型的服务,以此来实现重用.
但是,SOA并不仅仅是一种开发方法---它还具有管理上的优点.例如,现有管理员和直接管理开发人员所构建的相同服务,这远胜于以往管理单个 应用的方式.通过分析服务间的交互,SOA可以帮助企业了解何时以及为什么业务逻辑被切实执行了,这使管理员或分析师能够针对性的优化业务流程.