引言
这一部分我们将从什么是 .NET、它的起源及发展方向谈起。接下来我们要认识 .NET 这一平台。最后,我们要看一看 .NET 的前景规划,以及使用 .NET 需要哪些技能。本期内容宁求稳妥,我们称之为一个“分了 100 级的课程”,这样做主要是因为我们要讲述 .NET 概念背后的技术知识。
Internet 发展阶段
Internet 的第 1 阶段是力求在 Web 空间占据一席之地。此阶段的主要特征是建立网站,进入游戏角色,着眼于“点击率”。许多站点都可以看作是“小册子”,没什么内容,而且商业效率很低。
然后发展到第 2 阶段,即我们现在所处的阶段。此阶段的特征是力求获得收入。此时的主要目标是通过简单交易增加收入。衡量一个站点是否成功不再是看点击率,而是看其促成的交易次数及收入多少。但是,与第 1 阶段一样,在此阶段,客户与站点的交互无一例外都是按 Web 设计者所选的方式进行的。人们访问一个站点时,往往会匆匆地浏览一下信息,然后转到下一站点。输入多是通过键盘进行的。尽管在个性化方面有一些很大的进步(像 Amazon 这样的公司所做的那样),但信息的呈现方式仍然是由公司来决定。
现在我们正在步入第 3 阶段,此阶段的重点是利润。第二阶段以交易为主的狂燥正在消退,各公司都开始认识到数字经济这一现实。比尔·盖茨曾谈到这一经济类型,指出:“人们高估了今后五年 Internet 的重要性,却又低估了此后二十年它的重要性。”淘金热可能已经过去,但重要的技术发展趋势将继续使商业转型。
从第 2 阶段发展到第 3 阶段,我们看到所使用的基础技术正在发生改变。
Internet 发展与技术之关系
人们使用的平台技术在改变。自 1992 年起,客户/服务器环境就已进入使用,人们在一些平台(如 Win32 平台)上运行他们需要的应用程序。信息由服务器上的数据库提供,而安装在客户机上的程序决定信息如何表示和处理。
在 90 年代后期发生的 Internet 革命中,出现了浏览器和 Web 服务器。这与我们在第 1 阶段看到的情形有类似之处,人们可从 Internet 得到信息和有限的功能。随着 Windows 分布式 Internet 体系结构的出现,我们开始看到允许进行简单交易的 Web 站点。浏览器上的客户可以访问带有 COM 组件的 Web 站点,这些组件可以让他们从数据库中检索信息。所以,我们现在能够模仿 Win32 平台的环境。客户端软件 – 浏览器 – 可以访问服务器上的信息。但与在 Win32 环境中一样,我们仍受限于信息的表示方式。自定义手段既没有普遍使用,也没有广泛开发。
Internet 第 3 阶段的平台是 .NET。我们获取信息和使用信息的方式都将改变。
下面我们看一看 .NET 的详细情况。
.NET 的定义
大家可能希望用一句话给“.NET”下一个定义。它是什么?它为什么值得我关注?.NET 是 Microsoft 的软件战略,它能随时随地给使用任何设备的人带来帮助。
这句话很正确,但它是一个高度概括的定义,到头来还是不能让大家满意。对于正在构建解决方案的开发者、努力保持赢利的公司,以及在生活中需要使用大量技术和信息的消费者来说,它并没有道出 .NET 究竟意味着什么。
.NET 主要与 Internet 有关,而 Internet 是人们对同一技术或现象往往会仁者见仁智者见智的又一例证。随便找一个人用一句话给 Internet 下一个简单、清楚的定义,都会得到各式各样的回答:对开发人员来说,它是一个用于基于 TCPI/IP 的分布式计算的协议堆栈和计算模型。对公司来说,它是一项期望大但往往收益小的技术。对消费者来说,它是一个庞大的信息、通讯和连接资源 – 有时让人心烦意乱、垂头丧气,有时又让人感到如虎添翼。
.NET 与 IT 专家
那么,对 IT 专家来说,.NET 是什么呢?它是 Microsoft 用以控制 Internet 的一种方式吗?广而言之,.NET 是一个 XML Web 服务平台,由以下部分组成:
一个用来建立 .NET 体验的软件平台
一个编程模型和一些工具,用来建立和集成 XML Web 服务
一套可编程 XML Web 服务
一种可让用户通过 Web 与范围广泛的智能设备进行交互的方法,可保证让用户而非应用程序来控制交互过程
一种可向用户提供个性化、简单、一致而且安全的应用程序、服务和设备的方法
下面我们将对以上所述内容条分缕析。
.NET 中包括一个用来建立 .NET 体验的软件平台,此平台指的是运行数据库的服务器、Web 服务器,以及其他一些系统。这与如今我们运行企业所用的产品并无太大区别;区别仅在于这些产品能力大小不同。如今我们有像 Exchange 这样的邮件系统和像 SQL Server 这样的数据库,而这些产品将成为 .NET 的基本组件。而像用来在企业中组织信息的 BizTalk Server,用来管理这些运行 .NET 的服务器的 Application Center,以及为移动用户提供服务的 Mobile Information Server 等产品,也将成为 .NET 的一部分。
.NET 产品将包括一个带工具的编程模型。这将使得开发人员能创建 .NET 所基于的 Web 服务。该模型就是“.NET 框架”,将在本文稍后部分讲述。
.NET 的最后一个组成部分是编程模型、工具和平台的最终结果。Web 服务将提供用户在 Internet 第 3 阶段所要求的服务和信息。因为这些 Web 服务是可编程的,它们让用户可以用任何设备访问信息以及与其他站点和服务共享信息。
此新的计算模型所带来的可能性在下面这一假想的事例中得到了突出的体现:
Steve Masters 因公到旧金山出差,过街时被一名骑自行车的邮递员撞伤。Steve 用他的 Web 电话与远在他的故乡的 Jamie 联系,她是他医生办公室里的接待员。Jamie 不仅知道 Steve 的位置,而且还能访问离 Steve 较近的一些诊所列表,这些诊所可提供他的健康保险所包括的服务。她为 Steve 在一街之隔的某诊所约了医生。Steve 在得到所需的医护后又上路了。