尽其所能的SOA和SOA质量五角关系(二)

日期: 2008-10-12 作者:Jason Bloomberg翻译:杨君 来源:TechTarget中国 英文

除软件开发以外的信息   要把握如何权衡灵活性/质量,我们先要回顾一下软件开发的历史(比如说,十多年前),并完全去除脆弱的软件开发结构。任何SD项目都有三个主要变量:成本,时间和规模。其中的两个变量很容易锁定,而第三个变量则随着这两个变量的变化而变化。例如,如果你决定了成本和项目时间,你也许会交付项目的要求,也许不会之类等等。

  要用这三个变量限定其它相关的变量,就需要一定得质量。换句话说,如果软件开发商想锁定所有的成本,时间以及规模,剩下的就是布置后的质量问题了,我要说的是,SD三角结构实际上是方形的,质量就是其第四个顶点。   SOA项目四者之间的关系就不尽相同了:他们在等式中有添加了灵……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

除软件开发以外的信息

  要把握如何权衡灵活性/质量,我们先要回顾一下软件开发的历史(比如说,十多年前),并完全去除脆弱的软件开发结构。任何SD项目都有三个主要变量:成本,时间和规模。其中的两个变量很容易锁定,而第三个变量则随着这两个变量的变化而变化。例如,如果你决定了成本和项目时间,你也许会交付项目的要求,也许不会之类等等。

  要用这三个变量限定其它相关的变量,就需要一定得质量。换句话说,如果软件开发商想锁定所有的成本,时间以及规模,剩下的就是布置后的质量问题了,我要说的是,SD三角结构实际上是方形的,质量就是其第四个顶点。

  SOA项目四者之间的关系就不尽相同了:他们在等式中有添加了灵活性,这样就变成了五边形,正如下图所示,下边较低的三个点构成了传统的SD三角结构:

  现在我们假定的情况是这个SOA质量五边形向人们展示了五种方式的对称,你可以通过其中的一个变量来锁定其它四个变量,但是如果仔细观察的话,你会发现情况并非如此简单,实际上在这个五边形之上还嵌入了一个三角形结构,这个三角形向我们展示了SOA质量的一些基本原则。这个三角形将灵活性,质量以及时间三个要素联系在一起,这就是我们所说的尽其所能SOA三角,因为其它展示了我们在上文中提到的美国国防部当前所面临的问题:SOA实施越灵活,就需要更多的时间保证质量。如果保证质量如此耗费时间,实施的灵活性也会受到威胁。

  将SD三角形和尽其所能SOA三角形一起放入SOA质量五边形当中,不能使我们得出这个结论,即通过改变第五个顶点而决定其它四个顶点。因为时间限定了我们能够实现的最大灵活性。结果是,我们无法确定的两个顶点是那两个不在尽其所能三角上的顶点,即规模和成本。换句话说,如果我们在依据尽其所能三角的基础上可以确定所需的灵活性,质量,和SOA项目所需的时间,我们就可以通过调整规模确定成本或者,通过成本确定项目规模。

  结论很明显:要想在业务所需的灵活性和质量之间保持平衡,就要在SOA措施中采用迭代方法,每一种迭代都是由规模和成本所决定的。因此,SOA项目和传统的SD项目的不同之处在于,包含时间的迭代(即时间顶点已被确定)是不切实际的,因为时间的封装并没有被当作灵活性对产生质量影响的一个要素,相反,尽其所能SOA结构的一大特点就是时间顶点取决于灵活性/质量之间的平衡。

  ZapThink采取的措施

  也许这里所学到的最重要的课程和以上得出的结论不同:“宇宙大爆炸 ”如果SOA项目以非迭代的形式实施抛弃了全局性,企业范围内的SOA方法,就可能牺牲灵活性/质量之间的平衡。因为相应测试所需的时间就会对灵活性有所消减。只有当灵活性不是要求以后,这个大爆炸项目才会在理论上具有可行性——但是是不是所有的SOA措施都有一定的灵活性要求呢?否则,你怎么会最先考虑SOA呢?

  你也许要说一个表面上一个没有灵活性要求的SOA项目实际上是一个集成项目,因为这里不需要松耦合服务。不幸的是,我们总能看到这样的项目:一些机构认为它们可能因为一个原因或者其它原因实施SOA,而不是考虑首先购买 ESB或者其它集成中间件或者交付成为大型大爆炸集成项目。这种混乱就会导致业务风险承担者因为缺少灵活性而绞尽脑汁,并担心自己可能没有从中获取到期望的业务价值。因此在SOA中采取迭代措施可能是避免这种不良后果的最佳办法。

相关推荐

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

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

  • 揭秘New Relic APM技术细节

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

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

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

  • 总线技术究竟该不该用?

    曾几何时企业服务总线(ESB)被视为企业IT的核心。今天,不仅ESB受到了比被废弃还要糟糕的攻击,若干开发趋势似乎对更简单的消息总线也发起了质疑。