新闻动态
SOA的四个设计原则
https://www.sytm.net 发布日期:2013/8/11 6:39:34

在ASP.Net开发中,我们经常用到WCF,WCF的一个优势在于:它以 Soa(面向服务架构)所确立的设计原则为基础。不可否认,SOA是业界的一个热点,和其他热点一样,SOA可以以各种方式来定义。简单来说,SOA是设计分布式系统的一种方式,它通过使用明确顶一顶额接口通过跨越边界(可以是联网的计算机或只是同一个及其的两个进程)传递消息来让多个独立的服务系统工作。

在WCF的世界里中,这些明确定义的接口,通常使用明确实际的CLR接口类型来创建。然而,更广义地说,服务的接口只是描述了会由外部调用者调用的一组成员。在设计WCF时,WCF团队贯彻了SOA设计准则的4个原则。虽然在构建WCF应用程序时,通常会自动遵守这些原则,下面这部分内容简单介绍了每个原则:

SOA设计原则一 边界时明确的

这个原则强调的是WCF服务的功能是通过定义明确的接口进行表达的(如每一个成员的描速、其参数以及返回值)外部调用者和WCF服务通信的位移方式就是通过这个接口,并且外部调用者还是对底层的实现细节一无所知。

SOA设计原则二 服务是对立的

说服务是对立实体,我们指某个WCF服务(尽可能)是可以独立存在的。一个独立的服务对于版本问题,部署问题和安装问题来说应该是独立的。我们再来回顾一下基于接口编程的重要方面。在产品中接口应该永远不能修改(否则就会有打破既有客户端的危险)。如果我们需要为WCF服务扩展功能,只能编写新的接口来实现新的功能。

SOA设计原则三 服务通过契约而不是实现进行通信

第三个原则也是基于接口编程的另一个副产品,因为外部调用者不关心WCF服务的实现细节(用哪个语言写的,怎么完成工作的,等等)。WCF客户端仅仅通过他们公共的公共接口来和服务进行交互。此外,如果服务接口的额成员公开了自定义的复杂类型,就需要完整描述数据契约的细节来确保所有调用者可以吧内容映射到某个数据结构。

SOA设计原则四 服务兼容性基于策略

由于CLR接口为所有WCF客户端提供了强类型契约(也会根据我们选择的绑定用来生成相关的WSDL文档)文档,值得指出的是,接口/WSDL本身还不足够描速服务能够做什么的细节。因此SOA允许我们定义策略来进一步限定服务的语法(如期望用于和服务通信的安全需求)。使用这些策略,我们就可以把服务如何工作和如何被调用的语法细节与服务低级别句法描述(公开的接口)进行分离了。

更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览