SOA面向服务的软件架构探讨
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2007年10月
第24卷 第5期枣庄学院学报JOURNAL OF Z AOZHUANG UN I V ERSI TY Oct .2007Vol .24NO.5
S OA 面向服务的软件架构探讨
袁伟1,2
(1.华东师范大学软件学院,上海200062; 2.枣庄学院计算机科学系,山东枣庄277160)
[摘 要]S OA 是一种新型的软件体系架构,本文着重介绍了S OA 的基本特点及其优越性,并对其发展作出展望.
[关键词]S OA;服务;软件架构
[中图分类号]TP311.5 [文献标识码]A [文章编号]1004-7077(2007)05-0070-031 引言
近年来,在软件开发领域,S OA (Service -O riented A rchitecture,面向服务软件架构)成了热门的话题.作为一种新的开发理念和I T 生活方式,S OA 以其固有的松散耦合性与灵活的互操作性,受到众多的软件厂商的青睐,据Gartner 的预测,到2008年,S OA 将成为占有绝对优势的软件工程实践方法,它将结束传统的整体软件体系架构长达40年的统治地位.因此研究和应用基于S OA 架构的企业应用系统已经成为目前一个十分重要的研究课题,具有十分重要的现实意义.
2 S OA 概述
2.1产生背景
伴随着I nternet 的普及应用,信息技术的不断发展,在各行业领域内部出现大量基于网络的大量信息系统,这些系统各司其职,但相互之间往往缺乏很好地协作,易形成许多信息孤岛.此外,现代企业面临巨大的市场压力,需要随时应对不断变化的市场需求,客观上要求应用系统能够快速搭建并实施,做到“随需应变”.并且伴随着电子商务的繁荣发展,跨企业供应链协作需求也日益普及.因此,客观上需要有一种技术能够将构建于不同时期,不同类型的异构系统以及跨企业边界的软件系统进行集成整合.而传统软件架构已经无法满足需求,在这种背景下,S OA 面向服务的软件架构应运而生.基于S OA 架构的应用集成可以减少不同类型的I T 系统的依赖性,降低费用和I T 操作的复杂性;提高已部署系统的灵活性,同时排除了抑制业务创新的障碍.
2.2S OA 的定义
S OA 并不是一个新概念,早在1996年,Gartner Gr oup 就已经提出了S OA 的预言,近年来,随着S OA 的技术实现手段,特别是基于标准的集成技术(如W eb 服务和X ML )不断成熟,S OA 得以迅速风行起来.
所谓的S OA 就是面向服务的体系结构(service -oriented architecture,S OA )是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来.接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言.这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互.
・
07・①[收稿日期]2007-07-01
[作者简介]袁伟(1979-),男,山东枣庄人,枣庄学院计算机科学系助教,华东师范大学软件学院2006级硕士研究生,主要从
事软件工程和多媒体技术研究.
袁伟 S OA面向服务的软件架构探讨
传统的W eb(HT ML/HTTP)技术有效的解决了人与信息系统的交互和沟通问题,极大的促进了B2C模式的发展.W E B服务(X ML/S OAP/W S DL)技术则是要有效的解决信息系统之间的交互和沟通问题,促进B2B/E A I/C B2C的发展.S OA(面向服务的体系架构)则是采用面向服务的商业建模技术和W E B服务技术,实现系统之间的松耦合,实现系统之间的整合与协同.W E B服务和S OA的本质思路在于使得信息系统个体在能够沟通的基础上形成协同工作.
虽然不同的人对S OA有着不同的理解,但是从上述定义中仍然可以看到S OA的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型.S OA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用.服务层是S OA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性.服务(service)是整个S OA实现的核心.除了动态服务发现和服务接口契约的定义之外,面向服务的体系结构还具有以下特征:服务是自包含和模块化的;服务支持互操作性;服务是松散耦合的;服务是位置透明的;服务是由组件组成的组合模块.
2.3S OA的组成
S OA的基本体系架构由以下四部分组成:
2.3.1服务提供者(Service Pr ovider)服务提供者是一个可通过网络寻址的实体,它接受和执行来自消费者的请求.它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可以发现和访问该服务.
2.3.2.注册中心(Register)服务注册中心是一个包含可用服务的网络可寻址的目录,它是接收并存储服务契约的实体,供服务消费者定位服务之用.
2.3.3服务消费者(Service Consu mer)服务消费者可以是一个请求服务的应用、服务或者其它类型的软件模块,它从注册机制中定位其需要的服务,并通过传输机制来绑定该服务,然后通过传递契约规定格式的请求来执行服务功能.
2.3.4服务契约(Contract)服务契约是服务消费者和服务提供者间交互方式的规范,指明了服务请求和响应的格式.
3 S OA的优势
3.1编码灵活性
可基于模块化的低层服务、采用不同组合方式创建高层服务,从而实现重用,这些都体现了编码的灵活性.此外,由于服务使用者不直接访问服务提供者,这种服务实现方式本身也可以灵活使用.
3.2明确开发人员角色
例如,熟悉BES的开发人员可以集中精力在重用访问层,协调层开发人员则无须特别了解BES的实现,而将精力放在解决高价值的业务问题上.
3.3支持多种客户类型
借助精确定义的服务接口和对X ML、W eb服务标准的支持,可以支持多种客户类型,包括P DA、等新型访问渠道.
3.4更易维护
服务提供者和服务使用者的松散耦合关系及对开放标准的采用确保了该特性的实现.
3.5更好的伸缩性
依靠服务设计、开发和部署所采用的架构模型实现伸缩性.服务提供者可以彼此独立调整,以满足服务需求.
3.6更高的可用性
该特性在服务提供者和服务使用者的松散耦合关系上得以体现.使用者无须了解提供者的实现细节,这样服务提供者就可以在W eb Logic集群环境中灵活部署,使用者可以被转接到可用的例程上.
・
・
1
7
枣庄学院学报2007年第5期
4 S OA的技术应用现状及发展展望
S OA在国际市场上反响强烈.自2004年初业界推出S OA后,Bea、I B M、O racle、微软等业界巨头纷纷发布自己的S OA战略,建议用户在进行企业I T建设时考虑S OA.而到2006年,基于S OA架构的中间件产品已经成为网络化商业系统的主要设计思路,70%的商业企业公司考虑使用S OA架构.I D C预测到2007年,包括软件、服务和硬件在内的S OA市场将达到210亿美元,其中商业企业方面的市场将达到120亿美元.由此可见S OA已经成为大势所趋,有着广阔的市场空间和巨大的发展潜力;而在商业企业中的应用,将成为S OA未来发展的一大亮点.
S OA已经引起国内商业企业的高度重视,如今,越来越多的企业用户已清晰地认识到,与以往任何一种I T技术相比,S OA是解决业务问题的最佳途径,并已成为企业I T未来发展的必由之路.I D G最新的研究报告显示,从2005年到2007年,企业范围内部署S OA的比例正在稳步增长,越来越多的中国客户正在把S OA作为下一代企业I T系统的主导架构.S OA已经从概念走进企业的实际应用.企业不再怀疑S OA能带来什么好处,而是开始认真考虑,怎样才能更有效地实施S OA,快速获得部署企业S OA的巨大优势.多数中国企业已经意识到部署S OA的作用和价值,并且对S OA的发展前景抱有信心.在发展S OA的过程中,中国和国外信息化发达国家有着不同的发展机遇和条件.大多数美国企业已经具备完善的应用系统,S OA的实施需要对已有系统中的功能进行提取和包装,形成标准的服务,而非用高成本的标准方法全新构造服务.而在中国企业,I T建设正由生产系统转向营销服务系统,因此大量的服务需要全新构造才是中国S OA的主要任务.根据Gartner公布的数据,伴随着该体系被越来越多厂商所采用和认可,S OA将成为创建和交付软件的主导框架,而未来应用软件收入增长的80%将来自基于S OA的产品.在这种大趋势下,W ebs phere、W ebl ogic或.NET等主要平台运行的系列复合应用将占据支配地位.
S OA是软件业的一次革命,S OA是中国I T软件行业的一个重要机会,也可能是未来20年里的唯一机会.S OA逐渐走向成熟应用,在2007年,其重点将径直向着应用的方向发展.尽管S OA被纷纷看好,而且也有部分的成功,案例推出、相关产品问世,但是S OA作为一个具有发展前景的应用系统架构,尚存在许多有待改进的地方,例如在可靠性、安全性、编制、遗留系统支持和语义方面均还存在严重不足.以可靠性为例,在不可否认性、消息一定会被传送且仅传送一次以及事务撤回等问题上,S OA还没有做好准备.
参考文献
[1]杜攀,徐进.S OA体系下细粒度组件服务整合的探讨[J].计算机应用,2006,(3):188-191.
[2]王恩德.构造S OA实现架构变迁[J].软件世界,2006,(5):61-63.
D iscussi on on Serv i ce O r i en ted Arch itecture
Y UAN W ei1,2
(1.Soft w are Engineering I nstitute,China East Nor mal University,Shanghai200062,China;
2.Co mputer Science Depart m ent,Zaozhuang University,Zaozhuang277160,China)
Abstract:Service O riented A rchitecture(S OA)is one of the ne w s oft w are architectures.This paper intr o2 duce the concep t and feature of S OA and give s ome deep research fields in the future.
Key words:S OA;service;architecture
・
・
2
7。