您的位置:知识库 » .NET技术

WCF分布式开发步步为赢(1):WCF分布式框架基础概念

作者: Frank Xu Lei  来源: 博客园  发布时间: 2009-03-18 13:24  阅读: 17988 次  推荐: 0   原文链接   [收藏]  
摘要:WCF分布式开发步步为赢文章讲解了WCF基础概念以及各个知识点
[1] WCF基础概念介绍
[2] WCF新的特性
[3] WCF服务框架模型
[4] 实现代码分析
[5] 总结

【2】WCF新的特性

   Indigo 有三项突出的特性:与多种现有 Microsoft 技术的统一性,对跨供应商互操作性的支持,以及显式的面向服务特性。

 【2.1】 Microsoft 分布式计算技术的统一性

   Microsoft以前的分布式计算技术特性和应用领域不同。要构建基本的可互操作的 Web 服务,最佳选择是 ASP.NET Web 服务(ASMX)。要连接两个基于 .NET Framework 的应用程序,选择 .NET Remoting。如果应用程序需要分布式事务和其他更高级的服务,其创建者一般会使用企业服务Enterprise Sevices,即COM+ 的继任者。要构建Web 服务安全,使用WS-Addressing 和 WS-Security规范,开发人员可以构建采用 WSE3.0的应用程序。而要创建基于消息的排队式应用程序,基于 Windows 的开发人员则应使用 Microsoft 消息队列 (MSMQ)。 各个技术的具体特性和WCF对比如下表:

 

ASMX

.NET Remoting

企业服务

WSE

MSMQ

Indigo

Web 服务

X

       

X

.NET - .NET 通信

 

X

     

X

分布式事务等。

   

X

   

X

WS-* 规范支持

     

X

 

X

队列消息传输

       

X

X

     WCF支持了以前分布式技术的所有的特性,因而对于建立分数是应用更加的灵活和全面。

【2.2】与非 Microsoft 应用程序的互操作性

     由于 Indigo 的基本通信机制是 SOAP,因此 Indigo 应用程序可与大量运行于各种上下文环境的其他软件进行通信。基于 Indigo 构建的应用程序可与下列所有程序进行交互:

1)运行于同一 Windows 计算机上不同进程中的 Indigo 应用程序。

2)运行于另一 Windows 计算机上的 Indigo 应用程序。

3)基于其他技术构建的应用程序,如基于 Java 2 企业版 (J2EE) 构建的、支持标准 Web 服务的应用程序服务器。

4)Indigo 应用程序还可以与基于 Indigo 以前的 .NET Web 服务(ASMX)构建的应用程序进行互操作。

 

    这样通过标准的SOAP消息WCF可以与其他应用程序进行交互,很好地支持了跨平台跨操作系统的的目标。当然WCF中支持安全、事物、MTOM特性,这些都以前WSE中的主要概念,我们发现WCF中也进行了扩展和支持。利于技术的向前兼容。 

【2.3】对面向服务开发的显式支持

     面向服务是一个广泛的领域,它包含面向服务应用程序和更广泛的面向服务体系结构 (SOA) 的概念。在设计此项技术的过程中始终遵守四项基本原则:

     1.共享架构,而不是类:与旧的分布式对象技术不同,服务仅通过精心定义的 XML 接口与其客户端进行交互。跨越服务边界传递完整的类、方法及全部之类的行为被禁止。

     2.服务具有自主性:服务及其客户端同意它们之间的接口,但相互独立。它们可以采用不同的语言编写,可以使用不同的运行时环境(如 CLR 和 Java 虚拟机),可以运行在不同操作系统上,还可以存在其他方面的不同。

     3.边界是显式的:分布式对象技术 [如分布式 COM (DCOM)] 的目标之一是使远程对象尽可能看上去像本地对象一样。虽然这种方法通过提供一种通用编程模型在某些方面简化了开发,但也同时隐藏了本地对象与远程对象之间不可避免的区别。服务通过使服务与其客户端之间的交互更明显而避免了这一问题。隐藏分布式特性并非目的。

     4.采用基于策略的兼容性:决定在系统之间使用哪些选项应取决于基于 WS-Policy 的机制。

      WS-Policy 在WSE3.0里我们应该比较常见,通过策略配置来支持和实现Web服务的安全。这里很多技术概念我们都可以从早期的分布式技术里找到原型。

0
0
 
标签:WCF

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻