本文将对Microsoft.NET和XML Web服务平台进行初步介绍。这一讲我们不想涉及很精深的技术,任何稍微懂一点电脑和Internet知识的人都可以理解本篇内容,这也是我们学习掌握.NET的第一步。
什么是.NET
Microsoft.NET是微软的XML Web服务平台,包含了建立和运行基于XML的软件所需要的全部部件。.NET解决了当今软件开发中的一些核心问题:
● 应用程序的互操作性、集成性和应用程序的可扩展性是很难实现的,而.NET依靠XML消除了数据共享和软件集成的障碍,使得问题得以容易地解决。
● 无数具有相当竞争力的私有软件技术使得软件的集成变得非常复杂,而.NET是建立在一个开放的标准上的,它包含了几乎所有的编程语言。
● 当终端用户使用软件时,他们总觉得不够简便。因为他们无法在程序之间方便地共享数据或无法对能访问的数据进行操作。XML使数据交换变得更加容易,.NET软件可以使得用户只要一得到数据就能对它们进行操作。
● 终端用户在使用Web的时候,无法对自己的个人信息和数据进行控制,这导致了个人隐私和安全泄漏问题。而.NET提供了一套服务,使用户可以管理他们的个人信息,并且控制对这些信息的访问。
● .COM公司和Web站点开发者们很难为用户提供足够的有价值的数据,部分原因是由于他们的应用程序和服务无法很好地和其他程序和服务合作,只是一个不和外界连接的信息孤岛。而.NET的设计宗旨就是为了使来自于多个站点和公司的数据或服务能够整合起来。
在.NET中,程序员设计编写的是XML Web服务,而不再是服务器或客户端的独立应用程序。他们把这些服务组合成松散耦合、相互协作的软件群,XML Web服务之间使用XML message进行通信。
.NET平台
Microsoft的平台是由用于创建和运行XML Web服务组成的,它包含了下面四个组件:
Microsoft.NET框架和Visual Studio.NET:这些是开发人员用来生成XML Web服务的工具(见图)。.NET框架是Microsoft.NET平台核心中的一套编程接口,而Visual Studio.NET是一套多语言系列的编程工具。
服务器基本结构:.NET的服务器基本结构是一系列用于生成、发布和操作XML Web服务的基础程序,包括Windows和各种.NET企业服务器。主要的技术包括对XML、scale-out及跨程序和服务的商务流程的支持。
块构建服务:块构建服务是一套以用户为中心的XML Web 服务,它把用户数据的控制权从应用程序移到了用户手上,使Web有了一个翻天覆地的变化,做到了程序、服务和设备之间的简单性及一致性,这保证了所有的交易都必须得到用户的同意。这些服务包含了Passport(用于用户身份验证)、服务之间的消息传递、文件存储、用户个性设置的管理、日历管理和其他一些功能。Microsoft将在那些对.NET基本结构起至关重要作用的领域内提供一些块构建服务。大量的合作伙伴和开发商将对这些块构建服务作重要的扩展。
.NET的好处
Microsoft.NET为程序员、商业领导、IT部门以及消费者带来了很多好处。
● Microsoft.NET使编程工作变得更加容易,开发投资的回报率趋于最大化。开发者们可以创建能重用的XML Web服务,而不再是单一的程序;这些Web服务易于编写和调试,彼此之间相互独立,通过XML message通信及合作。所以对某一个服务的修改不会影响到其他的服务。
由于XML Web服务可以被很多.NET客户端共同使用,所以对一个服务模块的有效更新,也即更新了所有使用这个模块的.NET客户端。任何编程语言都可以用来编写XML Web服务(如:C、C++、Visual Basic、Cobol、Perl、Python和Java等),程序员可以选择他们最熟悉的语言来编程,这大大提高了开发效率。更值得一提的是,他们并没有因为使用了不同的语言而失去跨服务或跨组件的调试能力。
● Microsoft.NET减少了程序员要写的代码量,一个XML Web服务能适用于所以的设备,不必再去为每一个设备编写一个不同的版本。另外,将显示特性与.NET体验分开以便以后加入新的接口技术,比如语音或手写识别,而不必去重写程序。
● Microsoft.NET 开创了全新的商业模型,它使得一个公司可以用多种方法来把自己的技术商品化。举个例子来说,一个通信公司可以使用XML Web服务的方式提供语音信件和呼叫者ID的访问 ,让用户从一个即时消息程序、电子邮件或用户所选的其他信息编译器中访问到上述信息。技术提供商可以把他们现有的软件包转变为XML Web服务,并把这些服务出售给需要这些功能的第三方或是给.NET客户端提供商,用以构建新的软件包。
● Microsoft.NET允许IT部门使用其他提供商的XML Web服务,减少内部研发的开销,并能提高工作效率。
● Microsoft.NET 对“用户界面友好”作了重新定义。终端用户能够享受一个智能化的、个性化的Internet,它能记住用户的个人设置,并在适当的时候,向用户使用的智能设备上发送适当的数据。
.NET如何改变计算
Microsoft.NET将从根本上改变我们的思考和使用电脑的方式。目前“服务器”和“桌面电脑”这两种概念占据了计算领域的统治地位,然而Microsoft.NET是一种分布式计算范例,它没有了传统上的服务器和桌面电脑的区别,取而代之的是,计算的处理被放在最合适的地方进行,可能是服务器、PC,也有可能是手提电脑以及其他智能设备。
.NET的计算模型对商务和终端用户都产生了重要影响,但方法不同。对终端用户来说,这个新计算模式更具个性化、综合程度更高,会给他们带来一种史无前例的新体验。对商务来说,这个模式改变了制造和销售软件的方法,使IT成为一个公司成功的重要贡献者,并建立起新的商务模型。
什么东西没有变
尽管Microsoft.NET给计算带来了一些翻天覆地的变化,但还有很多东西依然没有改变。
● 终端用户将依然使用熟悉的界面,这可以减少再培训的开支,也意味着用户可以马上开始使用.NET软件。
● 硬件上运行的还是像Windows、Unix、Windows CE和Palm OS一样的操作系统,实际上,.NET增加了软件的运行场所,但同时减少了开发的负担。由于XML Web服务只使用XML与设备通信,所以任何智能设备都可以享用XML Web服务。
● 对程序员来说,他们依然可以使用他们原先熟悉的编程语言。.NET平台借助于.NET框架的公共语言运行时(CLR)使得用不同语言开发的XML Web服务之间也可以相互操作。你依旧可以用Visual Basic、Java,甚至是Cobol创建XML Web服务,这种对编程语言的中立性意味着不用为了进入.NET世界而抛弃已有的投资。
● 原先系统无需被替换。一部分的Microsoft.NET产品就是为了能方便地将现有的系统整合到新的XML Web服务和.NET体验中去而设计的。Host Integration Server就是个例子,它简化了对主机的访问。
所以这种下一代的分布式计算是建立在目前这一代基础上的。Microsoft.NET 不是对现在的应用软件作大规模的替换,而是一个自然的进化过程,是在原先的技术孤岛之间建立了协作关系,协同工作能力逐渐加强,我们也将从中受益无穷。
Microsoft.NET 是微软的XML Web服务的平台。这是下一代的Internet计算模型,各个XML Web服务之间彼此是松散耦合的,通过XML进行通信,协同完成某一特定的任务。Microsoft.NET战略提供了一个用以建立新.NET体验的软件平台、一个编程模型、用以建立和整合XML Web服务的工具以及一套可编程的Web接口。
现在我们正处于向.NET转变的过程中。微软已经宣布了.NET框架的第一个部分??.NET平台、Visual Studio.NET和一些块构建服务以及最初的.NET体验。微软在今后会提供更多的工具和服务。