WCF系列学习笔记1
面向过程的设计思想解除了软件本身和机器内存,寄存器,地址之间的耦合,同一时期,软件工程开始被开发者和研究者进行研究,一系列的方法被提出,以降低模块之间的耦合,提高代码的重用率,对于面向过程的设计思想而言,代码以函数为基本模块,但是由于数据被全局共享,导致了函数的变化会影响整个系统的其他函数.
面向对象的设计思想在企业系统开发中仍然暴露了很多问题,首先是对象的传递问题,当对象跨越进程或主机时,系统需要对对象进行特殊的处理,其次是版本控制,由于传统的面向对象设计思想并没有考虑类型的版本定义,这样在系统中某些类型进行重新定向的时候,就会不可避免的产生错误,这无疑模块间耦合一个表现. 为了进一步降低系统内模块的耦合,面型服务的设计思想被正式提出,用服务作为系统的基本模块,面向服务作为最基本的模块,面向服务向对于面向对象而言,引入了技术无关性,版本无关性,平台无关性,进一步降低了模块与模块之间的耦合,就目前来说,面向服务适合企业开发.
SOA的全程是面向服务架构,属于一种组建架构模型,可以根据需求对松散耦合的粒度度应用组建进行分布式部署,组合和使用.服务是SOA的基础,可以直接被访问使用,从而有效控制系统中与软件代理交互的人为依赖性.
W3C对SOA的定义是一组公开发布的接口,并且提供接口查询的组建,W3C标注对SOA的定义非常抽象,这样造成了SOA各种实现都各具特色,在本质上这些实现都符合W3C的定义.
SOA系统中的每个服务都必须被限定在某个明确的边界之内,所谓服务边界,是指服务的公共接口与其内部专用实现之间的界限,明确的服务边界使得服务与位置何技术无关,客户端无法知道服务实现的技术,地理位置和运行平台,这种情况下才能真正道道SOA初衷,降低服务于客户端之间的耦和.
服务是独立的
服务独立是指服务的运行时独立,不需要依靠任何外界或者组建,服务自身的部署,版本将不会影响整个SOA系统,客户端或其他服务也不需要获知服务边界内的变化,服务存在的目的就是为客户端提供服务,有的时候,一个复杂的业务逻辑需要多个服务的相互配合才能完成,也就是说,业务逻辑上服务之间是可相互访问的, 这和服务独立的概念并不矛盾.
采用标准的契约定义和通信协议
SOA系统的特点之一就是允许每个服务使用各自的技术和平台来实现,在这种情况下要求服务之间可互相交互,就势必要求服务的契约定义和通信协议都是行为标准,任何特定技术平台的协议都不适合用到SOA系统之后总,实时上,WCF项目小组花费在标准协议上的工作,在整个项目中占了非常大的比重.
服务是自解释的
根据W3C 对SOA的定义,服务的内容必须是自解释性的,服务必须以某种标准的方式高戍整个SOA系统该服务提供的功能,并且服务的实现必须和其提供的解释一致。
WCF是微软公司提出的为 了迎合SOA(Service-oriented architecture,面向服务架构)的一种新的交互方式,他集众之所长,同时也迎合了当前的流行概“云”。
WCF的全称是:Windows通信基础,本质上说,他是一套软件开发包,WCF的设计目的时为分布式计算机提供可管理的方法,提供广泛的互操作性,并为服务定为提供直接的支持,WCf帮助程序员在.NET的环境红开发服务,或是开发访问服务的客户端,基于SOA的技术与平台无关,WCF并不要求整个系统的服务都有WCF开发。
WCF为程序员提供了丰富的功能,其中包括,托管,服务实例管理,异步,安全,事务管理,离线队列,并且WCf对产业中的标准协议进行了封装和定义,它把程序员从繁琐的通信,格式编码中解放出来,使得程序员能够专注于业务逻辑的实现。

浙公网安备 33010602011771号