了解WCF

1.什么是WCF

 

WCFWindows Communication Foundation)是.NET Framework的扩展,WCF 提供了创建安全的、可靠的、

事务服务的统一框架,WCF 整合和扩展了现有分布式系统的开发技术,如Microsoft .NET RemotingWeb Services

Web Services Enhancements (WSE)等等,来开发统一的可靠的应用程序系统。


 

WCF是基于Windows平台下开发和部署服务的软件开发包(Software Development KitSDK)。WCF提供了服务的运行环境,

这样就让开发人员能够将CLR类型公开为服务,也能够通过使用CLR类型来使用服务。WCF框架模型如图所示。

 

wcf框架模型图

 

 

       WCF 提供了创建安全的、可靠的、事务服务的统一框架,WCF 整合和扩展了现有分布式系统的开发技术,

Microsoft .NET RemotingWeb ServicesWeb Services Enhancements (WSE)等等,来开发统一的可靠系统。

WCF简化了SOA框架的应用,同时也统一了Enterprise ServicesMessaging.NET RemotingWeb Services

WSE 等技术,极大的方便了开发人员进行WCF应用程序的开发和部署,同时也降低了WCF应用开发的复杂度。

WCF支持大量的Web Service标准,这些标准包括XMLXSDSOAPXpathWSDL等标准和规范,

所以对于现有的标准,开发人员能够方便的进行移植。同时WCF可以使用Attribute属性进行WCF应用程序配置,

提高了WCF应用的灵活性。WCF遵循客户端/服务器模型在应用程序之间进行通信,客户端程序能够通过服务器端

提供的EndPoint端直接访问服务,如图所示。

 

 

wcf通信模型

 

 

 

虽然开发人员需要实现服务可以不使用WCF,但是WCF封装了现有的类和结构,提供了服务实现的便捷手段,

通过使用WCF能够快速的实现服务并让其他的应用程序使用服务。WCF是微软提供的一系列协议的标准,

包括服务交互、类型转换等。WCF中绝大部分的实现和功能都包含在一个单独的程序集System.ServiceModel.dll中,

命名空间为System.ServiceModel。通过使用System.ServiceModel命名空间能够快速搭建WCF应用程序环境。

WCF.NET 3.0的一部分,但是.NET 3.0是基于.NET 2.0为基础而存在的,如果需要搭建和使用WCF应用,

则服务器应该具备.NET 3.0环境。

 

 

2.为什么需要WCF


在传统的应用程序开发中,例如在为麦当劳开发一个餐饮统计的应用程序,这个应用程序能够统计麦当劳的餐饮系统,

包括每天客户购买的餐饮、餐饮的价格以及当天的餐饮统计。这个应用程序通常是安装在麦当劳店面主机中的,但是

有很多的应用程序将需要对此餐饮统计应用程序进行访问和数据提取,这些应用程序有的是基于.NET的,有的是基于

J2EE的,另一些可能是基于ASP.NETWeb应用,这样就造成了应用程序访问困难。如图所示

 

麦当劳业务摸拟图

 

如图中所示,麦当劳的餐饮业务也许需要支持很多其他的设备,在现在智能手机发达的今天,很多客户可能可以

从移动客户端访问麦当劳的餐饮业务,这些移动客户端可能是PDAWindows MobileGPhone或者IPhone。在

其他的客户端访问时,例如总部可能需要提取分部的数据,用户可以从网站中购买餐饮,分部经理需要对当天

的数据进行统计,或者购物中心应用程序访问餐饮应用程序以增删数据,这些流程都必须考虑到平台、协议和

通信等诸多因素。WCF可以看作是ASMX.NET RemotingEnterprise ServiceWSEMSMQ这些技术的并集,

虽然在复杂度上WCF很可能比这些技术更加复杂,因为WCF是面向服务构架的,所以对于上述的麦当劳餐饮业务

的例子,如果使用WCF就能够很好的实现不同平台,不同设备之间的安全性、可依赖性、互操作性等特性,

而因为WCF对现有技术的封装,开发人员可以无需关心ASMX,、Net Remoting这些技术的实现细节。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值