未来已来,Jacobson却在为未来担心什么?
明白了这一点,我们就应该扩展眼界,进入到真正高级的技术极客世界。而此时,我们也就能够明白,作为组件与组件架构、用例、统一建模语言(UML)、Rational统一过程(RUP)之父的Ivar Jacobson博士,在世界软件工程领域占有着怎样的地位。Dr.Ivar Jacobson近日现身国内,参加由东方通主办的国内规模最大的新一代软件基础设施技术嘉年华——T.A.I.大会。但是,作为一个布道者,Dr.Ivar Jacobson带来的却是他对软件业未来的深深的忧虑。
Ivar Jacobson的忧虑
Dr.Ivar Jacobson在T.A.I上演讲时表示:“当前的软件开发正在受到云计算、大数据、物联网等技术的影响,软件开发将不得不面对‘互联网+’的冲击。并且从全球范围来看,工业互联网和互联网+在本质上是一样的。软件开发受到新的冲击,是一个全球性的问题。从人类历史上看,革命性技术变革有三个阶级,第一个阶段来自于机械,它是以机械为驱动核心,在这个阶段中,包括福特、爱立信等企业通过在质量控制、流程改变等方面做到极致,取得了领先地位。第二个阶段是计算机的出现,这一阶段中涌现出了像IBM这样的巨头公司,软件开发方法也真正开始受到重视,实现了瀑布式开发到统一过程开发的转变。接下来,我们进入了第三个阶段,开始直面互联网和云计算等新技术的挑战。苹果、BAT这样的企业也因为采用敏捷和精益开发占得了先机。”
但接下来,Dr.Ivar Jacobson却认为:“而接下来,我们将不得不面对物联网的冲击,这个是真正的互联网+。在‘互联网+’的环境下,由于IT系统中的关键部件都需要扩展,所以开发能力显得尤为重要。我们已经可以看到,各类开发方法各有所长,复杂度也不尽相同,我认为不同的企业有不同的需求,也可能同时采用多种开发方法。但物联网的本质是互通互联,不同的开发方法和软件之间也一定要存在互联,不允许信息孤岛的存在。所以我认为在物联网的环境下开发,我们亟待解决的一件事,就是要创造出一个具有共同通信的基础作为开发的方法。这个基础应该要涵盖所有市面上方法,并具有最精简的内涵。”
此外,Dr.Ivar Jacobson强调:“我们还面临开发方法的问题,因为这些开发方法要么是巨大无比,要么就是方法割裂的,非常分散。而巨大无比的开发方法要求在开发过程当中必须遵循一定的很死板的开发方式才能运作,而这会降低开发效率。另一方面,非常分散的开发方法会使得用户在统一使用和后续运行维护的过程中,付出巨大的成本。”
在T.A.I.大会上,无数技术开发人员像朝圣者一样,怀着一颗虔诚的心,力图找到摆脱目前技术开发困境的方法,但Dr.Ivar Jacobson面对提问,却表示:“我们绝对没有找到软件开发的银弹,我们只能去不停地寻找。”
初现的一丝曙光
从IT与业务的关系来看,我们确实是很难找到银弹。其原因正在于答案正在于Dr.Ivar Jacobson在演讲中:引导这场革命性变革的驱动力有三个:商务的变化,技术的更新,开发方法。从业务与IT的关系来看,早期的IT更多地被供上神坛,对多数用户而言只是一件奢侈品。而时至今日,IT不仅已经走下神坛,而且开始引导用户创新业务模式。这样,IT系统的开发方法,实际上一直处于一个充满变量的环境当中。由此我们也不难想见,在一个一个充满变量的环境当中,寻找一种绝对的解决方法,将是一件多么困难的事情。
但另一方法,我们会一直不断地寻找银弹。而在此次T.A.I大会上,东方通提出的新一代软件基础设施总体架构,也是对对Dr.Ivar Jacobson的忧虑的应答。
从互联网+的角度来看,开发的难度来源于以下几个方面:敏捷的软件定义业务造成开发周期缩短、用户多种交互模式的采用造成系统需要支持多终端渠道应用、大数据增值需求带来了数据流通和分析的压力、物联网的发展要求系统支持机器互联接口,此外,在前端,用户需要更好的用户体验,社交会电子商务和API经济也要求企业的IT系统具备可扩展的企业拓扑架构。
而这个时候,如果我们把新一代软件架构模型抽象总结为APPs和服务模型,事情就变得容易多了。因为各种APP交付适用的用户体验功能、服务端提供松散耦合的自主服务的组装应用、服务端应用边界模糊化,不同应用通过一组服务来实现。让中介控制层与Web规模的服务端构成软件定义应用服务(SDAS),开发难度就大大降低了。而这正是东方通总结的新一代软件基础设施总体架构的总体建设思路。
只不过,在东方通总结的新一代软件基础设施总体架构,这一思路被具象化了。其原因在于,软件离不开物理硬件和云化硬件资源的支持,物联网的世界里,数据安全也被提升到了一个很高的地位。
在东方通总结的新一代软件基础设施总体架构当中,软硬件资源,软件基础设施和应用系统进行管理被统一到一个基础框架,再综合考虑到数据服务架构、资源管理架构和安全管理架构,Dr.Ivar Jacobson提出的一个具有共同通信的基础作为开发的方法,就可以通过平台来实现。此外,通过综合调动资源,不同的开发方法也可以扬长避短地被同时应用进来。
图:东方通提出的新一代软件基础设施像一个字母H,因此被称为H架构
IT与业务一直以来存在着一对矛盾,就是懂业务的人不懂IT,精通IT的人对企业的业务模式又往往缺乏了解。这样,传统中间件的作用,就是屏蔽开发难度,让了解企业业务的开发人员在简化了的平台上工作,而把底层的技术难题交给自己解决。云计算和大数据的介入,加大了构建基础平台的难度,但东方通在这一方面,显然已经迈出了坚实的一步。未来已来,而我们应对未来的变化,显然不能只是担心,还需要更前瞻的方法和创新的软件体系。