关注微信 欢迎致电:400-8310-286

你在这里

升级在线ERP到ASP.NET MVC4

客户需求

  1. 升级现有网站到ASP.NET MVC 4
  2. 提高网站性能和用户体验
  3. 平滑过度,系统升级不能影响现存老系统的正常使用
  4. 针对频繁变更的需求实施敏捷开发
  5. 为系统设计和移植提出有价值的建议

涉及的技术

  • C#
  • .NET 4.0
  • ASP.NET MVC 4
  • NHibernate
  • Web service
  • Stored Procedure
  • Reporting Services

系统分析

数据库分析

现存数据库非常庞大,包含大量的正式运营数据,尺寸在400M左右。 数据库有将近200个表单,100个视图,同时还有很多存储过程和自定义方法。而且数据库表单的命名比较模糊,并没有严格按照业务名称来命名。

框架分析

系统采用三层架构,表现层用MVC,主要通过Domain Model将数据传输到页面。由于系统有很多页面存在Ajax局部刷新,并且这些刷新主要是采用MVC.ajax来处理,几乎没有在页面上编写JS代码,也没有使用jQuery,因此JS相对来说难以维护。

解决方案

数据库重构解决方案

因为数据量大并且数据表单命名不规范,我们将数据库表单全部整理到了业务逻辑层。并且对现有数据表重命名,主要是对现有数据表名加上前缀,例如CRM_,HR_,CMS_. 这样可以让数据库在以后更加容易维护。

数据库升级方案

系统存在非常复杂的业务逻辑,而这些业务逻辑的正确处理,都是基于数据的正确性。因此,我们在开发过程中需要特别关注数据备份、数据丢失这些问题。这样一旦数据库损坏导致系统不能正常运行,可以通过恢复数据库来修复此问题。在开发阶段,我们会定期地将当前运行环境的数据库备份到本地,这样我们可以使用真实的数据来进行测试,同时不会影响系统的正确运行。为了保证平缓地升级,任何数据库结构的更改,都会通过数据库升级脚本的形式来实现。

框架解决方案

为了将程序从ASP.NET MVC2升级到ASP.NET MVC4,采用RAZOR视图,同时提高系统性能。我们重构了系统架构,减少了客户端与服务端之间的数据传输,主要通过局部刷新,在Json中传输数据来提升性能。另外还将JS文件分类管理,减少了ERP系统的页面浏览数量,不但用户体验和性能被大大提高,也减少了系统的维护成本。

开发方案

开发初期,客户的主要关注点在于新特性的开发工作,并没有给予系统维护和升级足够的重视。因此我们把系统进行了划分,新特性的开发基于新的架构,同时把老旧系统的改造和重构也纳入工作列表,并且制定了明确的开发计划。在此基础上,项目的进度和质量都得到了良好的控制。我们频繁地向客户提交版本,并且基于客户的反馈持续完善系统的功能,项目逐步走上良性循环。

  1. 我们使用NUnit在后台为特定的接口进行单元测试。
  2. 我们采用频繁交互,频繁沟通,及时更新计划来适应需求变更,这是敏捷开发的最佳实践,这种做法帮助客户最终得到对他最有价值的网站。

客户收益

  • 平稳地从旧系统升级到了新系统,没有对现行业务造成任何影响。
  • 性能增强,用户体验得以提高。
  • 扩展性更强的结构,更易维护的代码,更低成本的维护。

Screenshots

    

       

  

备案/许可证编号为:渝ICP备14000366号-1