中小企业如何进行敏捷SOA治理?

 
   | |

导读:要实现SOA所带来的易管理、可靠性和重用性,必须先有一个有效的治理结构对服务的创建、维护、提供和消费进行调整。

关键词:SOA 重用性 治理 SOA治理 敏捷

 
正在加载数据...

  在对SOA进行治理的同时,也不能忘记SOA的目的是让IT为企业实现价值。

  要实现SOA所带来的易管理、可靠性和重用性,必须先有一个有效的治理结构对服务的创建、维护、提供和消费进行调整。

  然而,虽然SOA具有战略性的优势,但是治理往往会在企业的单个业务线上产生负作用,因此许多中小型企业在开始编制服务目录的时候会遇到种种困难。那么应该怎样对服务资源进行编制从而让我们的项目取得成功呢?本文提供的治理结构可以在接受通常工作的战术性、以项目为中心等特点的同时实现服务的战略重要性。

  对治理的需求

  根据定义,服务应该是一种共享资源。如果要在利益相关人群体中共享资源却缺乏一个有效的治理系统通常会导致资源管理与资源利用之间产生矛盾。要保持较高的ROI(比如通过避免重复性劳动)并符合SLA协议(比如通过在提供服务的同时保证合适的计算资源以满足消费者的要求),就必须对服务进行有效地治理。治理还能帮助企业发现新的服务需求并根据变化做出调整。

  对交付的要求

  在对SOA进行治理的同时,也不能忘记SOA的目的是让IT为企业实现价值。不过,企业是通过业务线(LOB)来实现利润(或其它价值)的,因此,完全可以说业务线就是企业的动力之源,而技术项目只是业务用于实现目标的一种手段。有了这种非常直接的关系,那么如何准时地完成业务技术项目就成了关键。

  有些关于SOA的书籍和文章建议对服务重新进行完全编制才能实现面向服务所应有的效率。如果按这种方式来的话,那么所有开发项目就都会在标准的、能够在服务资源增长的同时保证架构质量的SOA治理中顺序进行。

  可惜的是这种方式通常是以缺乏架构治理(不管是正式的还是非正式的)这个假设为默认条件的。所有企业都有各种正式的和非正式的管理型技术项目,其中某些甚至已经变得很有系统性,与其它技术争夺控制权,甚至阻碍项目的交付以至使项目无法实现其所应有的价值。而治理必须在这样的一个环境中寻得一席之地。

  对于中小型企业(SME)来说这更是一个大问题,因为他们可能没有足够的员工在使业务领域及时完成项目的同时处理这样的一个过程。他们可能没有条件组成一个单独的服务团队,也可能没有足够的架构师在不妨碍开发的情况下对所有开发活动进行审查。结果就是业务领域逐渐失去对降低成本和提高生产力的前景的信心,并因此给SOA的实现埋下了问题的种子。他们很自然地会产生疑惑,认为当前的障碍是否是一种在当前条件下无法解决的问题,只能等待下一次技术潮流涌现并取代SOA。他们可能还不知道云计算……。

  如果一个开发团队要帮助某个业务领域实现价值,那么这个团队就会设计一个适用于这个业务领域的软件。但是由于这种软件是一种紧耦合,缺乏扩展性,因此无法将它应用于其它的业务领域开发团队。虽然这对企业来说是一种低效率的工作,可是却无法及时地反映到业务领域上。这些团队并不是在为企业寻找实现价值的机会——他们工作的对象是业务领域。他们认为他们的工作具有很高的价值。要减缓开发项目的速度以解决企业层次的低效率问题在这种业务领域环境下是难以行得通的。

  解决这种进退两难处境的方法通常是从上层开始推动变化并将所有服务开发平行到另外一个单独的团队中。这是种合理的方法,它能够利用常用的方法提高开发能力(布鲁克定律不算在内)。在各种首席官的带动下,人们希望可以组成一个能够随时实现服务以支持主开发团队的工作的具有各种资源或手段的服务团队。但是这个团队的主要任务并不是帮助业务领域,而是帮助企业。要实现这个目标,这个服务团队在创建服务的时候就要从战略性上着手。它必须对业务团队所提供的需求进行分析并决定这些需求是否对其它团队具有通用性。它还必须对服务的扩展性和易管理性进行评估。总之,它必须小心谨慎。而小心谨慎就意味着时间。在小型企业里,项目的交付期限是很短的,通常少于一年,一般只占一个业务周期的四分之一甚至更少。那么服务团队怎么才能在这么短的期限内还做得小心翼翼呢?

  做成,做对,做快

  治理的作用就是在企业进行软件开发的时候帮助发现可以提高效率的机会。企业需要治理才能实现面向服务的架构的全部价值,所以我们要保证治理确实是在帮忙,而不是在帮倒忙。因此重点应该放在鼓励成功的措施上,而不是避免错误。Kent Beck有一句名言是"做成,做对,做快"。它并不是从"做快"开始的,因为要做快就必须先有一个完成品。那么如果一个企业在业务团队进行普通的部署工作时发现了可以开发的新服务,却让业务团队自行进行新服务的开发(可能甚至只是作为一个库实现),但让另一个团队对功能进行评估并决定是否值得开展一个新服务计划,这种做法怎样呢?从企业的角度来说,即使业务领域刚开始"做成"的第一步,我们也可能已经开始进行"做对"方面的考虑。这样看起来好像可以得到最好的效果。

  可惜的是,许多治理模型将开发和治理过程序列化了--治理是每个项目(甚至点子)都必须跨过的门槛。创建或修改一个服务会对整个企业产生影响,因此必须仔细地进行评估。然后很可能所有项目都堆在了这个门槛,业务领域所需的项目无法执行,而治理团队此刻却正为项目功能与SOA的关系争得面红耳赤。

  一旦确定要创建某个服务,通常就会把服务需求交给一个专门从事服务创建/维护/管理的团队。这很可能会成为另一个瓶颈,因为必须仔细对交付给主项目的服务进行调整才能保证项目的交付时间。一个重视各个利益相关人的需求的高质量的企业服务所需要花费的设计、实现和测试时间可能并不比主项目少。

  敏捷SOA治理

  显然以上两种概念的优势都体现在了SOA中:用治理来对服务进行调整;创建一个以服务为重点的专业团队。问题在于如何管理这些专向小组和业务领域团队的工作。图1为此提供了几种可选的方式。

  在这些可选方式中,需求经过整理后被提交到作为服务治理委员会的架构审核小组进行筛选。然后由这个小组决定项目中是否存在适合作成服务的需求。其中某些需求可能有相应的服务并计划在项目中投入使用。还有些虽然已有相应服务但其用途被分析小组筛掉了。剩下的需求即是将用于创建服务或修改服务的需求。

  这个审查过程应该尽量简单,以不影响开发流程为原则,因为我们的前提是先进行"做成"这一步,然后才会有机会"做好"和"做快"。项目的交付速度即取决于这些筛选决定,而企业SOA也无疑会更加成功。

                 

  图1显示的是一种传统的线性方法。如果服务已经存在,那么它的用途便会被引入到相关的业务开发迭代设计中。如果服务不存在或者当前的功能不充足,那么需求便被送到服务团队,然后开始一个标准的开发周期,在企业的环境下描述详细的需求、设计方案、开发并测试、最后部署并加入到业务开发周期中去。如果该服务是应用开发的基础,那么这种方式很可能会产生问题,而且继续软件的其它部分的开发又必须充分了解并使用服务。问题产生的原因在于业务开发团队直到服务项目完成之前都无从知晓服务的界面或其它特征。如果没有一个周详的计划,那么服务项目和业务项目就会变得序列化,从而减弱单独的服务团队的应有影响。

               

  图2是以服务与业务团队的更早期的交流的方式解决消息延迟的问题。在这种方式中,服务团队在完成设计阶段后即把服务的界面交给业务团队。根据做法的不同,服务团队很可能还会得到除界面之外的信息。比如模拟服务、桩、或者测试等等。所有这些都有益于依赖于服务的软件开发,从而减少瓶颈效应。如果在实现期间需要对服务界面做出改变,那么也应该对这些情况进行沟通以对相关代码进行重构。如果业务团队有本地代理,那么重构应该就会简单地多。然后,当服务完成时,就可以进行集成测试了。不过,最后的集成测试与部署还要取决于服务团队的完成情况。虽然我们之前已经提供了许多信息,采用了更易于调整并且更为精确的方式进行并行开发,但是业务领域的工作仍然可能会因企业方面的原因而延迟。

                    

  图3中的方法的前提是业务开发团队可以自行开发一个本地服务或者库来满足项目的需求,从而快速地进行项目工作而无需依赖其他团队。理论上讲,这是使用本地代理隐藏服务的形式,这样当服务完成时便可以与本地服务进行替换。当服务团队完成他们的工作的时候,业务团队就进行重构。还在做出改变界面的决定的时候进行交流可以最小化之后的重复性劳动。

  如果这最后一种方法也无法奏效,我们可以让两支团队并行开发非常相似的符合SOA要求的功能。这是一个战术性的决定,它可以使业务领域的进度风险最小化,并同时让企业继续向着战略目标前进。

  在这种项目经常变动的环境下,企业必须决定哪一种方式才是最合适的。某些企业服务的开发速度需要比其它的快。开发团队的能力也互不相同。服务对应用的影响取决于服务对应用的重要性。企业需要考虑到所有这些不同的因素并制定出符合情况的最佳方式。


SOA治理
 IT经理构建一个有效的企业级SOA治理
 四管齐下搭建SOA治理框架
 SOA治理使企业经营开支减少18%
 SOA治理:企业视图(二)
 SOA治理:企业视图(一)
 敏捷SOA成功之秘诀(五):IT和SOA治理
 SOA治理的基石:服务需求与供应(三)
 SOA治理的基石:服务需求与供应(二)
 SOA治理的基石:服务需求与供应(一)
 SOA治理和蝴蝶效应(二)
 SOA治理和蝴蝶效应(一)
 SOA成功四要素:发现、治理、安全、管理
 通过服务共享中心执行SOA治理
 乌“云”下的SOA(二)
 乌“云”下的SOA(一)
 SOA并未灭亡 正在强劲增长
 域间架构技术最大化SOA的价值
 中小企业如何进行敏捷SOA治理?
 如何构建有效的企业级SOA治理
 闯过8个关口 保你的SOA计划大获成功
 SOA要想成功的三个技巧
 当前SOA应用实施所面临的挑战是什么
 Open Group 会议揭开序幕:企业架构不止是一项技术
 融合时代谁是SOA进阶核心动力
 SOA:云计算的精神借鉴者
 SOA治理成熟度:一名架构师的观点
 SOA与企业级系统构建
 BASE是替换ACID事务更易扩展的模型么?
 从画皮SAP看国际IT厂商的内幕
 Open Group发布新的SOA和云计算标准
 Nastel致力于提高业务事物处理绩效
 SOA在云计算运行中须杠杆治理
 实施SOA大胆构想的挑战是什么
 SOA装备“快反行动”
 三策略助力云计算摆脱SOA治理计划“束缚”
 解析建立SOA卓越中心的五大优点
 运用语义整合技术 四步骤改进SOA
 CIO如何判断企业是否真的需要SOA管理
 SOA管理工具可避免混乱和相互指责
 CIO着手构建SOA架构需要注意的七大问题
 SOA取得成功的一些重要指标
 观点:有效的SOA治理的五个步骤

原文出处:http://tech.it168.com/a2009/0413/271/000000271959_1.shtml
 
来源:IT168    
 
 
 
 
 

SOA与IT治理

 
2010年1月8日,基础设施和集成软件厂商TIBCO收购Foresight,但协议的价格并未公布。该公司将加速TIBCO交易自动化软件和医疗保健EDI市场方面的经验。
 
这一整年,我们发布了许多技巧来协助您创建更好的面向服务架构。为此我们认真筛选推荐一下5条技巧给您。希望可以起到查漏补缺的作用。
 
上周是Gartner第22次应用架构、开发&集成年会,Layer 7发布新服务治理工具,企业服务管理(ESM)。照惯例企业关注SOA安全……
 
复杂事件处理(CEP)软件公司Aleri宣布瑞典银行选择了Aleri的清算风险管理(LRM)作为其清算管理工具。这些工具继续蓬勃发展……
 
为了能提供一个正规的环境收集相关方评估改进语言的提议和规范,Sun在1998年成立JCP组织。正式编号的Java规范请求(JSRs)要通过一个……

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录