.NET的激情起航
2000年6月22日,这是一个所有“微软人”都应该记住的日子,因为从这一天起,微软公司将下一场赌注,一场押上全部身家的世纪豪赌――这一天,比尔.盖茨向全球宣布其下一代软件和服务,即Microsoft .NET平台的构想和实施步骤。新一代的Microsoft .NET 家族产品和技术替代了此前“下一代Windows服务(NGWS)”的提法,它涵盖了帮助软件开发商构建下一代互联网服务和给予新一代智能互联网设备强大功能的软件。此外,微软还宣布了基于.NET 平台的新产品计划,其中包括新一代的微软Windows操作系统、Windows DNA服务器、微软Office、MSN互联网网络服务、Visual Studio开发系统。
这样的决定对于当时已经全球领先的微软而言,无疑是“押宝”,将未来十几年内的发展押给了他们构筑的.NET,当然也正是从那一刻开始,这家全球最大的软件公司也会不会遗力的去推进这个“伟大的梦想”。
那时的.NET
什么是.NET?.NET有什么?有人也认为是微软故意模糊概念,实际的.NET是Windows DNA(Distributed Network Architecture)和COM+的一个延续,在本质上没有改变。虽然这样的理解有时偏频,但是问题是明显的,我们不是那么容易的理解“什么是.NET”。
2000年微软的白皮书这样定义.NET:Microsoft? .NET 是Microsoft XML Web Services 平台。XML Web Services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。 我们可以清楚的看到微软对于.NET的理解是XML Web Services的平台,一切皆是服务,下一代的Internet应用将是依赖于Web Service来构建,Microsoft .NET 平台由以下技术构成:
.NET用户体验
.NET基础设施和工具
.NET服务构造块
.NET设备软件
用户永远是上帝,脱离用户讨论战略没有实际意义,为此除开倡导的平台核心技术以外,微软还承诺对于个人用户提供.NET用户体验,其中包括:
Windows .NET
MSN .NET
用户订购服务
Office .NET
bCentral for .NET
Visual Studio .NET
从这些文字我们可以看出,微软几乎可以将自己的全部产品加上“.NET”的字眼,但是那是不是因为着这就是“.NET”?
Everything is .NET
大概是为了强化.NET在人们心目中的印象,微软此时开展了一场dotnetialization(.NET化)运动,几乎所有传统的、创新的和虚构的产品都被打上“.NET”的标签。
为了扩展.NET战略的宣传,微软将其很多仍使用传统技术的产品都加上了“.NET”字眼。最典型的莫过于2000年底发布的.NET Enterprise Server系列。这套服务器软件虽然打上了.NET标签,但与.NET技术没有任何关系。
真正创新的思想是Web Service。微软当时极力推动Web Service从概念走入应用的最核心。
此外,微软还虚构了、或者至少是过早描绘了一些新的、以“.NET”命名的产品与服务。
一切都是.NET,微软这样做的结果就是将.NET这个品牌叫得路人皆知,而其实质概念则几乎没有人了解。除了提供一些开发工具的支持,其他方面的.NET推进有点做作的感觉,更加实际的来说.NET战略只是一个CLR的平台,其他方面的概念解释都让人牵强。
艰难晦涩的.NET改变终于带入微软走入了一个尴尬的境地,.NET Enterprise Server就如同水中望月,而Office XP的推出除了绚丽的图形表现界面以外,也没有太多东西让人发现和.NET有关,这是一段迷惘而痛苦的岁月。
迷惘
经过一年多的喧嚣,.NET已经渐渐热起来,越来越多的人开始使用.NET,至少开始关注这个平台,C#的正确发音已经尽人皆知。但是,看得出来,微软自己对于.NET的态度已经发生了微妙的变化。原来的计划太庞大,即使微软这样的巨人也无法掌控。前面的路应该怎么走?微软也产生了迷惘。
2001年5月31日Office XP正式发布,它显然不是“传说”中的Office.NET。微软强调这个XP版本加大的是“体验”(experience)及其网络的整合,而“用户体验”和与网络的融合都是“.NET战略”的一部分。但是,实质的改进有什么呢?除了返璞归真的平面图形菜单(戏剧性的是这样的界面成了日后众多软件界面模仿的对象),和内建支持了SOAP工具包及其联机搜索能力,我们发现和当初预想的Office.NET有天壤之别。
Office开发采取滚动方式进行,也就是在发布Office XP之前,下一版Office已经在开发中。据说部真的正在开发一个雄心勃勃的Office.NET。在这一激进的计划中,所有的访问都是通过Web Service来完成的,应用程序与网络的融合史无前例。不幸的是,这个产品最终流产,并且直接导致一个副总裁的辞职。究竟是技术上太不现实,还是微软意识到这个产品无法被用户接受?我们已经不得而知。 如果说Office曾经太激进,那么那些支持IT应用基础架构的应用服务器又是如何呢?在商业应用中的Commerce Server 2002,Biztalk Server 2002,Content Management Server 2002等等,虽然在一定程度加上了.NET Framework的支持,但是感觉有点是被微软强行联姻的“亲家”罢了,Visual Studio .NET对于其开发的支持依然是一种有心无力的感觉,并且这写服务器提供的并不是完整的托管类库,很大一部分功能仍然需要通过COM的方式来完成访问。.NET是一个庞大的战略,但是在短短的时间内希望完成到一个新的平台的迁移不是那么容易的事情,而此时.NET Enterprise Server系列的2002版本虽然在一个.NET的名头下依然是一个服务器群集,但是根本无法体现出.NET曾经的设想。
此时的VS.NET有点孤军奋战的感觉,毕竟和其他应用服务器的结合不是那么尽如人意,并且在Managed C++方面的表现也不足以作为系统级开发的利器,因此还是有些人在等待,而不会去考虑将已有的应用全部迁移到.NET平台上来。
所有这些情况,不仅体现了,同时也导致了微软的困惑。一个技术概念,如果不能与切实可用的产品结合起来,就会变成空中楼阁。
对于用户而言,最重要的是能够实际带来什么,而不是仅仅带来概念,经历了那段迷惘,微软对于.NET的理解终于“尘归尘,土归土”,穿过水花镜月,一路坚定的走来。
务实
2002年7月24日,比尔?盖茨在一个内部讲话中承认说,2000年9月推出的.NET企业服务器称作.NET“是有点草率”,也正是从这个时候开始微软真正开始反思.NET战略是否太过泛滥,是否超出了他们所能够控制的范围。
在反思中摒弃浮躁,在务实中前行,经过两年时间的喧嚣和反思,.NET正在一点一点地走进现实应用。
2003年4月25日,曾被命名为Windows .NET Server的Windows Server 2003正式发布。Windows Server 2003此前曾四易其名,它是第一个内置支持.NET Framework 1.1的Windows操作系统,因此有资格戴上.NET的标签,但最终确定的名称中并没有包括“.NET”字样,出乎很多人的预料。
同日,微软发布了基于.NET Framework开发工具的第二个版本,也就是Visual Studio.NET 2003,经历了一年的发展,2003版本终于被越来越多的开发人员所接受,除了修正了2002版本的一些细节性错误,在类库方面也更加强健和良好的兼容。 也也就是从此刻开始,VS.NET成为一个最强大的开发平台,多语言集成的开发环境,开发人员不仅可以开发传统的Windows应用,能够开发Web应用程序,同时在移动开发,企业级组件方面都提供了良好的支持。
Office.NET已经渐渐淡去,此刻的微软也明白一相情愿设计一个完全以Web Service为中心的Office版本至少在今天是不可行的。2003年10月27号的时候发布最新版本的Office 2003中,启用了一个比较保守的命名――Office System 2003。从此Office不再是一个纯粹的客户端软件,而是一个完整的企业信息应用平台,不过相对于神话般的Office.NET,还有很长的路需要走,不过我们可以肯定,神话仅仅是神话,这个时候的微软已经知道.NET对于用户意味着什么。
在服务器系统方面,.NET Enterprise Server有点盛名难负,更加直接的来说是一个虚构的名字。为了更加贴近实际情况,微软将新版服务器系统命名为Windows Server System,旨在建立一个深度集成的服务器基础结构,而从使IT专业人员能够将精力集中到满足业务需求方面。
这一切表明,微软在.NET的推广策略上已经趋于务实。事实上,一项新技术,必须有现实的产品支撑。微软一向的做法,是将新技术与自己的强势产品结合,从而让最终用户的需求推动开发者转向微软技术。然而,在.NET推广之初,这一策略并没有很好的贯彻。只是经过了这个务实阶段之后,微软才重新回到了自己的正确路线上。将.NET技术与Windows和Office两大拳头产品结合,这表明.NET已经迈上稳健发展之路。
未来展望
Longhorn需要到2006年才能够发布,我们完全可以认为,这个就是四年以前微软提出的.NET战略时希望达成的梦想之一,集成互联,同时拥有一个非常出色的用户体验。微软当初承诺在三年内实现这些基础架构的建设,现在看来这个时间恰好需要多一倍,也就是整整六年的时间。这个号称完全重新构建的操作系统才能够称得上.NET操作系统,关于其中的Avalon(图形渲染技术)、Indigo(通信子系统)、WinFS(文件存储系统)还有纯粹的.NET编程接口WinFX。
相信2006年的Longhorn发布的时候,.NET应该已经得到业界的认同,并且已经出现了相当部分基于.NET的成功案例,