欢迎来到天天文库
浏览记录
ID:22377282
大小:52.00 KB
页数:6页
时间:2018-10-28
《soa-新衣裳还是美丽的谎言?》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、SOA:新衣裳还是美丽的谎言?
2、第1用这样的题目有点哗众取宠的意味,不过相对于SOA(Service-OrientedArchitecture)这个所谓“下一代软件架构”,任何的修饰都显得暗淡无光。早在1996年,GartnerGroup就已经提出了SOA的预言,不过那个时候仅仅是一个“预言”,当时的软件发展水平和信息化程度还不足以支撑这样的概念走进实质性应用阶段。2002年12月,Gartner又提出了SOA是“现代应用开发领域最重要的课题”,并且预言到2008年,75%的新的企业应用将使用SOA的元素,从2003年的20%产生急剧的增长;到2006年,在全球销售出的所有商业应用产品中
3、,面向服务的将超过80%;到2005年,试图建立实时企业能力的企业中,80%将会严重的低估网络的需求,他们将不得不做出最后的增加、升级或者修改,从而能够开展实时企业应用和能力。2008年,SOA将成为占有绝对优势的软件工程实践方法,主流企业现在就应该在理解和应用SOA开发技能方面进行投资,更好地支持商业流程。于是此刻,这个“老调重弹”的概念一夜之间成为各大厂商的新宠。纵观软件发展史,我们经历了面向过程->面向对象->面向组件->面向集成的几个时代:面向过程:高度耦合、高效率,通常是针对一个具体的应用实现,因此无法适应快速业务变化,不适合做大型面向客户应用的开发。面向对象
4、:OOP提供了封装、继承、多态和重载等等一系列的特性使应用软件的架构可以被重用,开发人员可以不用关心其具体实现,而是专注于对象能够提供怎样的功能,因此提高了软件重用性,从而使得整个IT的基础架构能够适应需求的快速变化。语言的单一性和源代码级的共享决定了在跨应用系统重用的过程中必定会有各种各样的困难。面向组件:二进制级别的组件共享进一步加速了面向应用实现的步伐,继承了OO的显著的优点,使得IT基础架构能够更加快速适应业务变化,但是平台单一性依然阻碍了其复用程度。面向集成:这是一个完全面向业务的时代,所有的应用都是以业务应用为主题去组织的,但是集成高昂的成本让许多企业望而却步。SOA正是在这
5、样的大背景之下应运而生的,在OOP相对成熟之后,软件学术界出现了诸多的方法学用来解释开发过程遇到的种种问题,比如AOP(面向方面编程)、MDA模型驱动架构),契约式设计及其极限编程(XP)等等,于是有人提出了“后OO时代已经到来”的论调,SOA正是这个新时代最重要的软件方法论。简单地说,SOA是“抽象、松散耦合和粗粒度”的软件架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。那么我们再来看看各大厂商是怎样宣传和鼓吹他们对于SOA的支持?IBM:宣称是第一个为构建、部署基
6、于SOA的IT系统提供一系列全面的工具、培训和服务线路的大型厂商,它涵盖了SOA生命周期的所有方面,整个概念覆盖了他们提供的五大产品线和Sun这样的公司,通过其数据库产品Oracle10g和OAS(OracleApplicationServer)的支持,同时加上APF(ApplicationPlatformFoundation)的支持,因此在SOA的支持方面,Oracle将领先于其他厂商。Microsoft:虽然SOA的概念不是源自这家厂商,不过在后期推广中却占据了非常重要的位置,BiztalkServer2004的推出,也终于让这个软件巨人理直气壮的开始关于SOA的宣传,相对于其他厂商
7、而言,更加“明智”的选择了从开发人员入手,引导开发人员进入SOA,从MBF(MicrosoftBusinessFrameoting、IIOP乃至CORBA和TCP/IP都可以成为SOA的技术实现架构,而且也有厂商在私有协议上实现了SOA的模型,比如IBMS、CORBA等等协议,在Java平台上,这些协议能够工作的比WebServices来的有效率,在Java世界里面实现大统一的软件架构似乎已经近在咫尺,那么我们也有理由选择SOA。虽然到目前为止微软还不足以成为这个概念的绝对领导者,但是有一点可以肯定,忽略微软的团圆是不够完美甚至是悲哀的,虽然可以不在乎,但是忽略如此之多的微软开发人员去论
8、述新一代的软件架构似乎还是底气不足。微软选择了圆滑的方式去推进SOA,虽然他的产品他的软件架构不是最出色的,但是有一点无可置疑,在易用性方面让其他厂商望尘莫及。微软也知道SOA不是WebServices,但是同样的也知道只有WebServices才能够真正帮助其去实现SOA的梦想,于是就有意的淡化其中的区别,最终的结局就是大部分的微软开发人员以为SOA就是WebServices,而VS.目前是开发WebServices的最佳工具,虽
此文档下载收益归作者所有