InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

工业化的软件交付

作者 Boris Lublinsky 译者 刘涛 发布于 2008年8月28日

领域
语言 & 开发,
架构 & 设计,
过程 & 实践,
企业架构
主题
架构 ,
平台 ,
方法论 ,
企业架构 ,
SOA
标签
软件工厂 ,
商业模式 ,
文化变更 ,
业务架构 ,
业务/IT整合

根据Ian Thomas的研究:一次又一次,IT技术始终未能交付预期价值。Ian认为我们所有人

都需要承认这些趋势,并从其他成熟行业的工业化进程中汲取教训。

在详细阐述早期工作的基础上,Ian Thomas讨论了软件交付工业化所需要解决的问题及其解决方法。

Ian首先定义了他对平台(平台即服务,简称PaaS)和软件(软件即服务,简称SaaS)工业化交付的看法,

我们处于IT产业某种重大变革的前沿,并且通过SOA, Web2.0和Saas/PaaS等技术的出现,我们仅仅只看到了这些变革的早期苗头。我认为组织将会被迫分解和重组,其技术将变得越来越商品化……“软件即服务”已经开始证明存在可以用较低开销将同一功能分发给大量客户产生规模经济的模型。人们最终将逐步认识到,大家都不特别;他们工作的80%并不需要对功能进行定制或裁剪;在帮助人们重新关注业务价值的过程中,SOA将揭示出以往许多IT投资是愚蠢的。

据Ian所称,业务具有不断模块化的趋势:

在过去100年间,由于与第三方交易成本的不断降低,规模较小的商业组织逐渐受到专注……WEB技术将这类交易成本降到近似为零……这将触发业务集合体的又一轮瓦解,使我们将重点放在“能力件”这一更小的业务粒度上。

这种更小的业务单元,一方面因为能更好地理解其提供的价值,会极大地提升它的机动性;另一方面为了通过降低交易成本来在市场上取得优势,更加注重成本。这类小型业务单元的定义可以通过基于能力件的分解实现(类似报告作者所著的《应用SOA(Applied SOA)》书中对业务模型的定义)。

传统组织采用业务流程、组织结构和IT架构来表示组织的设计……如果他们使用企业架构方法的话,三种都有可能。这些视角的一个最大问题在于,它们很少告诉我们合并的输出到底是什么……要做的事情是什么,实现了哪些基本商业组件?。……这些业务视角天生就是不稳定的,因为它们表达的是“事物如何在某一特定时间之前完成”;最终他们需要定期变更,并且以不同的速率……能力件从另一个抽象层次来看待这些问题。它们能够看到组织的稳定、组件部分,无需操心它们的工作方式。这样,我们就可以系统地关注组织需要的东西……依据产出和承诺……而无需让我们关注这些承诺实现的具体细节……本质上,它们就是意图的表达并将策略作为结构表示。

作为成本驱动的结果,能力件的所有者将从内外两方面寻找IT解决方案,并试图回答以下问题:

  • 是否有人可以从外部为我提供满足我需要的性能级别的能力件。例如,SaaS或者BPU可以依据使用和订阅两种方式提供这种可用性。
  • 找到谁能以最快、最可靠、最经济的方式帮助我实现我的能力件。

这种IT能力技术强调了“能力件实现平台”的重要性。这种平台是一个标准化的程序集(assembly),能够托管能力件,由不同厂家采用不同技术实现。

这种实现平台……需要我们将基础设施、应用、业务和服务管理纪律(discipline)集成为一个综合、可靠和可伸缩的能力件实现平台。它反映出服务交付不是一个技术问题,而是一个整体性的纪律。更重要的是……至少我们认为:这种平台需要高度的工业化;由基础设施、应用、业务和服务等方面的可重复、可靠和有保证的组件构建而来,从而保证为客户产出合格产品。

在文中,Ian描述了这种平台的主要构件,它是企业服务总线(ESB)的延伸,增加了:

服务工厂:高度模板化的建模及开发环境,通过使用一套用DSL表示的架构和开发模式来完成服务设计、实现和部署流程,促使人们自上而下地实现能力件的抽象概念视图。这里的DSL可以是UML profile文件组、小语言或者专门为服务域实现的完整DSL的结合体。

近10年来的多篇已发表论文中已经覆盖了工业化的软件交付。Ian的文章描述了实现这一转变所用到的分解技术和软件平台(如TRIOLE)等实用步骤。

查看英文原文The Industrialization of Software Delivery
刘涛,博士,毕业于西安交通大学,主要研究网络体系,现在主要从事多核环境下高性能算法的研究与开发工作。曾经进行过多个企业级软件的设计与开发工作。关心开源软件的发展动态,乐于使用开源软件。对前沿的系统软件与技术有浓厚兴趣。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。