日期:2011-04-03  浏览次数:20444 次

.Net开发平台研究



总结:

.Net开发平台的发布标志着近十年来微软开发平台第一个重大的转变。这个开发平台包括一个用于加载和运行应用程序的新的软件基础结构(.NET Framework和ASP.NET),一个新的开发环境(Visual Studio .NET),以及支持该结构的编程语言。

微软希望随着这个新平台的发布,评论不再将这个平台作为朦胧的软件,而且开发者也将发现该平台使得Windows上Web应用程序(尤其是Web Service)的开发更为容易。这样或许会使更多的开发者拥护公司的操作系统和服务器产品,并将他们从与Java平台的竞争中吸引过来。

微软的客户可以将该平台用作应用程序的更可靠、更安全和更统一的标准,而微软的合伙伙伴则可以通过帮助为该平台创建早期的胜利来加强与公司的联系。不过,无论是客户还是合伙厂商都应该意识到,新的平台要求他们从根本上掌握新的应用程序编程接口和编程语言,而且它能将他们锁定在微软的操作系统和服务器产品上。



1. 名词简介:

微软发布了.NET开发平台,这是自1993年7月随着Windows NT3.0出现的Win32 API后微软软件开发平台的第一次大升级。比起Win16来,Win32提供了更多功能强大的API,但没有对工具和技术进行引人注目的改变。与之不同的是,.NET开发平台在开发者用以创造应用程序的工具和技术上做了根本的改变。

.NET开发平台使得开发者创建运行在Internet Information Server (IIS)(互联网信息服务器)Web服务器上的Web应用程序更为容易,它也使创建稳定、可靠而又安全的Windows桌面应用程序更为容易。.NET开发平台包括以下内容:

·.NET Framework(架构),包括:Common Language Runtime(CLR)(通用语言运行环境),这是用于运行和加载应用程序的软件组件;新的类库,分级组织了开发者可以在他们的应用程序中用来显示图形用户界面、访问数据库和文件以及在Web上通信的代码集。

·.NET开发者工具,包括:Visual Studio .NET Integrated Development Environment (IDE)(Visual Studio .NET集成开发环境),用来开发和测试应用程序;.NET编程语言(例如Visual Basic .NET和新的Visual C#),用来创建运行在CLR下并且使用类库的应用程序。

·ASP .NET,一个取代以前的Active Server Pages (ASP)的特殊类库,用来创建动态的Web内容和Web服务器应用程序,这些都将采用诸如HTML、XML和Simple Object Access Protocol(SOAP)(简单对象访问协议)等Internet协议和数据格式。

(有关该平台组件的概貌,请参看“.NET开发平台”示意图。)





2. 微软为什么需要一个新的开发平台?

微软希望能够藉此平台保留住它庞大的Windows开发用户的基础,否则由于Java向开发者所做的硬件与操作系统(OSs)无关性的承诺,这些用户群可能会转向其它的平台。开发者本身不会给微软(或任何其他针对此事的公司)带来很多收益。不过,Windows程序员是公司内对微软产品(例如Windows本身)的极大的支持力量,而商用软件的开发者形成了向客户发售微软产品的重要渠道。如果微软可以让开发者在新的.NET开发平台下写应用程序的话,那么就会有更多的公司购买Windows Server和.NET Enterprise Server (.NET企业服务器),包括SQL Sever 、Exchange 、Share Point、Commerce Server以及BizTalk等。

微软尤其推重.NET开发平台用于开发一种新型的应用程序:Web Services, 或者和Web上其他应用程序交换XML格式数据的服务器应用程序。(有关Web Services的概貌,请参看“Web Services:是什么与为什么”。)微软认为Web Services(为此公司已注册了名为“XML Web Services”的商标)是公司将现有的、孤立的应用程序集成到更大的商务(以及B2B)系统中的一种成本低而效用高的方法。微软希望Web Services成为吸引程序员在新的平台和产品上开发的“必有”的应用程序类型,正如带有图形用户界面的桌面应用程序吸引程序员在早期版本的Windows上进行开发那样。微软本身也计划使用该平台开发它自己的公共Web Services(称作.NET My Services),它将给Internet上的客户提供数据存储以及其他的功能。



.NET开发平台



.NET开发平台是一组用于建立Web服务器应用程序和Windows桌面应用程序的软件组件,用该平台创建的应用程序在Common Language Runtime(CLR)(通用语言运行环境)(底层)的控制下运行。CLR是一个软件引擎,用来加载应用程序,确认它们可以没有错误地执行,进行相应的安全许可验证,执行应用程序,然后在运行完成后将它们清除。类库集提供了使应用程序可以读写XML数据、在Internet上通信、访问数据库等的代码。所有的类库都建立在一个基础的类库之上,它提供管理使用最为频繁的数据类型(例如数值或文本字符串)的功能,以及诸如文件输入/输出等底层功能。

Web服务器应用程序通常依赖于ASP.NET,一个处理Web请求的服务器端的库。ASP.NET又依赖一个用于发送和接收SOAP信息的Web Services库,以及一个用于以浏览器接收用户输入并动态地生成Web页面以示响应的Web用户接口(UI)(有时称作Web 表单)。Windows桌面应用程序通过使用Win表单库(也称作Windows 表单)可以显示一个图形UI。

最后,Visual Studio .NET提供了一个用于在该平台上创建应用程序的图形Integrated Development Ewironment(IDE)(集成开发环境)。程序员可以使用一种或多种.NET编程语言,来编写他们的代码,例如微软自己的Visual Basic .NET(VB.NET),Visual C++, Visual C#和JScrjpt .NET等。大量其它的.NET编程语言可以从第三方厂商获得。







.NET Framework核心:

所有在.NET开发平台上创建的应用程序运行都需要运行两个核心块:

Common Language Runtime(CLR)(通用语言运行环境),这是一个软件引擎,用来加载应用程序,确认它们可以没有错误地运行,进行相应的安全许可验证,执行应用程序,然后在完成后将它们清除。

.NET Framework类库,向程序员提供所需用来编写在CLR的控制下运行的代码的软件组件。它们按照单一有序的分级组织提供了一个庞大的功能集——从文件系统到对XML功能的网络访问的每一样功能。

Web服务器应用程序也可以使用ASP .NET,这个类库将在做详细解释。桌面应用程序不需要ASP .NET。



CLR有两个主要的目标:

·提高应用程序的稳定性和安全性

·减少应用程序开发者所必须写的冗长而又易出错的底层代码的容量

这两个目标类似于诸如Sun和IBM等厂商试图用Unix和主机上的Java平台去解决的问题。为了解决Windows上的这些问题,CLR对加载和执行应用程序的编程模型做了根本的改变。









3. Web Services:是什么与为什么

Web Services是一个软件组件,它通过将消息以XML格式进行编码,并将消息通过标准的Internet协议(例如Hypertext Transfer Prorocol (HTTP)(超文本传输协议))发送出去来与其它的应用程序进行通信。一个Web Services类似于这样一个Web站点:没有用户接口,向应用程序而非用户提供服务。Web Services不从浏览器获得请求并返回相应的Web页面,而是从应用程序接收XML格式的请求消息,执行任务,然后向应用程序返回XML格式的响应消息。

IBM和微软一致提倡将SOAP作为一种用于Web services的消息标准。一条SOAP消息如同一封信,由一个基于XML格式的“信封”和载有消息数据的“正文”两部分组成,“信封”部分包含一个指明消息接收者地址的头部和一系列投递选项(例如加密信息)。

(微软喜欢将此编程模型称作“XML Web Services”——采