SOA是为了促进灵活、敏捷应用开发而采取的一种架构,该架构通过工作流管理模型中常见的组件来实现。SOA服务具有平台独立的自我描述XML文档。SOA服务用消息进行通信,该消息通常使用XML Schema定义(XML Schema Definition,XSD)。消费者和提供者或消费者和服务之间的通信多见于消费者不知道提供者的环境中。服务间的通信也可以看作企业内部处理的关键商业文档。在一个企业内部,SOA服务通过一个扮演目录列表角色的登记库(Registry)来进行维护。应用程序在登记库寻找并调用某项服务。通用描述、发现与集成(UDDI)协议是服务登记的标准。这些组件之间是一种松耦合的关系,意味着组件是通过发布/订阅登记流程来定位的,且使用一种常见的对象访问机制来链接(一般是SOAP),使用某种定义语言(WSDL)来描述将用户和提供者连接在一起的特性和接口。
基本SOA包括3个基本角色:服务提供者、服务请求者和服务注册中心[40]。这个模型和简单Web服务之间的相似性非常明显,两者都将WSDL作为存储在服务注册中心中的调用协议(可以通过UDDI在其中进行查询和获取)。Web服务实际上是最基本的SOA实现。
在此模型中,基本场景如下(如图2.2):一方面,服务提供者创建服务,并将服务信息发布到服务注册中心。另一方面,需要特定服务的服务请求者在服务注册中心搜索满足必要条件的服务。找到服务后,通过使用服务注册中心中的可用信息,服务请求者能够以正确的方式直接联系服务提供者,从而满足业务需求。在该场景下,服务提供者指发布了调用协议和位置的服务的提供者;服务使用者指从服务注册中心找到与其业务需求匹配的服务的使用者。(www.xing528.com)
图2.2 SOA三个角色的交互场景
服务注册中心是SOA系统中可用服务的目录,其中包含服务的物理位置、服务版本及有效期、服务文档和策略。服务注册中心是SOA的主要构建块之一。首先,服务注册中心实现了SOA的松散耦合承诺。它通过保存服务端点位置,消除了在服务请求者和服务提供者之间进行硬编码所带来的高度耦合,还消除了在需要的情况下替换服务实现的潜在难题。其次,服务注册中心具有很高的可伸缩性,可以在系统服务逐步发展的情况下无缝地提升。它允许系统分析人员对企业的业务服务投资组合进行调查,他们可以随后确定哪些服务可用于实现流程自动化来应对迫切的业务需求,哪些服务不能用于此目的,从而让使用者知道需要在投资组合中实现和添加什么,并会提供可用服务目录。此外,服务注册中心还可以通过强制遵从订阅服务来逐步过渡到治理服务的角色,这可帮助确保服务治理和策略的完整性。可用服务及其接口的可见性可加快开发速度,提高应用程序重用性,改善治理,改进业务规划及管理。服务注册中心的缺失会导致冗余和效率低下。最后,服务注册中心可帮助减少在定位服务信息方面浪费的时间。如果不使用服务注册中心来跟踪服务及其关系,SOA环境不仅会缺少一致性和控制,还会出现混乱。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。