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