SOA——面向服务的体系架构

上一篇博文中提到了“紧耦合”的现象,如何解决?SOA,采用面向服务的体系架构。

一、What?

SOA=Service-oriented Architecture面向服务的体系结构

SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

我个人更加倾向于这样的一种解释:SOA是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。

所以,SOA是什么?SOA不是一种语言,也不是一种具体的技术而是一种软件系统架构。

二、How?

SOA的最主要的应用场合在于解决在Internet环境下的不同商业应用之间的业务集成问题。

SOA的3个基本特征:独立的功能实体,大数据量低频率访问,基于文本的消息传递。

1.独立的功能实体:SOA非常强调架构中提供服务的功能实体的完全独立自主的能力。SOA架构中非常强调实体自我管理和恢复能力。常见的用来进行自我恢复的技术,比如事务处理(Transaction),消息队列(MessageQueue),冗余部署(Redundant
Deployment)和集群系统(Cluster)在SOA中都起到至关重要的作用。SOA在这一点上大大提高了软件的稳定性,尤其是基于Internet之上的。

2.大数据量低频率访问:在Internet的环境下,通过客户端和服务器来回很多次函数调用给系统的响应速度和稳定性带来的很大的影响,而且往往这些因素是决定整个系统是否能正常工作的一个关键决定因素。因此SOA系统推荐采用大数据量的方式一次性进行信息交换。

3.基于文本的消息传递:在Internet环境下,不同语言,不同平台对数据、甚至是一些基本数据类型定义不同,给不同的服务之间传递对象带来的很大困难。由于基于文本的消息本身是不包含任何处理逻辑和数据类型的,因此服务间只传递文本,对数据的处理依赖于接收端的方式可以帮忙绕过兼容性这个的大泥坑。

此外,对于一个服务来说,Internet与局域网最大的一个区别就是在Internet上的版本管理极其困难,传统软件采用的升级方式在这种松散的分布式环境中几乎无法进行。采用基于文本的消息传递方式,数据处理端可以只选择性的处理自己理解的那部分数据,而忽略其它的数据,从而得到的非常理想的兼容性。

三、Why?

IT企业的现状:不同种类的操作系统,应用软件,系统软件和应用基础结构(applicationinfrastructure)相互交织。

对SOA的需要来源于需要使业务IT系统变得更加灵活,以适应业务中的改变。通过允许强定义的关系和依然灵活的特定实现,IT系统既可以利用现有系统的功能,又可以准备在以后做一些改变来满足它们之间交互的需要。

SOA凭借其松耦合的特性,使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有的或已有的应用作为服务,从而保护了现有的IT基础建设投资。

四、SO VS OO

说到这里,可能有人会想到面向对象。而且面向服务和面向对象看起来都差不多啊,都能够解决紧耦合的问题,so,我将会在下一篇博文中,与大家分享面向对象与面向服务的关系,期待与大家的交流!

SOA——面向服务的体系架构,布布扣,bubuko.com

时间: 2024-10-17 10:06:12

SOA——面向服务的体系架构的相关文章

面向服务的体系架构(SOA)—架构篇

面向服务的体系架构(SOA)-架构篇 1.面向服务的体系架构(SOA) 面向服务的架构(service-oriented architecture)是Gartner于2O世纪9O年代中期提出的面向服务架构的概念.2002年的l2月,Gartner提出"面向服务的架构(SOA)"是"现代应用开发领域最重要的课题"之后.国内外计算机专家.学者掀起了对SOA的积极研究与探索. 在分布式的环境中,将各种功能都以服务的形式提供给最终用户或者其他服务.如今,企业级应用的开发都采

面向服务的体系架构SOA

面向服务的体系架构SOA 序言 在.Net的世界中,一提及SOA,大家想到的应该是Web Service,WCF,还有人或许也会在.NET MVC中的Web API上做上标记,然后泛泛其谈! 的确,微软的这些技术也确实推动着面向服务的世界发展,当然除了微软还有很多面向服务的开源技术,甚至在某些方面比微软做的更加优秀.那么什么是面向服务,面向服务的存在是为了解决什么问题呢? 说说SOA面向服务 SOA是由Garnter在1996年提出的一个概念,旨在让软件变的有弹性,能够迅速响应业务的需求,实现实

学习~SOA面向服务框架

SOA面向服务架构 首先Martin Fowler提出SOA歧义Service Oriented Ambiguity,认为"什么是SOA"是不可能回答,因为不同的人意味着不同的事情,SOA意味服务接口,意味流程整合,意味资源再利用,意味着管制,在下面SOA组件图中,服务和服务消费者(客户端)之间存在多个约束,当一个服务显式暴露后,客户端能够通过绑定定位到该服务,相当于两者签订了合同,规定了合同内容和如何实施,具体合同的描述是通过消息方式进行: 由于Java等传统语言主要是以类表达对象,

SOA面向服务的架构理解

?  单一应用架构 ·当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本. ?  垂直应用架构 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率. ?  分布式服务架构 ·当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求. ?  流动计算架构 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问

SOA面向服务架构简述

如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 在上篇中我们简单谈了下架构设计中服务层的简单理解,在这里我们将继续服务层的架构,在本节我们将重点在于分布式服务.在分布式系统中表现层和业务逻辑层 并不处于同一物理部署,所以我们必须存在分布式服务,以契约方式发布于网络中,我们的关注点在于服务,面向服务编程,这种通过组合业务逻辑暴露可用服务的架构叫做面向服务架构(SOA). SOA强调一个松耦合,基于宏服务的架构,通过契约暴露给服务消费者可用的

为什么说社会形态影响着SOA面向服务架构思想?

产品将面对的社会形态 新研发的平台产品所面临的问题是:面对激烈的商业竞争形势,使大多数企业都面临着增长业绩.提高生产率和降低成本的压力,而产业的趋势是业务方法不断变化,特别表现在企业重构和解构这两个特征上. 企业重构:传统上的企业管理是一种层次化的垂直结构,打造了一个具有固定业务.确定交互.执行高效的模式.但是当竞争形势和市场需求发生变化的时候,它就与动态业务的趋势相冲突,阻碍了快速反应时间.这种外部压力迫使企业重新定位,向水平集成的业务流改变,这就形成了企业重构的趋势. 产业解构:在企业重构中

SOA 面向服务的架构

定义 面向服务的架构(SOA,Service-Oriented Architecture)是一个组件“模式” (或 “思想”,它不是一种“技术”),它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台.操作系统和编程语言.这使得构件在各种各样的系统中的服务可以以一种统一和通用的方式进行交互. SOA vs Web服务 在理解SOA和Web服务的关系上,经常发生混淆.根据2003年4月的Gar

聊聊SOA 面向服务的体系结构

什么是SOA SOA(Service-Oriented Architecture),即面向服务的架构.SOA是一种粗粒度.松耦合服务架构,服务之间通过简单.精确定义接口进行通讯,不涉及底层编程接口和通讯模型. SOA可以看作是B/S模型.XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸. 阿里巴巴的Dubbo是SOA的典型实现. 基本特征 SOA的实施具有几个鲜明的基本特征:粗粒度的服务接口分级松散耦合可重用的服务服务接口设计管理标准化的服务接口支持各种消息模式精确定义

Software-Think SOA 面向服务架构思想

SOA 四项信条 边界明确 服务自治 服务共享数据模式和契约而不是类 基于策略确定服务兼容性 在大规模分布式应用程序(如 SOA系统)领域中,相关联得涉及模式被称为 Messagign 消息传送模式. Messaging 模式(与设计模式类似)为复杂问题提供标准得解决方案. 以一种统一得形式解决在众多彼此分离得系统中共享数据得问题. Document Message 模式使得能够采用一种统一.灵活得方法与服务通信. 该模式并不使用典型得 RPC 风格得参数化方法来暴露服务API,而是采用消息对象