企业应用优化之道

类别:Java 点击:0 评论:0 推荐:

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

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

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

本文地址:http://com.8s8s.com/it/it14489.htm