敏捷SOA成功之秘诀之IT和SOA治理

日期: 2009-06-09 来源:TechTarget中国 英文

  由于采用了灵活、螺旋状的并行开发方法,在很多敏捷性开发周期的收尾阶段,用传统的瀑布式开发方法测试接近完成的应用程序其实并不能达到敏捷的效果,因为应用程序的组成要素在不断变化。传统的IT治理模式也将无法发挥作用。

  为了解决这一问题,人们采用了SOA(面向服务的架构)设计模式,努力让IT更加积极地对业务所需要的变化做出更加积极的响应。新的过程工具被引进,专门用来协助分类服务资产,并组织SOA治理策略。

  这些为了支持SOA而特意开发的新工具主要围绕SOA治理平台,比如惠普公司的Systinet / s2、SAG Centrasite、SOA Software、TIBCO ActiveMatrix和Oracle Fusion。这些SOA治理工具管理与服务有关的元数据的收集和分类,并组织他们之间的相互依存关系,同时再根据SOA策略文档确定如何组合服务才能满足业务需求。

  在治理工具集中,SOA Registry/Repositories自动化测试和验证的新平台。传统的系统需求和功能测试将仍然执行,但在SOA环境中,自动化策略验证和执行的机会将会更多。

  目前关于SOA治理的思想基本上是围绕设计时WSDL验证、运行性能和安全政策的执行。随着SOA治理的逐渐成熟,它需要支持各种各样的SOA项目,而SOA治理思想也必须大幅度扩大。SOA治理平台最大的价值之一就是必须提供一个证明,确保用人类语言或商业条款所表述的策略能够在系统中连续执行。

  验证SOA策略

  让我们看看下面这个部署示例:比如,你要将一系列的Web服务定义(WSDL文件),加载到UDDI注册器中。这些服务彼此之间的关系,以及这些文件如何捆绑在在一起以创建一个业务流程会被记录下来。如果企业招聘了一位新员工,这就可能会设计到一系列的服务,从确定员工的职位和上司的人力资源计划,到提供IT必要的资源比如电脑和电子邮件,同时还可能涉及到外部合作伙伴的保险和福利登记。这些服务将通过WSDL记录下来并储存在UDDI注册器中。这样,一个从人力资源到薪水制定的业务流程将会被确定下来。

  只要每一个业务流程参与者提供了有案可稽的,可靠并安全的服务,这一切看起来很简单。这些围绕单个服务架构、行为和性能的策略都被记录在治理工具中。举例来说,业务分析师将会在CentraSite ActiveSOA这样的工具中编写策略,描述服务的行为。

  IT服务将会根据新雇员的姓名和身份证号码返回一个新的e-mail地址,域登录和默认密码。安全服务将会向这位新雇员提供合适的系统访问控制权限。安全负责人指出,只有加密和签名数据被发送给服务,该服务才能运行。签名必须由企业安全证书主管验证,证明该请求是来自经过授权的HR人员。最后,IT运营团队将会围绕该服务每秒应该处理多少交易以及服务的最大响应时间制定一个策略。

  如果要进行一个严格的人工验证过程,要进行的步骤远远不止这些。测试的执行应该驻留在SOA治理过程之中。

  测试,验证和政策执行解决方案

  企业为了管理IT环境的设计、架构、集成和治理必须要部署很多过程,鉴于此,找到一种通用的并且可重用的过程验证和执行方法是非常有意义的。SOA验证执法范围大增,可重复使用并且丰富的测试融合到业务的每一个流程以及支持它们的工具中。

  上图所示的验证法提供了通过运行测试案例来验证一流的IT过程工具定义的不同的规则和策略的功能。通过在过程工具的工作流中将自动化的测试运行与的预期的行为和政策捆绑在一起,治理行为得以实现。从治理平台援引测试以确保SOA策略这一做法与测试管理解决方案的治理方法很相似,最大的不同在于需要验证组件整个生命周期的背景和阶段。

  在传统的瀑布式开发测试方法中,有一个具体的时间点,用来标志该系统可以用于测试了。在今天基于服务的应用程序中,我们不能找到这样一个时间点。

  在SOA生命周期中,我们将设计时、运行时和变更时看做是松散耦合系统中正在建设的业务过程或服务的三个阶段。在上面的例子中,一些服务与套装应用软件(人力资源系统)是互动的,一些是本地系统,其余的则来自外部合作伙伴。这三个阶段的开发和发布周期会有所不同,并且不能通过协调融合成一个大型发布。SOA的一个优势是有能力实现系统分拆,并利用其它项目创建的服务,无需自己开发。

  在设计时阶段,运行测试确保WSDL符合WS-I的标准,并遵循RPC或文档调用结构,而且客户的特定标记被用于服务标识。在通过了上述符合性测试的基础上, WSDL就会被放入Repository中,开发人员就可以使用它们进行功能编码。

  最后,我们将给出我们的结论:

  由于开发周期已经从传统的瀑布开发和测试转向了ALM支持的敏捷、螺旋、并行的开发模型,所以在应用的整个生命周期都需要不断进行测试已经是不言自明的。为了促进这些过程,并实现SOA的业务响应和成服务、主机和数据行为的虚拟化使开发和测试团队能够完成在现实环境中的所哟管理和测试工作,并且大大节省了成本。这大大增加了灵活性,将开发和测试团队移动到更多的并行开发周期中,消除了不能用于测试的服务和组件的限制。

  这确实大大节省了成本,尤其是在目前全球经济持续低迷的条件下,它的重要性更加明显了。敏捷性SOA正在引起越来越多的企业的关注和兴趣。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • SOA治理模型核心:人

    治理在IT领域非常关键,但是很多时候企业的做法往往太过单向,企业SOA治理模型往往忽视了所有部分当中最关键的组件:人。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。