Delphi 和 TMS 控件在 ERP 软件开发领域的 20 年:访谈

 

我们最近在我们的Youtube 频道(订阅!)发表了对Viasoft Korp技术总监Alexandre Henzen采访。采访(葡萄牙语)可通过此链接获得,也可在下面的这篇文章中获得。

在这次采访中,Alexandre 谈到了Viasoft Korp集团公司,该公司如何从一个人和一个使用 C++Builder 6 构建桌面软件开始,并成为巴西大型工业的 ERP 软件供应商,成为拥有 500多家公司的企业集团的一部分员工

在参与这一旅程的人中,有我、Wagner LandgrafTMS SoftwareEmbarcadero,以及公司使用了近 20 年的开发工具Delphi。这次采访就是关于这样的旅程。

对于那些不懂葡萄牙语,或者只是不喜欢视频的人,我们在下面用英语转录了采访的最佳时刻。

1:46 – 关于 Viasoft Korp

Wagner Landgraf:什么是 Viasoft Korp?

Alexandre Henzen: Viasoft Korp 是Viasoft集团的一个业务部门。Viasoft 是一家为多种不同类型的企业提供 ERP 软件的公司:农业综合企业、超市、建筑材料等。Viasoft Korp为行业提供ERP 软件。Korp 于 2000 年正式开始。(……)当时软件是用C++ Builder开发的。

Viasoft Korp 为行业提供 ERP 软件。

亚历山大·亨岑

3:00 – 从 C++ Builder 迁移到 Delphi

WL:我认为它是我见过的少数用 C++ 构建的 ERP 软件之一。

AH:确实如此。在 2004 年、2005 年左右的某个时候,编译需要6 个小时。然后我们开发了一个C++ 到 Pascal 的转译器——顺便说一下,在你的帮助下,我不确定你是否记得——所以我们可以将完整的源代码迁移到 Delphi。

我们开发了一个 C++ 到 Pascal 的转译器来从 C++ Builder 迁移到 Delphi。

亚历山大·亨岑

6:47 – 帮助公司的关键时刻

WL:是什么帮助了 Korp 的成长?什么是关键时刻?

AH:TMS Scripter(用于在运行时编辑和执行脚本的 TMS 软件产品)对我们来说是一个很大的不同。(...) ERP 必须是可定制的,这是典型的,因此TMS Scripter 允许这种灵活性,(它的东西)在 2001 年、2002 年,你没有看到很多这样的事情。(...) 客户自己可以创建表单,甚至可以在系统内创建完整的模块。那帮助我们成长。

使用TMS Scripter 的运行时软件定制帮助我们成长。

亚历山大·亨岑

9:17 – 使用工作流工具

AH:(另一个重要的决定):在 BPM 还不是很流行的时候,(在 2007 年使用TMS Workflow)也是一个很大的优势。事实上,您可以绘制流程图并说:“乔批准发票,如果发票价值高于 X,则将其发送给杰克,等等。” (...)这使我们的系统更加灵活。

17:20 – TMS Aurelius 的起源

WL:嗯,这些年来我们一直是朋友和技术合作伙伴,我们(在 TMS)帮了你很多,你帮了我们很多。正如您所说,我们为您提供了帮助:Korp 有技术需求,我们开发和改进了解决方案以赋予 ERP 灵活性,我相信您已经减少了很多支持。但是有件事我从来没有在公开场合说过,我还是第一次在这里说:如果你(正在关注我们的人)使用TMS Aurelius(来自 TMS Software 的 Delphi ORM 框架),请感谢与我交谈的这个人: 他不仅是 TMS Aurelius 的第一个客户,更是推动 TMS Aurelius 发展的原动力。我们在 2021 年,还有很多人仍然不知道为什么或如何在他们的软件中使用 ORM。Alexandre 在 2010 年已经有了这样的愿景,即 ORM 将帮助他和他的公司。他联系了我们,我们合作开发了 TMS Aurelius,因为 Delphi 的现有 ORM 库不能完全为他服务。

Alexandre 是开发 TMS Aurelius 的驱动力。

瓦格纳领地

20:43 – 可扩展性和技术

AH:我们寻求的所有这些发展,一直在考虑可扩展性。总是想要扩展、改进代码,ERP 总是变得非常非常复杂。因此,所有这些技术都使系统变得灵活和可扩展。该系统是巨大的。今天,我们不仅仅使用 Delphi。

WL:是的,让我们谈谈 Viasoft Korp 使用的其他技术。该软件作为客户端/服务器 Windows 桌面应用程序启动。当然,今天您拥有许多其他服务、Web 应用程序、移动应用程序、集成、微服务。今天还有哪些其他技术也在帮助 Korp?

AH:以web开发为例,我们选择后端使用C#,前端使用Angular。我们还在一些微服务中使用了 Golang。每种语言都有其目的。

WL:而且你也已经考虑到了公司目前的需求。例如,有人可能会问:“你为什么不使用TMS Web Core(TMS 软件产品,用 Delphi 创建 Web 应用程序)?”。仅仅是因为当时还没有 TMS Web Core!当它首次发布时,Korp 已经将他的所有 Web 应用程序完全用 Angular 开发。

啊:没错。我们还想在 Linux、Docker 上运行,需要考虑很多事情。

WL:是的,所有这些工具也是如此。当我去那里时,我从 Korp 那里学到了很多东西。不仅是关于编程,还有 DevOps。他们总是在与 Kubernetes、Docker、Consul、Traefik 打交道……

AH:关于测试,我们开发了一个名为 Flow 的内部框架,这对我们来说是一个很大的变化。使用这样的工具,我们编写BDD代码并执行所有操作。目前,我们在三个不同的服务器中拥有大约十二个虚拟机,24/7 全天候运行测试。

我们还使用 C#、Angular、Golang。每种编程语言都有其目的。

亚历山大·亨岑

23:44 – 测试和软件质量

WL:您提到了 TMS Software 如何为 ORM(TMS Aurelius)、多层 REST(TMS XData)等做出贡献。但谈到测试:我记得多年前,您(以及我当时认识的每个人)遭受测试并保持软件质量。你让人们做手动测试、UI 测试等。我相信随着时间的推移,这些技术改进在这方面有很大帮助。

AH:是的,ERP 是一个非常复杂的软件。如果没有这些新的开发范式,这是不可能的。今天,我们的服务器使用持续集成,每天 24 小时运行测试。我们使用 Jenkins,它从 Bitbucket(用于源代码版本控制的 Git 存储库)中检索更改,立即运行所有测试场景,全部 100% 自动化

WL:那我相信TMS对你有一点帮助,不是吗?

AH:当然,我们 Delphi 制造的软件的所有架构都是围绕 TMS 业务构建的。

我们用 Delphi 编写的软件的所有架构都是围绕TMS Business构建的。

亚历山大·亨岑

27:40 – 客户规模

WL:您提到 XData 服务正在处理大量请求,请告诉我们更多关于您的客户规模的信息。

AH:有最多样化的尺寸。公司范围从 20 到500 个用户同时访问系统。这些是拥有大量物流处理和发行财政票据(巴西合法发票)的公司,它们是复杂而繁重的系统。通过系统传输的信息量是巨大的。

28:50 – 关于最近的 Delphi 版本

WL:说到德尔福。您使用的是 Berlin (10.1),这种演变如何?

AH:我们使用 Delphi Berlin (10.1) 并尝试更新到新版本。(问题是)我们的应用程序是这样工作的:它不仅仅是一个可执行文件。有主要的可执行文件,系统中的每个模块都是一个运行时包,一个 BPL,(它们是模块)随着用户继续使用软件而动态加载。所以它是一个巨大的包结构,我们总是在几个方面受到它(运行时包)的影响:检测内存泄漏更复杂,由于包依赖关系重新编译包很麻烦,等等。

WL: Windows 更新甚至出现了一个与 Delphi 无关的问题,这对您来说是一个大问题,对吧?

AH:是的,有一个 Windows 更新只是把一切都搞砸了(亚历山大指的是 Marco Cantu 的博客中报告的这个问题)。刚刚启动应用程序花了将近五分钟。我们甚至恢复到以前的 Windows 版本并阻止公司所有机器上的 Windows 更新。(...) 然后,我们迁移到了 Delphi 10.4 Sydney,第一个版本 (10.4.0)。一开始我们的工具还是有问题,LSP(Language Server Protocol,Delphi 新的代码补全系统)本身也有一些问题。现在有了(更新到)10.4.2,我们最近升级了它,我们感受到了不同 -它更加稳定,IDE 编译速度更快,我从开发人员那里收到的反馈非常积极.

自 XE2 以来,我见过的最稳定的版本是悉尼 10.4.2。

亚历山大·亨岑

31:39 – 升级到 Delphi 10.4.2 悉尼

WL:那么,与 10.4 相比,这个 10.4.2 版本要好得多?

AH:是的,稳定得多,甚至不接近。如果我们考虑这些年来我们使用的所有 Delphi 版本,颈椎枕自 Delphi XE2 以来,我见过的最稳定的版本就是 10.4.2。

WL:我记得你遇到的一个大问题是编译时间。运行测试的时间,例如,花了多长时间?

AH:花了58 分钟,差不多一个小时。只需升级到 10.4.2,它就下降到大约 28 分钟。然后我们对包设置进行了一些更改,它下降到12 到 14 分钟,具体取决于机器。运行时包功能现在也更加稳定,这是一个很大的不同

编译时间为 58 分钟,下降到 12 分钟。

亚历山大·亨岑

38:10 – 关闭和联系

WL: Alexandre,非常感谢您接受本次采访。

AH:谢谢,任何想联系我的人都可以联系我,只需访问(我的个人资料)LinkedIn,搜索 Alexandre Henzen(此处链接),我们就可以交流想法,我总是喜欢讨论新技术。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值