大家好!我是曹严明,微软开发合作部软件架构专家。最近在整理有关.NET的资料汇集成册,发现了2,3年前翻译的一篇白皮书。正好网上有有关.NET的讨论,现摘录于此,希望大家能够了解一些.NET设计时的一些背景和出发点。
Microsoft .NET包含的原则 |
计算机工业正在迅速地演变和拥抱Internet。Internet作为一个强大并且丰富的通信基础构架,在这其上可以开发大规模的分布式的应用程序。公司也在日益加强建设解决方案,这些解决方案整合并且巩固那些基于局域网的单机的主机系统,将它们组合成功能强大的分布式应用程序。这些应用程序的不同层次可以被连接或者断开,可以是局域的也可以是远程的,可以是在同一台计算机上,也可以是分布在Internet上。这样就为一些巧妙的设计和更高效的处理提供了机会。Internet提供的丰富的通信基础构架使得我们可以在一个进程最有意义的地方发挥它的效力,不管它是在功能强大的服务器上,或是在丰富的客户端应用程序层上。
技术上的变化,尤其是计算功能的增强,网络带宽的加大以及XML和相关标准的出现为.NET平台的产生创造了条件。这是一个可以利用Internet上无穷可能性的优势平台,在Internet上,应用程序可以独立地创建,也可以通过一个通用的开放的编程模型来利用已有的服务。
1965年,Gordon Moore有一个很有意义的发现。他意识到了微芯片功能增长有着很明显的趋势。新出来的芯片往往在前一代之后的18到24个月内出现,其计算能力是前一代芯片的2倍左右。Moore的观察结果,就是我们通常所说的摩尔定律,描述了一个现在仍然在继续并且还相当的精确的趋势。
在通信技术领域也存在一个类似的趋势。宽带的价格在不断的下跌,差不多每四个月减半一次。Microsoft以及其它的软件企业在过去的几十年中从这些技术中获益菲浅,并且努力确保他们今后的体系结构能够利用这两个因素。
解决方案的焦点已从单一的应用程序向设备、服务以及应用程序的整合演化。你创建的解决方案不再是基于一个单个的应用程序运行于一台单个的计算机上,你的解决方案包含多个设备,多个服务和多个应用程序,并可发布到世界任何地方。要实现这一点,一个可以极大地简化解决方案组装的平台是一个根本的要求。
把软件当作一种服务是与老的需要周期性的更新的基于CD的软件发布方式完全相反的方式。作为服务的软件为生产商与终端用户之间建立一种持续的关系:提供持续的更新与升级。
现在有很大的机会可以提高你与应用程序之间交互的方式。图形用户界面在提高用户体验方面向前迈出了很大的一步,但现在是发布更友好的用户界面的时候了。这样的界面将会具有适应性,智能化并且是基于身份的,这样可以把个性化的内容传递给你。语音识别、手写识别等技术正在飞速地发展,这些都将会彻底地改变将来你与应用程序交互的方式。
当你与技术和应用程序交互时,你应该是技术和应用程序关注的焦点。技术与应用程序应该为你工作同时接受你的控制。这一点与现在的情况有很大的不同,现今的情况是你必须逐个地去适应并且配置你的应用程序,你在各种不同的设备、应用程序和网站之间扮演一个桥梁的角色。
考虑到这一点,Microsoft正在开发一套以用户为中心的核心XML Web 服务,这些核心的XML Web 服务将会被大量的应用程序所引用。这些服务以人为中心,而不是围绕着某个特殊的设备、应用程序、服务或者网络。它们让用户控制自己的数据与信息,并允许用户在任何时候,通过任何的设备访问这些数据和信息。它们同时也保护用户的个人信息, 这是通过允许用户自己控制谁可以访问他们的信息以及通过提供更高水准的简便使用与个性化来实现的。后面我们将会讲述更多这方面的内容。