为什么我们需要WCF
传统分布式软件的架构分析
一个开发需求:社保平台
访问量较大
客户端类型/平台多
和其他系统交互多
快速开发/部署
结构复杂(B/S、C/S、桌面、服务…)
传统的实现技术:
业界需要一个什么样的技术
1. 具有开放性
2. 具有兼容性或者说根本不存在兼容天生就支持
3. 具有高效通信
4. 各种语言各种技术互操作性
5. 安全性
6. 维护简便
这种技术的企业及其应用
新浪——微博
淘宝——阿里巴巴,电商
百度——开放平台
腾讯——合作平台
美团——开放平台
什么是WCF
回顾开发历史
什么是WCF
WCF背景介绍
WCF的内容
WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,例如.Net Remoting、ASMX、WSE和MSMQ。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于Internet。
WCF可以运行在ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+上面。
WCF支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。
WCF的优势
1. 统一性:WCF是对于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合。
2. 互操作性:于WCF最基本的通信机制是SOAP,这就保证了系统之间的互操作性,即使是运行不同的上下文中。可以跨进程、跨机器甚至于跨平台的通信,只要支持标准的Web Service,例如J2EE应用服务器(如WebSphere,WebLogic)。应用程序可以运行在Windows操作系统下,也可以运行在其他的操作系统,如Sun Solaris,HP Unix,Linux等等。
3. 安全性:WS-Security,WS-Trust和WS-SecureConversation均被添加到SOAP消息中,以用于用户认证,数据完整性验证,数据隐私等多种安全因素。
4. 兼容性:WCF充分的考虑到了与旧有系统的兼容性。安装WCF并不会影响原有的技术如ASMX和.Net Remoting。
5. 高效开发:维护性、操作性、生产效率提升,开发环境的无缝集成
总结
WCF是目前乃至未来都将流行的技术之一
WCF具有分布式、跨平台优点
WCF具有开发简单、维护方便优点
WCF可以实现各种系统的对接