权利和责任是一起来的。SOA的承诺为服务重复使用和实现一个完全集成的企业提供了巨大的机会。但是,人们没有想到的是SOA实现的灵活性将导致企业IT部门出现混乱。要恰当地控制SOA的权利同时为企业提供价值,某些控制是非常重要的。在一个普遍存在的和透明的框架中采用服务发现、服务安全、服务管理和政策治理等方法对于任何企业成功地实施SOA都是非常重要的。
权利和责任是一起来的。SOA计算模式为集成企业和实现重复使用提供了巨大的承诺。但是,随着这个权利出现了适当地使用的责任。如果一个机构不能充分地控制SOA原则产生的灵活性,就会出现混乱。
有有效地实现面向服务的好处,必须要为了机构的利益控制SOA固有的灵活性。有效的SOA以合适的比例应用服务发现、服务治理、服务安全和服务管理。这些部分的每一个重要的部分都必须要单独地理解,因为它们都是相互关联的。当它们结合为一个无缝的架构的时候,这个整体就超过了其组件的总和。
发布-发现-绑定概念
在SOA的核心是发布-发现-绑定(publish-find-bind)概念。图1解释了这种松耦合计算的范例。
在这种计算范例之下,一个服务提供商发布其服务(作为服务端点)并且等待启动这些服务。(第一步--发布)要发现从使用其服务中受益最多的那些消费者。提供商通过发布其注册处中的产品“宣传”其服务。这个注册处(通常是符合UDDI或者ebXML标准的)维护一个在企业中发布的全部服务的数据库以及这些服务的细节以便帮助消费者的发现过程。在实践中,这个信息通常包括一个WSDL文件(包含其调用签名)以及服务所在的端点的URL地址。这个注册处还包含一个全面的库以保存每一个服务的功能和特点等情况的额外细节。
一旦一个服务在企业的注册处发布,一个有兴趣的消费者也许就会查询这个注册处寻找能够满足他的需求的服务。(第二步--发现)接下来,开发人员使用他们在注册处发现的服务建造自己的系统。松耦合协作中的最后一个步骤(第三步--绑定)在运行时间发生。在执行时间,消费者使用在“发现”操作期间由注册处提供的端点URL与提供商绑定在一起。
根据发布-发现-绑定松耦合的范例,提供商和消费者需要在使用这个服务之前相互熟悉。这个概念的力量引起了重要的混乱的机会。例如,如何保证只有获得授权的消费者才能访问一个指定的服务?如何保证所有的服务提供商都能适当地保证自己的服务安全防止非授权的消费者使用?如何保证在整个企业的SOA实施过程中遵守机构的标准?要管理在松耦合模式中的权利,必须采用额外的一些控制层面以保证在保持秩序的同时实现SOA的好处。
发布时间治理
没有对企业SOA的控制,没有限制数量的内部服务提供商将暴露和发布允许任何用户使用的所有形式的服务。必须要在发布时间在这个过程中引进一个治理层以保证仅仅发布高质量的服务,并且保证这些服务符合企业的标准。这种做法称作变换时间治理。
采用变换时间治理,注册处根据企业建立的一套规则验证发布的服务,并且拒绝任何企图发布不符合所有已经制定的政策的服务的那些服务提供商。企业级消费者不能使用任何遭到拒绝的服务。这些政策在把一项服务注册成为一项企业服务之前将根据发布的服务进行任何数量和任何形式的检查。
图2显示了变换时间治理功能在松耦合生命周期(步骤1a--验证)中发生的地方。这个治理工具(有时候是注册产品的一部分)管理所有的企业SOA政策。