一个 IT 服务提供商花了 9 个月时间把一个由 950000 行 VB6 代码组成的 ERP 应用程序移植到.NET。
处理旧版 VB6 应用程序有以下 5 个选择:
- 不作修改——如果应用程序甚少更新或更改的话
- 用新程序取代——如果有类似的商业或开源应用程序或服务的话
- 移植到.NET——使用升级工具把所有 VB6 代码转换成相应的.NET 代码
- 使用.NET 扩展——使用.NET 添加新功能。可以给 VB6 应用程序添加.NET 窗体和控件,详情请查看: Interop Form Toolkit 2.0 (PDF) 帮助文件
- 重构——用.NET 重写所有代码。在旧版 VB6 应用程序的代码不健全或者有需要重写应用程序的时候,即应用程序需要大量修改以满足新的需求或源代码不可用的时候,这是一种可行的方法
若移植是必由之路,以下则有三个备选方案:
- 微软 Visual Basic 升级向导。VS 2008 包含该向导,它可以很好地处理中小型的项目。对于大型企业级应用程序,微软则有两个推荐解决方案
- ArtinSof t 公司的 Visual Basic 升级伴侣
- Code Architects 公司出品的 Visual Basic 移植搭档
微软最近公布了一个把 950000 行 VB6 代码移植为.NET 的成功案例。该过程由澳洲的IT 公司 SiS 主持使用 Code Architect 的 VB 移植搭档耗时 9 个月完成。该项目是一个十年前构建的 ERP 项目,由 33 个应用程序组成。这个应用的最佳解决方案是采取移植的方式而不是定制 ERP 应用或重写整个项目。不建议定制商业的 ERP 项目,因为它需要花费 3 至 5 百万欧元,且需耗时 2 年并没有任何供应商保证实现所有原始功能。
SiS 从中选取 25000 行代码并尝试用多种工具进行移植。VB 移植搭档是最好的工具,代码块的移植、编译和运行总共只需 25 小时。他们还声称 VB 移植搭档不需要过多的手动干预也不会影响用户界面的外观。
整个 ERP 应用程序由 3 个开发人员花了 9 个月的时间来完成,“3650 个工时用于移植代码,3400 个工时用于检查和重构代码,1300 个工时进行测试”。检查代码是必要的环节,因为将来代码有可能会需要进一步完善,而初次参与的开发人员未必能再次参与其中。该项目总共耗费 75000 欧元,远远低于重新订做 ERP。过程按以下方式进行:完成一个模块之后,它就会与余下的 VB 应用程序集成直到整个应用程序移植到.NET 为止。
对 VB6 投入大量资源的公司现在也可以通过移植到.NET 来利用他们的旧资产。微软及其合作伙伴似乎已为他们准备好了所需的工具。
查看英文原文: Case Study: Migrating a VB6 Large Application to .NET
评论