.NET Framework推出至今,已经更新了很多版本,在每一个版本出来的时候,都令开发人员万分激动。因为每一新的版本都带来了一个新的功能体验。.NET Framework 3.0框架的推出也不例外。#t#
在2000年,微软***发行了一个称为.NET 1.0的产品的测试版本。其时.NET 1.0作为一个类框架,回答了开发者社区特别是Java社区,向微软提出的问题。当时,人们认为微软已经跟不上形势甚至有些落后于时代了。结果,.NET框架的上市使许多人为之叹服,如今大量的开发者都在积极地涌向.NET的怀抱。
现在,在几年之后,.NET框架的第三个版本又要出现在众人面前。这个紧紧与Windows Vista的发行绑定到一起的发行版本将是一个相当成熟的框架。这个新式框架的侧重点在于,进一步拓宽.NET方案的应用范围。但是,就象其前一个版本一样,.NET 3.0仍然是庞大而复杂。
一、 .NET Framework 3.0框架与1.x及2.0版本的区别
.NET 3.0与1.x和2.0 .NET框架存在一些不同之处。前两个框架专注于允许众多不同的语言与同一类库CLR进行通讯。CLR,从.NET 1.0中开始引入并在.NET 2.0中得到增强,它基于一个相对简单的概念进行工作:通用语言运行时刻模型能够执行任何运行.NET框架的系统中的代码。这对于每一位开发人员意味着,他们不再需要不断地再学习针对不同技术的语言。例如,一个Windows表单应用程序的C#开发者可以把他的这种构建表单的知识用来编写web页面。同样,一个Visual Basic.NET开发者能够在编写移动应用程序与编写web服务之间顺利切换。由CLR担当一个"仲裁者"并实现相应的通讯。
.NET框架版本3.0在通用语言运行时刻方面并没有改进。许多人对微软在这方面进行指责,但是我认为,没有必要在每次发行中都要对CLR进行改进。这个新发行的框架的重点在于,拓宽这种语言的技术吸引力。
有关扩展.NET框架方面已经在以前的发行版本中进行演示了。前两个框架发行中推出了使用ASP.NET构建web应用程序的新的方法。随着1.1 .NET框架一同发行的移动.NET版本使得开发人员更为容易地构建智能手机及其它智能设备应用程序。这些框架的设计中总是提供给开发人员极大的可扩展性。图1展示了.NET 3.0框架的栈式结构。
.NET Framework 3.0框架并没有对现有技术作进一步的改进,而是引入了四种基本的新技术:
· Windows描述基础(WPF)
· Windows通信基础(WCF)
· Windows工作流基础(WWF)
· Windows CardSpace(WCS)
这其中的每一种技术都将成为开发者用来实施新方案的奠基石。
二、 Windows描述基础
Windows描述基础(WPF)无可争辩地成为以上四个新式基础类集中最为有名的。这主要是由于下面两点:
· 你最终只能看到一种WPF方案;
· 人们经常把WPF与Adobe的Flash进行比较。
ASP.NET在.NET Framework 3.0框架之前的两个版本发行期间引起了许多开发者的重视,因为你能够清晰地了解你在使用什么工具进行开发。同样,WPF也提供了一种一致的方案来构建编程模型,并且支持使用更为丰富的控件和设计技术来开发Windows程序。一个开发出来的WPF程序最终能够被发行到桌面,Web以及智能设备上。
WPF的一个有趣的方面就是新式的名为XAML的XML标准编程语言,利用它能够控制对象的布局。正是这种语言导致了与Flash之间的比较。从表面上看,二者极为相似,但是实际上WPF与Flash之间存在相当的不同。Flash是一个成熟的、可控制的、独立于操作系统的封闭式框架。而相比之下,WPF允许你与操作系统及其它.NET框架技术进行集成。Flash和WPF其实是两种非常不同的技术,二者服务于不同的市场需求但又存在一些"边缘交叉"。
WPF已经提供了一些工具使你用来构建方案。其中,微软的Expression系列工具就包含了一些新的设计工具,它们允许你创建演示程序、网站以及交互式描述。
三、 Windows通信基础
Windows通信基础(WCF)的核心目的是,允许程序与同一台计算机或网络上的或跨越互联网的其它程序实现通讯。WCF编程模型把web服务,.NET远程技术,分布式事务和消息队列统一到单个面向服务的编程模型中,从而实现真正意义上的分布式计算。
WCF的设计在于顺应面向服务的架构原则以支持分布式计算;在这种环境中,服务为消费者所使用,客户可以同时消费多个服务,并且同一个服务能够为多个客户同时消费。典型地,服务都会提供一个WSDL接口,任何WCF客户端都能够使用该接口来消费该服务,而根本不用虑及该服务所宿主的平台。WCF实现了许多高级web服务标准,例如WS-寻址,WS-可靠性和WS-安全性。尽管微软是Web服务互操作性组织(WS-I)的成员之一,但是,问题至今还不明朗-到底微软会全面支持多少WS-I规范。
四、 Windows工作流基础
Windows工作流基础(WWF)是一种定义、执行和管理工作流的微软技术。工作流由一系列的活动组成;开发者能够编写他们自己的域特定的活动,然后把它们应用于工作流中。.NET Framework 3.0框架/Windows工作流基础还提供了一组涉及若干控制流构建方面的通用目的的活动。
Windows工作流基础中还包括了Visual Studio 2005扩展。这些扩展包含一个允许用户设计工作流的可视化工作流设计器,一个支持用户调试工作流的可视化调试器,还有一个支持用户在Visual Studio 2005内编译工作流的工程系统。
注意,你可以在Windows SharePoint Server 2007 Portal的发行中看到一个有关于WWF的早期的示例程序。
五、 Windows CardSpace
你是谁?这是一个经常需要解决的问题-而且也是一个令开发者每天都头疼的问题。当前,我们已经拥有了例如活动目录,通行证和Windows会员服务等方案;我们能够通过这些技术并借助于用户名和口令来标识某个人。目前,这些方案中存在的问题在于,它们实质上相当松散而且安全性差。你会经常听到有人能够共享用户名和口令吗?即使当这种情况发生时,你也根本不知道到底被认证的人是谁。
如今,新的Windows CardSpace在这个问题上提供了一种新的解决方案。不同于以前在管理安全方面的尝试,现在,微软使用CardSpace采取了一种大胆的步骤,从而实现了一种几乎是全新的尝试-向微软以外的安全专家咨询:"安全究竟是什么样的?"
回答很简单:任何用户都能够创建并且共享他的或她的唯一的身份。Windows CardSpace是这种新方案的微软版本。好消息是,CardSpace工作在与其它公司所开发的相同的原则基础上。微软可能是***个,但是许多公司也都是基于这一技术的。例如,微软已经发行了展示把CardSpace集成到一个PHP应用程序中的示例代码(仅有200行)。
CardSpace及相应的新式支持技术将改变你到一个应用程序的认证方式,不管这个程序是基于Web,你的手机或你的桌面程序。这一服务将会真正帮助弄清楚你是谁,而不是由你自己宣称你是谁。在保护用户数据的私有性方面,这的确是一个好东西。
六、 构建.NET 3.0解决方案
你可能已经预料到,构建.NET 3.0解决方案的主要工具就是Visual Studio。Visual Studio的下一个发行版本,其当前相应的CTP代码名为"Orcas",预计将于2007年发行。除了开发工具之外,一组新的支持Windows描述基础的设计器工具(冠以名称"Expression")正在发行中。
总的来看,微软在.NET Framework 3.0框架背后储存了"大量能量",我估计在2007年将会发行或宣布许多精品工具。
七、 集成Vista与Windows XP
请牢记这一点:.NET框架并非操作系统本身。这个看上去非常明显的结论却随着Windows XP的发行被淡忘了许多。到目前为止,Windows XP已经成为利用.NET框架技术的占优势的桌面OS。.NET 1.x和2.0都被设计可以运行于Windows XP之上。一个容易被人们忽视的一点就是,.NET框架并没有被绑定到某一个操作系统。.NET 1.x和2.0都可以运行于Windows 2000和Windows 2003/R2之上。你所要做的就是利用该框架开发出一个能够运行于多个系统上的应用程序。
挑战在于,作为一个开发者,利用非特定于OS的框架类进行开发可能是***诱惑力的。这一点已经从许多Windows应用程序中得到证实,这些程序宣称支持.NET框架但是其实却利用了Windows XP特定的工具,从而使其应用程序仅能运行于一个操作系统之上。事实证明,这里所推荐的许多混合方案无法运行于Windows 2000操作系统上。
.NET 3.0类似前一个框架的一个地方就是,它能够运行于多个操作系统,例如Windows XP,Windows 2003/R2和Windows Vista等之上。到目前为止,我还未曾听到有关于针对Windows 2000或任何其它Windows操作系统发行.NET 3.0的任何讨论。
八、 进一步挖掘.NET Framework 3.0框架宝藏
就象微软所有以前的.NET框架发行版本一样,当前发行的3.0版本也是重量级的。因此,界时市面上将会出现了许多的有关于介绍每一种基础的书籍,当然还会伴随成百上千篇的文章。这都是将来的事情。今天,有关这方面的消息仍然相当缺乏而且难于捕捉;不过,最值得参考的几个地方有:MSDN, Channel9.com,http://www.netfx3.com,以及针对.NET 3.0.100的官方新闻站点。
Windows描述基础***次为设计者提供了一种方案允许其直接与开发者进行交互。如以往一样,开发者还是首先需要进一步学习大量的新技术。***,.NET 3.0提供了一组基础类用于实现通信与工作流的集成。另外,Windows CardSpace所提供的新的认证方案还有待于商界通过顾客敏感的数据去进一步验证。
请睁大你的眼睛用你的智慧去拥抱新的.NET Framework 3.0框架吧。其中存在许多十分紧迫的技术等待你去进行严肃地分析。当然,***的办法还是通过试用它来更好地理解.NET 3.0并进而确定如何使用它来构建更佳的方案。