Powerbuilder 10.5:升级还是迁移?

问题描述 投票:1回答:2

我们最近开始支持PowerBuilder 10.5应用程序,问题是我们是否应该考虑替代方案或让应用程序在PB 10.5中运行。这是一款经典的PB应用程序;管理软件,基于Oracle DB构建。

现在,该应用程序运行良好,但我们重新考虑的原因有两个:

  1. 该应用程序的唯一开发人员即将退休。他是唯一一个拥有所有PB知识来支持这个应用程序的人。
  2. 我们可能希望改进应用程序提供的服务。因此,与其他工具的集成即将到来。

我对PB不是很熟悉,但我现在已经读过它(只有最新的版本)现在由Appeon支持。最新版本现在是2017 R3,即将推出2019版本。

我想知道专业人士和骗子试图将当前的10.5版本更新到最新版本。更新是否值得?或者坚持10.5版本的专业人士和骗局是什么?

或者我们应该考虑转向更新的技术,因为现在很少有Powerbuilders被发现?如果是这样,你会建议什么技术?

而不仅仅是differences between the older and newer PB版本,我正在寻找升级/迁移/什么都不做的动机。

谢谢。

migration powerbuilder powerbuilder-conversion
2个回答
2
投票

因此,没有明确的答案,但我们可以在非技术要点(根据要求)提出一些想法。

坚持10.5:有很多话要说“如果它没有破产,就不要修理它”。如果它有效并且您对它的功能感到满意,请不要移动它。

但是,既然您已经说过要计划推进它,那么您可能需要考虑10.5不支持当前的操作系统(在一年之内,MS目前支持的Windows系统将只支持Win8和Win10),当10.5出局时,这些只不过是想象力的虚构。您的10.5应用程序现在可以在Win10上运行,但这仅仅是因为MS在应用程序的向后兼容性方面的工作,并且您没有利用PB中那个在未来版本的Windows中出现问题的区域。如果您需要添加功能,那么至少建议它在您的操作系统上运行的版本可能会有所帮助。

数据库的并行参数,例外情况是,如果您的应用程序使用SQL Anywhere,那么以前在几个PB包中免费提供的数据库。现在你必须单独购买。

关于尝试使用旧版本的任何东西向前推进的一件事是支持。如果您遇到困难,供应商基本上不会与您交谈,同行社区也在缩减,因此您与其他开发人员进行对话的机会较少。

升级:升级通常是一项小小的工作。最常见的原因是我看到过这样的例外情况:弃用的功能和编码依赖于版本之间不一致的行为(某些行为被承诺保持一致,但不是全部)。与您的PB专家一起使用跟踪版本运行迁移测试,以便从桌面上获取该问题。

升级时要记住的一件事是许可模式已经改变。 PB曾经有一个永久模型(买一次,永远使用),但它现在是一个订阅模型。这是否对您有所改善取决于您的具体情况。

升级是否“值得”,在我看来它通常归结为

  • OS支持
  • 数据库支持
  • 供应商支持
  • 同伴支持
  • 不推荐使用的功能,以及我是否使用它们
  • 新功能,以及我是否会使用它们(并且您要求我们不要讨论最后两个项目,无论如何需要单独进行权衡,并且在Appeon的网站上有详细记录)

“迁移”:我将“迁移”放在引号中,因为我不相信有一种技术可以让您在代码转换的意义上“迁移”。 (我会让你读一篇关于想要“迁移”掉PB的old tirades。)我在这里谈到的是用新技术重写。从旧的PB系统中提取业务规则并在另一种技术中重新设计/重写都是一项艰巨的任务。

这些天来支持的最大理由是获得并保持PowerBuilder的才能。让PB的人处于困境之下很难,而且判断合法的人才是有挑战性的,即使有人在面试表旁边有PB。 (如果你想继续推进PB,你可以利用你退休的人。)用PB训练某人也不是一项小任务。有人曾经问我,而不是教育工作者,如果我能在一周内拿出一门课程并训练他的团队。我笑了。在由当时的供应商Powersoft的专业教育工作者设计和提供的为期两周的课程之后,我回到家并编写了令人难以置信的令人尴尬的代码。我还需要很多时间练习,并从同行那里获得反馈。如果你能找人或训练某人,如果他们每年只做PB工作几周,那些PB“肌肉”就会萎缩。无论PB的技术论点与其他什么相比,如果你不能让PB人才来维持它,那么PB就是死路一条。

我担心我不是一个建议替代技术的人。过去,就丰富的客户端应用程序而言,选择微软是不会出错的,但从那时起,MS就已经开始对开发社区进行一些疯狂的追逐,结束了已弃用的技术。我不想成为展望未来的人。

祝好运。


0
投票

我建议迁移。你会发现有几家公司提供迁移到java和.net这两个领先的平台。就我而言,UI目前唯一的选择是web。使用其他技术并没有多大意义。如果你的公司使用了很多MS堆栈,比如MS OS,SQL server。 Exchange,Sharepoint等我建议迁移到C#,否则迁移到Java更有意义


0
投票

Terry的答案相当不错,但关于迁移的观点没有针对PowerBuilder 2019中的新功能进行解决。

PowerBuilder 2019的一个主要功能是C#DataStore(与.NET Core兼容)和DataWindow对象迁移实用程序。 C#DataStore具有与PowerScript DataStore相同的API和事务机制。它在Appeon网站上有详细记录:https://www.appeon.com/support/documents/appeon_online_help/powerbuilder/api_reference/PowerBuilder.Data/DataStore/IDataStore/IDataStore.html

如果您认为C#是要走的路,那么PowerBuilder 2019的这一功能使迁移工作成为PowerScript非可视代码的“端口”,而不是重写(由于上述原因)。

以下是PowerScript代码示例:

public function datastore of_retrieve (date ad_start, date ad_end, decimal adec_amt);
Datastore lds
lds = Create Datastore
lds.dataobject = "d_order_customer"
lds.SetTransObject(SQLCA)
lds.Retrieve(ad_start, ad_end, adec_amt)
Return lds
end function

以下是C#中使用C#DataStore的相同示例:

public IDataStore GetOrderCustomerInfo(DateTime startDate, DateTime endDate, decimal amount)
{
IDataStore dataStore = new DataStore("d_order_customer", _context);
dataStore.Retrieve(startDate, endDate, amount);
return dataStore;
}
© www.soinside.com 2019 - 2024. All rights reserved.