企业应用优化之道

  最近根据 江苏省软件园评测中心对我们系统测试后提交的测试报告,需要对我们的系统做些安全性修补和优化处理,下面是我根据该评测报告所做的一个概要性的建议分析。由于我们这个系统是一年多前设计的,因此在一些设计方面(尤其是中间层)有些不足之处,事实上,要在短期内对该系统做到完全重构、优化是很难的,因此,以下的一些建议或目标需要根据项目进度和难度逐步进行。

  1. 将中间层捕获的所有异常封装后返回给客户端的调用者,由客户端处理特定异常以显示友好的提示信息或做必要的处理。
  2. 将目前的大 WebService 类按业务逻辑分解成多个业务逻辑对象类,客户端只在需要使用相关业务逻辑时才创建对应的业务逻辑 WebService 类,并在关闭相关业务子模块时释放创建的业务逻辑对象,籍此降低客户端的内存使用量。参考《WebService 效率小贴士》
  3. 中间层尽量使用存储过程来获取 DataSet 及对它进行更新处理,不要使用 CommandBuilder 来生成更新命令。需要同时操作多张表的窗体中,应在一个方法中同时返回所需的所有表,并针对这些表建立所需的关联和约束。
  4. 使用 Microsoft Report Services 来创建报表,以提高报表的用户自定义的灵活性和报表的美观、多表现性,该报表服务支持对多种格式文件的导出功能。
  5. 重新设计系统的整体参数设置类,在系统中统一使用该类进行各种参数选项的配置,籍此提高系统参数化方面的灵活性。
  6. 操作手册建议由专人负责重新撰写或整理。由开发人员撰写用户手册得不偿失,且风格难以统一、可读性不强。
  7. 必须使用特定的业务逻辑对象来对并发性冲突进行特殊处理。因为该系统使用单数据库,所以不需要跨数据库的事务管理,因此使用 ADO.net 的事务处理就可以应付,在此建议必要时使用 REPEATABLE READ 事务隔离级别以保证在并发性时防止其他用户的更改。
  8. 尽量减低客户端对应用服务器的调用次数。在这个原则的前提下根据具体问题进行调整。在执行响应时间长的操作时,增加一些系统“进度条”之类的提示,以增强系统的响应性[参考:《企业应用架构模式》引言5]。
  9. 对获取服务器时间(GetSysTime)的优化:由客户端根据当前时间和与服务器时间差计算得出服务器的时间,以减少对服务器时间的获取次数,有关该算法见附录。
  10. 使用数字签名和对称加密来保障通信安全,有关该方案的详细情况请参考:《安全之道:加密与数字签名》


注:GetSysTime 是一个获取服务器当前日期时间的函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值