2011-02-03 121 views
0

我的客户有一个旧网站,它是使用MySQL数据库(MyISAM)在传统ASP中编写的。它是由过去10年不同经验的开发人员撰写的。该系统的一些方面是一团糟。旧网站迁移选项

它没有CMS,有一个购物篮,还有一个相当复杂的我的帐户和管理员区域。 网站的一些(更简单)区域已被转换为ASP.NET(使用MySQL .NET连接器)。

从头开始重写系统永远不会被预算有限的客户批准。但是可以逐渐将其变成更容易维护的形式。

的计划是:

  1. 安装一个第三方O/S CMS(如一把umbraco),迁移的内容页面,集成的自定义用户身份验证和链接我的账户和管理领域。
  2. 升级数据库以支持外键。
  3. 升级经典ASP网站和ASP.NET组件,以支持上述变化
  4. 请更改为经典ASP网站到最小,并写入新的东西,在ASP.NET

所以问题是:

  1. 这是一个合理的计划吗?还是以后会咬我们?
  2. 要使用什么数据库系统? MS SQL or MySQL Inno DB?
    • 我个人比较喜欢MS SQL。幸运的是,经典ASP的东西已经写入了一个处理所有通信的数据库管理器类,这将使升级到MS SQL变得相对容易。但这是值得的努力?

回答

2

我觉得你刚才所描述的完美的客户端运行远离。你有一个网站已经用胶带和钓鱼线拼凑起来,你想添加一些领带和一层油漆。你可能会得到它的工作,但它永远不会是正确的,你将永远得不到需要完成的工作量。

古老的谚语的变体在这里适用 - 如果你不能在第一次做正确的事情,你将如何负担得起再做一次。您的客户需要储蓄,以便他们可以预算适当的金额,以便第一次完成此项目。

0

这是有点太低的细节给一个完整的建议(我也怀疑你已经处理这种情况,因为这是一个老问题,但不过......)。

如果您的客户真的无法负担替代解决方案,那么我认为您的升级计划是最好的不良选择。但我有以下预约:

  • 如果内容页面和商店之间的集成度低,步骤1可行。否则,你可能会遇到问题。我注意到你已经考虑过用户认证。还有其他什么?
  • 我相信步骤3-4在实践中可能不可行,完全依赖于我对设计不当的软件的经验。小的变化通常会导致连锁反应,您不会轻易将其隔离开来。您的成功机会取决于能够分而治之 - 我的意思是让旧部件保持完好(除了紧急修理之外)。如果可以,请将解决方案外化。
  • 参考以上内容,更换底层数据库可能代价高昂。根据数据和查询的复杂性,这里可能会有很多隐藏的惊喜。
  • 这是基于您对有限预算的陈述。试图随着时间的推移改进这样的东西有点怀疑它会比全面更换更便宜。这实际上取决于客户的规模......如果它是一个大型网站,那么对一个复杂的软件进行全面重写将需要很长时间。如果这是一个小型项目,也许是一个小团队的几个月,那么我认为一次完成这个项目会更便宜。

无论如何,这是我以前做这些事情时的经验。您的里程可能会有所不同。