“WCF体验之旅”系列阶段性总结
欢迎进入.NET社区论坛,与300万技术人员互动交流 >>进入
微软斥巨资打造WCF,在我们看来主要出于下面两个目的:实现其对现有的Distributed Technology的整合和顺应SOA的浪潮。在WCF之前,微软已经为了提供了一套完整的基于分布式的技术和产品,这些技术和产品使我们构建一个基于于分布式的互联系统变得异常简单。我们熟悉的技术包括Enterprise Service,.NET Remoting, XML Web Service, MSMQ等等,这些不同的技术和产品为相同的功能提供了不同的实现。对于技术的发展,我觉得“统一”是一个主线:为了让基于Web的开发可以采用我们基于Windows Form的Event Driven、Control Based开发模式,我们有了ASP.NET, 为了使具有不同结构的数据(.NET Object, XML, Relational Data etc)采用相同的操作方式,我们有了LINQ,同样,对于一个Distributed Connected System的开发,将不同的Distributed Technology整合起来,提供一个统一的Programming Model是绝对有必要的,WCF就是基于这样的一个目的发展起来的。
但是,如果你认为WCF仅仅是这些不同的Distributed Technology简单地组合在一起,那就错了。WCF在对这些技术进行整合的时候,始终有一个指导方针,那就是SOA。SOA,毫无疑问是今后开发Connected System一个趋势,对于SOA,我想网上充斥着太多的相关的信息,我在这里就不做任何介绍了。SOA的发展离不开一个大家能够一致尊崇的一个标准,而WS-* Spec就是这个标准。WCF基本上实现了目前所有的WS-* Spec 标准。
在过去半年之后,我陆陆续续写了一些关于WCF介绍的一些文章,我把它命名为“我的WCF之旅”,目的在于向大家分享我学习WCF这一段旅程。现在把把这个系列做一个阶段性的总结,以飨读者。这个总结并不是意味着我将结束这个系列,这个系列还会继续,新加的内容我会补上。
一、创建一个简单的WCF程序
在Microsoft提出.NET战略以来,先后推出了一系列产品和技术,这些产品和技术为我们在.NET平台下建立企业级的分布式应用提供了很大的 便利。这些技术和产品包括:.NET Remoting,XML WebSerivce,WSE(2.0,3.0),Enterprise Service, MSMQ 等等。通过合理利用上面这些分布式的技术完全可以为我们建立的一套适合不同层次需要的分布式构架。但这里面仍然存在一些问题,那就是上面这些技术和产品只能解决某一方面的问题;比如.NET Remoting虽然在.NET平台下是一个很好的依靠,但是考虑到他不能提供不同平台之间的互操作性。另外,这些技术适合用了完全不同的编程方式,使得我们很难从容地从其中一种转移到另一种上来。基于这些原因,我们需要一套全新的技术整合以上都这些技术,于是我们有了今天的WCF—— Windows Communication Foundation。WCF建立一套框架,是我们通过一致的编程模式,使用不同的技术构建我们的分布式应用。
虽然很早开始接触WCF,但所学的总是零零碎碎。现在开始系统地研究WCF,希望与大家一同分享我的一些所得, 同时希望能通过这样的一个机会与大家一些探讨WCF,不对的地方希望大家指正。
一开始,我们先建立一个简单程序看WCF如何工作。
[1]
【责编:peter】