技术文章目录

 

DOTNET综述... 1

.NET初级读本... 5

.NET架构的核心开发技术... 8

.NET几大热点问题... 12

.Net的精髓-XMLSOAP. 15

Web Service——下一代的WWW... 17

.Net:解读微软互联网新战略(下)... 26

Microsoft .NET 开发框架... 32

关于.net 39

.NET的重要意义... 46

论坛2000:史蒂夫·鲍尔默关于.NET平台的讲演... 49

关于微软.Net的一些看法... 57

Microsoft.NET为什么难以理解... 64

评论:编织未来--微软的.NET策略... 66

 

 

DOTNET综述


作者:刀锋

2001-9-20 19:57:24


[
被查看:55]    原创作品


未来是网络为中心的世界。面对这个已经或即将来临的世界,每个IT巨人都在思考。发布于2000年秋天的Microsoft.NET,表明微软将以网络为中心,彻底转换产品研发、发布的方式,改变产品和服务的范围。

Microsoft.NET是一项革命性的技术框架。.NET的核心技术包括分布式计算、XML、组件技术、即时编译技术等。分布式计算是网络的本质:XML奠定了新一代电子数据交换的标准,正是数据交换使网络计算成为可能;组件技术是软件技术多年来的发展成果,它使程序设计员从大量的API中解放出来,以采用面向对象和面向组件的技术来解决软件问题;即时编译技术使应用程序在运行时,还能够根据主机的硬件和软件环境进行代码优化,并简化代码发放的过程。

自从.NET发布以来,一直就是媒体的追逐目标,大量程序员参与到.NET的测试和研究中,出现了很多.NET的技术论坛和技术站点。微软掌门人比尔.盖茨更是到中国、印度等国演讲宣传.NET,鼓动程序员使用.NET。据报道很多商业网站已经决定在.NET构架下建立英特网服务平台,如全球最大的拍卖站点ebay.com

微软新一代软件开发平台,称为Visual Studio.NET,它是微软.NET战略产品的重要部分。Visual Studio.NET集成了Visual Basic.NETVisual C#.NETVisual C++.NETASP.NET的开发环境,而微软第一次统一了VBVC的底层对象,使Visual Basic.NETVisual C#.NET能够访问相同的组件的属性和方法。这就是编写C#和编写VB.NET程序同样的简单和高效,在这以前,大多数人认为,VC++程序员就是比VB程序员更高级些。在.NET时代,这种差别将不复存在。

MicroSoft .NET平台包括用于创建和操作新一代服务的.NET基础结构和工具;可以启用大量客户机的.NET User Experience;用于建立新一代高度分布式的数以百万计的.NET积木式组件服务;以及用于启用新一代智能互联网设备的.NET设备软件。

MicroSoft .NET产品和服务-包括Windows.NET,连同建立积木式服务的核心集成套件;MSNTM .NET;个人订购服务;Office.NETVisual Studio .NET;以及用于.NETbCentralTM

MicroSoft .NET平台的基本思想是:

侧重点从连接到互联网的单一网站或设备上,转移到计算机、设备和服务群组上,使其通力合作,提供更广泛更丰富的解决方案。用户将能够控制信息的传送方式、时间和内容。计算机、设备和服务将能够相辅相成,从而提供丰富的服务,而不是像孤岛那样,由用户提供唯一的集成。企业可以提供一种方式,允许用户将它们的产品和服务无缝地嵌入自己的电子构架中。这种思路将扩展二十世纪八十年代首先由PC赋予的个人权限。

Microsoft.NET平台带来的重要意义

l、对于开发人员

MicroSoft .NET的策略是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行合理延伸。这样,开发人员必将创建出摆脱设备硬件束缚的应用程序,以便轻松实现互联网连接。MicroSoft .NET无疑是当今计算机技术通向计算时代的一个非常重要的里程碑。

.NET的核心组件有:

· 一组用于创建互联网操作系统的构建块,其中包括Passport.NET(用于用户认证)以及用于文件存储的服务、用户首选项管理、日历管理以及众多的其它任务

· 构建和管理新一代服务的基本结构和工具,包括Visual Studio.NET.NET企业服务器、.NET框架和Windows.NET

· 能够启用新型智能互联网设备的.NET设备软件

· .NET用户体验

.NET对最终用户来说非常重要,因为计算机的功能将会得到大幅度提升,同时计算机操作也会变得非常简单。特别地,用户将完全摆脱人为的硬件束缚:用户可以自由冲浪于互联网的多维时空,而不是束缚在便携式电脑的方寸空间--可通过任何桌面系统、任何便携式电脑、任何移动电话或PDA进行访问,并可对其进行跨应用程序的集成。

.NET对开发人员来说也十分重要,因为它不但会改变开发人员的开发应用程序的方式,而且使得开发人员能创建出全新的各种应用程序。新型开发范例的核心是Web服务这个概念的引入。Web服务是一种通过简单对象访问协议(SOAP),在互联网上展露其功能性的、极为公开的服务。SOAP是一种基于可扩展标记语言(XML)制定的协议。

在过去,开发人员通过集成本地系统服务来构建应用程序。在这种模型下,开发人员可以访问丰富的开发资源并能严格控制应用程序的行为。

如今,开发人员已在很大程度上挣脱了这种模型的束缚,致力于构建具有复杂结构的n层化系统,这种系统能将网络上众多的应用程序一并进行集成,大大提升了应用程序的价值。这样,开发人员便可把精力集中在充分挖掘软件独特的商业价值,而不是构建基本结构上。可喜的局面将应运而生:软件投放市场的时间大大缩短、开发人员的编程效率明显提高,最终把质量上乘的软件呈现给用户。

我们正在进入一个崭新的计算时代--一个由互联网(尤其是Internet核心技术XML)实现的时代。利用XML,能够创建出可供任何人从任何地方使用的、功能非常强大的应用程序。它极大地拓展了应用程序的功能,并实现了软件的动态提供。

n层计算技术具有能够大幅度提高生产力、紧密耦合的特点,而Web概念具有面向消息、松散耦合的特点,我们将二者有机地糅合在一起,实现了上述构想。我们将这种计算风格称为Web服务,它的出现标志着人类已经迈入应用程序开发技术的新纪元。Web服务是一种应用程序,它可以通过编程并使用标准的Internet协议,像超文本传输协议(HTTP)XML,将功能展示在互联网和企业内部网上。还可将Web服务视作Web上的组件编程。

2 .NETIT专业人员的重要意义

.NET Enterprise ServersWindows 2000操作系统,为创建具有高度可管理性的、能迅速投入市场的应用程序提供了坚实基础。它们利用的是可扩展标记语言(XML),因此随着Web体系结构的革新,在此平台上创建的程序依然很有价值。

.NET平台的核心是,采用有效的、分门别类的方式来构建应用程序,达到其前所未有的规模。该平台上的Web服务模型指的是:企业应用程序的中心业务要素通常由本地管理,而支持它们的服务(如用户认证、文件存储、用户首选项管理、日历、邮件等等)却无须本地管理,可以被无缝订购。为了存储用户文件和邮件,IT专业人员往往在服务器上安装新的独立磁盘冗余阵列(RAID阵列),而有了.NET,他们在这一方面将会花费较少的精力,而更多地致力于怎样为公司增加效益。

3 .NET对企业的重要意义

MicroSoft .NET平台将从根本上改善计算机和用户之间进行交互的方式,最大限度地发挥电子商务中计算技术的重要作用。

.NET将保证完全消除当今计算技术中的所有缺陷。.NET定能实现确保用户从任何地点、任何设备都可访问其个人数据和应用程序的宏伟蓝图。除此之外,.NET技术还可实现多个应用程序在逻辑上的松散耦合链接和紧密耦合链接。

用户可以通过手写、语音和图象技术与其个人数据进行交互。这些数据将安全地存放在互联网上,用户通过办公室(或家庭)PC,还可以通过移动电话或寻呼机、PDA、甚至是新发明的寻呼机——移动电话——PDA——PC联合设备访问这些数据。应用程序可进行灵活的功能调整,以适应用户所用设备的功能状况。应用程序可根据用户预定义的选项集和指令集,完全代替用户自动执行相应的操作。

MicroSoft .NET Framework 及主要服务

MicroSoft .NET框架的目的是使你更容易建立网络应用程序和网络服务。建立在操作系统最底层的服务,是管理运行时代码需求的Common Language Runtime,这些代码可以用任何现代编程语言所写。Runtime提供了许多服务,这些服务有助于简化代码开发和应用程序的开发同时也将提高应用程序的可靠性。.NET Framework包括一套可被开发者用于任何编程语言的类库。在此之上是许多应用程序模板,这些模板特定地为开发网络站点和网络服务提供高级组件和服务。

Microsft .NET框架引入了组合体的概念。一个组合体是一组资源和类型,并包括有关这些资源和类型的元数据,也就是被作为一个单元配制的。元数据被称为组合体的名单,它包含象类型和资源表之类能被组合体外看得见的信息,这个名单也包括有关从属关系之类的信息,例如组合体建立时的版本号。开发人员可以指定版本策略,以指示运行语言是否装入系统上已安装的依赖于组合体的最新版本,装入一指定版本,或在编译时使用的版本。

组合体可以被一个应用程序私有,或被多个应用程序共享。一个组合体的多个版本可以同时配制在同一台机器上。应用程序配制信息定义了到何处去查找组合体,这样Runtime就能为同时运行的两个不同的应用程序装入同一组合体的不同版本。这就消除了由组件版本的不兼容性引起的问题,提高了系统整体的稳定性。

Microsft .NET框架不仅规定代码访问安全,还规定基于角色的安全。通过代码访问安全机制,开发人员能为应用程序指定完成工作所必需的权限。

在查看Microsft .NET框架的可编程模板前,先看一下它所提供的服务。

1、服务框架

框架包括一套开发人员希望在标准语言库中存在的基类库,例如:集合、输入/输出,字符串及数据类。另外,基类库提供访问操作系统服务如图画、网络、线程、全球化和加密的类。服务框架也包括数据访问类库,及开发工具,如调试和剖析服务,能够使用的类。

2、数据访问服务

为了提供对数据的访问,服务框架包括ActiveX Data Objects+ (ADO.NET)类库。如同名子所暗示地那样,ADO.NETADO发展而来。ADO+被设计为基于网络的可扩展的应用程序和服务提供数据访问服务。ADO.NET为连接的指针风格的数据访问,同时也为更适合于把数据返回到客户端应用程序的无连接的数据模板提供高性能的APIs流。

ADO.NET定义了那些链接数据仓库、 对数据仓库发送命令及从中获取结果的类。这些类由受控数据提供者(managed data provider)实现。ADO+中链接和命令对象看上去和ADO中的是一样的,并且一个名为DataReader的新类提供了通过高性能API流获取结果的能力。DataReader在功能上同前向、只读的ADO记录集(Recordset)是等同的,但是DataReader被设计用来最小化内存中生成的对象的数量,以提高性能,避免垃圾积累。在.NET Framework中包含了针对MicroSoft SQL Server?的受控数据提供者以及可通过OLE DB访问的任何数据仓库。

ADO.NET的一个主要创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充,并且它使用相同的潜在的数据缓冲区。

受控数据提供者为数据仓库和数据集公开一名为DataSetCommand 的接口对象。DataSetCommand 使用ADO.NET链接和命令以从数据仓库中填充数据集,并把在数据集中发生的变化解析到数据仓库中。

所有的数据都可被看作XML,所以开发人员可以为任何数据使用转换和确认服务。ADO.NET定义了一个消费DataNavigator、生成一个新的XmlReader的通用转换体系。.NET Framework提供了一个支持W3C XSL Transformations (XSLT)细则的特殊转换组件。ADO.NET同时提供了一使用XML简图确认XmlReader的确认引擎。ADO.NET支持通过DTDs XSD XDR定义的简图。

3、表单应用模板

编写Windows客户应用程序的开发人员可使用Win表单应用程序模板以利用Windows丰富的用户接口特点,包括现在的ActiveX控件和Windows 2000的新特点,如透明的、分层的、浮动窗口。可以选择传统的Windows或网络外观。得知它和现在的基于Windows表单包的相似性以后,开发人员会发现Win表单可编程模板和对设计阶段的支持非常直观。

Win 表单利用了Microsft .NET框架 runtime以减少基于Windows的客户应用程序的开销。只要应用程序和组件是用Win所写或被Win表单应用程序使用,那么它们就能被框架安全模板在客户机上安全地执行。

4 网络应用程序模板

ASP.NET的核心是HTTP运行语言,一个高性能的用于处理基于低级结构的HTTP请求的运行语言,而基于的结构与MicroSoft Internet Information Services (IIS)所提供的ISAPI结构相似。

HTTP 运行语言是在象服务器上的IIS或客户机上的IE之类的unmanaged 主机过程中运行的受控代码。HTTP runtime负责处理引入的所有HTTP请求,并对每个请求应用程序的URL进行解析,然后把请求分配到应用程序以进行进一步的处理。

ASP.NET使用基于构件的Microsft .NET框架配制模板,因此它获得了如XCOPY配制、构件并行配制、基于XML配制等优点。ASP.NET另一个主要优点是,它支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。

在应用程序中,HTTP请求是通过HTTP模块的一个管道路由的,最终到达请求处理程序。HTTP模块和请求处理程序是一些实现特殊接口的受控类,而这些接口是由ASP.NET定义的。

ASP.NET同样提供高速缓冲服务,以改善性能。输出缓冲可完全节省网页翻译,段缓冲储存部分的网页。由于提供了相应的类,所以只要需要,应用程序、HTTP模块以及请求处理程序可以在高速缓存中储存任意数量的对象。

5 ASP.NET 网络表单

网络表单把基于Visual Basic?的表单的高生产性的优点带到了网络应用程序的开发中来。网络表单支持传统的将HTML内容与角本代码混合的ASP语法,但是它提出了一种将应用程序代码和用户接口内容分离的更加结构化的方法。引入的网络表单控件用于为封装通用用户接口元素提供了一种机制。

网络表单控件负责生成用户接口,典型情况是在HTML表单中。ASP.NET是提供了一套映射传统的HTML用户接口小部件(包括列表框,文本框和按钮)的网络表单控件和一套附加的更加复杂的网络控件(如日历和广告转板)。

代码与内容的分离使ASP.NET网页能动态地编译到受控类中,用以提高性能。每个引入的HTTP请求都被传递到一个新的网页实例,因此开发人员不需要关心代码中的线程安全性。

6 ASP.NET 网络服务

ASP.NET 网络服务体系架构为用ASP.NET建立网络服务提供了一高级可编程模板。虽然建立网络服务并不需要使用网络服务平台,但是它提供许多的优点将简化开发过程,并且它使用的编程模型对用ASPVB工作的开发人员来说是很熟悉的。使用这个可编程模型,开发人员不需要理解HTTPSOAP或其它任何网络服务规范。

开发人员用ASP.NET生成一个扩展名为.asmx的文件,并把此文件配制为网络应用程序的一部分,就建立起了一个网络服务。

ASP.NET网络服务还提供了一个为在SCL文件中描述的网络服务生成分类的受控代理工具。代理生成器把SCL文件中描述的消息映射成受控类中的方法。

网络服务为在Internet上绑定应用程序提供了一个利用现存体系架构和应用程序的简单的、灵活的、基于许多标准的模型。

Microsft .NET框架在现有开发人员技巧之上,提供了一个应用程序模板和关键技术,用于简化安全、可靠、可扩展、高可用性的网络服务的建立、部署和不断的发展。

本帖子版权属于原作者所有,转载请与原作者联系并注明出处 - DotNET中文技术网

 

 

 

.NET初级读本


作者:xu_yun

2001-8-31 23:45:35


[
被查看:45]    推荐作品



现在也许你会因为没有听说过微软的新.net战略而感到很没有面子。根据你从与别人聊天中或者在你的阅读中得来的信息,你心目中的.net或许是一个针对整个基于分布式结构的internet的宏伟的建筑,或者仅仅是web应用程序的别名而已。但是有一件事倒是越发清楚了,那就是大家对什么是.net,还有.netweb和应用程序开发这意味着什么是越发困惑了。

我不敢自称为.net的专家,但我想我已经足够多的介入到了它的设计、开发过程之中,所以我能够提供一些有用的信息以帮助大家明白.net的定位、目的和目标。所以虽然接下来的内容并不提供开发级的信息,不能告诉你怎样使用.net开发程序,但确实能够给你一些指引,使你至少能够为你的同事或家人讲述.net

回忆过去
首先,我们要回去看看新的编程模式是怎样进化成为操作系统的一部分的。现在设想一下我们回到了80年代初。那时,在考虑购买一台计算机的时候,ibm个人电脑已经开始成为众多的选择对象之一了。它的操作系统是ms-dos,和那时几乎所有的操作系统一样,这是个严格的命令行的,基于文本的操作系统。

虽然当时绝大多数的应用程序在这些早期的计算机的基于文本的环境中运行良好,但有些程序员开始接受挑战去创造属于他们自己的,图形化的环境。用户首先用基于文本的的操作系统启动,然后运行程序切换到图形模式。这类的程序有的比较简单,只提供很少的功能,而有的则相对强大,功能多样。
要为这些程序设计和实现一套图形用户接口(gui)库需要做相当多的工作。特别痛苦的是在这些不同的实现中几乎没有任何共同点。要完全实现一个真正强大的gui,需要从操作系统级做起。所以到后来,applemicrosoft和其他公司开发出了图形界面的操作系统,这些系统不仅支持开发gui的应用程序,还极大地扩展了这些程序的能力,其提供的库不单单是支持窗口和菜单的绘制,还提供了丰富的的系统服务,以使开发者工作更加流畅。这些服务包括与设备无关的打印模式,甚至是系统剪贴板等等,这些都是对开发者非常有用的资源。

我希望我对这段历史得还算清楚,我们将从这里开始。

回到现在
现在我们跳回到现在。想象一下internet正扮演着80年代初个人电脑的角色,web站点就是当初的程序。如果这个web站点只是包括一些超链或者是一些文本文档,那它就像是过去的一个文本模式的程序,如果这个站点提供交互式的服务的话,那它就可以被比作是当时的gui的程序了。在交互式的服务下,用户提供信息给web站点,这些信息在web站点中被交给应用程序逻辑来处理然后产生一个结果。这样的例子有购物车、altavista提供的翻译服务和ups提供的包裹跟踪服务等等。

首先来看看购物车这个例子。几乎所有的购物车都将支持输入信用卡信息。很多时候这些信息只是作为交易信息的一部分而被记录下来,一个好的购物车将应该能够快速而且精确的向信用卡的发卡公司校验信用卡信息,如果用户输入了错误的信息,就应当给用户一个提醒。但当这个web站点想支持一种新的信用卡类型时它该怎么办呢?这个站点的开发者必须联系那个信用卡公司,找出他们支持的(如果有的话)电子校验服务,然后根据那个公司的电子校验的实现写自己的代码与其配合。

翻译服务又会怎么样呢?如果我们正在写一个e-mail 的程序,难道你不觉得在你的程序中加入即时翻译功能会非常有用吗?altavista就有提供了这种服务的站点,你可以悄悄的启动一个隐藏的浏览器控件,给它一些必要的信息,然后查看它返回的信息,在返回的页面上定位翻译好了的信息的位置,最后把它提取出来提供给用户。这和有些图形界面的应用程序从文本模式的程序或者是大型计算机终端中获取信息的方式有些类似。这就是广为所知的屏幕截取,这种方式比较复杂而且相当脆弱,因为目标屏幕的布局发生变化,即使是很细微的变化将会带来很严重的问题,而且在有些情况下这种实现显得并不道德。
现在我们来讨论讨论包裹跟踪服务,想象一下如果你的站点允许你的用户查询他们所定购的货物的当前状态会是会多么棒呀。通过ups的追踪编号来提供这些信息将会是非常有效的,或者是把这些信息做成到ups站点的链接,然后你的用户就会得到关于他们包裹目前状态的详细报告了,也许这个时候这些包裹还正在漂洋过海呢。但你觉不觉得这样会更方便,那就是你的站点和ups的站点交互工作,然后在你自己的网站上提供这些信息?这样的话,这些信息就会和你的站点的其它部分一样共享相同的用户界面,而且不用担心用户不小心迷失在ups站点后不知道怎样回到你的站点了。

为了给用户提供集成服务的体验,上面的例子或者需要你从其他公司找到以编程方式得到他们的服务的方法,然后为这些服务开发自己的用户界面;或者是写一个屏幕截取程序来截取相应的信息,如果已有公司通过web 提供了的相同服务的话。
非常明显,无论是那种实现方式,代码量和耦合度都太大,而且还存在很多潜在的问题和失灵的可能。这些途径在本质上很象80年代时强迫文本模式的程序与操作系统还不能直接支持的设备进行交互一样。

标准协议
一种比较好的解决方案应该是一套通用的、能够和远程服务交互的途径,这种途径不仅仅连接能够某个公司的服务,而且能够发现这个公司提供什么样的服务,就象xmlsoapuddi的目标那样。xml(扩展的标记语言)将信息表示成一种易于按你的需要进行编程获取或处理的格式,soap(simple object access protocol)基于xml,特别的被设计来提供远程服务的接口信息。而uddi(universal description, discovery, and intergration)是业界倡导的,具有对internet服务和资源的探测能力的一套标准。
在方便的连接和利用另一个站点所愿意提供的服务这条漫漫长路上,这些标准接口正在努力前行。但是由于当前的操作系统还不能够直接支持xml/soap,你必须在跳过一些障碍后才能使用这些接口。你可以写你自己的基于xml的编译引擎,或者使用别人的,然后与xml文档对象模型进行交互,创建出和检验被来回传递的数据。这很有意义,而且绝对比求助于屏幕截取容易多了。
进入.net
更好的解决方案是所有的xml/soap/uddi都能够被操作系统直接支持,然后由操作系统把它们作为相当普通的函数调用或者是对象的交互来向你提供。例如,下面的这些东西提供了一种绝妙的方法来供应用程序调用altavista的翻译服务。
avtrans = new avtranslation (“here is a sample line of text”, “english”);
strresult = avtrans.translateto (“french”);
这就是.net的给我们带来的好处之一。它不仅允许应用程序直接访问和利用远程的基于web的服务,而且使得web服务器很容易地向外部的程序提供这种服务。这并不意味着提供web服务器要提供服务,客户端要利用web服务都非得要用.net不可,只不过是指利用.net平台来进行这些开发更加便利而已。
属性、方法和事件。哦,我的天!
.net
的设计,当然不是只停止在internet接口这个层面上。访问远程服务的这种编程模型同样也被应用在本地服务的利用与内部事务逻辑上。换句话说,这个编程模式将遍布在普遍的程序的设计中。
其目的在于提供一种统一的、面向组件的编程模型。无论你想显示一个远程的翻译服务还是本机的文件系统或者是一个对话框,所有的支持都将是一个一般化的基于组件的接口:属性、方法和事件。支持的.net的编程语言可以容易而且融洽地使用这些组件,而不管这些组件使用什么样的语言开发的,所有的这些语言都是平等的公民,一个vb应用程序就能调用用c++编写的组件的方法,同时捕获cobol开发的应用程序触发的事件。而且协作者们再也不会意识到自己的伙伴在用另外的一种编程语言。
肯定的,应用程序在利用这些服务以及架构的优势上也是会分成很多层次的。你可你想象一下你曾经在使用一台连在一台大型机的电传打字机终端,有人向你解释图形界面的应用程序是什么样的,用多快的时间你就会掌握滚动条,组合框,菜单条以其调色板管理的精髓呢?.net就像在引出一种全新的开发应用程序的思考方法。如果你仅看到了它的一部分,也许你不能发现它到底新在何处,而当你当你取得这个不可分割的整体的各方面的知识而且发现了其各部分如何协同工作后,你就会发现其中埋藏的巨大的兴奋,至少对我是这样。

我从来没有任何打算让这个对.net的粗略的讨论深入到任何细节。我将在以后的文章中深入窥视.net的特色和能力。

本帖子版权属于原作者所有,转载请与原作者联系并注明出处 - DotNET中文技术网

 

关闭窗口

 

.NET架构的核心开发技术


作者:金志立

2001-8-31 23:47:01


[
被查看:26]    推荐作品


    不可否认,应用软件的开发正在经历一次巨变——将最终增强开发人员的生产力并开启一道通向全新概念的应用程序的大门。

  新型的开发模式正逐渐被推广,将分发软件演变成一种服务还有待于所有开发人员的共同努力,而互联网却将彻底改变应用程序的开发模式和配置方式。

  传统上,软件开发人员通过集成本地系统服务的方式开发应用程序。这种模型使开发人员有权使用一整套丰富的开发资源,精确控制应用程序的性能。

  如今,开发人员在很大程度上已挣脱了这种模式的束缚,致力于构建具有复杂结构的n层系统,这种系统能将网络中各处的众多的应用程序进行集成,并大大提升应用程序的价值。这样,开发人员便可集中精力挖掘软件独特的商业价值,而不必日夜为如何构建基本结构伤脑筋了。令人欣喜的局面将应运而生:软件投放市场的时间大大缩短、开发人员的编程效率明显提高,最为根本的是开发出质量上乘的软件。

  我们正在进入计算机发展的下一个阶段——基于Internet的阶段,特别是基于Internet核心技术——XML扩充标记语言。尽管多层应用程序开发将焦点集中在建造大型企业级应用程序上,但现在XML使得能够创建可用于任何人、任何场所的大型应用程序。它扩大了应用程序的使用范围。这样,软件就不是只能从CD上安装的某种东西,而是一种服务——就像呼叫服务或者计费电视一样,可以通过通信媒体来预订。

  这一切,是通过将紧密联接的、高效的n层计算技术与面向消息的、松散联接的Web概念相结合来实现的。我们将这种计算风格称为Web ServiceWeb服务),它的出现标志着人类已经迈入应用程序开发技术的新纪元。Web服务是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)XML,将功能纲领性地体现在互联网和企业内部网上。

  我们也可将Web服务视作Web上的组件编程。

  从理论上讲,开发人员通过调用Web应用编程接口(API),将Web服务集成进他们的应用程序,就像调用本地服务一样。两者区别在于前者能够通过Internet发送到某个远程系统的服务上。例如,像微软护照(Microsoft Passport)这样的服务,可以给开发人员提供应用程序身份确认的功能。通过对护照服务编程,开发人员就可以利用护照服务的基础体系,实现维护用户数据库,确信服务开启和运行以及正确地备份等等功能。

  松散联接
  跨越网络的分布应用程序逻辑的概念并不是一个新名词,但跨越Web的分布和集成应用程序逻辑的概念却是。

  此前,像微软的DCOM (Distributed Component Object Model )Object Management Group公司的CORBA Common Object Request Broker Architecture )以及Sun公司的RMI(Remote Method Invocation )这些分布式对象模型被称为分布应用程序逻辑。运用这些系统结构,虽然服务放在远程系统上,开发人员仍然可以像原来本机编程那样维护和丰富应用程序的功能。

  但这种系统的问题是不能扩展到Internet。因为该体系的基础是服务器上的客户端和服务器的紧密联结。这意味着两者必须是同质的基础体系,但也就常常意味着这种系统是非常脆弱的,如果有任何一端接口发生变化,另一端程序必然就会被中断。举个例子,如果服务器应用程序的接口改变了,那么客户端也将会失效。

  开发中要求有一个紧密联接的系统这本身没有错,而且许多应用程序也一直就是建立在这些系统上的。但最终,随着时间的流逝,这种模型是不会扩展的。因为众多公司企业要求相互沟通,这很难保证会有一个统一的系统,同样也很难保证,你的客户的服务器会有你所需要的完全一致的系统,你甚至都不可能猜想到它所用的是什么操作系统、什么对象模型和什么编程语言。

  相反,Web服务的联接非常松散。这就意味者你可以在联接的任何一端任意改变接口,而应用程序可以不受影响地照常工作。从技术上说,这主要是由于使用了拥有稳固性能的基于消息的异步技术,如像HTTPSMTPWeb标准协议。而且最重要的是,XML可以帮助实现其通用性。

  作为一个宏伟的计划,.NET的路还很长。今后的发展无论是崎岖坎坷还是一片光明,在对新技术和IT产业的推动上,微软都是功不可没的。

  消息系统将通信的基本单元打包进自描述的、运用于网络通信层的包(被称做消息)。消息系统和分布式对象系统的关键区别在于,发送者需要对接收者的系统了解多少。使用分布式的对象系统,发送者需要帮助接收者考虑许多问题,比如应用程序将如何激活和卸载、调用的是什么接口等等。

  另一方面,消息系统在通讯层上达成协议。发送者只需考虑的是接收者能够知道信息正被发送。发送方不需要了解一旦消息被收到后将会如何处理,也不需要对发送方和接收方之间作任何考虑。

  在通讯层上达成协议的优势是显而易见的。例如,协议能够使接收方随时作修改而无须中断发送方,只要该协议始终明白是同一条消息。接收方不用中断任何当前应用程序,可以自由升级和改进。更进一步说,就是发送方不用要求任何特殊的软件就可以和接收方交谈,只要他发送的是符合格式的信息,接收方就可以作出应答。

  ■XML的通讯基础:SOAP
  建造跨越Web Web服务的工作和异步系统的关键是使用统一的数据说明格式,这就是XML。特别说明的是,Web服务器在三方面需要XML来实现:基础语言、服务说明以及服务发现。

  ● SOAP:系统在底层需要有统一语言,特别地,应用程序相互通讯需要建立一套规则来说明如何表示不同数据类型(如整数和数组),如何表示命令(如进行数据处理)。同时,应用程序在需要时还可以扩充这种语言。简单对象存取协议SOAPSimple Object Access Protocol),这是XML的一种实现,代表了一组如何表示和扩充数据和命令的规则集。

  ● WDSL(Web Services描述语言) :一旦应用程序有了如何表述数据和命令的基本规则,他们就需要如何描述可以接收的特定数据和命令。应用程序只是声明如何接收整数是不够的,他们必须用明确的方法声明。如给你两个整数,把它们相乘。WDSL是一种XML语法,开发人员和开发工具可以用它来表示Web服务的功能。

  ● SOAP Discovery:最后需要一组规则来定位服务的描述——对于开发者和开发工具在什么地方可以发现一个Web服务。SOAP Discovery规范提供了一组规则让开发者和开发工具可以自动发现Web服务的描述。

  一旦这些准备好了,开发者可以方便地发现Web 服务,把它作为一个对象集成进他们的应用程序,并使应用程序和Web服务相互通讯。

  ■.NET框架:Web服务引擎
  很显然,许多基本结构都需实现上述进程对开发人员和用户的透明化。.NET框架(.NET Framework)提供此基本结构。从.NET框架角度看,所有组件都可以是Web服务,而Web服务也仅是一种组件。实际上,.NET框架提取出微软组件对象模型(COM)的精华,将它们与松散联接计算的精华有机地结合在一起,生成了强大、高效的Web组件系统:简化程序员的管道操作,深入地集成了安全性,引进了基于互联网的操作系统,极大地改善应用程序的可靠性和可扩展性。

  .NET框架由三个主要部分组成:通用语言运行库、一套层次结构的统一类库和一个被称为ASP+的高级ASP版本。

  有关.NET的许多东西让人印象深刻,尤其是微软充分传达出的对互联网作为未来主要技术平台的首肯,和在某些方面对公开的标准的欢迎。

  .NET的确牵动着每个人的猜测……

  1.通用语言运行库

  除了通用语言运行库的字面含义外,在开发阶段和运行过程中它还扮演着另一个角色。在组件运行时,运行库负责管理内存分配、启动和中止线程和进程、强化安全系数,同时还调整任何该组件涉及到的其他组件的附件配置。在开发阶段,运行库的角色稍微有点变化:因为很多方面可以自动实现(例如内存管理等)。运行库可以使开发过程变得非常简单,特别是同今天的COM编程相比更是如此。特别典型的是,像Reflection这样的特性可以极大地缩小开发人员将商业逻辑转化成一个可重复使用的组件而不得不编写的代码数量。

  运行库对于编程语言来说并不是新鲜的东西。实际上每一种编程语言都已包含一个运行库。Visual Basic开发系统有最明显的运行库(正规名字为VBRUN),Visual C++也有一个MSVCRT,此外,像Visual FoxProJscriptSmallTalkPerlPythonJava等等都如此。.NET框架的关键角色就是它提供了一个跨所有编程语言的统一环境。

  2.统一编程类

  .NET框架类为开发人员提供了一套可以使用的统一的面向对象、异步、层次结构的可扩展类库。现在,C++的使用者使用Microsoft Foundation ClassesJava程序员使用Windows Foundation ClassesVisual Basic的用户使用Visual Basic APIs。微软用.NET框架统一了这些不同的框架。结果是,开发人员不用非去学多个框架来完成自己的工作。而且,通过创建一套跨编程语言的通用API.NET框架可以实现跨语言继承、纠错处理以及程序调试。实际上,从JScript C++的所有编程语言,对于.Net框架都是相互等同的,开发人员可以自由地选择他们想使用的任何语言。

  .NET是一种全新的平台,它将对现有的所有代码产生影响。盖茨说:微软所有的产品都会被涉及。我们的整个战略是围绕这个平台展开的。

  3.ASP+

  ASP+是使用 .NET框架提供的类库构建而成的,它提供了一个Web应用程序模型,该模型由一组控件和一个基本结构组成。有了它,Web应用程序的构建变得非常容易。开发人员可以直接使用ASP+控件集,该控件集封装了公共的、用于超文本标识语言(HTML)用户界面的各种小组件(诸如文本框、下拉选单等等)。实际上,这些控件运行在Web服务器上,它们将用户界面转换成HTML格式后再发送给浏览器。在服务器上,控件负责将面向对象的编程模型呈现给Web开发人员,这种编程模型能提供面向对象的编程技术拥有的丰富功能。ASP+还提供一些基本结构服务(诸如会话状态管理和进程循环),这些服务进一步减少了开发人员要编写的代码量,并使应用程序的可靠性得到了大幅度提高。ASP+还允许开发人员将软件作为一项服务进行传送。通过使用ASP+ Web服务功能,ASP+开发人员只需进行简单的业务逻辑编程,而由ASP+基本结构负责通过SOAP传送服务。

  尽管ASP+还未正式发行,但它已在改进应用程序功能方面创造出了令人难以置信的奇迹:在现有基于ASP的应用程序性能基础上,性能优化了三倍之多,更为激动人心的是生产效率再度攀升。

  ■.NET框架的核心部分
  .NET框架有几个要素值得一提。首先是它的安全系统和配置系统。这两个系统协同工作,有力地遏止了运行不安全代码的可能性,并大幅度减少了号称“DLL Hell”的对应用程序进行配置时所面临的挑战。

  安全系统是一个高度细化、基于事实的系统,它赋予开发人员和管理员多种代码处理权限(而不仅仅是“on”“off”)。将来,还会根据代码本身的核心要素来决定如何实施上述权限。

  例如,当.NET框架应用程序被下载到某一系统中时,它会申请一组权限(诸如对临时目录的写入权限)。运行时将收集有关应用程序的事实信息(诸如:它是从何处下载的、是否用了有效签名、甚至它访问系统的准确程度),并按管理策略决定是否允许应用程序运行。运行时甚至还可告之应用程序它无法授权申请的所有权限,并允许应用程序自行决定是否继续运行。

  有这种安全系统作保障,许多应用程序配置问题便会迎刃而解。开发人员和管理员(最终是用户)所面临的最大挑战之一是版本的管理问题。如果在您新装了某个应用程序之后,一切都陷于瘫痪状态,而在这之前系统一直运行得非常良好,那么最大的可能是新安装的应用程序重写了一些共享库,并极有可能修正了现有应用程序正使用的程序错误。这种情况出现的频率很高,以致人们将它称为:“DLL Hell”

  .NET框架拥有的几项高级功能可以彻底消除“DLL Hell”现象。首先,它有一个非常强大的内部命名系统,能够有效地防止两个库因互相重名而被错当为对方的情况发生。除此之外,它还提供一项被称作“side by side”配置的新功能。如果前例中新安装的应用程序确实重写了共享库,现有应用程序可对该库进行修复。等现有应用程序再次启动时,它会检查所有的共享文件。如果发现文件被更改,同时这些更改又是不兼容的,则它可以请求运行时提取一个它可以使用的版本。得益于强大的安全系统,运行时可以安全地执行该操作,这样应用程序就完成了本身的修复工作。

  编者语
  人们总是喜欢不厌其烦地发表诸如互联网改变了一切的陈词。同样地,在谈论互联网给人类带来的影响时,总是情不自禁地使用广告式的夸张语,以表达对互联网的推崇。不过,互联网的确彻底改变了应用程序的开发模式和配置方式。将分发软件演变成一种服务还有待人们的共同努力,XML是实现这个梦想的重要手段。.NET框架是微软开发人员战略的核心内容,它旨在帮助开发人员轻松地构建、配置和运行Web服务。

  总之,.NET的最先受益者,将是我们的开发人员。.NET的路还很长,今后的发展无论是崎岖坎坷还是一片光明,在对新技术和IT产业的推动上,微软都是功不可没的。

本帖子版权属于原作者所有,转载请与原作者联系并注明出处 - DotNET中文技术网

 

 

.NET几大热点问题

 

 

一.什么是.Net?它主要包括什么?

.Net是为简化在第三代因特网的高分布式环境下的应用程序开发,基于开放互联网标准和协议之上,实现异质语言和平台高度交互性,而构建的新一代计算和通信平台。

 

.Net主要包括普通语言运行时(Common Language Runtime).Net构架类库。

 

二..Net主要的优点有哪些?

 

.Net的主要优点有跨语言,跨平台,安全,以及对开放互联网标准和协议的支持。

 

.Net支持多种语言的互操作,即在一种语言下开发的组件,可在另一组件下通过面向对象的继承而得以重用,目前.Net支持的语言达二十多种。

 

.Net通过将各语言先编译成中间语言(IL),然后再执行时用即时(Just In Time)编译器将之编译成本地平台代码来实现异构平台下对象的互操作,目前.Net支持的平台有Windows,LinuxUnix的支持正在开发中。

 

.Net通过普通语言运行时(Common Language Runtime)来实现资源对象,类型的安全。

 

.Net通过对HTTP,XMLSOAPWSDLInternet标准的强劲支持提供在异构网络环境下获取远程服务,连接远程设备,交互远程应用的编程界面.

 

三..Net中的普通语言运行时(Common Language Runtime)指什么?它在.Net中处什么位置?

 

CLR(Common Language Runtime)普通语言运行时是整个.net framework构建的基础,是实现.Net跨平台,跨语言,代码安全等核心特性的关键。它实际上是驻留在内存里的一段代理代码,负责在整个.net整个执行期间的代码管理工作,比较典型的有:内存管理,线程管理,远程管理,代码强制安全类型等。这些都可称得上.net framework的生命线。实际上,普通语言运行时代理了一部分操作系统的管理功能。

 

四..Net构架类库是什么?包括哪些内容?

 

.Netl构架类库是基于运行时面向对象的特性而建造的,和普通语言运行时紧密集成的一族可重用类(Class)的集合。它大大简化了软件开发的难度,而且很容易与第三方组件无缝集成。

 

.Net架构类库主要包括对一下编程模型的支持:

 

1 控制台应用程序。

 

2 脚本和宿主应用程序。

 

3 Windows Forms应用程序(Windows 桌面GUI应用程序)。

 

4 ASP.Net应用程序。

 

5 Web Services应用程序。

 

6 Windows 服务程序

 

五..Net支持的开发语言有哪些?.Net语言的互操作性是指什么? 

 

.Net声称支持市面上20多种语言,但目前只有微软官方发布的C#,Visual Basic.NetManaged C++,Jsript,其他厂商声称正在开发中的支持工具有COBOL,Eiffel,Perl,Smalltalk,Python

 

.Net语言的互操作性是指遵循普通语言运行时(Common Language Runtime)规范的语言在对象继承方面的支持,即用一种语言在.Net平台下开发的类可在另一语言中重用,这通过一种称作微软中间语言MIL来实现,即语言编译器首先将该语言编译成微软中间语言,再在相应平台下编译出本地代码。这一切都是在普通语言运行时的规范下进行。

 

六..Net支持的平台有哪些?它的跨平台实现得如何?

 

目前支持.Net的平台有Windows 2000, NT4 SP6a, Windows MeWindows 98。其声称支持的平台有Unix,Linux等,目前有三个项目正在开发Linux下的.Net平台:Ximian公司的Mono项目,DotGNU以及 Potable .NET.

 

七..NetCOM的关系是什么?.Net是否意味着COM的终结?

 

COM定义了组件对象间通信的二进制标准,.Net通过组件内置的类型系统提供了类似的机制,它为此提供了另一个途经。.Net并不意味着COM的终结,但必将大大减少开发人员对COM的依赖。.Net 支持COM.Net组件之间的互操作性,实际上可通过Runtime Callable Wrapper(RCW)来实现在.Net中获取COM组件,通过COM Callable WrapperCCW)来实现在COM中获取.Net组件。

 

八..Net中的中间语言(IL)是什么?它在.Net平台中起什么作用?开发人员可以用中间语言(IL)编程吗?

 

.Net中的中间语言是指可以在普通语言运行时规范下,.执行时通过即时(Just In Time)编译器转化为本地代码的,与CPU独立的一族指令集合。它在.Net平台中是实现语言互操作的一个核心环节,所有.Net平台的语言都要先被编译成中间语言(IL)。程序员也可以直接利用中间语言(IL)来编程,但不推荐那样做,中间语言对理解.Net对象某些行为和程序的调试很有帮助

 

九..Net中的自动垃圾收集是什么?它给.Net平台下的编程带来什么变化?

 

.Net垃圾收集器负责整个.Net运行时受管代码的内存分配与释放任务。它通过一定的优化算法来选择收集的对象和时间。程序员只有在释放大量受管资源时可以进行立即强制垃圾收集,在释放非受管资源时采用终止化(Finalize)操作来处理,需要在程序运行中释放的应该实现Dispose()方法,并明确调用。其它时间将资源的回收交由.Net垃圾收集起来做。

 

十..Net的受管(Managed)代码与非受管(Unmanaged)代码指什么?他们的编码有什么区别?

 

.Net的受管代码(Managed Code)是指符合普通语言运行时(Common Language Runtime)规范,在内存中受运行时代码代理进行内存管理,线程管理,远程管理,代码强制安全类型的代码。非受管代码指对内存,文件,数据库等非受管资源进行操作的代码,他们通常不受运行时代码代理管理,是不安全的。对受管代码的编程只需专注于编程的逻辑,对于内存等资源的管理交由普通语言运行时(Common Language Runtime)来负责,而对非受管代码的编程,则要开发人员精心负责各种非受管资源的分配和回收工作。

 

十一. .Net平台上的开发工具有哪些?目前发展到什么阶段?

 

.Net平台上的开发工具目前只有微软官方的Visual Studio.Net,其它Delphi.Net Linux下的开发工具正在开发中。Visual Studio.Net目前处于最后的Beta2测试状态,它将在2001年下半年随着Visual Studio.Net的推出而发展到成熟的企业版。 

 

目前可下载的Beta2版本地址:

 

.Net Framework SDK:

 

http://msdn.microsoft.com/downloads/default.asp?url=/downloads/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml&frame=true

 

Visual Studio.Net Beta版本(注册用户):

 

http://msdn.microsoft.com/vstudio/nextgen/beta.asp

 

十二. .Net的网络资源有哪些?

 

1 www.dotnetwire.com 第三方的.net门户网站

2.www.microsoft.com/net 微软的.net门户网站

3.msdn.microsft.com/net 微软的开发人员.net门户网站

4.www.csharpindex.com c#门户网站

5.www.dexv.com/dotnet 老牌程序员网站的.net专版

6.www.c-sharpcorner.com c#门户

7.www.asp.net 微软的asp.net,webservice的门户网站

8.www.gotdotnet.com 微软的team组建的.net网站

9 www.dotnetbooks.com .net最新图书门户网站 10 discuss.develop.com 人气最旺,技术最强的国外.net论坛

 

.Net的精髓-XML和SOAP


作者:青苹果工作室

2001-8-31 23:38:56


[
被查看:28]    推荐作品



   
看了那么多广告和宣传,现在你可能开始对 .NET 是什么有了一个想法。Internet 的应用正在不断地扩大,但我们的 Internet 编程方式还处于石器时代。Internet 用户就像老式主机的分时终端上的用户一样,他们从一个受保护的资源请求信息,然后等待回应。你从正在浏览的 Internet 站点上接收的信息由它希望提供给你的、基于 HTML 的信息组成的。 
    
但是,同远程 Web 站点进行交互式操作是不是更有趣?如果我们能用某种方法访问远程站点提供的计算能力并利用它的服务,而不仅仅是利用它的发布能力,会不会更好?这就是 .NET 将要提供的精华。
  .NET 将远程服务器所提供的计算能力和允许用户交互操作所必需的通讯结合在一起。明确地说,.NET 是为你-Internet 开发者-所设计的,它帮助你创建可扩充的新能力。你的 Internet 站点不应该成为带宽海洋中的孤岛,相反,你能以这样的 方式建立你的站点:通过合作和互操作能力,使它融入 Internet 之中。
  所有这些的关键,当然是合作的能力。要具有互操作性,要以高速数据传输率来共享数据。如何做到这些?为什么 .NET 发生在今天而不是五年以前?
  当然一部分答案就在我们今天身在其中的网络技术之中。从来没有现在那么多的人拥有高速带宽连接,并且在不久的将来还会有更多的人加入进来。想像一下人人拥有 DSLCable Modem 或宽带无线连接的时代 ...... 我们将很难回忆起 300 波特 Modem 的时代 :-(
  在过去的几年里,两个最关键的进展就是引入了 XML 及其在 SOAP 中的应用。这些技术都是 .NET 的核心。要成为 .NET 开发世界中的佼佼者,就必须理解 XML SOAP
你可能已经阅读了一些关于 .NET 是什么和由什么东西组成的文章。.NET 允许我们在服务的层次上而不是在发布的层次上来共享信息并交互。Microsoft 的支持 .NET 的产品和许多来自第三方的组件、内容和功能拥有 .NET 的内部结构。但自然地会提出一个问题:是什么使 .NET 能够工作?
  这些都从 XML 开始。
 
  XML实现数据编码

  要想理解 .NET ,就需要理解 XML。像我们在自己的交流中所说和写的语言一样,XMLeXtensible Markup Language,可扩展标记语言,是 .NET 的基础。也许我们有伟大的思想和信息可以分享,但如果我们不能以一种别人可以理解的方式来表述我们的思想和信息,我们的艰苦工作和想法就只能躺在那里睡大觉。XML .NET 的灵魂,是所有 .NET 现在和将来的基础。数据库将通过 XML 中的纪录集来读写,Web 浏览器将接受 XML 并将其和伴随它的样式表一起显示,Visual Studio 甚至会产生 XML 代码!不理解 XML 和与之相关的技术,你就不能同支持 .NET 的资源交流,无论是站点还是人!
  对于今天的 Web 服务器而言,XML 差不多无所不在了。几乎所有的计算平台都能分析 XML,因而也就能获得 XML 文档中的内容。Windows 能,Linux 能,当然 MVS VMS 也能。甚至蜂窝式移动电话也能!所以,如果我们能找到一种方式从远程系统获得 XML 文档,问题就剩下如何理解文档中包含的数据了。这时,我们通过 SOAP 搭载 XML 文档。
 
 SOAP实现数据通讯 
 
    
长期以来我们使用超文本传输协议 HTTP 来提供 Web 页面以及往来的内容。但当我们将 HTTP 或一些其它 Internet 传输协议 XML 结合起来,并指定 XML 文档自身的格式时,你得到了简单对象访问协议 SOAP。至少在开始构想它时,SOAP是被设计为从本地系统向远程系统传递远端方法调用的。基于 SOAP 的结构与同时代的其它远程结构—DCOMCORBA RMI 等等所不同的,SOAP 协议可以穿越任何团体的防火墙,并且 SOAP 数据包中包含着以 XML 编码的数据。而且,它们易于分析和使用。SOAP 还有很好的伸缩性,这使得我们能同时为非常多的用户服务。
   SOAP
模型最初的构想是使用请求-响应模型,同我们今天所用的 Internet 计算模型很相似。随后,SOAP 发展到包含了消息模型。两者的不同之处是 SOAP 在对远端系统上的方法参数进行编码时,有获得结果的特殊目的。它并不请求 Web 站点提供一个感兴趣的数据表格,相反,比如说,在同样的系统上我能调用一个假想称为 CalculatePayment() 的远程调用,并收到一个个人付款数值。是的,今天你能用一个表单做到这些,但关键是在调用服务和提交表单之间存在着差别。服务调用是功能更强的概念。

   .NET:数据共享平台

  给我一种语言 XML 和一种通讯方式 SOAP,我就能建立允许我们交互和合作的系统。这就是 .NET。最初,Microsoft 将建立这种强大的共享,然后他们需要一些时间将最初的版本放到公共领域。如果 .NET 像预期的那样工作,它将改变我们的计算习惯和业务实践,就像在过去的二十年里 DOS Windows 所做的那样。可以预见,鼓励用户进行交互并为 Web 消费者提供服务的站点将繁荣昌盛。这些站点不会遇到麻烦甚至消亡,因为 Internet 消费者正在更多地意识到他们需要得到增强的服务。
  胖客户机计算并没有消亡,但瘦客户机计算正在市场上变得更加流行。作为一个开发者或项目经理,应该有责任学习最新的概念和技术,并把它们应用到业务实践之中。记住达尔文的圣言:进化在产生,但自然选择也在进行。

 

 

 

 

 

 

 

Web Service——下一代的WWW


作者:蒋松 白利强

2001-9-20 19:21:46


[
被查看:28]    推荐作品