SOA炙手可热 正确判断先行
SOA炙手可热 正确判断先行
SOA(Service Oriented Architecture,面向服务的架构)是构建应用程序和系统的一种新的方法与模型。它的出现,是客观需求与技术发展的必然产物。随着网络日趋普及化,用户越来越迫切需要将现有多个应用系统集成,以实现更强的信息处理功能,而通常不同的服务是由不同IT系统支撑的,用户则需要以非高昂的成本就能集成各个不同的支撑系统;面向对象和构件架构的基础理论与技术渐臻成熟,发展到统一建模语言并提供建模工具,同时中间件集群理论亦显成熟,产生了中间件Inter Bus技术;浏览器技术的普及且己成行业标准,由此而奠定了SOA的基础理论和技术规范,可以说SOA是应运而生、春华秋实的硕果。 SOA最早是Gartner于是1996年提出的,后又认为SOA是“现代应用开发领域最重要的课题”,还预计若干年后它将成为占有绝对优势的软件工程实践方法。近几年来在BEA、IBM等各大厂商通过媒体报道、学术会议等各种渠道的推广下,SOA为我们描述了如下动人的场景:它可以充分利用现有的组织资产,包装提供实体功能服务来获取更多价值,而不必重新从头构建;它可有效利用现有的构件和服务更快地整合现实系统,开发新的业务服务,减少企业或其他组织的成本投入;它更易于集成和驾驭管理复杂性,将基础设施和实现发生的改变所带来的不良影响降到最低限度;它的业务流程是由一系列业务服务组成,并通过松散耦合方式而公开,使企业和组织可根据业务要求简便地使用与组合服务,同时可更轻松地创建、修改和管理它以满足不同时期的需要。 SOA的炙手可热不仅是推广中的描述,而且也是实在的好处,以至让从事信息化的人们都热血沸腾,跃跃欲试,不少企业、组织已开始了SOA之旅。一份Gartner出具的资料表明,从2003年开始SOA软件需求以20%的比率急剧增长;到2006年,在全球销售出的所有商业应用软件产品中,SOA所占的比例将超过 80% 。但作为企业、组织的决策层,在SOA热潮涌动而来时还需冷静面对,因为要将现有的IT架构转变到SOA架构,除了要有资金、时间以及抗风险等胆识、勇气方面的心理准备外,还更应以理智和慧眼去先行判断到底需不需要及何时需要起程SOA之旅。 就像世界上没有两片相同的树叶一样,每个企业或组织的IT系统都是独特的。SOA若是金针药石,也不一定就是包治百病的灵丹妙药,能够适合所有的企业和组织。此外,还有一个不容忽视的问题是,人们往往是把注意力集中于“面向服务”,而不是“架构”,然而能够使SOA实现价值的,正是其架构和规则。如果不注重于打好坚实架构和治理的基础,实现SOA基本上就是在浪费时间。因此,作为SOA的潜在用户,你首先要有清醒的认识和正确的判断来权衡自己的IT系统是否适合SOA。 有业内人士指出,SOA是一种拥有很多大小不同、功能各异的应用组件的软件架构,它可以根据需求通过网络对各种应用组件进行分布式部署、组合和使用,从而满足用户统一服务界面、快速部署新业务等需求。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。由此可见,在异构的系统妨碍企业或组织为客户提供整合服务时,SOA才能更好地发挥优势。而对于某些企业和组织来说,IT系统若没有这样的问题,实施SOA的优势就会受随之而来的负面影响而打折扣。
就下列应用程序而言,SOA可能不是被推荐的架构:(1)不需要组件或者应用集成的、独立的、非分布式的应用程序;(2)有限作用域的或者短命的应用程序;(3)需要单向异步通信的、同时不需要且不希望松散耦合的应用程序;(4)同构应用程序环境;(5)需要丰富的、基于GUI功能的应用程序。如对于一些企业来说,采用了单一厂商的技术和产品,拥有同构的IT环境,实施SOA就不显得那么急迫了。实时或被动系统也不是实施SOA的最佳选择,因为SOA依赖异步通信模式实现服务提供者与服务消费者之间的松耦合,对大量并发的实时系统并不支持。当然,对不同企业来说,实时的内涵并不相同,应具体问题具体分析,对SOA也就有不同的判断。同时,当企业需要通过信息系统和合作伙伴建立更紧密联系时,SOA就会成为解决跨企业平台将要遇到灵活性问题的良好途径。具体到某一行业,例如早早就使用了应用系统的金融行业,很多年前就已经成形了业务支撑系统,虽然经过了很多次修修补补,但都一直在正常运作。其业内人士认为,这种系统轻易改变架构会是一件“不可完成的任务”——结构老,补丁多,又肩负重任,与其对它再做大手术,还不如等这种系统寿终正寝,重新开发符合SOA架构的新系统,进行自然淘汰比较好。 本文出自 51CTO.COM技术博客由此可见,我们应当理性的、辩证的看待SOA。Gartner公司的分析师认为,企业或组织如果采用SOA的话,就需要面对治理、测试、配置、版本控制、原数据管理、服务级监视、安全、互操作性以及其他方面的重要挑战。当然,SOA并非是引发这些问题的源头,而是其解决方案的一部分。在所有的分布式应用程序中,上述问题是与生俱来的,SOA的最大优势就在于变更的时间更短。在某个特定的业务领域,实现第一个SOA应用程序,和采用单一的非SOA设计风格方式实现统一应用程序,前者比后者所需要花费的时间相当或者稍长一些,最初成本也可能相对较高;但是随后的SOA应用程序,以及对第一个SOA应用程序所做的变更,耗时会更少并且成本更小,因为它们能够重复利用SOA的基础架构和预先已构建好的服务。 总之,SOA理念清晰可鉴、技术趋向成熟,实现并非难事,但要做好却不容易。我们应当审时度势,实事求是,全面考量,缜密决策,既能正确把握机遇,又尽量避免少走弯路,从而使SOA的成功实施有个良好的开端! |



anray
博客统计信息
热门文章
最新评论
友情链接
