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