【ITPUB调查分析报告】
第一篇分析报告:未来应用Web化 Windows应用将逐渐淡出
第二篇分析报告:.NET Framework 3.x稳步提升 2.0版本依然是主流
第三篇分析报告:SQL Server 2008强势崛起
编者按:第三届中国IT技术趋势大调查活动于2008年9月15日启动,历经1个月的时间。在线调查期间,受到了来自ITPUB、IXPUB和ChinaUnix.NET(以下简称CU)以及其它合作网站的网友的极大关注和积极参与。目前调查已经完满结束,所有的数据都在后台整理和统计之中。本次网上调查共回收调查问卷25,946份问卷,其中合格问卷为23,804份。由于,今年新加入IT168的CU论坛的网友的大力支持,今年回收问卷数量较去年增加了近64%,合格问卷的填写数量较去年增加了61.1%。从整体上看,今年的调查无论从数量上还是质量上都较去年有比较大的提高。
本次调查的内容涉及:中国IT人才发展环境、企业信息化、信息安全、服务器、存储、网络管理、.NET、JAVA、软件测试、项目管理和数据库应用等11方面的研究成果,这些将最终形成了《2008-2009年IT技术应用趋势调研报告》,并将整合到《2008-2009中国IT应用技术蓝皮书》中,于2009年1月份第3届中国IT技术精英大会上对外发布。
2008年分布式应用技术越来越丰富多彩,仅论微软方面的产品,老的有COM,COM+依然在工业控制领域等系统老当益壮,新的如WCF也是跃跃欲试,如果要给这些技术分个高下,一时还真是难以取舍,不过根据本次调查报告,有几个信息很值得广大企业用户注意。
COM技术依然很有生命力
COM技术本身作为从VC6时代就遗留下来的技术,到今年已经整整10年了。这10年中,COM技术的地位有过几次变化,COM技术的诞生应该源于1993年,其前身是所谓的OLE技术(Object Linking & Embedding)OLE最初的含义是对象链接和嵌入。当时用DDE(动态数据交换)作为底层通讯协议。1993中旬COM首次出现。微软推出OLE2.0,开始用COM代替DDE作为底层通讯协议。这也是COM第一个重要的用途。
1996年,大多数开发人员开始编写32位的WIN95应用程序。他们发现,OLE使用COM的方式是一种非常好的设计软件的方法。开发人员开始使用类似的方法编写自己的对象和界面。另外,操作系统也开始要求使用COM技术编程,如编写WIN95用户界面。COM组件的设计是实现一个保罗万象的二进制通用代码复用技术,和今时今日的面向服务复用技术不同,当年的技术更崇尚与方法复用,COM技术提供了跨计算机的二进制通讯规范(也就是说是大家都要遵守的合同)。用于软件组件间跨进程,跨机器,和操作系统进行交互操作。COM是透明位置的。它可以在EXE,DLL或者远程机器上使用。
1996年开始,COM技术又有了一个长足发展,随着NT 4.0发布的DCOM技术,作为NT的一部分,它实现了将COM在分布式系统中的应用。从此,COM技术成为分布式应用的重要柱石。其实有很多人把COM和COM+技术混为一谈,其实这两个技术还是略有区别的,由于历史的原因,COM、DCOM和MTS相互之间并不很融洽,难以形成统一的整体。COM+把这三者有效地统一起来,形成了一个全新的、功能强大的组件体系结构。COM+并不是COM的新版本,而是COM的新发展,或者COM更高层次上的应用。COM +的底层结构仍然以COM为基础,它几乎包容了COM的所有内容。COM+把组件软件提升到应用层而不是底层的软件结构,它通过操作系统的各种支持,使得组件对象模型建立在应用层上,把所有组件的底层细节留给操作系统,因此,COM+与操作系统的结合更加紧密。COM+ 不再局限于COM的组件技术,它更加注重于分布式网络应用的设计和实现,已经成为Microsoft系统平台策略的一部分。
由此可知,COM+技术于分布式应用并没有必然关系,而DCOM才是分布式应用的根本,不过由于目前很多系统的开发年代较早,所使用的COM组件几乎难以替换,除非重写所有业务逻辑,否则几乎难以维护,而目前随着Vista客户端的发布,更丰富的表现层应用和更古老的业务逻辑之间似乎略微有点配合上的小问题,所以偶尔会有一些用户抱怨使用Vista的客户机在调用COM组件的时候出现兼容性问题,可能随着客户端的升级,这些问题会得到解决,但也不排除这种问题继续存在,所以对于使用COM的企业来说,使用WCF升级才是最好的选择。
WebService的使用
曾几何时,WebService几乎成了软件行业面向服务应用架构的解决灵药,其知名度和热度丝毫不逊于今天的云计算,各大厂商都雄心勃勃的推出自己的WebService标准,希望在未来的面向服务领域独占鳌头,分布式调用中的跨平台应用更是为广大开发者津津乐道,能够让微软产品调用JAVA的服务,也能让SAP和Oracle同台共舞,这是一副多么美好的场景。
不过随着这一技术的种种细节逐渐细化,由于各个厂商都希望自己在这个领域能有更多的利润,所以标准化问题带来的是庞大而冗长的调用方式以及复杂的信息传输描述指令,最后WebService几乎成了臃肿和缓慢的代名词,目前虽然在分布式架构上应用较广,但是其性能的瓶颈一直都为业内所诟病,很多人在一些新应用上宁愿自己操作进行通信也不愿意调用WebService,情况之严峻由此可见一般。不过硬件的升级应该可以给这个问题提供一个比较好的帮助,另外一点就是,我们会在未来的云计算中看到更多的WebService通信应用的影子,因为毕竟,穿越防火墙、跨系统应用这些优点是具有绝对竞争力的,所以如果WebService能够在性能上再有所提升的话,这一技术就必将成为未来的分布式调用当仁不让的选择。
WCF集大成者
WCF分布式调用技术的核心就是可以使用别的调用技术,简单来说,他可以让COM和WebService互相调用,而不用重构大量代码,它的诞生就在于为原有的各种系统进行整合,从这一点上说这一产品是前途无量的。然而目前的情况是,虽然WCF编码并不特别复杂,但是在整合原有的分布式系统上,WCF还没有表现出性能方面的优势,而在部署这一操作的过程中WCF又缺乏特别方便的可视化工具,所以虽然推出一年有余,但是用户还没有完全理解其中的好处,开发者当中弥漫着观望情绪,对这一技术的未来并没有太好的预期,其实如果微软在以后的应用中为WCF应用提供一个好的整合原有分布式接口的工具,则可以大大提高这一产品的受欢迎程度,相信,如果能有这样方便的分布式开发和调用工具,则未来的WCF会是最有发展的技术。
综合以上所有情况,我们可以乐观的认为,未来的分布式应用会呈现一种新的格局,这种格局就是表面是WCF应用为主导的,原因如我们之前所说,WCF可以整合目前所有的应用情况,而COM技术则会慢慢退出市场,很多业务逻辑代码都需要从COM到WCF重构,如果有一家公司能提供这方面的技术顾问服务,那么未来几年它的生意会很不错。WebService的命运取决于云计算的推广程度,目前用过LiveMesh的人肯定都会拿它和微软以前的远程桌面做比较,LiveMesh的速度不如远程桌面快,但是可以跨越任何网络设备,也能在任何终端设备上使用,LIveMesh就像WebService技术而远程桌面则类似COM,很难说未来远程桌面一定没有使用前景,但是我想当网络速度更好的以后,我们还是会更喜欢LIveMesh的随时随地随心所欲。