iSeries / AS400逐步推出

时间:2020-08-14 14:17:54

标签: ibm-midrange

我们的任务是寻找逐步推出的软件解决方案。 让我们以一个简单的应用程序为例,该应用程序具有当前版本1中的数据和对象库。我们希望能够仅在某些用户使用版本2的情况下进行升级,而仍保留一个集中式数据库。

此刻我有两个想法: Phased Rollouts

在示例1中,用户将从指向“现有对象”的位置转移到“升级对象”,最终将不再需要“现有对象”并将其删除。 在示例2中,用户将从指向现有对象/数据库的位置转移到升级后的对象,最终不再需要现有的,可以将其删除。 总体思路是,软件的推出是分阶段进行的,因此降低了推出的风险。而且,如果需要,用户可以只指向现有的对象/数据库。

外面的人会做这种事情吗?是否有可以自动执行此操作的源管理/交付工具?

1 个答案:

答案 0 :(得分:1)

在IBM i上,取决于您用于数据访问的语言,程序的吃法与数据库表紧密相关。通常,当需要数据库更新时,有几种方法可以进行更新(我假设最常见的是使用RPG进行记录级访问):

  1. 先促进数据库更新,然后促进程序

在这种方法下,必须将程序编译两次以进行升级!

  1. 与程序更新一起促进数据库更新

使用这种方法,您只需编译一次程序即可升级。


第一种方法

如果您有很大的变化,这是一种做事的好方法。在这种方法中,您将一次对所有数据库进行更改,然后重新编译所有与更改后的文件相关的程序。无需对程序进行任何更改即可完成该重新编译。如果仅在文件中添加了新字段,则此操作非常容易。该应用程序应该与以前一样工作,但是数据库已准备就绪,可以开始进行更改以填充和更新新字段。

下一步是对程序进行必要的更新。现在可以在较小的块中删除它,因为已经进行了数据库更改。通过为不同的用户组使用不同的库列表,您也许可以仅针对特定用户激活这些更改,尽管这可能会使数据库有些不一致。如果阶段是出于测试目的,那么最好使用第三个QA环境进行测试。如果您想降低风险,则只需将更改做得很小,然后将所有更改立即发布给所有人。如果您有CMS,则它应将您的更改存档,以便您可以撤消进行得很差的更改。

第二种方法

这最适合您可以快速进行的较小更改。只需一次对数据库和程序进行更改,然后一起进行升级即可。如果您有CMS,这可能非常容易,并且仍然具有回滚功能。如果您仍在手动管理促销,则由于必须更改的对象数量,只能以这种方式进行较小的更改。

注意

在任何一种情况下,CMS都会使您的生活更轻松。我曾经在手动推广的地方以及拥有自动CMS软件的地方工作过。部署更容易,并且在拥有适当CMS的地方风险也较小。 Rocket Software,Arcad,Soft Landing和其他公司为IBM i提供CMS软件。这是降低变更风险的关键。

相关问题