`
阿尔萨斯
  • 浏览: 4170155 次
社区版块
存档分类
最新评论

WCF从理论到实践:揭开神秘面纱

 
阅读更多
引子

WCF是"Windows Communication Foundation "的缩写,原来的代号为"Indigo",它是MS为SOA(Service Oriented Architecture)而设计的一套完整的技术框架。利用它能够开发出分布式(Distributed)应用程序,而且开发难度相比以前的.Net Remoting和Asp.Net Xml Web Service等都有了大幅度的降低。可以说WCF是目前微软平台下最先进的SOA框架,也是微软在今后一段时间内在该领域的主打产品。它具有很多优点, 但本人总结起来,其最大的特征在于1)充分整合了原来的.Net Remoting,Asp.Net Xml Web Service,MSMQ,WSE,Enterprise Service等多项分布式技术,取其精华,弃其糟粕。2)WCF虽然整合了几项技术,但开发难度不增反降,简单易学。相信在未来的几年中,WCF一定在 SOA的大潮中披荆斩棘,大展身手。本系列文章从大的方向上分为两个部分,第一部分是介绍WCF相关的理论知识,第二部分是用WCF来开发一个完整的项目 实例。希望在理论和实践上和大家一起学习微软这个优秀的框架。


本文的出发点和目的

通过阅读本文,能解决以下几个问题

  1. WCF是什么?
  2. WCF能干什么?
  3. WCF的今生前世?
  4. 学习WCF有哪些资源?

本文适合的读者

对WCF感兴趣的初学者,最好以前有一些SOA相关的基础常识。


WCF是什么?

比较贴近官方的说法是:WCF(原代号为Indigo)是一个用于创建和运行分布式系统的技术集合,使用它能创建安全的(Secure)、可靠的 (Reliable)、跨平台的(transacted messaging along with interoperability)的分布式解决方案。它的面向服务的编程模型整合了.Net平台下以往全部的分布式开发技术,例如.Net Remoting,Asp.Net Xml Web Service,MSMQ,WSE,和Enterprise Service等,它可以支持跨应用程序域(AppDomain),进程(Process),网络(NetWork)的进行数据通讯,而且能寄宿在诸如 IIS,Windows Service,Console,Windows Application等多种宿主(Host)中。它适用于Vista,Xp和Windows 2003等操作系统。是微软在SOA领域推出的一款主打产品。有关详细介绍,请参见WCF官方主页:http://netfx3.com/content/WCFHome.aspx


WCF能干什么?

在win32中,应用程序是运行在进程(Process)的线程(Thread)中的,.Net平台出现之后,出现了AppDomain,其实就相当于在 进程和线程之间又有了一层包装,类似于子进程的概念,在一个进程(或者应用程序域)中的对象能进行直接的访问和控制,但超出这个范围,便不能进行直接的访 问和控制了,所以说进程(或者应用程序域)有一定的隔离作用,如果是分布在不同网络,不同操作系统上的不同进程,他们进行通讯的难度就更大,而分布式应用 程序要求的就是将原本被隔离的作用域通过一定的契约联系起来,从而达成多个系统的沟通协作。当然能实现这种目的的方式远不止WCF一个,比如在win32 时代,经常使用映射内存文件来实现进程之间的互操作问题,还有在windows程序中,用windows消息wm也能实现不同进程之间的通讯问题,但这些 都有局限性,因为他们不能很好的解决跨平台,跨网络问题,而WCF可以。


WCF的今生前世

早在Web Service出现之前,已经有很多企业都实现了自己的EAI(Enterprise Application Integration)企业应用整合,但此时并没有被大家所公认的技术规范,所以那时的集成方案比较分散,没有统一标准,尽管有些EAI做得还比较成 功,苦于没有技术规范,很难得以推广。而出现Web Service后,由于更大厂商(包括IBM,MS等)的大力支持,Soap成为大家所公认的技术规范,很快就成为了解决这一难题的制胜法宝。MS为响应 这种变化,在.Net平台中推出了自身的Web Service产品,也就是Asp.Net Xml Web Service,但这个框架在通讯安全和性能等方面存在着一些难以解决的问题,虽然后来又增加了WSE来弥补不足,但整体看来,Asp.Net Xml Web Service的不足还是显而易见的。在安全方面,WSE对Xml Web Service作了很大的改进,支持ws等网络服务的安全标准,但它作为框架的扩展,最新版本3.0还在beta阶段,而且这个扩展框架鲜为人知,服务端 如果使用了WSE,那也要求客户端使用,而由于这个框架没有被广泛的推广,很可能给对客户端开发人员增加开发和部署难度。在性能方面,.Net Remoting技术相比Web Service略有优势,但学起来有一定难度,最要命的是它不能实现跨平台的操作,一个用.Net Remoting写的Service很难用Java来调用,这就使得其实用性大打折扣,MSMQ支持消息队列,但需要整合在其他系统之中,传统的 Enterprise Service支持分布式事务,但同样没有Web Service的跨平台特性。此时,WCF应运而生,它整合了MS历来最优秀的分布式系统开发技术,取其精华,弃其糟粕,是分布式应用程开发技术的集大成 者,它解决了跨平台的问题,同时支持安全通讯和分布式事务。由于其简单易学,在推广上也必然比较顺利,可以说WCF将开辟分布式开发技术的一个新纪元,其 影响应该不在当年Web Service之下。


学习WCF有哪些资源?

1) 官方主页:http://netfx3.com/content/WCFHome.aspx,它会公布WCF的最新消息和一些演示型应用。

2) http://wayfarer.cnblogs.com/ 博客园Bruce Zhang的Blog中有大量的WCF技术文章和对《Programming WCF Services》的翻译笔记

3) http://www.rainsts.net/ 其实这家伙是我在园子和csdn之外的技术blog中见过最猛的一个了,和他见过面,人也很好,他的WCF学习系列很全面,而且此人的分布式开发功底非同小可,也是我敬仰的一位牛人。

4)http://www.cnblogs.com/artech/ 他的《WCF之旅系列》阐述的也非常全面

分享到:
评论

相关推荐

    WCF从理论到实践.CHM

    CF从理论到实践(1):揭开神秘面纱;WCF从理论到实践(2):决战紫禁之巅;WCF从理论到实践(3):八号当铺之黑色契约;WCF从理论到实践(4):路在何方;WCF从理论到实践(5):Binding细解;WCF从理论到实践(6):WCF架构;...

    WCF从理论到实践(word版)

    综合了网上版本,修改为word版。阅读更省时

    WCF从理论到实践.PDF

    一本很不错的WCF技术丛书,对新手到WCF转型的必备工具书.

    微软WCF从理论到实践

    WCF从理论到实践,详细讲解了WCF的开发过程。

    WCF从理论到实践合集

    WCF从理论到实践,再增加一点WCF的资源

    WCF从理论到实践

    WCF学习资料,从理论到实践,很不错的学习资料

    学习WCF从原理到实践英文版pdf与源码

    《Learning WCF》中文名称《学习WCF从原理到实践》对微软WCF技术的各个细节均进行了详细的阐述,书中采用了大量的叙述和操作实例,由浅入深,对以下各方面部做了非常详细的介绍:设计契约、创建数据契约、定义绑定...

    WCF从理论到实践系列讲座

    WCF入门知识,了解WCF的基本概念!!其中列举了一些DEMO,帮助理解

    Apress Pro WCF 4

    Apress Pro WCF 4 Practical Microsoft SOA Implementation, 2nd Part I: Introducing Windows Communication Foundation ■Chapter 1: WCF and SOA Basics ■Chapter 2: What’s New in WCF 4 ■Chapter 3: ...

    WCF从理论到实践系列之一

    (1):揭开神秘面纱引子WCF是"WindowsCommunicationFoundation"的缩写,原来的代号为"Indigo",它是MS为SOA(ServiceOrientedArchitecture)而设计的一套完整的技术框架。利用它能够开发出分布式(Distributed)应用程序...

    WCF从理论到实践系列文章

    系列文章共有9篇,比较详细地介绍了WCF的基本概念,以及如何创建、部署与应用,讲解通俗易懂,示例清晰。

    wcf从原理到实践(试读)

    讲述WCF的原理和技术实现。

    WCF理论到实践(初级中级适用)推荐

    WCF理论到实践(初级中级适用)PDF 格式 推荐

    WCF开发实战

    WCF开发实战系列一:创建第一个WCF服务 WCF开发实战系列二:使用IIS发布WCF服务 WCF开发实战系列三:自运行WCF服务 WCF开发实战系列四:使用Windows服务发布WCF服务 WCF开发实战系列五:创建WCF客户端程序

    WCF从理论到实践系列之二

    (5):Binding细解本文的出发点:通过阅读本文,您能了解以下知识:WCF中的Binding是什么?Binding的组成?BindingElement的分类?Binding描述了那些层面的信息?选择正确的Binding本文适合的读者:本文适合WCF的初学...

    WCF技术专题:WCF入门与进阶

    讲解WCF技术的,适合各种阶段的学习。从入门到进阶。

    WCF入门和提高:WCF足迹

    摘自网友博客 非常不错的学习WCF的文章

    WCF入门教程_从入门到精通

    最好的WCF入门教程 WCF 入门教程这一系列文章的内容是从 MSDN 中 COPY 过来的, 讲述的是最简单的 WCF 程序示例: 如何在控制台应 用程序实现和承载 WCF 服务,以及如何创建,配置和使用 WCF 客户端

Global site tag (gtag.js) - Google Analytics