WCF

发布时间 2023-08-14 21:56:21作者: 木影**凌翔

WCF概念

一.SOA概念

面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。

面向服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。

SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、XML(标准通用标记语言的子集)/Web Service技术之后的自然延伸。

SOA将能够帮助软件工程师们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,以SOA架构的系统能够更加从容地面对业务的急剧变化。

SOA系统是一种企业通用性架构

二.什么是WCF

Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中。

WCF专门用于面向服务开发

WCF是.Net框架中的技术,用来创建面向服务的应用程序,交换不同通信方案里的消息,以及执行服务操作生成的工作流。WCF应用程序由三部分组成 - WCF服务,WCF服务主机和WCF服务客户端。WCF平台有时也被称为服务模型。WCF的基本特征是互操作性。这是微软用于构建面向服务的应用程序的最新技术之一。根据基于消息的通信的概念中,一个HTTP请求可以被均匀地表示,WCF是一个统一的API而不管不同的传输机制。

是以契约(Contract) 来定义双方沟通的协议,契约必须要以接口的方式来体现,而实际的服务代码必须要由这些契约接口派生并实现。契约分成了四种:

​ 1.数据契约(Data Contract),订定双方沟通时的数据格式。
​ 2.服务契约(Service Contract),订定服务的定义。
​ 3.操作契约(Operation Contract),订定服务提供的方法。
​ 4.消息契约(Message Contract),订定在通信期间改写消息内容的规范。

WCF 实现上已经支持了传输层次安全性 (Transport-level security) 以及消息层次安全性 (Message-level security) 两种。

传输层次安全性:在数据传输时期加密,例如 SSL。
消息层次安全性:在数据处理时就加密,例如使用数字签名,散列或是使用**加密法等。

三、WCF能做什么

WCF 整合ASMX、.Net Remoting、Enterprise Service、WSE、MSMQ等技术,主要用于在分布式系统中提高网络和服务的支持,寄宿的宿主可以是命令行控制台、IIS、桌面程序等。

整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。

简单的归结为四大部分:

1、网络服务的协议,即用什么网络协议开放客户端接入。

2、业务服务的协议,即声明服务提供哪些业务。

3、 数据类型声明,即对客户端与服务器端通信的数据部分进行一致化。

4、传输安全性相关的定义。

通信双方的沟通方式,由合约来订定。通信双方所遵循的通信方法,由协议绑定来订定。通信期间的安全性,由双方约定的安全性层次来订定。