一、面向对象弊端(SOA应用而生):
1.对象传递问题:当对象跨越进程或主机,系统需要对对象进行特殊的处理(序列化和反序列化)
2.类型的版本定义:对某些类型进行重新部署或升级时,容易导致错误或异常,出现耦合的表现。
二、SOA(Service Oriented Architecture)的概念:一种组件架构模型,根据需求对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。
服务是SoA的基础,可以直接被使用,有效控制系统中与软件dialing交互的人为依赖性。
W3C对SoA的定义是一组公开发布接口,并且提供接口查询的组件。
三、SOA至少需要以下四个特性(SoA并没有限定具体的实现技术):
1.每个服务具有明确的服务边界:服务的公共接口和起内部专用实现间的界限,使得服务于位置和技术无关,客户端无法知晓实现的技术、地理位置和运行平台,降低服务和客户端之间的耦合。
2.服务是独立的:服务运行时独立,不需要任何外部服务和组件依靠,各自的部署和版本不会影响整个SoA系统,业务逻辑上课相互访问,与服务独立不矛盾。
3.采用标准的契约定义和通信协议:即各自的技术和平台可以不同,但是相互访问就要求契定义和协议是行业标准的。
4.服务是自解释的:W3C定义其内容必须是自解释的。即服务必须以某种标准的方式告诉整个SOA系统该服务提供的功能,且实现和解释相一致。
四、WCF本质是一套软件开发包,设计目的是为分布式计算提供可管理的方法,提供广泛的互操作性,并未服务定位提供直接的支持。
可发开服务端和客户端,主要功能有:托管、服务实例管理、异步、安全、事务管理、离线队列等,通过对标准协议的定义和封装,从通信和格式编码种 解放出来,专注业务逻辑的实现,同时同意了之前推出的分布式技术:
1.Web服务和WSE
2..NET Remoting
3..NET 企业服务
4.微软消息队列(MSMQ)
备注:使用WCF开发的服务/客户端可以和现有的Web服务、MSMQ持续进行交互,符合SOA最基本的原则。
五、WCF体系框架:
1.契约:属于一个服务公开接口的一部分、定义了服务端公开的方法、使用的传输协议、可访问的地址、传输的消息格式。描述了该服务的功能和作用。
2.服务运行:定义了运行时的具体行为,起运行内容跨越了服务边界,即包含对外公布的内容,也包含了服务内部的实现。
3.消息:包含消息的传输方式、编码与解码,基本属于服务边界以内的具体实现,具体的传递实现,需符合契约中定义的绑定协议。
4.激活和宿主:即WCF需要在一个可运行的程序中寄宿,寄宿方式有:自寄宿、iis寄宿、Windows激活服务、Windows服务和COM+组件等。
激活和宿主属于WCF程序的部署方式,根据SoA的原则,激活和宿主类型的变化不会影响服务本身的特性和外部对该服务的访问。
六、WCF基础概念
1.地址:每个服务的地址唯一,由资源标识符(URI)表示。包含了通信所使用的协议,即传输所用的协议。不负责定义服务传输所用协议,
只是提供和通信协议兼容的地址。常用的协议有:http(HTTP协议)、net.tcp(TCP协议)、net.msmq(使用MSMQ协议)
2.绑定:
原文:https://www.cnblogs.com/professional-NET/p/12595210.html