浅谈软件三层架构的重构与优化技术

2016-05-14 07:11沈晗
电子技术与软件工程 2016年6期
关键词:重构优化

沈晗

摘 要在软件研发中,架构设计是十分重要的内容之一,往往涉及到软件的设计模式、发布环境和运行效率等环节。在现在的软件设计中,由于三层架构具有设计简便、便于管理等优点,所以得到了十分广泛的应用。当然,三层软件架构也存在着一定的缺陷,比如在系统前端编程以及其拓展性等方面存在一定的缺陷。由于三层软件架构将表示层、数据访问层以及业务逻辑层三种均放到了服务器上,使得所有的页面表单数据都得经由服务器的控制才可以实现工作的完成,这就大大提高了对配置的要求,尤其是对容器的要求。同时,这也会影响软件的整体运行效率和用户的良好体验。笔者通过对多年的工作经验的总结,一三层架构为基础,并将JavaScript、SOA、Browser cache等技术引入到软件设计中,希望能够对提高软件设计的整体水平的提高有所帮助。

【关键词】三层架构 重构 优化

众所周知,在研发周期中软件设计工作十分重要,主要原因在于其关系到软件的设计模式、发布环境、开发成本和运行效率等一系列极为重要的环节。目前来看,实现结构设计的创新工作主要是将表示层从服务器端转移到了客户端。也就是将AJAX、ISON、JS、JQuery、Cache等技术引入到软件设计中,将软件本身的构造进行一定程度的改造,实现最大程度的优化与整合,进行有效解决软件及服务器压力过大的问题,这样也能够提高软件的使用寿命。因此,本文提出了基于ISON、Cridential和SOA的业务逻辑分解模型。这种模型是指以ISO为数据交互载体,同时利用Cridential保证相关数据的安全性,同时将化整为零的数学手段运用到商业逻辑分解工作中,具体的就是将其分解成的多个基本功能模块并将它们挂载到SOA总线上,以实现满足各个平台数据请求的目标,完成更广范围的服务工作。

1 简述三层架构

三层架构的应用是由于人们对软件工程的认识越来越深入和普通大众对软件使用的体验效果要求越来越高。实际上,由于各种新技术的研发与应用,比如人们对封装、扩展移置,使原有的二层架构不能很好地支撑整个庞大的体系,这也就是三层架构得以研发和应用的主要原因。当三层架构的设计被人们认识并应用后,实现了更高的应用目标,因此可以说在一定程度上革新了软件的整体架构。

所谓的“三层架构”具体指的是将“业务逻辑层”作为中间层插入“数据库服务层”和“客户界面层”中间,从而三个不同的层面构成了一个更加合理的三层体系。这种三层结构更加合理,因为当加入“业务逻辑层”之后,就解决了以往的二层架构难以解决的问题,比如复杂的商业逻辑的分解工作。这样一来就使得服务器更具安全性、可靠性和可移置性,很大程度上减少了用户的管理应用的时间,提高了其体验效果与满意度。

2 对三层架构的优点与缺点的理解

通过上文的分析,我们不难发现,三层架构在整体上更具竞争优势,而其优势则主要体现在以下几个方面:

(1)高内聚。

(2)低祸合。

(3)更加适合团队开发。

因此,在设计过程中,前台工程师的设计重心可以更加倾向于表示层设计,比如数据的绑定、页面的渲染等;而负责业务逻辑的工程师则可以将工作重心放在业务逻辑层就可以了,而没有必要深入、透彻地了解表示层的实现原理。

当然,我们在看到三层架构的这些优势的同时,也不能忽视其缺点。在实践中我们不难发现,三层架构具有如下不足之处:

(1)设计更加复杂,难度大。因为三层架构为多层设计,设计十分复杂,而且也没有将关于支持面向服务的设计纳入考虑范围之内,所以复杂程度可想而知;

(2)对服务器的要求很高。因为三层结构都要在同一个服务器上,总的负荷量很大,这就要求服务器具备极高的可靠性和数据处理能力,而在实际设计中,为了保证服务器的运行质量,往往会做系统集群与负载均衡,这就使得应用三层架构的成本大大增加了;

(3)三层架构缺乏跨平台服务功能,无法实现数据共享。

3 对表示层的重构

由于三层架构具有一定的限制性,也就是对系统环境的要求较高,本文以此为切入段,将AJAX、JQuery、JS、Cache、ISON等技术手段引入到软件设计中,从而提出把表示层的渲染从服务器端转移到客户端的CUL(Client-UI-layer)模型,希望能够实现软件架构以及系统资源的优化和组合。CUL的最大优势和特点在于其可以协助完成表示层的渲染与国际化。如果有客户访问页面,就会在高速缓存服务器的作用下将表示层的资源转移客户端上,这样一来不经提高了下载速度,而且还会提高访问率。

4 对业务逻辑层的重构

业务逻辑层的主要作用是沟通表示层和数据访问层,起到桥梁的作用,其位置在数据层和表示层中间和数据访问层之间。首先业务逻辑层对数据访问层的原始数据实施相关的处理,并且依照相应的标准完成数据的封装工作,然后再将所有的处理数据发送到表示层。因此,通过引入CUL模型,就实现了将表示层从服务器端转移到客户端的目标。另一方面,也要将业务逻辑层改造为面向服务的业务逻辑层,实现分享型的数据服务目标。

5 小结

综上所述,三层架构并不是凭空出现的,而是在二层架构的基础上产生的。三层架构的最大特点就是将业务逻辑层引入了原有的二层结构中,形成了“表示层”、“业务逻辑层”以及“数据访问层”三层,在很大程度上简化了操作的难度,也就是使相关的代码设计工程师减轻了设计负担,不需要研究什么是不业务逻辑但依然可以很好地完成工作,同样的负责业务逻辑的工程师也没必要了解什么是数据库的访问过程,仍然可以很好地完成工作。整体上来看,各个层面之间则可以实现良好的协作效果,实现更高的工作效率。

参考文献

[1]周明辉,徐俊刚.基于J2EE体系的框架分析与设计方法MBP[J].计算机应用与软件,2009(12).

[2]刘艳,张锐,彭岩.Hibernate+Spring+Struts

+Ajax整合框架在企务通系统中的应用[J].计算机应用与软件,2009(10).

[3]肖荣荣,张凤斌,刘亚丽,徐昕业.Web2.0应用情况调查分析及其启示[J].图书馆理论与实践,2009(09).

作者单位

江苏苏源高科技有限公司 江苏省南京市 210008

猜你喜欢
重构优化
超限高层建筑结构设计与优化思考
视频压缩感知采样率自适应的帧间片匹配重构
一道优化题的几何解法
由“形”启“数”优化运算——以2021年解析几何高考题为例
论中止行为及其对中止犯的重构
《刑法》第64条的实然解读与应然重构
对教育会诊的反思与重构