|
SOA治理:为服务提供者和使用者搭一座桥梁从早先SOA 概念的提出,到如今SOA 的观念逐渐被大家正确认识,现在大家的观念已经不仅仅停留在 SOA 解决方案的构建和设计,也就是SOAd (SOA development)的阶段。 本文关键字: SOA 从SOAD到SOAG 从早先SOA概念的提出,到如今SOA的观念逐渐被大家正确认识,现在大家的观念已经不仅仅停留在SOA解决方案的构建和设计,也就是SOAd(SOAdevelopment)的阶段。因为SOA不仅仅是像企业服务总线(EnterpriseServiceBUS)这样的技术,而是包括面向SOA的软件开发生命周期管理。 SOA并非仅是一次服务实践、或一套工具,而是确定最佳实践、方法论、工具、多个切入点,以及对整个生命周期进行改革的整体观点。应当在整个生命周期阶段的端到端治理环境下,完成上述措施,部署的过程应当是自动的、渐进式的。在整个生命周期阶段,应制订相应的战略。 如今非常多的CIO开始转型。他们开始认识到,SOA不仅仅是如何运用IT来构建SOA应用,如何设计和开发SOA应用;而是进一步,如何更好地管理IT和业务需求,并使两者能平衡发展。 治理和管理需求 SOA是一项引人注目的技术,用于开发与业务模型保持最佳一致性的软件应用程序。不过,SOA会提高业务和信息技术以及IT部门和各个团队间所需的合作和协调级别。这个合作和协调是通过SOA治理提供的,涵盖了用于指定和管理如何支持服务和SOA应用程序的各个任务和流程。 没有一个完善的SOA治理解决方案,企业所实施的SOA应用将会面临巨大的风险。也就是说,当企业开始构建起自己的SOA应用时,将不得不面对如何治理SOA解决方案整个生命周期的问题。这就是IBM提出的“SOA治理”(SOAgovernance)观念。 什么是SOA治理? “SOA治理”包括什么?这包括了在IT层面的治理观念,还有针对SOA的治理框架。从IT的角度来看,需要有一个能管理和跟踪整个SOA应用的生命周期的机制,也就是一个能管理从发现业务需求,到转变业务需求为IT实现,并在运作中跟踪业务需求最终价值的实现的机制。然后是运用什么样的管理政策和系统,来监控管理这些决定企业业务能否成功的因素,来确保企业在所有的环节都在进行着这些环节所应该做的事情。建立连锁责任关系的状态。包括授权、决策等。为了对正在开展中的活动进行动态地评估,制定政策并对整个生命周期进行控制,并与业务建立联系,这对于确定连锁责任关系以及授权至关重要。 如果用一句话来总结,“SOA治理”其实就是如何来监控SOA的整个生命周期。也就是用怎样的方法论来发现业务需求,来打包服务,使之组件化,组成一个完整的SOA应用;并在这一过程中,用什么样的方法论来管理,并随着市场上的变化,来更改业务需求,使整个SOA应用能跟进和适应新的业务需求;如此循环迭代地发展和演进。 关于SOA治理有一个非常有趣的现象是,SOA治理不仅仅涉及到开发团队,而是同时牵涉到业务所有的利益干系人。这是SOA非常重要的一个部分,因为针对相应的业务过程所实现的,并集成在一起的服务,经常是在业务中需要综合和跨越多个业务流程的。一旦针对SOA实现方案定义了相应的治理方式,那就得在整个组织中部署这个治理模式。 SOA治理实践 在实践中,SOA治理指导可重用资产的开发,确立如何设计和开发服务,以及这些服务如何随时间增长进行更改。它将在服务提供者和服务使用者之间建立一个协议,告知使用者可以希望得到什么功能,告知提供者应该提供什么功能。 SOA治理并不设计服务,而是指导将如何设计服务。这可帮助回答很多有关SOA的问题:提供了哪些服务?谁可以使用这些服务?它们的可靠性如何?将在多长时间内支持这些服务?是否可以确定这些服务不会更改?如果为了各种目的(如修复错误或添加新功能)而希望进行更改时该怎么办?如果两个使用者希望相同的服务以不同的方式工作时该怎么办?是否因为您决定公开服务就意味着有责任永远为其提供支持?如果您决定使用服务,是否能保证明天不会关闭这个服务? SOA治理以现有IT治理技术和实践为基础。使用Java2Platform,EnterpriseEdition(J2EE)等面向对象的技术时,IT治理的一个关键方面就是代码重用。代码重用也体现了IT治理的难点所在。每个人都认为可重用资产很好,但实际工作时却非常困难:谁为开发可重用资产付款?开发团队是否会实际尽力进行重用?是否每个人都认同可重用资产的单一行为集,或者每个人都采用自己的自定义版本,实际上完全不能进行重用?SOA和服务使这些治理问题变得更加重要了,它们的结果也因此变得更为重要。 治理更多的是政策问题,而不是技术或业务问题。技术的重点是匹配接口和调用协议。业务的重点是为客户服务的功能。技术和业务都关注的是需求。虽然治理也涉及这些方面,但它更多的是要确保所有部分一起工作,独立的工作彼此并不会冲突。治理并不会确定决策的结果是什么,而是考虑必须进行哪些决策以及谁进行这些决策。 使用者和提供者双方彼此就如何一起工作达成一致。这些认识上的一致大部分都能通过服务水平协议(Service-LevelAgreement,SLA)进行捕获,形成服务提供者愿意提供且服务使用者愿意接受的可度量目标。这个协议就像各方之间的契约,而且可以成为事实上的具有法律效力的合同。SLA至少要清楚说明提供者必须进行怎样的工作,以及使用者可以期望得到什么服务。 SOA治理是由精英团队(CenterofExcellence,COE)(一组知识丰富的SOA技术人员)制订的,他们负责建立策略并监督其执行,从而帮助确保企业的SOA成功。COE将建立各种策略,以用于标识和开发服务、建立SLA、管理注册中心以及进行其他提供有效治理的工作。COE成员随后将这些策略付诸实施,指导和帮助团队开发服务和组合应用程序。 治理COE制订了策略后,就可以使用相关技术来管理这些策略。技术并不会定义SLA,但可以用于执行和度量遵从情况。例如,技术可以限制哪些使用者可以调用某个服务以及何时可以调用服务。可以向使用者发出警告,告知服务已经弃用。可以对服务的可用性和响应时间进行度量。 技术执行治理策略的一个不错的途径是通过企业服务总线(EnterpriseServiceBus,ESB)和服务注册中心的组合。可以采用特定的方式公开服务,以便只有特定的ESB才能调用该服务。然后ESB/注册中心就可以治理使用者的访问,监视和测定使用情况,确定SLA遵从情况等。通过这种方式,服务可以将重点放在提供业务功能上,而ESB/注册中心则主要负责治理方面的工作。 治理可能成为SOA中任何错误的替罪羊。和性能一样,治理可能成为极大的顾虑,成为所有问题的托词和每个有问题的解决方案的正当借口。只需要在任何SOA讨论中扔出一句火药味十足的话(好比扔出了一颗“手榴弹”),然后就可以看着原本有用的讨论瞬时间陷入一片静寂。SOA的一个挑战就是明智地使用治理来使SOA更好地工作,而不会让治理方面的顾虑淹没了所有其他事项。 责编:罗信 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
推荐博客 |
|