• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

理解SOA中的服务生命周期:运行时(5-7)

发布: 2008-2-22 11:07 | 作者: Quinton Wall | 来源: dev2dev | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

 

    服务契约

  将服务契约视为实现服务的一部分时,大多数时候,除契约帮助确定服务使用的事实以外,您实际上并未对其给予充分的考虑。事实确实如此,而人们往往未能意识到服务契约是一份正式的、有约束力的协议,可能会制约未来的灵活性。由定义可知,一份契约是两方或多方采用一种特定行为方式的约束性协议。不论您喜欢与否,通过建立服务控制,生产者和消费者都将受到其特定规则的管理。

    回到我们的需求目录,目录中确定出我们希望开发服务,按一种输入普通订单规范来接受。这种规范模式构成了您所公开的、有约束力的契约的一部分。所有用户都必须为服务提供这种规范,将其作为一个输入参数。必须谨慎,确保模式未允许过高的灵活性,如果灵活性过高,就会导致调用一项服务的方法的变换。特别灵活的契约将造成这样的后果:在尝试调试或维护服务时,服务将变得脆弱,并越来越难以处理。

    在积极的方面,服务契约为确保您的服务能得到迅速和有效利用提供了一种很好的方法。通过设计不涉及业务逻辑和运行时决策的服务实现,服务更可能被用来作为复合服务的部分。通过认识到服务可拥有多个契约,且这些契约决定了如何在运行时使用这些服务,这类收益可得到进一步实现。此概念与面向对象(OO)程序设计中的多态性(polymorphism) 相似。服务设计中的最佳实践允许需求在契约级别独立演进,从而保持服务实现的简单和整洁。策略和契约自身可能拥有多对多关系,并且多个服务可能实现同一契约,弄清楚这一点后,服务拥有多个契约的理念可得到进一步的扩展。此时就可利用服务存储库按需调整的能力,从而管理系统的运行时操作。真正的松耦合需要服务基础架构中存在多对多关系。在我看来,这是一种强大的概念,只是在SOA计划中仍处于其幼年时期。

    遗憾的是,通过利用运行时契约和策略所获得的全部收益包含一些技术限制。特别地,WSDL目前无法对所有组织需要的功能和非功能性需求提供全面支持。此外,WS-Policy规范仍然所欠缺:它只为交换策略信息提供了一个可互操作的容器,但并未提供支持来指定策略行为。我相信,随着组织中SOA采用和技术的继续成熟,这些限制不久之后就会得到改变。

    元数据

  根据我的经验,从长远角度来看,组织SOA计划的成功取决于它如何管理和利用元数据。尽管许多组织将通过上市时间的缩短、服务重用等方面受益于SOA计划,但我相信,将可证实组织中元数据的使用就是短期成功和长期改造间的差异。元数据描述了服务以及那些服务的用户如何与之交互,从而提供了灵活性,以便集中关注通过复合连续满足业务需求,从而创建共享服务。

    对元数据的理解可帮助组织避免将管理和流程硬编码到工具与实现之中,并允许了资源的动态发现。组织必须能够利用SOA基础架构来获取很多信息,而不仅仅是服务细节。必须建立一个元数据存储库来支持所有SOA工件,并允许描述环境中的流程和操作上下文。有效管理元数据的能力将与在整个管理流程中建立恰当、可度量的控制点直接相关。

    结束语

  为了在组织中利用SOA计划的全部益处,采纳以下观念非常关键:运行时中的服务是一项企业资产,可被编目和跟踪。这不仅有助于构建您的共享服务目录和缩短上市时间,而且还可连续地作为SOA支出的合理证据。如果您无法通过SOA平台跟踪和度量收益以及成本节约情况,那么将来的成本收益决策就可能仅限于主观信息。

    通过共享服务的精确运行时管理,组织将改善其SOA计划的效力。与传统软件开发不同,SOA主要关注构建可重用的原子服务上,这些服务通过契约和策略促进灵活性。通过成功的设计和一致的建模方法论,面向服务的运行时方面应更加关注组织中已有的服务基础架构。
    除了可靠的设计实践和运行时实践外,组织还应认识到SOA也带来了新的挑战,必须通过一致的管理模型和包容的思想加以有效管理。通过包容环境的一些确定因素(如变更),您的SOA计划应提供有机的增长——这些增长只与组织保持竞争优势并被视为行业领袖的期望相匹配。此后,所有的变更都与创新相关,而创新则是具有与众不同的想法。若管理得当,SOA可成为此类变更的关键组件。

    最后,作为一种架构范例,SOA的目标在于促进重用,允许企业更快地将新产品推向市场。作为一种方法论,SOA要求对组织如何快速地适应变更有深入理解。SSLC的运行时方面与构建组织的灵活性直接相关。本文尝试了提出以下见解:企业要如何通过仔细分析当前需求和面向服务的设计实践来达成此目标。

    参考资料

    理解SOA中的服务生命周期:设计时——Quinton Wall(中文版,Dev2Dev,2006年)
    The ROI of SOA——Ronald Schmelzer(ZapThink,2006年,文档ID:ZTZN-1187。注册用户可用)
    Grabbling with SOA Change and Version Management——Ronald Schmelzer(ZapThink,2006年,文档ID:ZAPFLASH-2006519。注册用户可用)
    10 Rules for Service Design——John McDowell(FtpOnline,2005年)
    Service Orientated Architecture: Concepts, Technology, and Design——Thomas Erl 2004
    SOA Data Strategy——作者未知(Sys-con)2006年
    The Rise of the Software Architect in a SOA World——Miko Matsumara(DevX,2005年)

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

33/3<123

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网