ASP.NET 完全入门手册(二)
Re:ASP.NET 完全入门手册,
这是我接着搂主发的,他出差去了!
第一章 微软.NET战略和ASP.NET简介
欢迎你阅读《ASP.NET完全入门》,通过对本书的阅读,我们相信你能够对ASP.NET会有更深入的了解。
ASP.NET又叫ASP+,但并不仅仅是ASP的简单升级,而是MicroSoft推出的新一代Active Server Pages脚本语言。ASP.NET是微软发展的新型体系结构.NET的一部分,它的全新技术架构会让每一个人的网络生活都变得更简单。
首先需要特别指出的是,ASP.NET不仅仅只是有了一个新界面并且修复了一些缺陷的ASP3.0的升级版本(即不同于ASP2.0升级到ASP3.0的转变)。更为重要的是,ASP.NET吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。
要了解ASP.NET的真实面目,我们首先就得了解一下微软.NET战略。
1.1.1 微软.NET的历史
随着网络经济的到来,微软公司希望帮助用户,能够在任何时候、任何地方、利用任何工具都可以获得网络上的信息,并享受网络通信所带来的快乐。.NET战略就是为着实现这样的目标而设立的。
微软公开宣布,今后将着重于网络服务和网络资源共享的开发工作,并称,将会为公众提供更加丰富、有用的网络资源与服务。
微软新一代平台的正式名称叫做“新一代Windows服务”(NGWS),现在微软已经给这个平台注册了正式的商标——MicroSoft.Net。在.Net环境中,微软不仅仅是平台和产品的开发者,并且还将作为架构服务提供商、应用程序提供商,开展全方位的Internet服务。在谈及这个平台中使用的新技术,微软透露,它将在.Net环境中提供更多新产品和一揽子的全套服务。
MicroSoft .NET平台的基本思想是:
侧重点从连接到互联网的单一网站或设备上,转移到计算机、设备和服务群组上,使其通力合作,提供更广泛更丰富的解决方案。用户将能够控制信息的传送方式、时间和内容。计算机、设备和服务将能够相辅相成,从而提供丰富的服务,而不是像孤岛那样,由用户提供唯一的集成。企业可以提供一种方式,允许用户将它们的产品和服务无缝地嵌入自己的电子构架中。这种思路将扩展二十世纪八十年代首先由PC赋予的个人权限。
MicroSoft .NET将开创互联网的新局面,基于HTML的显示信息将通过可编程的基于XML的信息得到增强。XML是经“万维网联盟”定义的受到广泛支持的行业标准,Web浏览器标准也是由该组织创建的。微软公司为开发它投入了大量精力,但它并不是MicroSoft的专有技术。XML提供了一种从数据的演示视图分离出实际数据的方式。这是新一代互联网的关键,提供了开启信息的方式,以便对信息进行组织、编程和编辑;可以更有效地将数据分布到不同的数字设备;允许各站点进行合作,提供一组可以相互作用的“Web服务”。
1.1.2 微软.NET的介绍
1.1.2.1MicroSoft .NET综述
MicroSoft .NET平台包括用于创建和操作新一代服务的.NET基础结构和工具;可以启用大量客户机的.NET User Experience;用于建立新一代高度分布式的数以百万计的.NET积木式组件服务;以及用于启用新一代智能互联网设备的.NET设备软件。
MicroSoft .NET产品和服务—包括Windows.NET,连同建立积木式服务的核心集成套件;MSNTM .NET;个人订购服务;Office.NET;Visual Studio .NET;以及用于.NET的bCentralTM。
.Net环境中的突破性改进在于:
1. 使用统一的Internet标准(如XML)将不同的系统对接;
2. 这是Internet上首个大规模的高度分布式应用服务架构;
3.使用了一个名为“联盟”的管理程序,这个程序能全面管理平台中运行的服务程序,并且为它们提供强大的安全保护后台;
.NET平台包括如下组件:
1.用户数据访问技术。其中包括一个新的基于XML的、以浏览器为组件的混合信息 架构,叫做“通用画板”;
2.基于Windows DNA 2000的构建和开发工具;
3.一系列模块化的服务,其中包括认证、信息传递、存储、搜索和软件送递功能;
4.一系列驱动客户设备的软件;
1.1.2.2Microsoft.NET平台带来的重要意义
我们来看一下MicroSoft .NET对开发人员、IT专业人员、以及企业应用的巨大意义
。
对于开发人员
MicroSoft .NET的策略是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行合理延伸。这样,开发人员必将创建出摆脱设备硬件束缚的应用程序,以便轻松实现互联网连接。MicroSoft .NET无疑是当今计算机技术通向计算时代的一个非常重要的里程碑。
.NET的核心组件有:
• 一组用于创建互联网操作系统的构建块,其中包括Passport.NET(用于用户认证)以及用于文件存储的服务、用户首选项管理、日历管理以及众多的其它任务
• 构建和管理新一代服务的基本结构和工具,包括Visual Studio.NET、.NET企业服务器、.NET框架和Windows.NET
• 能够启用新型智能互联网设备的.NET设备软件
• .NET用户体验
.NET对最终用户来说非常重要,因为计算机的功能将会得到大幅度提升,同时计算机操作也会变得非常简单。特别地,用户将完全摆脱人为的硬件束缚:用户可以自由冲浪于互联网的多维时空,而不是束缚在便携式电脑的方寸空间——可通过任何桌面系统、任何便携式电脑、任何移动电话或PDA进行访问,并可对其进行跨应用程序的集成。
.NET可使用户轻松进行互联网连接,并轻松完成那些在当今看来十分费时而且费力的事务,它们往往要求用户进行数据重输入并需运行几个小时才能完成。通过将多项安全数据流合并到单一的用户界面(或者甚至是可编程决策引擎),.NET架构将用户从充斥于当今Web的数据竖井的束缚中解脱出来。用户可以自由访问、自由查看、自由使用他们的数据。
.NET对开发人员来说也十分重要,因为它不但会改变开发人员的开发应用程序的方式,而且使得开发人员能创建出全新的各种应用程序。新型开发范例的核心是Web服务这个概念的引入。Web服务是一种通过简单对象访问协议(SOAP),在互联网上展露其功能性的、极为公开的服务。SOAP是一种基于可扩展标记语言(XML)制定的协议。
在过去,开发人员通过集成本地系统服务来构建应用程序。在这种模型下,开发人员可以访问丰富的开发资源并能严格控制应用程序的行为。
如今,开发人员已在很大程度上挣脱了这种模型的束缚,致力于构建具有复杂结构的n层化系统,这种系统能将网络上众多的应用程序一并进行集成,大大提升了应用程序的价值。这样,开发人员便可把精力集中在充分挖掘软件独特的商业价值,而不是构建基本结构上。可喜的局面将应运而生:软件投放市场的时间大大缩短、开发人员的编程效率明显提高,最终把质量上乘的软件呈现给用户。
我们正在进入一个崭新的计算时代——一个由互联网(尤其是Internet核心技术XML)实现的时代。利用XML,能够创建出可供任何人从任何地方使用的、功能非常强大的应用程序。它极大地拓展了应用程序的功能,并实现了软件的动态提供。在这种情况下,软件已不完全指那些从光盘进行安装的程序,而是演变成了一种服务——类似于ID调用程序或按收看次数进行收费的电视——人们可通过通信媒体订购的服务。
n层计算技术具有能够大幅度提高生产力、紧密耦合的特点,而Web概念具有面向消息、松散耦合的特点,我们将二者有机地糅合在一起,实现了上述构想。我们将这种计算风格称为Web服务,它的出现标志着人类已经迈入应用程序开发技术的新纪元。Web服务是一种应用程序,它可以通过编程并使用标准的Internet协议,像超文本传输协议(HTTP)和XML,将功能展示在互联网和企业内部网上。还可将Web服务视作Web上的组件编程。
从理论上讲,开发人员可通过调用Web应用编程接口(API),将Web服务集成到应用程序中。其调用方法与调用本地服务类似,不同的是Web API调用可通过互联网发送给位于远程系统中的某一服务。例如,MicroSoft Passport(Passport)服务使得开发人员能够对应用程序进行认证。通过对Passport服务编程,开发人员可以充分利用Passport的基本结构,通过运行Passport来维护用户数据库,以确保其正常运行、定期备份等等。
.NET正是根据这种Web服务原则而创建的,微软目前正着手提供这个基本结构,以便通过.NET平台的每一部分来实现这种新型的Web服务。而Visual Studio.NET、.NET框架、Windows.NET和.NET企业服务器,正是为进行基于Web服务模型的应用程序开发而度身定做的新一代开发工具和基本结构。.NET构建块服务、新增的.NET设备支持以及即将到来的.NET用户体验,将为人们彻底攻克这一难题划上一个圆满的句号,使人们能够充分利用Web服务模型,如愿以偿地开发出新一代应用程序。
.NET对IT专业人员的重要意义
目前,IT专业人员能够利用与构建.NET平台相同的技术。
.NET Enterprise Servers和Windows 2000操作系统,为创建具有高度可管理性的、能迅速投入市场的应用程序提供了坚实基础。它们利用的是可扩展标记语言(XML),因此随着Web体系结构的革新,在此平台上创建的程序依然很有价值。
.NET平台的核心是,采用有效的、分门别类的方式来构建应用程序,达到其前所未有的规模。该平台上的Web服务模型指的是:企业应用程序的中心业务要素通常由本地管理,而支持它们的服务(如用户认证、文件存储、用户首选项管理、日历、邮件等等)却无须本地管理,可以被无缝订购。为了存储用户文件和邮件,IT专业人员往往在服务器上安装新的独立磁盘冗余阵列(RAID阵列),而有了.NET,他们在这一方面将会花费较少的精力,而更多地致力于怎样为公司增加效益。
该Web服务模型还将动态配置新软件的发布和更新。用户将以极其紧密的连接方式工作,因此更易于管理。而简化的管理又可使IT专业人员更能适应变幻莫测的业务需求。
开发应用程序的.NET Web服务模型将为企业应用程序的创建开辟一条新路。通过企业内外多种服务的联合,很容易把企业内部数据和客户及合作伙伴的相关数据结合在一起,大大简化了应用程序的创建过程。这就为最终用户发掘了空前的功能涵盖性。例如,利用某公司的雇员福利程序,可以从其HR数据库订购信息,通过Web订购福利管理公司的服务、订购工资管理公司的服务。终端用户可以在简单、直观的界面下操作,而这个界面可以显示他们的累积休假时间、个人所得福利以及上次工资额。
.NET对企业的重要意义
MicroSoft .NET平台将从根本上改善计算机和用户之间进行交互的方式,最大限度地发挥电子商务中计算技术的重要作用。首先,让我们来分析一下当前商务计算世界的现状:
人与计算机进行交互的手段极为有限——通常使用键盘和鼠标进行输入,使用监视器监控输出。
用户信息基本上是本地信息;如果从另一台机器进行登录,则无法获取用户的个人首选项设置、数据及应用程序。
用户必须亲自处理信息,而通过设置智能选项代表用户自动进行操作,则无异于是纸上谈兵。
同一用户存放于不同应用程序和站点的数据,很难(或根本不可能)进行自动合并和关联,用户无法统一进行查看。
想在家里或在路上工作的用户,不能方便地访问办公室电脑中的应用程序和数据。这无疑成为一道阻止人们获得更高工作效率的鸿沟。
不能使用其它设备访问专为特定设备设计的数据(这些设备包括PC、寻呼机、移动电话以及PDA等);最多可以定期进行同步。
.NET将保证完全消除当今计算技术中的所有缺陷。.NET定能实现确保用户从任何地点、任何设备都可访问其个人数据和应用程序的宏伟蓝图。除此之外,.NET技术还可实现多个应用程序在逻辑上的松散耦合链接和紧密耦合链接。
用户可以通过手写、语音和图象技术与其个人数据进行交互。这些数据将安全地存放在互联网上,用户通过办公室(或家庭)PC,还可以通过移动电话或寻呼机、PDA、甚至是新发明的寻呼机——移动电话——PDA——PC联合设备访问这些数据。应用程序可进行灵活的功能调整,以适应用户所用设备的功能状况。应用程序可根据用户预定义的选项集和指令集,完全代替用户自动执行相应的操作。
上述功能将协同作用,以便大幅度地提高用户使用计算技术的生产效率。根据设计,.NET使得用户无需在如何与计算机进行交互上劳神,从而全身心地投入到使计算机自动执行任务、实现最终目标的工作中。通过使用XML行业标准,可将用户数据进行跨站点和应用程序的链接,从而轻松实现当前很难实现的操作。比如:对用户在数家不同银行、信用卡公司以及计费代理商那里的数据进行集中处理;这样,用户便可依据处理后的数据支付帐单,将费用明细报告归档。
.NET把雇员、客户和商务应用程序整和成一个协调的、能进行智能交互的整体,而各公司无疑将是这场效率和生产力革命的最大受益者。简言之,.NET承诺为人类创造一个消除任何沟鸿的商务世界。
1.1.2.3MicroSoft .NET 的基本模块
网络服务一览
通常说来,一个网络服务只是一个作为服务――通过Internet标准此服务能与其它
网络服务集成在一起――发行的简单的应用程序。换句话说,它是可通过URL定位的自动将信息返回到需要它的客户端那里的一种资源。网络服务一个重要的特点是客户不需要知道一种服务是怎样实现的。在本节中,我将向你解释网络及网络服务如何把基于组件技术的最好的方面结合在一起的,并且介绍与网络服务通信所需的基本框架。
同组件一样,网络服务提供“黑匣子”函数,它可以被再次作用而不用关心此服务是怎样实现的。网络服务提供被称为契约的精确定义的接口,此接口描绘了所提供的服务。开发人员可以将远程服务、本地服务和定置代码组合在一起而集成应用程序。例如,某公司可以使用如下服务组建一在线商店:微软护照(原文:Passport)服务以验证用户身份,第三方个人化服务以使网页匹配每一个用户的参数,信用卡处理服务,销售税服务,对每个运输公司的包裹跟踪服务,链接公司内部库存管理程序的内部目录服务,以及少量定置代码以使他们的商店能脱颖而出。
然而,网络服务与现在的组件技术不同,它不使用需要在服务器和客户机有明确的、同类型基本构架的具体的对象模型协议,例如DCOM、 RMI或 IIOP 。尽管与具体组件技术紧密结合的实现在一个受控的环境中能很好地被接受,但它们在网络环境中变得不切实际。因为一个集成商业程序的参与者会发生变化,随着时间的推移,技术也在变化,所以在所有参与者间确保一个单一的、统一的体系架构就变得十分困难。网络服务采取了另外一种途径,它使用普便存在的网络协议和数据格式,如HTTP和XML,进行通信。支持这些网络标准的任何系统都支持网络服务。
而且,网络服务契约描述的是以术语报文形式提供的服务,这些服务是由网络服务生成和接受的,而不是描述服务是如何实现的。通过把重点放在报文上,网络服务模板就完全对语言、平台和对象模板一无所知。 用任何一套编程语言、对象模型和平台的完全特性集,都可实现网络服务。网络 服务可在任何平台被用任何语言所实现的应用程序使用。只要用于解释服务容量、报文序列和所期望协议的契约得到认同,那么所实现的网络服务及网络服务用户就可相互不同,而不会影响会话另一端的应用程序。
网络服务模板对最小体系架构的要求很低,以确保网络服务在使用任何技术和编程语言的平台上实现和访问。对网络服务互用性的解决可只依靠网络标准。然而,为了使应用程序更容易使用网络服务,简单地同意通过标准网络协议就可以访问网络服务是不够的。当网络服务和网络服使用者依靠标准的方式表示数据和命令、表示网络服务契约 、算出网络服务所提供的容量时,网络服务才容易使用。
XML是定义一个标准的、可扩展的用于提供命令和典型数据的语言明显的一种选择。虽然为表示命令和典型数据可以定义使用其它技巧(比如编码为一种查询字符串)的规则,但XML被专门设计为描述数据的标准元语言。简单对象存取协议(SOAP)是以一种可扩展的方式使用XML表示数据和命令的工业标准。网络服务可选择用SOAP决定报文的格式。
XML是网络服务契约的一种使能技术。服务契约语言 (SCL)是记录网络服务契约的XML语法。由于SCL是基于XML的,所以对开发者和开发工具来说,容易生成、解释契约。关于SCL细则的草案很快会出台(注意:现在的SOAP Toolkit for Visual Studio 6.0支持称为SDL的SCL的早期版本)。
Disco 规范为服务提供者发布网络 服务契约和相应的机制描述了一个标准方式,这将使开发者或开发工具可找到契约文献。当你读到这里时, Disco规范的草案应出台了。
象SOAP, SCL和Disco这样的标准有助于开发者,因为它们不需要明白和实现所使用的每一个网络服务的访问方式。支持这些标准的更好的、已充分测试的、高性能的体系架构将由开发平台提供,这会大大简化整个开发过程。