SOA:新衣裳还是美丽的谎言

ZDNet软件频道 时间:2009-02-04 作者:csdn Eric Liu |  我要评论()
本文关键词:developtrend soa
早在1996年,Gartner Group就已经提出了SOA的预言,不过那个时候仅仅是一个“预言”,当时的软件发展水平和信息化程度还不足以支撑这样的概念走进实质性应用阶段。
用这样的题目有点哗众取宠的意味,不过相对于soa(Service-Oriented Architecture)这个所谓“下一代软件架构”,任何的修饰都显得暗淡无光。早在1996年,Gartner Group就已经提出了soa的预言,不过那个时候仅仅是一个“预言”,当时的软件发展水平和信息化程度还不足以支撑这样的概念走进实质性应用阶段。

2002年12月,Gartner又提出了soa是“现代应用开发领域最重要的课题”,并且预言到2008年, 75%的新的企业应用将使用soa 的元素,从2003年的20%产生急剧的增长;到2006年,在全球销售出的所有商业应用产品中,面向服务的将超过 80%;到2005年,试图建立实时企业能力的企业中,80%将会严重的低估网络的需求,他们将不得不做出最后的增加、升级或者修改,从而能够开展实时企业应用和能力。2008年,soa将成为占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用soa开发技能方面进行投资,更好地支持商业流程。

于是此刻,这个“老调重弹”的概念一夜之前成为各大厂商的新宠,商业利益追逐也好,跟风也罢,他们不约而同地选择了在2004年将soa作为他们概念炒作的重点,籍希望能够刺激当前依旧疲软的IT采购市场,那么究竟什么是soa,是一个怎样的软件方法论能够让厂商趋之若鹜,究竟是什么理由让他们在推进概念的同时自立山头?

纵观软件发展史,我们经历了面向过程->面向对象->面向组件->面向集成的几个时代:

面向过程:高度耦合、高效率,通常是针对一个具体的应用实现,因此无法适应快速业务变化,不适合做大型面向客户应用的开发。
面向对象:OOP提供了封装、继承、多态和重载等等一系列的特性使应用软件的架构可以被重用,开发人员可以不用关心其具体实现,而是专注于对象能够提供怎样的功能,因此提高了软件重用性,从而使得整个IT的基础架构能够适应需求的快速变化。语言的单一性和源代码级的共享决定了在跨应用系统重用的过程中必定会有各种各样的困难。
面向组件:二进制级别的组件共享进一步加速了面向应用实现的步伐,继承了OO的显著的优点,使得IT基础架构能够更加快速适应业务变化,但是平台单一性依然阻碍了其复用程度。
面向集成:这是一个完全面向业务的时代,所有的应用都是以业务应用为主题去组织的,但是集成高昂的成本让许多企业望而却步。
soa正是在这样的大背景之下应运而生的,在OOP相对成熟之后,软件学术界出现了诸多的方法学用来解释开发过程遇到的种种问题,比如AOP(面向方面编程)、MDA模型驱动架构),契约式设计及其极限编程(XP)等等,于是有人提出了“后OO时代已经到来”的论调,soa正是这个新时代最重要的软件方法论。简单地说,soa是“抽象、松散耦合和粗粒度”的软件架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是soa的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134