技术开发 频道

连接开发世界的桥梁——WCF

       虽然WCF自身运行于.Net Framework 3.0平台,但是借助XML技术和相关标准化WS-*完全可以与其他非.Net Windows平台、非Windows系统服务平台、非.Net语言服务平台集成,这里WCFInteroperability(互操作)能力起到关键作用,其中又以SOAP调用为基础。WCF借助SOAP(而非以往的二进制PRC调用)在异构平台集成中获得如下特性:

l         脱离调用与具体开发语言的紧密结合

l         因为SOAPXML的文本特性,确保调用不需和特定传输协议紧密结合

l         脱离与具体分布式组件系统的依赖

l         完全标准化

 

 

 

可以说WCF在选择SOAP的同时也具有了异构平台间互操作的一致的数据结构体系,而WS-*相关协议则是在各类调用特性中增强了各种功能特性,简而言之就是标准化的各个标准确保了WCF的互操作能力。

图:MCF实现异构系统集成概要

 

 

 

WCF 借助WS-* 实现了可交互的 Web 服务开发平台,并且将不同互操作端点间的安全性、可靠性和事务性借助相关协议完成:

l         SOAP之上WCF集成了WS-AddressingMTO,这一方面支持通过对 SOAP头扩展达到为SOAP 消息寻址的目的,确保WCFSOAP调用在寻址信息时无需依赖底层传输协议,另一方面也实现了对于大容量XML数据在串行化为网络二进制流的过程中优化XML数据包的作用,后者尤其利于SOAP消息中包括附件的情况。

l         对于企业应用而言经常需要扩展标准协议,以实现行业内部应用间、与合作伙伴应用间的定制交互,其中通过具有语义、结构特征的元数据进行扩展是一个很有效的途径。WCF为了实现异构平台间的元数据支持,提供了WSDLWS-MetadataExchangeWS-Policy WS-SecurityPolicy的开发API,尤其是WS-SecurityPolicty更提供了WSDL不足以表达的有关安全性方面的很多动态特性,然后通过WS-MetadataExchange让客户程序可以获得元数据,包括WSDL描述和相关的安全策略等。

l         安全性方面WCF 通过实现 WS-SecurityWS-TrustWS-SecureConversation,支持通信源与目的点之间的SSL通道层加密,此外还提供异构平台间调用(一般需要公钥证书体系支持)的数据完整性、主体身份验证、SOAP特定数据项加密等安全性要求的支持。

l         WCF通过WS-Coordination(通常用于长事务)和WS-AtomicTransaction(通常用于短事务)两个协议的支持,确保可以在SOAP多步调用过程中实现事务性。不仅如此,通过WS-ReliableMessaging起到类似TCP层相同的作用——确保消息“依次”“可靠”到达。

0
相关文章