我的客户有一个古老的网站,用经典ASP编写,带有MySQL数据库(MyISAM)。它是由过去10年来具有不同经验水平的开发人员编写的。该系统的某些方面是一团糟。
它没有CMS,有一个购物篮,还有一个非常复杂的我的帐户和管理区域。
网站的一些(更简单的)区域已经转换为ASP.NET(使用MySQL .NET Connector)。
从头开始重写系统永远不会得到预算有限的客户的批准。但是可以逐渐将其变成一种更容易维护的形式。
计划是:
- 安装第三方o / s CMS(如Umbraco),迁移内容页面,集成自定义用户身份验证并链接“我的帐户”和“管理”区域。
- 升级数据库以便支持外键。
- 升级经典ASP网站和ASP.NET组件以支持上述更改
- 将经典ASP网站的更改保持在最低限度并在ASP.NET中编写新内容
醇>
所以问题是:
- 这是一个合理的计划吗?或者它会在以后咬我们?
- 使用什么数据库系统?
MS SQL or MySQL Inno DB?
- 我个人更喜欢MS SQL。幸运的是,Classic ASP的东西是用一个处理所有通信的db管理器类编写的,这样可以相对容易地升级到MS SQL。但值得努力吗?
醇>
2 个答案:
答案 0 :(得分:2)
我认为你刚才描述了逃避的完美客户。你有一个用胶带和捞丝拼凑在一起的网站,你想添加一些领带和一层油漆。你可能会让它发挥作用,但永远不会是正确的,你将永远无法获得需要完成的工作量。
旧格子的变体适用于此 - 如果您第一次无法正确行事,您将如何再次承担这一责任。您的客户需要保存,以便他们可以预算适当的金额,以便在第一时间完成此项目。
答案 1 :(得分:0)
这个细节有点太低而无法给出完整的推荐(我也怀疑你已经处理过这种情况,因为这是一个老问题,但不过......)。
如果您的客户真的无法负担替代解决方案,那么我认为您的升级计划是最糟糕的选择。但我有以下保留意见:
- 如果内容页面与商店之间的集成程度较低,则步骤1可能是可行的。否则你可能会遇到问题。我注意到你已经考虑过用户身份验证。还有别的吗?
- 我认为步骤3-4在实践中可能不可行,完全取决于我使用设计糟糕的软件的经验。小的变化通常会引起连锁反应,你不会轻易地将它们隔离开来。成功的机会在于能够分而治之 - 我的意思是保留原有的部分(除了紧急修复)。如果可以的话,外化解决方案。
- 参考上文,替换底层数据库可能代价高昂。根据数据和查询的复杂性,这里可能会有很多隐藏的意外。
- 这是基于您关于预算有限的声明。试图随着时间的推移改进这样的东西有点令人怀疑它会比完全替换更便宜。这实际上取决于客户端的大小...如果它是一个大型网站,那么完整重写一个复杂的软件将花费太长时间。如果这是一个小项目,对于一个小团队可能只有几个月,那么我认为一次性完成所有这些都会更便宜。
无论如何,这是我以前做这些事情时的经验。您的里程当然可能会有所不同。