SOA

来源:互联网 发布:欧洲杯历史比分数据 编辑:程序博客网 时间:2024/05/19 13:27


程序开发进化史

Procedure   Oriented

分析解决问题的步骤,用函数将这些步骤一步步的实现,一一调用实现业务。

Object   Oriented

 将变成与真实世界相结合,划分系统业务并视为N个对象进行封装、抽象便于复用;通过继承,便于扩展;多态更是增编程的灵活性。

面向对象编程中关键之一在于对象的传递,在.Net中,一般将对象序列化形成xmljson文件,再反序列化转化提取该对象,实现对象的传递。而这样的操作往往比较繁琐,在此情景之下,SOA开始兴起。

Service   Oriented

 面向服务编程,将功能视为单个服务进行开发,对外部提供该服务接口,对其进行调用即可。这样的理念使得不同平台、不同技术实现的各种服务可通过接口调用,整合到一个系统中;服务调用者无需关心如何实现该服务,只需统一两者间通信标准,直接调用即可;大大降低了开发成本和难度

SOA的经典服务架构:

上图中,服务消费者(客户端)通过发送消息调用服务,这些消息通过一个服务总线(Service Bus)转换后发送给适当的服务接口,底层是服务接口的具体实现;左边的规则引擎用于定义服务的组合规则等,允许业务被合并到一个或多个服务里;右边的服务管理引擎用于管理服务、审核、日志等;这些便构成了一个经典的SOA服务架构。

SOA的强有力实践者1——Web Service

Web Service作为SOA思想的强有力实践者之一,定义了一套标准来实现的服务。由于web Service 在行业内已经得到广泛的运用,所以通过web Service 来实践SOA的好处随着越来越多的软件商支持越来越多的Web服务规范,利用web service开发会取得更好的通用性和更广阔的应用前景。

 

Web Service开发模式:

通过创建一个web服务(服务端),将其发布在IIS上,再创建一个新的应用程序(客户端)对该服务进行调用,这便是一个完整的Web服务开发模式。

SOA的强有力实践者2——WCF

WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如Enterprise Sevices(COM+).Net RemotingWebService(ASMX)WSE3.0MSMQ消息队列。


注:

WCF 分布式应用的开发框架,属于特定的技术,或者平台。既不是标准也不是规范。

Web Service严格来说是行业标准Web Service 规范,既不是框架,也不是技术。

ASP.NETWeb Service:微软针对Web Service标准提供的Web Service开发框架,属于ASP.NET Framework的一部分

WCFWeb Service的关系: WCF能够创建兼容 Web Service规范创建的服务,也就是说可以WCF创建的服务与Web Service间可以互联互通。WCF作为一套框架,用来创建各种服务,包括创建 Web服务(binding方式采用 basicHttpBinding的服务就是一个Web服务)。两者并不能用简单包含或者等同关系来表述。但相同的是两者均有力的实践并成功验证了SOA开发思想的成熟和优势所在。

 

0 0