QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

  • 2013-11-10
  • 本文字数:2101 字

    阅读完需:约 7 分钟

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

2013-11-10 11:00955
用户头像

发布了 88 篇内容, 共 266.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

向往优雅的代码

Janenesome

编码习惯 读书

我的 Windows Terminal 配置

FeiLong

Windows Terminal

我的读书生涯-小学到大学: 没有成长, 只有不断加深的疑惑

lmymirror

人生 读书 经历 半虚构

你所不知道的淘宝325秘密

Geek_i59t1w

ios 淘宝 325

John 易筋 ARTS打卡Week 01

John(易筋)

ARTS 打卡计划

Linux如何调试内存泄漏

泰伦卢

c c++ C#

ARTS打卡 week 1

猫吃小怪兽

ARTS 打卡计划

Spring Data R2DBC 入门

稻草鸟人

MySQL WebFlux springboot R2DBC

Service Provider Interface介绍

Skysper

spi

【ARTS】Week 1

Amos

ARTS 打卡计划

Python 3.6.1 官方文档练习——初入江湖(三)

小匚

Python python教程

【应用异常监控利器Sentry搭建与学习笔记】

卓丁

Docker Sertry Fasthttp CI/CD Go 语言

鄙视链 & 全栈

伯薇

学习 能力提升 全栈

Lucene的Smart CN实现分词、停用词、扩展词

Page

中文分词 lucene 停用词 扩展词 SmartCN

Java 火焰图

wong

Java flamegraph

手把手透析C语言堆内存申请malloc及扩容realloc

卓丁

c 堆内存管理 heap memory malloc realloc

字节跳动:高级人才的五个基本素质

池建强

人才培养

游戏夜读 | 刀塔选手比较老吗?

game1night

ARTS 第一周

onee

ARTS 打卡计划

转行程序员浅谈Linux下的多线程编程

WB

Linux 程序员 多线程

LeetCode 241. Different Ways to Add Parentheses

liu_liu

LeetCode

Mobileye如何在云上进行深度学习模型训练

Randy

自动驾驶 学习 AI AWS

Kubernetes 资料集合

倪朋飞

学习 Kubernetes 架构模式

leetcode练级-只出现一次的数字 升级版

幸福三寸日光

算法 LeetCode js

“数据资产”究竟是“数据”还是“资产”

马踏飞机747

大数据 数据中台 数据治理 数据资产

ARTS week 1

刘昱

leetcode练级-只出现一次的数字

幸福三寸日光

算法 LeetCode js

修改Tomcat窗口的名称

阡陌r

Java tomcat 踩坑 实施

职位拆解:互联网-运营

小鲸数据

行业资讯 移动互联网 运营 AARRR

LeetCode 1048. Longest String Chain

liu_liu

LeetCode

ARTS 01 - 为什么写作在远程工作中那么重要?

Calvin

ARTS 打卡计划

Boni Satani谈迁移遗留系统的5个原因_语言 & 开发_张龙_InfoQ精选文章