Boni Satani 谈迁移遗留系统的 5 个原因

  • 张龙

2013 年 11 月 10 日

话题:语言 & 开发架构文化 & 方法

Boni Satani 是Cygnet Infotech的一位 Java 技术咨询师,这是一家专注于提供 Java Web 应用开发的 IT 解决方案供应商,同时还为全球客户提供遗留系统的迁移与维护服务。近日,Boni Satani 撰文谈到了迁移遗留系统的 5 个原因。

很多组织并不喜欢轻易抛弃他们的遗留系统,因为他们对迁移到新的平台心存顾虑。最新的技术所提供的特性可能会改进组织的运维效率,不过从一个平台迁移到另一个平台并不像表面上看起来的那么简单。

此外,有些公司怀疑他们是否能够维护迁移后的历史数据,还有些公司压根就不喜欢迁移,因为存在一些业务流程是不能被中断的。这些顾虑与担忧显然是合情合理的,而且必须要小心对待才能确保遗留系统迁移的成功。将数据转换到新的管理系统有助于改进代码质量并提升速度。将旧有的软件架构迁移到新的架构之上可以很有效地提升业务的效率。

有几个原因会促使我们迁移旧有的遗留系统。当然了,新的系统在一开始肯定会存在一些麻烦之处,不过通过一个优秀的迁移解决方案架构,我们可以让这个过程尽可能的平滑。

下面我们来看看为什么说迁移旧有的遗留系统是有意义的。

增强的多平台支持与可移植性

十几年前开发的 IT 系统都完全依赖于平台。那时根本就没有太多的选择,但随着 Linux OS 的不断发展以及整个开源运动的火热推进,软件开发的世界已经发生了翻天覆地的变化。因此,用于构建应用的软件厂商的工具现在可以运行在多个平台之上。

此外,可移植性是将遗留系统迁移到新平台上的另一个重要因素。同一公司不同部门所需的处理是不同的。比如说,某个部门可能需要系统提供更多的存储,而另一个部门可能需要更快的处理速度。你所需要的系统要能处理这两种情况,并且能够在各种情况下都交付最优的输出。针对于这种情况,你需要可移植的 IT 系统模块,而大多数遗留系统是不具备这一点的。

更棒的性能

迁移与重新设计旨在增强数据处理、数据保存以及数据检索的速度。此外,它还关注于增强特性与应用之间的交互性。速度上的提升取决于硬件功能的最优使用,而迁移专家可以帮助你通过最好的技术来达成这一点。为了改进系统的性能,开发者需要学习应用所安装的操作系统、硬件模块的软件 UI 以及能够访问硬件组件接口的各项技术。

应用效率更好

十年前,大多数应用都是采用客户端服务器模式来创建的。有一个数据库服务器,应用被安装到用户的电脑上。最终用户通常会通过工作站上的胖客户端应用来访问数据。如果开发者需要添加新的特性,那么他就不得不在所有的工作站上重新部署应用。现在,我们拥有了更加强大的笔记本与智能手机,而大多数遗留系统是无法充分利用这种不断增加的存储与计算能力的。因此,业务会从新的系统模型当中获益。

有利于营销

大多数遗留系统都是个眼中钉。那些真正陈旧的系统是特别针对于桌面来构建的,他们只显示文本和有限的色彩。通过对系统进行翻修,你可以让它看起来更加漂亮和现代化。对于那些使用遗留系统完成客户交互的业务,或是客户能够访问到部分功能的系统来说,让系统好看一些是非常重要的,从市场营销的角度来看尤为如此。

提升处理能力与选择

云、企业移动化以及 BYOD 的出现对于业务的处理方式产生了巨大的影响。大多数遗留系统都需要重建,以便能够实现新的流程来充分利用信息技术的最新发展成果。此外,对于业务来说,新的业务特性需要系统提供新的流程以及更好的处理能力。

Boni Satani 的文章发布不久就有不少读者纷纷留言,其中一位读者的留言是这样的:

这篇文章很棒,指出了遗留系统迁移的好处与必要性,但是我发现最新版本的 Liferay 的核心依然在使用过时的 Struts 1.x,而此前Apache 软件基金会已经宣布 Struts 1.x EOL了,不再对其进行维护。

Liferay Portal 6.1 CE GA3 是在今年 8 月份发布的,该版本修复了很多 Bug,特别是一些安全上的 Bug。另外,还修复了关于 Spring MVC 的一些问题,6.1 CE GA2 版的一个 Bug 会导致基于 Spring MVC 的 Web 应用初始化时出现状况,现在这个问题已经得到了修复。此外,该版本还提供了对 JDK 7 的支持。通常情况下,Liferay 的小版本升级只是对平台增加一些小特性而已,而这次的升级则是意义重大的。

虽说新版的 Liferay 提供了众多的特性并修复了不少 Bug,不过还是有很多人对它依然在使用 Struts 1.x 颇有微词。

有人评论说,难道大家没有发现,这个版本还在使用过时的 Struts 1.2.9,如果能将它替换掉就太好了,否则这将成为一个潜在的风险。新版虽然发布了,但我觉得这就是个倒退。我真的很想知道你们该如何向你们的客户、竞争者和粉丝们解释。我这么说话可能会得罪人,但大家都应该知道这个事实:Apache 软件基金会将不再继续支持 Struts 1.x 了。有很多公司在 Portlet 开发上已经投入了不少财力和物力,他们看到这个消息肯定会非常生气的,因为一旦出现问题解决起来就会非常麻烦。

Liferay 负责人James Falkner也针对用户的质疑给出如下回复:

非常感谢大家的建议,也让我们知道了大家最在意的事情是什么,我们也将不断努力争取能够尽早完成 Struts 版本的升级。

各位 InfoQ 读者,对于迁移遗留应用来说肯定还有其他一些原因,你认为你所在的公司是否应该迁移旧有的遗留系统呢?是什么原因驱动着你们的迁移过程呢?欢迎大家留言参与讨论。

语言 & 开发架构文化 & 方法