SOA开发注重整个环境复杂性

日期: 2010-05-03 来源:TechTarget中国 英文

  面向服务的体系结构(SOA)就像一场风暴,它带来了巨大的利益,它可以为你提供更强的灵敏度和商业联盟,如果你做得对了的话。然而,一失足成千古恨。SOA架构下的应用是多层次的,其生命周期也是具有多阶段性,并且有着高度的可重用性,随着企业的不断发展,来自其自身内部或者是外部的变化也会给其带来多方面的影响。

  SOA并不是那种付了钱就会运到你的公司来并在一夜间就产生天翻地覆变化的东西。尽管SOA广泛实现,并且可以为企业带来改革的力量,但是这种改变也许是一个冗长的过程。按照这种方式,SOA的很多有价值的好处才会被慢慢发现,但是只有当实现了合适的监管过程来支持文化变化的结果的时候才行。提供一个安全可靠并完全适用的SOA并非易事,由于所提到的这些复杂因素,需要通过不同的方式确保SOA质量问题。在一个复杂的系统环境下,质量测试必须深入到各个环节,才能转化为高质量的交付应用。

  架构与接口要遵循一定的标准

  举例来说,架构与接口必须遵循一定的政策和标准来在组织内部保持一致性。为了达到这样的连贯性,企业必须在设计和开发阶段就开始推动标准化和特定政策的实行。一旦可定义的政策开始实行,SOA资产中的连贯性和基本信任就算达成了。

  为一项服务资产推行信任的过程必须在该资产建立初期就开始实行。早期和持续的对于该资产质量的可视性能促进信任的建立和随后的重新利用。为了在促进早期信任,企业必须定义和实施在服务生命周期中支配其不同方面的政策。比如,支配着服务开发的政策:诸如计划合法性(W3C),语意的标准一致性,WS-I一致性和采用WS-*标准的定义。此类政策对于达成连贯性和保证再利用和互用性是至关重要的。

  政策也可以囊括最佳实践――普遍被接受的最佳实践以及与企业目标的底层服务相关的最佳实践。这些一般领政策包括:安全、可维护性、可靠性和性能,以及根据特定要求制定的所有其他政策。

  一旦政策被定义,那么对其的应用、验证、测试和测量将是至关重要的。我们必须使同步数据链路控制(SDLC)基础架构和流程自动化,以使得这些政策和标准能够通过开发、测试和质量团队一致的在SOA产物中应用。

  持续回归测试:

  为了正确有力的实施服务资产政策、合约、情景描述,企业必须通过一系列自动的、持续的回归测试来验证。

  作为每一个特定服务资产的生命周期的一部分,持续回归测试(在任何发布周期内)对于提供持续和可预测的质量都是必要的,这个测试必须是由业务需求所决定的,并包括功能需求、技术需求和性能预期。如果这些早期测试是由需求驱动的,那么质量部门将通过重新利用测试资产取得显著的优势。

  为了保障安全、可靠、一致的服务资产,通过资产注册表来进行集成是必要的。持续回归测试应该每夜自动建立并运行,而适当的测试数据可以通过中央资产注册表获得。那么测试将在不打断现存开发过程的情况下持续运行。

  这种自动测试保障了需求的自动验证和开发阶段与质量保证期间的测试资产重新利用。自动回归测试同时也能为应用软件政策实施提供文件证明,从而对更可预测的成果提供了保障。

  SOA环境的复杂性

  在一个SOA环境中开发并保证功能是非常复杂的。系统的分布式性质和数据几乎使建立阶段性测试环境成为不可能。

  SOA的设计部分通常都需要使用未完成的或不可获得的服务,通过仿效服务来提供压缩服务是比较理想化的方式。一个开发员或质量工程师应该仿效服务并在早期就演练业务情景以在早期阶段就确认问题所在,并判断服务的正确性、更好的预测性能。

  流程敏捷性与速度

  先进的平台可以保证一个提供速度与敏捷性的SOA基础设施以满足更加复杂的业务需求变化。但不幸的是,质量检测流程仍旧还停留在传统的连续程度。有效协作与积木式构建方式的质量解决方法会是针对SOA所带来的一系列复杂问题最为合适的方法。如果一个企业需要快速递增的可交付产品从而达到需要的敏捷性,那么仅仅通过这样传统的质量检测流程是绝对做不到的。

  面对SOA环境下的新交付状况,在企业中必须完全改变这样的质量监测手法才能更好的受益于敏捷性变化所带来的好处。这样的话一个可重复,并以变化为基础的质量流程将会最大程度的体现SOA真正的敏捷性优势。

  此外,设置连续性的回归测试套件将会给刚刚所提到的敏捷性增加带来显著的效果。

  以变化为基础的测试可以让团队更好的共同合作,改变版本控制,了解影响范围等,这样的测试以节约时间为重,并提供更快更准确的完善解决方案。

  整合

  如何让业务合作伙伴更有效的整合到一起仍旧是一个停留在“整合”层面的难题。无论是对于任何两个以上的业务流程而言都必须得做出取舍和让步。这意味着即便是基于标准的生产和消费服务都会有难以避免的麻烦所在。为了消除在整合过程中所出现的问题,业务合作伙伴需要获得一份关于服务的“健康报告”,一个类似于包含备份与数据测试的报告从而可以对服务的交互起到监测调控作用。这可以有效的防止错误在整个周期的最开始时期就被体现出来,而这也可以在服务资产回归测试中暴露并得到解决。

  发展期间需要做的准备

  在业务流程方面,架构师将必须做出选择,从而确保某项特定的服务资产会是所有资产中最优先的。当然,对于这项服务的选择决非毫无缘由。架构师在做出决定之前必须能够验证他们所选择的服务资产所能表现出来的性能。这使得开发人员以及质量测试人员可以通过其连续不断的回归测试手段所能实现的更新结果去对自己的业务情况和业务流程有一个清楚准确的认识。

  结论

  考虑到整个SOA环境的复杂性,对于企业内部而言鲜明的角色和责任将会带来一个非常显著的影响。企业应该建立起SOA计划办公室来领导这场尝试。这个办公室负责开发一个采纳计划和业务案例,还会作为业务和IT之间的基本沟通渠道。要实施一次成功的SOA实现需要持续的沟通和管理。传统的应用测试方法将不能再确保任何有关于SOA的应用质量。在当前的SOA时代里,逻辑问题在信息层与跨系统之间表现的更为抽象,正是出于这样的原因才使得测试变得更加复杂,而质量保证方面不由得有所下降。虽然发展同质量评估之间的问题会一如既往的维持下去,各个环节的职能尤其是质量检测流程还是需要尽可能早的开始提升,从而在整个周期的最开始便能确保安全,可靠已经完全兼容的面向服务架构。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 案例管理如何强化SOA环境

    保持SOA环境平滑运行牵涉到大量移动部件的管理:API、微服务、移动性以及日益火爆的物联网。在这基础上,还会涉及安全、隐私、监管合规性等问题。

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

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

  • 揭秘New Relic APM技术细节

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

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

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