WCF这个词语一直不陌生,以前也使用过多次在实际的项目中,但是一直没有时间来做个系统的学习,最近抽点时间,看看 蒋金楠的《WCF全面解析》学习下,顺带做些笔记,如有错误,欢迎各路大神指正。
本章意在对Windows通信编程涉及到的相关词汇进行一个大概的理解不深究。
参考:http://baike.baidu.com/view/1140438.htm?fr=aladdin(不得不说百度百科,维基百科等资料很丰富),《WCF全面解析》。
Windows Communication Foundation(WCF) 直译:Windows基础通信
它是.NET框架的一部分,由 .NET Framework3.0 作为一个组件发布,为顺应SOA发展潮流,整合原有的Windows通讯的.NET Remoting,WebService,Socket,MSMQ 等技术的机制(WCF是对现有分布式通信技术的整合),并融合有HTTP和FTP相关技术。
面向服务(Service Orientation,SO)代表的是一种设计理念,和面向对象,面向组件一样,体现的是一种思想,与技术无关。
面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。
WSDL,UDDI和SOAP是SOA基础的基础部件。
WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。
SOAP是Web服务的默认机制,其他的技术为可以服务实现其他类型的绑定。一个消费者可以在UDDI注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。
Universal Description Discovery and Integration即统一描述、发现和集成协议。企业可以使用它对 Web services 进行注册和搜索。
简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。
它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。
在过去若干年终,微软先后推出了一系列分布式通信技术,比较典型的包括COM/DCOM,Enterprise Service、.NET Remoting、XML Web 服务、MSMQ等。
COM 是微软自1993年便提出的组件式软件平台,用来做进程间通信(Inter-process communication, IPC)以及当作组件式软件开发的平台。
DCOM 支持不同的两台机器上的组件间的通信,而且不论它们是运行在局域网、广域网、还是Internet上。是为了实现分布式远程调用而对COM进行的扩展。
.NET Remoting 是微软推出的第一个基于.NET的分布式通信技术,它在一定的程度上借鉴了DCOM的设计,并加强了DCOM很多方面,使其可以成为一个高性能和可扩展的分布式通信框架。但是它不能提供跨平台支持,仅仅提供服务端和客户端均处于.NET平台下的通信。
笔者最近有研究一下,如有问题欢迎各路大神指正:http://i.cnblogs.com/EditPosts.aspx?catid=615438
为了实现跨平台支持,微软推出了ASP.NET Web Service,Web Service之所以能够提供跨平台的互操作性,是因为它建立在一系列开放的标准之上,这些标准包包括XML,XSD,SOAP,WSDL等。
XML
可扩展标记语言,标准通用标记语言的子集,一种用于标记电子文件使其具有结构性的标记语言。 它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
XSD
XML Schema Definition,它的作用是定义一份XML文档的合法组件群,就像文档类型定义(外语缩写:DTD)的作用一样。可扩展标记语言架构是以可扩展标记语言(标准通用标记语言的子集)为基础的,它用于可替代文档类型定义(外语缩写:DTD);一份XML schema文件描述了可扩展标记语言文档的结构,比 DTD 更强大。
WSDL
网络服务描述语言是一个用来描述Web服务和说明如何与Web服务通信的XML(标准通用标记语言的子集)语言。为用户提供详细的接口说明书。
WSDL是Web Service的描述语言,是一种接口定义语言,用于描述Web Service的接口信息等。
WSE
为了支持WS-*,微软在ASP.NET Web 服务的基础上推出了WSE(Web Services Enhancements) ,推出WSE是为了弥补ASP.NET Web Service 的不足,它在很多方面实现了对现有ASP.NET Web Service服务功能的加强。
class="mw-headline">WS-*
为扩展WEB服务能力,一些新的标准已经或正在被开发。这些标准通常被冠以WS字头(Web Service的简称),以下是一个WS系列追加标准的不完全列表:
定义了如何在SOAP中使用XML加密或XML签名来保护消息传递。可作为HTTPS保护的一种替代或扩充。
一个来自OASIS的标准协议,用来提供可信赖的WEB服务间消息传递。
同样是一个提供信赖消息的协议,由Microsoft, BEA 和IBM发布。目前OASIS正对其实施标准化工作。
定义了在SOAP消息内描述发送/接收方地址的方式。
消息队列,是微软对消息服务领域的开创性尝试,它采用了特殊的通信机制,对改善和提高系统的可伸缩性、可用性具有重要的意义。
优点:离线通信方式支持,发送方和处理方分离,可靠消息传输和错误处理,对事务的支持。
总结
笔记写的有点乱,只是把相关的介绍和概念写出,如有错误欢迎指正。
作者:释迦苦僧 出处:http://www.cnblogs.com/woxpp/p/4013670.html 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。