ThoughtWorks技术雷达(2011年1月)
1月份最新发布的《技术雷达》认为以下几个技术趋势越来越明显:对软件持续交付及其实现方法的关注;云端产品的多样性和深度;更高效地运用基本的互联网技术。
ThoughtWorks技术咨询委员会由Thought-Works内部的资深技术专家组成,他们经常聚在一起讨论全球技术战略和对行业有巨大影响的技术趋势。这就促成了《技术雷达》的编制目的——帮助决策者了解目前能够影响市场的新兴技术和趋势。
《技术雷达》总结了这些讨论的结果,为包括从CIO到企业开发人员在内的相关人员提供有价值的信息。本文中仅提供内容摘要,读者可以继续探索自己感兴趣的细节。我们尽量保持雷达的简洁明了,使读者能够快速了解。技术雷达用图解的形式,将所有项目分为技术、工具、语言和平台几大类。有些项目会同时属于多个类别,我们会将它归入最合适的某个类别。另外,根据这些项目目前所处的阶段,用不同的环将其进一步分组。这些阶段分为以下四个方面。
保留阶段:该技术还在慎重的发展过程中。评估阶段:值得探索的技术,以了解其对公司的影响。试用阶段:值得应用的技术。公司有必要了解如何使用该技术,并且在风险可控的项目中试用。应用阶段:行业已经对该技术进行了试验,并找到了合适的使用方法;或者我们感到应用该技术的紧迫性,应该马上应用它,而不是逐渐部署。详细介绍各类别时,我们将展示自上期《技术雷达》发布起,每项技术的动向。新的项目用三角形代表,上期已经提到的项目用圆形代表。在最近两期《技术雷达》中没有新动向的项目将不再列出,除非再有重大事件发生。
技术企业全天候运行,但作出商业决策必需的信息,却还是在批处理模式下使用ETL作业,用过时的方法提供。随着企业转向全球市场,以及运营时间的延长,批处理的及时性更加无法满足要求。在企业做决策的那一刻,这些作业流程所提供的数据已经过时。在事务处理系统中,事件一发生,就应该被捕捉并送入数据仓库,这一点意义重大,可以让企业获得实时商业智能(Real-time business intelligence)。
不断涌现的智能系统(Smart Systems),融合了现实世界和虚拟世界,而配备有GPS、相机和大屏幕的智能手机只是其中一种。智能系统上可能的应用包括像Google Goggles一样的增强现实应用、位置服务和智能网格等。
由于开发和运维之间的脱节越来越受到重视,DevOps也继续受到关注。DevOps能够促进开发和运维之间的协同工作以及共同责任。DevOps为运维流程带来了更敏捷的实践,比如配置、变更管理和生产监控,也为开发带来了一类产品的思想、工具和环境。企业要实现应用程序的持续交付,DevOps是一个关键基础。
当成功完成向持续交付的转移后,数据库变化的部署也应该自动化,以便让依赖于这些变化的应用程序发布不必等待数据库变化的手动部署。数据库部署自动化(Automated database deployment)使得应用程序和数据库变化这个完整周期实现了自动化。
有不少团队把重点放在story水平上的验收测试,但这会为维护测试带来很多困难,而且需要完成各个story而不是完整的功能。更加整体的考虑是将用户story组合成journey,然后对每个journey进行验收测试。一个系统中的journey是对用户和企业都有价值的一系列用户交互。起初,一个journey的验收测试(Acceptance test of journeys)将只包括一个步骤,但当story完成后, journey扩大到包含每个用户的进展。一旦对journey的验收测试通过了,就意味着我们已经实现了真正的价值。
渐进增强(Progressive Enhancement)是一种网页设计策略,利用网络技术层,实现良好的用户体验。渐进增强重视可达性,允许使用任何浏览器访问基本内容。这种策略能使更多的内容被缓存,从而提高系统整体性能和可扩展性。
并发是一个越来越难以避开的难题。硬件的速度没有变快,但多核平台正在成为规范,连手机也开始应用双核或多核。并发抽象和并发模式(Concurrency abstractions and patterns)并不是新鲜事物,但不那么广为人知,它们可以帮助解决这一领域的许多挑战。特别是在Clojure、Erlang、Retlang和事件模式中出现的模型,提供了一个比现有的线程、锁和信号量模型更具可测性和可靠性的方法。
对于我们构建软件时做出的妥协,技术债务是一个强大的、有效的比拟。不幸的是它已成为一个包罗万象的概念,包括了很多不同种类的问题和困难,从而导致了混乱和这个概念的“贬值”。处理这一问题的有效方法之一是对技术债务的分类(Categorization of technical debt),用类似用户story的方式确定债务偿还的价值和优先次序。这有助于团队关注最重要的领域,并保持问题透明和可衡量。
图4平台雷达图
大屏幕移动设备,如Apple的iPad和Amazon的Kindle,为无处不在的计算提供了新模式。其电池寿命长、接口简单、易于连接,有可能改变我们与计算机交互的方式。Apple的新用户界面抛弃了Mac电脑1984年引入并一直使用的文件和文件夹这些熟悉的桌面比拟(Desktop metaphor)。