WCF全析全析--服务协定及消息模式服务协定及消息模式
上周微软开发布会说.NET支持完全跨平台和并开放Core源码的新闻,让我们顿时感到.NET要迎来它的春天。虽然早在几年
前.NET就能开发Android和IOS,但是这次的跨平台把Linux都放到了微软战略之中,以后的.NET Developer就可以使用Vs开
发Linux应用了,Developer又有了新的选择,从微软的战略转型也可以看出互联网已经步入到了新的模式,以后不再是PC的
时代,移动互联和云时代已经到来。
最近做项目时使用到了WCF,项目把数据层和程序层进行了分割,相互之间的数据传输使用的就是WCF,这次的项目是为英
国银行Enumis做的一整套银行的系统,从业务上整体划分为e-Banking、Corporate Panel、Etam、e-Commerce它们整体上
构成了这家银行的一个网上管理系统,其实这种网上系统跟中国的银行是很类似的,这些系统之间是通过相互之间提供数据或
者接口来协同工作。
WCF全称是Windows Communication Fundation,提供了统一的,可用于建立安全、可靠地面向服务的应用的高效开发平
台。WCF是基于属性的开发,它统一了各种分布式技术,也就是说它在应用程序和数据之间、应用程序与应用程序之间提供
了一个桥梁,通过使用WCF来管理数据之间的互操作。这里说所的统一分布式技术说的是它把Windows中所有的通信技术做
了整合封装,把它们都封装到了WCF架构里面,这样无论是采用何种通信方式只需要添加一个WCF服务接口,然后所有基于
WCF的应用都可以互相通信,这样增强了程序之间的灵活性。
如上图,在不使用WCF的时候要想实现之间的互通信可能就需要使用不同的技术来实现,这样在开发的时候就会耗费大量的
时间来整合封装通信模块,如果采用WCF就可以减少模块的封装,使用WCF的属性来定义不同的通信接口,这样不同的程序
之间或者程序与数据之间就可以通过WCF解耦,使得不同的模块间只需要关注自己本身的服务即可。
WCF不但封装了相互之间的通信服务,而且还封装了安全性和事务性的模块,为应用之间提供更加安全及高效的事务管理。
在WCF配置节中有三个主要的数据,分别为消息、服务和终结点。三个数据中服务的概念包含的最广,一个WCF可以称作一
个服务,它类似于一个dll,每一个service文件都会独立的生成一个服务,在使用服务的一方添加服务引用。其中的应用程序
在调用服务时所发送的信息被称为一个消息,它是一个数据单元,和计算机网络中的消息是类似的,包括消息的正文和消息