SOA的作用和设计原则

作者 : admin 本文共1346个字,预计阅读时间需要4分钟 发布时间: 2024-06-9 共3人阅读

1.SOA的作用

         在一个企业内部,可能存在不同的应用系统,而这些应用系统由于开发的时间不同,采用的开发工具不同,一个业务请求很难有效地调用所有的应用系统。用简单的语言来表述,这些已有应用系统是孤立的,也就是我们常说的“信息孤岛”。

        不同种类的操作系统,应用软件,系统软件和应用基础结构相互交织,这是“信息孤岛”的表现症状。一些现存的应用程序被用来处理当前的业务流程,因此从头建立一个新的基础环境是不可能的。企业应该能够对业务的变化做出快速的反应,利用对现有的应用程序和应用基础结构的投资来解决新的业务需求,为客户、商业伙伴以及供应商提供新的互动渠道,并呈现一个可以支持有机业务(Organic Business)的架构。SOA凭借其松耦合的特性,使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有的或已有的应用作为服务,从而保护了现有的IT基础建设投资。

        SOA对于实现企业资源共享,打破“信息孤岛”的步骤如下。

        (1)把应用和资源转换成服务。

        (2)把这些服务变成标准的服务,形成资源的共享。

        从这个意义上讲,SOA不仅仅是一个技术,而是一个软件架构。企业的决策者只需要根据企业的策略来制定流程,把应用作为服务“拿来就用”,而无需考虑底层的集成。这样就可以实现IT和企业业务之间同步。

2.SOA的设计原则

         SOA架构中,继承了来自对象和组件设计的各种原则,如封装、自我包含等。那些保证服务的灵活性、松散耦合和重用能力的设计原则,对SOA架构来说同样是非常重要的。

        结构上,服务总线是SOA的架构模式之一。

        关于服务,一些常见和讨论的设计原则如下。

        (1)无状态。以避免服务请求者依赖于服务提供者的状态。

        (2)单一实例。避免功能冗余。

        (3)明确定义的接口。服务的接口有WSDL定义,用于指明服务的公共接口与其内部专用实现之间的界限。WS-Policy用于描述服务规约,XML模式(Schema)用于定义所交换的消息格式(即服务的公共数据)。使用者依赖服务规约调用服务,所以服务定义必须长时间稳定,一旦公布,不能随意更改;服务的定义尽可能明确,减少使用者的不适当使用;不要让使用者看到服务内部的私有数据。

        (4)自包含和模块化。服务封装了那些在业务上稳定、重复出现的活动和组件,实现服务的功能实体是完全独立自主的,独立进行部署、版本控制、自我管理和恢复。

        (5)粗粒度。服务数量不应该太大,依靠消息交互而不是远程过程调用(RPC),通常消息量比较大,但是服务之间的交互频度较低。

        (6)服务之间的松耦合性。服务使用这看到的是服务的接口,其位置、实现技术和当前状态等对使用者是不可见的,服务私有数据对服务使用者是不可见的。

        (7)重用能力。服务应该是可以重用的。

        (8)互操作性、兼容和策略声明。为了确保服务公约的全面和明确,策略成为一个越来越重要的方面。WS-Policy用于定义可配置的互操作语义,来描述特定服务的期望、控制其行为。在设计时,应该利用策略声明确保服务期望和语义兼容性方面的完整和明确。

本站无任何商业行为
个人在线分享 » SOA的作用和设计原则
E-->