面向服务体系结构漫谈).docx
《面向服务体系结构漫谈).docx》由会员分享,可在线阅读,更多相关《面向服务体系结构漫谈).docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面对服务体系结构(SOA)漫谈摘要:本文简洁的对于面对服务体系结构(SOA)进行了介绍,并且对SOA的特点进行 了整理,以及对SOA的将来做了展望。-SOA定义SOA是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独 立功能实体实现的一种软件系统架构。从这个定义中我盼望表达的前提有下面两点:1)软件系统架构:SOA不是一种语言,也不是一种具体的技术而是一种软件系统架 构,它尝试给出在特定环境下推举采纳的一种架构,从这个角度上来说,它更像一种模式 (Pattern)0因此它与很多已有的软件技术比如面对对象技术,是互补的而非互斥的。它们 分别面对不同的应用场景,用来满意
2、不同的特定需求。2) SOA的使用范围:需求打算同时也限制功能。SOA并不是包治百病的万灵丹,它 最主要的应用场合在于解决在Internet环境下的不同商业应用之间的业务集成问题。在 下面我们会具体争论Internet的各种特点如何打算SOA的特点,这里我们只需要先简洁 回顾一下Internet环境区分于Intranet环境的几个特点:a)大量异构系统并存,计算机硬件工作方式不同,操作系统不同、编程语言也不同;b)大量、频繁的数据传输仍旧速度缓慢并且不稳定;c)版本升级无法完成,我们根本就无法知道互联网上有哪些机器直接或者间接的使用某个服务。前看来大多数软件的功能最终将作为服务来交付和使用。当
3、然,它们可以实现为紧密 耦合的系统,但从门户、设施以及其它终端使用的观点看,它们将使用一种面对服务的接 口。我们已经留意到有人提出体系架构师和设计者应当谨慎避开将全部功能都作为服务。 我们认为这是不正确和不适当的。假如有了成熟的Web服务合同和技术,再考查是否将 全部功能实现为Web服务是否有效,这可能会更加有效,但这并不会减弱从服务的角度 来设计全部功能的需求。服务是发布的主要构造成分,应当在每一重要的接口中使用。面 对服务的体系结构可以让我们依据相关的服务来管理使用(发送、接收、使用,等等)服 务。这将对我们如何管理软件生命周期产生重大影响-从需求规格说明开头就作为服 务,服务的设计,服务
4、的猎取和外包,以及服务的评估等等。随着时间推移,功能被说明、发布或使用的抽象级别会渐渐越来越高。我们已经经受 了从模块化、对象,到现在的服务的进展过程。然而,在很多方面,SOA的命名还是令 人圆满的。当然,SOA也和体系结构相关,不行能将争论限制在体系结构方面,由于一些 事物,如业务设计和发送过程也是重要的考虑因素。一个更有用的命名方法可能是面对服 务(Service Orientation )或SO。实际上这与面对对象(00 )和基于组件的开发(CBD ) 有很多相像之处:类似于对象和组件,服务代表了自然的建筑单元块,它可以让我们按更熟识的方式来 组织功能。类似于对象和组件,服务是一个功能建
5、筑单元块,它可以组合信息和行为。隐 蔽内部的工作,以防外部入侵。为其它部分供应一个相对简洁的接口。对象使用了抽象数 据类型和数据抽象,服务可以通过方面或上下文环境供应类似级别的适应性。对象和组件 可以依据类或继承行为的服务层次来组织,服务可以单独发布和使用,或者按层次或协作 方式来使用。对于很多组织来说,争论面对服务的体系结构的起点是对Web服务的考虑。 然而Web服务不是内在的面对服务的。一种Web服务只是供应一种符合Web服务合同 的功能。在本文中,我们将要标识一个结构良好的服务所具有的特征,并为系统架构师和设计者供应关于如何交付面对服务的应用程序的指导。基于上面的前提,下面就让我们一起看
6、一下SOA的基本特征。二SOA三大基本特征1独立的功能实体在Internet这样松散的使用环境中,任何访问恳求都有可能出错,因此任何企图通过 Internet进行掌握的结构都会面临严峻的稳定性问题。SOA非常强调架构中供应服务的 功能实体的完全独立自主的力量。传统的组件技术,如.NET Remoting , EJB , COM或者 CORBA ,都需要有一个宿主(Host或者Server)来存放和管理这些功能实体;当这些宿主 运行结束时这些组件的寿命也随之结束。这样当宿主本身或者其它功能部分消失问题的时 候,在该宿主上运行的其它应用服务就会受到影响。SOA架构中特别强调实体自我管理和恢复力量。
7、常见的用来进行自我恢复的技术, 比如事务处理(Transaction),消息队歹I(Message Queue),冗余部署(Redundant Deployment)和集群系统(Cluster)在SOA中都起到至关重要的作用。2大数据量低频率访问对于.NET Remoting , EJB或者XML-RPC这些传统的分布式计算模型而言,他们的 服务供应都是通过函数调用的方式进行的,一个功能的完成往往需要通过客户端和服务器 来回很多次函数调用才能完成。在Intranet的环境下,这些调用给系统的响应速度和稳定 性带来的影响都可以忽视不计,但是在Internet环境下这些因素往往是打算整个系统是否能
8、正常工作的一个关键打算因素。因此SOA系统推举采纳大数据量的方式一次性进行信息 交换。3基于文本的消息传递由于Internet中大量异构系统的存在打算了 SOA系统必需采纳基于文本而非二进制 的消息传递方式。在COM、CORBA这些传统的组件模型中,从服务器端传往客户端的 是一个二进制编码的对象,在客户端通过调用这个对象的方法来完成某些功能旦是在 Internet环境下,不同语言,不同平台对数据、甚至是一些基本数据类型定义不同,给不 同的服务之间传递对象带来的很大困难。由于基于文本的消息本身是不包含任何处理规律 和数据类型的,因此服务间只传递文本,对数据的处理依靠于接收端的方式可以帮忙绕过 兼
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 服务体系 结构 漫谈
限制150内