WCF探索之旅(五)——WCF与WebService的异同

前几篇文章我们简单的介绍了WCF以及如何使用它,今天我们来讨论一下WCF和WebService的异同。

相信大多数同学跟我一样,对于WebService有所了解,而且应该说你是先听说WebService,后听说还有个WCF的,对不对?那好,我们今天来一起看看,这两者有何不同。

WebService是标准,是一种规范。严格来说WebService是一种行业标准,不是一种特定的技术。而WCF是一种WebService的实现。在WCF之前,微软系列中有ASP.NET
Web Service,后来微软做了ASP.NETWeb Service的安全,性能,数据加密、解密,托管宿主等多方面的扩展,称为WSE系列,WSE3.0.后来就是WCF时代。

WCF是一个分布式应用的开发框架,属于特定的技术,或者平台。既不是标准也不是规范。一定程度上WCF就是ASP.NET
Web Service,因为它支持Web Service的行业标准和核心协议,因此ASP.NET WebService和WSE能做的事情,它几乎都能胜任,跨平台和语言更不是问题,但它的目标不仅仅是在支持和集成Web Service。

WCF是使用托管代码建立和运行面向服务(ServiceOriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如EnterpriseSevices(COM+).Net
Remoting、WebService(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,WindowsForms,NT Service,COM+作为宿主(Host)。

WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML,Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。

关于WCF大家的一些错误的理解,以及从网上找了一些解释:

1、Web Service太旧了

框架都版本的差异,功能特性上却是有新旧之分,但是对于特定的系统,适合自己的就是最好的。

2、Web Service 就是 ASP.NET Web Service

同样不是一个范畴。前者规范,后者是框架

3、WCF比Web Service性能好:不是一个范畴。

4、WCF 比 ASP.NET Web Service快

不一定,需要特定的限制条件,WCF使用BasicHttpBinding的时候与ASP.NET Web Service协议一样。

5、WCF比Web Service速度快:同样概念不严格。

6、WCF比Web Service强大

WCF却是集成了多种微软的分布式技术,但是这里应该严格说是:ASP.NET Web Service

7、WCF比 Web Service安全:不严格。其次WCF也可以开发完全裸奔的应用程序。

8、Web Service必将被WCF取代

Web Service不会被WCF取代!前者是一套广泛使用的规范。如果说WCF能取代的是ASP.NET WebService,因为二者都是.NET平台上的技术。

9、WCF其实就是Web Service

WCF在某些情况下不遵守 Web服务规范,也就是可以开发非服务性质的应用。而且不能简单等同。

10、WCF非常简单,其实没有什么

WCF虽然是个服务开发框架,但是如果你深入学习,会发现WCF架构的强大之处。单单是WCF安全这一块已经相当的复杂了。况且还要统一编程模型,兼容和支持许多早期的分布式技术。

好了,这里只是抛砖引玉,具体有哪些不同,还需要大家亲自动手查一下,做做例子体验一下。

WCF探索之旅(五)——WCF与WebService的异同,布布扣,bubuko.com

时间: 2024-10-03 22:47:34

WCF探索之旅(五)——WCF与WebService的异同的相关文章

WCF探索之旅(四)——程序中WCF服务整合

我们在之前的博客已经完成过实例,大家也看到了如何使用WCF服务: 添加服务引用-->输入服务地址-->实例化服务-->调用服务方法 那么今天为什么要再次说"程序中WCF服务整合"这个话题? 用过WebService的人都知道,随着服务的增多,管理WebService是一个非常繁重的工作.好了,今天我们的目标来了--让WCF服务变得整齐.有序.易管理! 首先,我们建立一个工厂类,这个工厂用来实例化我们的服务.这样做的好处是,所有的服务都是由工厂实例化的. 然后我们要建立

WCF学习之旅—实现支持REST客户端应用(二十四)

WCF学习之旅—实现REST服务(二十二) WCF学习之旅—实现支持REST服务端应用(二十三) 在上二篇文章中简单介绍了一下RestFul与WCF支持RestFul所提供的方法,及创建一个支持REST的WCF服务端程序,本文介绍如何调用上一篇文章介绍的RestFul服务端. 五.Windows客户端调用 为了强调REST的通用性,客户端不用WCF的形式调用服务,而是采用HttpWebResponse通过编程方式直接访问,消息格式我们选XML. 首先,我们使用C#来封装一个RestHelper类

【Linux探索之旅】第一部分第五课:Unity桌面,人生若只如初见

内容简介 1.第一部分第五课:Unity桌面,人生若只如初见 2.第一部分第六课预告:Linux如何安装在虚拟机中 Unity桌面,人生若只如初见 不容易啊,经过了前几课的学习,我们认识了Linux是什么,以及如何安装Linux系统(我们以Ubuntu这个Linux发行版为以后的演示系统),我们也在上一课终于把Ubuntu安装好了. "很不错,掌声给自己". 安装Ubuntu遇到什么问题,可以在我们的QQ群和微信群提问,也可以私信小编,QQ.微信.邮件都行.联系方式在下面. Linux

WCF入门教程(五)配置文件

WCF入门教程(五)配置文件 服务协定以及实现写好后,需要将相关服务公布出去,就需要HOST来承载,供客户端来调用. 承载服务有两种方式,一种通过配置文件,一种通过代码进行配置.上一章已经介绍了代码方式来架设服务. 当然配置文件的方式还是很灵活,应用广泛. 通过此文章具体介绍WCF如果通过配置文件的方式进行配置. 一.配置文件功能 需要配置服务的EndPoint,设置相关绑定协议以及服务协定,并且还可以限定其具体的行为等. 二.配置文件结构 主要配置内容包括service节点.binding和b

【C++探索之旅】第一部分第五课:简易计算器

内容简介 1.第一部分第五课:简易计算器 2.第一部分第六课预告:控制流程,随心所至 简易计算器 上一课<[C++探索之旅]第一部分第四课:内存,变量和引用>中,我们已经学习了挺重要的内存的概念,变量的知识,对引用这个C++中常用的技术也有了初步的了解. 我们在上一课开头处用一个小小计算器的存储技术引出内存的概念.其实我们的电脑兄也是一个计算器,只不过高端大气上档次了很多,不然怎么会被称为 computer呢?英语中compute这个词,正是<计算>的意思,而加上r就构成了名词.c

【Linux探索之旅】第四部分第五课:源码编译,安装便利

内容简介 1.第四部分第五课:源码编译,安装便利 2.第四部分第六课:DNS和域名,一探究竟 源码编译,安装便利 这一课相对轻松,毕竟刚跨年(2015-2016)么,新年怎么能让大家一个头两个大呢~ 小编怎么可能这么坏呢?小编是这样的人吗?(是啊 -_-#). 之前的课程([Linux探索之旅]第二部分第七课:软件安装,如虎添翼)中,我们已经了解过Ubuntu这个Linux的发行版下安装软件是何等方便,用apt-get这个工具可以轻松搞定.这种方式可以让我们下载并安装大部分的软件. 其他Linu

【Linux探索之旅】第三部分第五课:延时执行,唯慢不破

内容简介 1.第三部分第五课:延时执行,唯慢不破 2.第三部分测验题 延时执行,唯慢不破 上一课(<[Linux探索之旅]第三部分第四课:后台运行及合并多个终端>)中,我们学习了后台进程以及如何在一个终端里打开多个虚拟终端. 到目前为止,我们所运行的命令都是立即执行,也就是我们按下回车键的那一刻,命令就开始执行了. 其实Linux中命令还可以延时执行.这一课我们就来学习几个命令,可以帮助我们<稍后>执行程序.比如我们即将学习到的crontab命令. 所有这一课新学的命令都涉及到时间

WCF学习之旅—第三个示例(二十七)

一.前言 通过前面二十几个章节的学习,我们知道了什么是WCF:WCF中的A.B.C:WCF的传输模式:WCF的寄宿方式:WCF的异常处理.本文综合应用以上知识点,一步一步写一个小的WCF应用程序——书籍管理系统(BookMgr). 这个示例就是一个非常简单的书籍管理系统,功能有:查询.修改.新增.删除(不包括安全.优化等相关问题).异常处理.WCF的增删改查和WinForm相差无几.WCF只是把具体“实现”写在“服务端”,而“调用”放在了“客户端”. 二.BookMgr说明 1)Demo的 “服

WCF学习之旅—基于ServiceDebug的异常处理(十七)

WCF学习之旅—WCF中传统的异常处理(十六) 二.基于ServiceDebug的异常处理 从前面的示例中,可以看到客户端捕获了异常,这是我们处理异常的前提.为了有利于我们进行有效的调试,WCF提供了ServiceDebug Service Behavior.我们可以通过设置<serviceDebug includeExceptionDetailInFaults="True" />属性设为true,那么如果服务端抛出异常,WCF会简单得包装这个异常并把它置于Soap中Res