1.WCF 简介

WCF是什么技术?

  • WCF(Windows Communication Foundation) - Windows 通讯开发平台,是由微软开发的一系列支持数据通信的应用程序框架。
  • .NET FrameWork 3.0的组成部分
  • Microsoft 平台上的 SOA 架构
  • 统一 ASMX,.NET Remoting,Enterprise Service 的开发模型
  • WCF 是面向服务的基础架构
  • WCF 特点:
    • 松耦合:在传统的分布式应用程序当中,如果我们有新的需求或者说我们的部署环境发生了变化的话,我们要去修改我们的代码,我们的项目需要编译,需要重新在客户的生产服务器上来部署。而在WCF当中我们只需要修改配置文件就可以了。
    • 可交互性:遵循基于Web Services的核心标准,所以可以跨平台交互
    • 整合性:把早期的微软的一些构建分布式应用程序的技术,整合成WCF

WCF技术为什么诞生?

实现计算机之间的通信和交互,使得计算机之间的通信标准都能达成一致。

WCF技术能做什么?

能构建分布式应用程序 。

  • 分布式应用程序
    应用程序分布在不同的计算机上,通过网络和计算机之间通信共同协作完成一项任务。
  • 为什么要把应用程序分布放在不同计算机上?
    • 分载服务器的压力
    • 复用

WCF 与 SOA

  • 三层架构:分为客户层,业务逻辑层,数据访问层。客户层调用业务逻辑层,业务逻辑层根据不同的业务进行处理,当涉及数据访问的时候,会调用下面的数据访问层,来进行数据的获取和更新。这样就存在一个问题,客户层和业务逻辑层是直接暴露的,这种直接暴露的关系会与具体的技术产生强烈的耦合性,比如我们的业务层逻辑是使用 Com 技术来构建的,那么客户层就必须使用 Com 的方式来访问业务逻辑层。
三层架构
  • SOA 架构:在业务逻辑层和客户层之间,封装一个 Service 层,通过 Service 层把一个个对象封装成一个 Service 暴露给客户层。由于Web Service是行业标准的一个协议,就破除了前面所讲的基于技术强烈的耦合性。


    SOA 架构

客户端与服务

主机进程中的 ServiceHost 进程是我们的服务端应用程序,客户进程中的 ClientApp 是客户端的应用程序。Endpoint 是终结点,用于来提供向外发布的接口。 ClientApp 中有一个 Proxy 代理,实现由客户进程到主机进程之间的通信,Proxy 代理不直接与主机进程的 Endpoint 进行通信,而是由客户端 Proxy 代理里面的 Endpoint 来与主机进程的 Endpoint 进行通信。

现在我们客户想向Service发一个消息或者想完成一些特定的功能,首先把做这些事情的需求提交给Proxy代理,然后在由Proxy代理进行封装提交给客户进程的Endpoint,再有客户进程的Endpoint发送给主机进程的Endpoint,然后主机进程的Endpoint在把消息提交给Service,由Service这一段进行处理,最后在反方面发送回来,由Proxy代理来开包,最后提交回到客户的应用程序当中,这就是一个完整的消息传递的流程。

客户端与主机交互

你可能感兴趣的:(1.WCF 简介)