基于WCF的即时通讯的设计与实现

基于WCF的即时通讯的设计与实现

ID:42597956

大小:229.46 KB

页数:37页

时间:2019-09-18

基于WCF的即时通讯的设计与实现_第1页
基于WCF的即时通讯的设计与实现_第2页
基于WCF的即时通讯的设计与实现_第3页
基于WCF的即时通讯的设计与实现_第4页
基于WCF的即时通讯的设计与实现_第5页
资源描述:

《基于WCF的即时通讯的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于WCF的即时通讯的设计与实现关键词:WCF;SOA;分布式;即时通信一、前言   自从在微软提出.NET战略以来,就针对建立企业级的分布式应用先后推出了一系列产品和技术,包括:ASP.NETWeb服务、.NETRemoting、MessageQueuing以及EnterpriseService等。这些技术为基于微软技术的软件研发人员开发分布式应用提供了很大的便利,同时也各自存在着一些不足。WCF(WindowsCommunicationFoundation)作为微软基于SOA所推出的.NET平台下的新一代框架产品集成了现有技术的优点,代表了未来软件架构设计与开发的发

2、展方向。因此,掌握并能在未来应用中合理运用WCF技术,对于程序员特别是基于微软技术开发的程序员而言是十分必要的。基于此,文章通过介绍一套即时通信软件的具体开发过程来展现基于WCF技术的分布式软件研发的基本步骤与高级技巧。二、WCF概述   对于一个好的分布式系统来讲,设计时应当考虑到异构性、开放性、安全性、可扩展性、故障处理、并发性以及透明性等问题。基于SOAP的WebService可以实现异构环境的互操作性,保证了跨平台的通信。利用WSE(WebServiceEnhancements)可以为ASMX提供安全性的保证。.NETRemoting具有丰富的扩展功能,可以创建

3、定制的信道、格式化器和代理程序。EnterpriseService(COM+)提供了对事务的支持,其中还包括分布式事务,可实现故障的恢复。MSMQ可以支持异步调用、脱机连接、断点连接等功能,利用消息队列支持应用程序之间的消息传递。从功能角度来看,WCF整合了ASMX、.NetRemoting、EnterpriseService、WSE以及MSMQ等现有技术的优点,它提供了一种构建安全可靠的分布式面向服务系统的统一的框架模型,使软件研发人员在开发分布式应用时变得更加轻松。1.面向服务   既然WCF是一套面向服务的框架,服务自然便是WCF中最为重要的概念。服务是指暴露在外

4、的一系列功能的集合,面向服务则是指一套构建“面向服务程序”的抽象原则以及最优方法。对于业务逻辑的理解,传统的编程方式认为应将业务逻辑封装为对象,该对象提供了与业务相关的一些功能;而基于WCF的程序设计却更多的是考虑如何提供服务以及消费服务。与面向组件服务程序类似,基于SOA的应用程序将服务封装到了单个逻辑程序当中,如图1所示。图1封装服务的SOA应用程序逻辑图2.WCF体系结构   WCF拥有一个非常灵活的分层体系结构,分布式应用程序可以使用高级API或者低级API编写。高级API或者服务层可以用于调用方法和事件。服务层把这些高级的抽象代码转换为消息,以使用低级API上

5、的信道和端口。图2中显示了WCF应用程序的各个层。图2WCF体系结构图   WCF提供了对可靠性、事务性、并发管理、安全性以及实例激活等技术的有力支持,而这些支持均依赖于如图3所示的WCF构架。   在客户端,分布式应用通过一个代理来转发对宿主端所提供服务的调用,而代理拥有和服务相同的操作接口,另外还有一些附加的代理管理方法。这也就意味着客户端从来不会直接调用服务,即便这个服务就在本机的内存中。当客户端代理接收到来自客户端的调用请求后,它将消息通过信道链向下传递。每个信道都会执行相应的消息的调用前处理,例如对消息的编码、提供可靠的会话、对消息进行加密等。客户端的最后一个

6、信道则是传输信道,根据配置的传输方式发送消息给宿主。   在宿主端,消息同样通过信道链进行传输。与客户端信道相对应,宿主端信道也会对消息执行相应的宿主端的调用前处理,例如对消息的解码、提供会话管理、对消息进行解密等。宿主端的最后一个信道则负责将消息发送给消息分发器(Dispatcher),由分发器负责调用服务的实例。图3WCF构架示意图3.WCF的基本技术要素   作为基于SOA的一个框架产品,WCF实际上是构建了一个在互联系统中实现各个应用程序之间通信的分布式框架。它使得系统构架师与开发人员在构建分布式系统时,能将更多的精力投入到与系统的业务逻辑本身的设计上来,而无需

7、过多的考虑底层通信的实现及相关问题。WCF最核心的部分是能够快捷的创建一个服务,一个WCF服务端框架由宿主、端点以及服务类三部分所组成,如图4所示。图4WCF服务框架   宿主(Host),即承载WCFService运行的环境。可用的宿主环境包括:(1)自承载方式:在控制台应用程序与基于WinForm的应用程序中都可以使用这种方式;(2)系统服务方式:服务可以随着操作系统的启动而自动启动;(3)IIS方式:与WebServices的部署方式类似,由请求消息来激活服务,但只支持HTTP方式的绑定;(4)WAS(WindowsProcessA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。