微软先后推出的一系列技术有:
- COM/DCOM
- .NET Remoting
- Web Service
- MSMQ
- WCF
COM/DCOM
COM通过一个接口和一个唯一的标识(GUID)对外提供功能,起最初仅仅提供了组件之间本地调用,随着分布式的发展,微软推出了DCOM(Distributed COM),来实现分布式调用,对COM进行了扩展
.NET Remoting
是微软第一个基于.NET 的分布式通信基础,是在DCOM基础上发展起来的,支持TCP和HTTP,Remoting最大的不足之处就是不能跨平台,Remoting只能应用于MS 的.net framework之下,需要客户端必须安装framework 。
Web Service
为了支持跨平台,MS在ASP.NET平台上推出了Web Service,它之所以能够跨平台,是因为它是建立在一系列开放标准之上,eg.xml,soap,wsdl.
MSMQ
MSMQ全称MicroSoft Message Queue,微软消息队列,是在多个不同的应用之间实现相互通信的一种异步传输模式,相互通信的应用可以分布于同一台机器上,也可以分布于相连的网络空间中的任一位置。它的实现原理是:消息的发送者把自己想要发送的信息放入一个容器中(我们称之为Message),然后把它保存至一个系统公用空间的消息队列(Message Queue)中;本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理.它具有以下优点:
- 对于异步的消息发送和离线通信方式的支持,MSMQ的消息发送永远是异步的,支持离线,如果由于网络等原因无法到达目标队列,消息可以暂存于本地消息队列中,一旦检测到目标队列可达,则自动发送消息。
- 消息发送方和消息接收方完全分离
- 事务的支持,MSMQ支持本地事务和分布式事务,可以通过DTC将队列的操作和数据库纳入同一个事务当中
WCF
Windows通信基础(Windows Communication Foundation,WCF)是基于Windows平台下开发和部署服务的软件开发包(Software Development Kit,SDK)。WCF是微软对于分布式处理编程技术的集大成者,它将DCOM、Remoting、Web Service、WSE、MSMQ集成在一起,从而降低了分布式系统开发者的学习曲线,并统一了开发标准。WCF是作为.NET3.0的一个组件发布出来的,可以跨进程、跨机器甚至于跨平台的通信,兼容web service,Remoting等原有的技术,WCF是对Windows平台下现有分布式通信技术的整合。
参考资料
- 《WCF技术剖析》卷1
- 网络相关资料