首页 > 其他分享 >WCF

WCF

时间:2023-08-14 22:15:49浏览次数:32  
标签:SOA 架构 WCF 契约 服务 订定

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、传输安全性相关的定义。

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

标签:SOA,架构,WCF,契约,服务,订定
From: https://www.cnblogs.com/MuyingBlog/p/17629887.html

相关文章

  • C# CEFSharp WCF开发桌面程序实现“同一网站多开”
    孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说:“对呀,对呀!CEFSharp,你用过么?访问同一网址实现多开怎么实现?比如我有3个淘宝店,我想同时登录维护,就像传说中的指纹浏览器那样实现cookie和session隔离?”>前言大家好,我是44岁的大龄程序员码农阿峰。好久没有开发过桌面软......
  • WCF无法加载DLLImporte的dll(focas)
    WCF无法加载DLLImported的dll尝试将外部DLL放到路径C:\Windows\SysWOW64\inetsrv  DllImport1.托管代码与非托管代码在学习DllImport方法之前,先了解下托管代码和非托管代码的概念。我们编写的C#代码(不只是C#,也包括.net平台上的其他语言,如VB,J#等),首先经过编译器把代码编译......
  • Silverlight工作流控件功能缺失,Windows Server操作系统 IIS添加WCF功能
    注:Silverlight工作流控件,如果在网页中打不开,则要判断是否缺少Silverlight工作流控件的插件程序,如果不是则可以进行一下步骤检查,如果是以下原因则是:由于IIS版本问题,安装后可能出现不支持wcf服务的请求处理,需要手动添加处理程序;数据库客户端如果是64位,需要修改iis应用池启用32位。......
  • 《WCF揭秘》:欢迎大家来找我的茬!
    《WCF揭秘》:欢迎大家来找我的茬!《WCF揭秘》一书自今年8月份出版以来,无论是在网上书店,还是在专业技术社区,都获得了读者的高度评价。虽然今年图书市场不景气,但是这本书的销量却超出了我们的预期,第一刷即将售罄,正在准备重印。即使质量再好的书,也难免会在某些方面或多或少地存在一些问......
  • 调用WebService和WCF
    标题:CMD命令提示符命令:cmd.exe参数:%comspec%/k"C:\ProgramFiles\MicrosoftVisualStudio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"初始目录:$(ItemDir) 标题:WSDL生成代理类命令:C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v10.0A\bin\NETFX4.8Tools......
  • 创建一个自托管(Self-Host)的WCF Service
    创建一个自托管(Self-Host)的WCFService//CreateWCFservicehostUribaseAddress=newUri("https://127.0.0.1:8087/MyWcfService");ServiceHosthost=newServiceHost(typeof(MyWcfService));host.Credentials.ServiceCertificate.SetCertificate(StoreL......
  • 旧知识:soap、webservice、wcf
    SOAP、webservice、WCFSOAP(SimpleObjectAccessProtocol,简单对象访问协议),是基于XML的简易协议,可使应用程序在HTTP之上进行信息交换。一条SOAP消息就是一个普通的XML文档。总之,HTTP+XML=SOAP,它就是用于系统间数据通信的,特点就是接口的数据传输格式必须是XML而已......
  • When to use which bindings in WCF
    WhentousewhichbindingsinWCFWCFsupportsseveraldifferentbindings,andthechoiceofwhichbindingtousedependsontherequirementsoftheserviceandtheclient.Hereisabriefoverviewofsomeofthemostcommonbindingsandwhentouseth......
  • WCF Error : Manual addressing is enabled on this factory, so all messages sent m
    WCFError:Manualaddressingisenabledonthisfactory,soallmessagessentmustbepre-addressed 回答2Iaddedaservicereferenceasusualandgotthiserror.TurnsoutallIhadtodowastoamendtheclientconfigtouseanendpointconfigwitha......
  • WCF教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介Windows通讯开发平台(WindowsCommunicationFoundation,简称WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows通讯开发平台。整合了原有的windows通讯的.netRemoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。是Windows平台上开发分布......