面向服务架构( 二 )


面向服务架构

文章插图
SOA的服务级别抽象图图1SOA的服务级别抽象图基于以上图示.SOA具有以下五个特徵:1、可重用一个服务创建后能用于多个套用和业务流程 。2、松耦合服务请求者到服务提供者的绑定与服务之间应该是松耦合的 。因此 , 服务请求者不需要知道服务提供者实现的技术细节 , 例如程式语言、底层平台等等 。3、明确定义的接口服务互动必须是明确定义的 。Web服务描述语言(Web Services Description Language , WSDL)是用于描述服务请求者所要求的绑定到服务提供者的细节 。WSDL不包括服务实现的任何技术细节 。服务请求者不知道也不关心服务究竟是由哪种程式设计语言编写的 。4、无状态的服务设计服务应该是独立的、自包含的请求 , 在实现时它不需要获取从一个请求到另一个请求的信息或状态 。服务不应该依赖于其他服务的上下文和状态 。当产生依赖时 , 它们可以定义成通用业务流程、函式和 数据模型 。5、基于开放标準当前SOA的实现形式是Web服务 , 基于的是公开的W3C及其他公认标準.採用第一代Web服务定义的SOAP、WSDL和UDDI以及第二代Web服务定义的WS-*来实现SOA 。基本特点SOA的目标在于让IT系统变得更有弹性 , 以便更灵活、更快地回响不断改变的企业业务需求 , 解决软体领域一直以来存在的“如何重用软体功能”问题 。採用SOA来构建信息平台 , 无疑是未来的发展方向 。SOA的5大基本特徵为软体功能重用提供了解决的办法 。①服务之间通过简单、精确定义的接口进行通信 , 不涉及底层编程接口和通信模型 。②粗粒度性:粗粒度服务提供一项特定的业务功能 , 採用粗粒度服务接口的优点在于使用者和服务层之间不必再进行多次的往复 , 一次往复就足够了 。③松耦合性:松耦合性要求SOA架构中的不同服务之间应该保持一种松耦合的关係 , 也就是应该保持一种相对独立无依赖的关係 。这样的好处有两点 , 首先是具有灵活性 , 其次当组成整个应用程式的服务内部结构和实现逐步地发生变化时 , 系统可以继续地独立存在 。而紧耦合意味着应用程式的不同组件之间的接口与其功能和结构是紧密相连的 , 因而当需要对部分或整个应用程式进行某种形式的更改时这种结构就显得非常脆弱 。④位置透明性:位置透明性要求SOA系统中的所有服务对于其调用者来说都是位置透明的 , 也就是说 , 每个服务的调用者只需要知道想要调用的是哪一个服务 , 但并不需要知道所调用服务的物理位置在哪 。⑤协定无关性:协定无关性要求每一个服务都可以通过不同的协定来调用 。另外 , 在许多传统的IT系统的内在部分採用的是硬连线 , 这种结构很难让企业快速回响市场的变化 , 而SOA能够重複利用企业现有的资源 , 可以减轻企业运营成本 , 提升资源的使用效率 , 并且减轻企业维护人员的工作量 , 减少潜在的风险以及管理费用 。在业务方面和IT方面带来许多优势: ①服务给精确的业务流程带来灵活性;②使用服务来改善客户服务 , 而不必担心底层複杂的IT基础架构;③可以迅速创建新的业务流程和複杂的应用程式 , 以适应市场变化;④藉助安全、易管理的集成环境 , 成为回响能力更强的IT组织;⑤通过使用预装的、可重複使用的服务构建模组 , 缩短开发和部署周期;⑥通过使用服务来降低複杂性和维护成本;⑦是增强而不是替换现有的IT系统 。元素面向服务的体系结构中的角色包括:如下图所示:1、服务请求者:服务请求者是一个应用程式、一个软体模组或需要一个服务的另一个服务 。它发起对注册中心中的服务的查询 , 通过传输绑定服务 , 并且执行服务功能 。服务请求者根据接口契约来执行服务 。