IBM软件部Rational软件UML专家 Terry Quatrani女士
首先是SOA的治理,这是一个讲明片子里的内容,一个财务部门,发现两个应用,这两个应用都会使用一个功能,决定把这个功能抽取出来成为SOA的模块,提取一个服务出来,供这两个部门使用。当他们做出这个新的SOA服务以后,这时候消息传得很快,其他部门都了解到,原来是有这样一个转换的服务。这时候得到的结果是,所有的部门都会去,当他需要这个服务的时候都会调用这个部门所创建出来的服务,这时候会发现,这个服务受到越来越多的请求,有可能它的性能越来越低。当越来越多部门使用它的时候发现,调用响应速度非常低,有时候服务根本调用不了。分析出来原因是原来服务器配置提供给自己部门使用的,但是现在服务器的性能不足以所有人调用它,需要买更强的服务器支撑这个服务,但是这个部门的经理非常不高兴,因为他需要花自己部门的钱,为所有部门做服务。但是为了整个企业利益着想,最后决定用自己部门的钱买更好的服务器去支撑起这个服务。但是这种情况不会持续太久,因为会有越来越多人调用它,可能下一步还需要升级到更好的机器。最后当部门经理收到提案还需要硬件升级的时候,这服务不提供了,因为成本太大了,宁愿服务部提供,也不愿意把所有业务放在我身上,我们进入了没有SOA治理的世界,所以我们需要一个SOA治理帮助我们管理SOA的服务。
什么是治理,治理就是关于企业管理层的一些决定,以及我们用什么样度量审计我们的一些决定。IT治理说的是我们应该用怎样IT管理流程支撑业务的运行,SOA治理就是在IT治理上面的扩展,我们怎么样通过SOA治理的方式去定义提供SOA的服务。SOA治理里面最具体的工作就是要去定义,怎么样产生这个服务,怎么样管理这个服务,怎么样部署这个服务,这中间所有服务的管理层面东西都是由SOA治理方面提供给我们很好的建议。
下面是SOA治理带来的三个好处,首先我们可以迅速得到商业的好处,通过SOA的服务,我们可以提高客户和开发业务之间的协作性;另外可以降低风险和提高我们对系统控制,我们可以定义需要达到什么程度的服务,通过审视SOA的服务得到结果;SOA治理里面同时带来的好处使得我们团队围绕SOA开发过程当中,所有的职责是非常明确的,我们做什么工作也非常明确,这样就可以提高我们在SOA开发过程当中的沟通和协作。
当你需要做SOA治理的时候,有几个因素你需要考虑的,第一步首先需要你公司高层领导去支持你这样的决定,同时做SOA的开发或自己并不是IT部门自己的工作,而是把业务部门和业务部门的价值联系在一起。当你要做SOA开发治理的时候,你Funding model怎样,我们看很多的例子,很多企业提供开发本身,并没有考虑SOA怎么产生和管理,这些成本没有考虑到资金预算里面。另外一个非常重要,同时你做SOA治理的时候,你需要有非常清晰的企业架构,包括企业组织结构,不同部门的职责,从这里面可以非常方便的找出相应的服务,以及服务的治理。同时,企业的团队组建,包括SOA里面的角色、职责,以及可以分发的相应资源。同时你需要把你所做的所有决策让企业所有人都要了解到,这样在你SOA治理推广过程中,都会对你的工作进行理解并支持,另外在这之前对人员培训和人员技能提高都要做一定的准备。
这是我们可以看到SOA治理Lifecycle的模型,第一步是计划阶段,我们首先要了解什么原因促使我们SOA治理,需要什么部分帮助我们做,在企业里面实现SOA一定需要SOA治理的方法。第二部分是定义,定义SOA治理里面不同人的职责和决策,谁有权利做SOA的决策,谁有权利做SOA的产生开发,这些都是在定义阶段。同时你需要有很好的计划,比如你的开发计划,你的移植计划,这些在这个阶段都要做好。第三步就是实施阶段,我们会把我们做的模型实施到团队里面去,最后一部分是度量阶段,我们要看SOA治理过程中得到的数据,从这些数据看SOA治理做得好还是坏。在度量阶段总结出来的经验教训,同时以闭环的方式回到计划阶段,把这些作为下一个循环里面的开始。
从这个模型回到刚才讲的片子里的场景,如果当这个服务不运行的时候,我们可以从IT治理里面找到应该由谁解决这样的问题,应该采取什么样的措施解决服务不运行的问题。这是一些最常用的问题,当你建立SOA治理模型的时候,在不同阶段你应该问一下自己这样一些问题,看能不能找到相应的答案。IBM提供每个SOA治理模型里面每个阶段的工具支持,在以后IBM也会投入很大的研发力量支持SOA治理每部分的工作。
下面看一下服务生命周期管理怎么支持SOA治理的,生命周期管理实际上是对SOA治理的实现,服务生命周期管理有服务的设计,服务的开发,设计的管理,这都对应着Mange的每个部分。当我们定义好东西的时候,下一步就是把做好SOA的治理规范、流程通过工具来实现。对于这些服务来说,我们就是需要有一个完整的生命周期进行管理,第一步是通过建模方式,在企业里面首先要对企业的流程和架构进行一定的理解,在这基础之上发现有哪些可以抽取出来作为你的服务。第二步是Assemble阶段,我们要对发现的服务进行相应的架构设计以及相应的开发。第三步是开发测试结束以后,就要部署到我们架构里面去。我们再说开始定义阶段定义的KPI,在这个阶段在Manage阶段就要收集这样的数据,看当初定义服务提供的功能和性能是否可以达到当初定义KPI的标准。如果审视度量发现有问题,我们会从闭环方式回到模型里面,重新发现新的服务或改造服务进入下一个循环。有效的SOA治理帮助你做到下面几点东西,服务生命周期管理,从我们的模型开发以及部署管理全流程式的支持SOA的治理,在之前片子中可以看到,IBM有整个的解决方案,包括产品、方法论以及服务帮助企业服务SOA的治理,当你在SOA治理里面定义好这样一些流程和方法的时候,这时候你可以通过Rational Process Management帮你把流程固话下来,同时让团队所有的人了解SOA自己的流程。第二块就是Rational portfolio Management,我们可以在工具里面得到不同的数据,帮助我们决策在SOA治理和SOA项目开发当中,有哪些项目是要重点投资,哪些项目要派技术更高的人员参与。Rational portfolio Management可以帮助你管理人力资源,人力资产,让你清晰看到,或保证你的资源和资产使用率是最高的,可以帮助你投入到项目成功里面去。另外一块是Rational ClearQuest、ClearCase等一些工具, 可以产品的结合可以事先声明周期的确认性,帮助你实现产品的质量控制。通过这些工具的结合可以实现从需求到建模、开发、测试以及流程部署的可追溯性。帮助我们确认下一步开发的确实是客户的需求,同时我们可以正确把各种模块组装在一起形成最终的发布系统。同时可以支持全球异地开发,当你组织再全球都有研发团队的时候,它们可以很好的协作起来。下面就是质量管理的手段,通过这样的工具可以更好提高SOA模块的质量。我们工具包括性能测试,功能测试和手工测试工具,在这时间发布了新的版本,最大特性就是对SOA模块测试的功能,对于SOA服务的功能和性能都可以通过这样一些工具进行相应的验证。另外就是新收购Watchfire产品,可以帮助你了解部署的SOA产品里是否漏洞。通过RSCA可以另外Rational有一个新的工具,确认我们架构服务足够的灵活,资产管理的服务,可以搜索到这样的服务。同时对项目经理和管理层来说可以收购有用的数据决定项目的状况,包括项目资金预算使用情况以及现在开发系统的缺陷趋势情况都可以清晰的看到。IBM提供整个生命周期管理每个部分相应的工具支持,同时这些生命周期的工具支持SOA的治理。大家看到的工具里面除了有Rational品牌产品,还包括WebSphere和Tivoli产品,这说明IBM是全程支持SOA的开发以及相应的治理。
我们现在处在应用开发都逐渐转向SOA的服务,IBM在这个阶段全程提供相应的工具、方法以及相应的服务区支撑它。下面介绍几个案例,O.C.G,他们购买了IBM Rational的工具,实施了IBM的方法,确保他们通过IT的审计和系统的质量。BlueCross公司通过Rational的帮助他们架构重用的组件去支撑所有的运行,Viveo公司通过产生一个企业级的组件模型,通过IBM RationalRUP方法论去进行。
文章来源于领测软件测试网 https://www.ltesting.net/