APP下载

基于SSI架构的建筑质量监督系统的设计与实现

2017-03-15谭善伟唐军

物联网技术 2017年2期

谭善伟+唐军

摘 要:JeeSite是集多个优秀开源项目,经高度整合封装而成的高效、高性能、强安全性的开源Java EE快速开发平台。JeeSite以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层,Apache Shiro为权限授权层,Ehcahe对常用数据进行缓存,Activit为工作流引擎。针对关键技术结合核心代码给予讲解,最后实现了该系统的设计工作,能够查看、添加、修改企业,个人,工程项目等信息内容,并监督受理状态等。

关键词:JeeSite;Spring MVC;开源框架;SSI

中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2017)02-0-02

0 引 言

随着中国的快速发展,建筑业已是中国国民经济的主要支柱产业之一,而工程质量是建筑业发展的重要因素,直接关系到人民生命财产的安危。近年来,每个省份都越来越关注和重视建设工程质量的管理。本文所研究的采用基于MVC模式的SSI技术架构开发的建筑质量监督系统对提高相关工作人员的效率及工程质量保障有重要意义。当前系统已经开发完毕,处于试运行阶段,结果证明,该技术架构具有很好的扩展性、稳定性,对工作人员工作效率的提升有很大帮助。

1 JeeSite设计思想

1.1 分层设计

分层设计(数据访问层,业务逻辑层,展示层)层次清楚,低耦合,各层必须通过接口才能接入并进行参数校验(如在展示层不可直接操作数据库),可保证數据操作的安全。

1.2 双重验证

用户表单提交双验证[1]包括服务器端验证及客户端验证,防止用户通过浏览器恶意修改(如不可写文本域、隐藏变量篡改、上传非法文件等)而跳过客户端验证操作数据库。

1.3 安全编码和密码加密

用户表单提交所有数据,在服务器端进行安全编码,防止用户提交非法脚本及SQL注入获取敏感数据等,确保数据安全。登录用户密码进行SHA1散列加密,此加密方法不可逆,以消除密文泄露后的安全隐患。

1.4 访问和数据验证

系统对所有管理端链接都进行用户身份权限验证[2],以防止用户直接通过URL进入未授权页面。对指定数据集权限进行过滤,七种数据权限可供选择(所有权限,公司及子公司,本公司,部门及子部门,本部门,本人数据,跨机构数据)。

2 建筑质量监督系统设计

2.1 建筑质量监督系统功能设计

通过系统开发之前详细的调研需求分析后,质量监督系统分为基础信息(人员信息管理、企业信息管理、项目信息管理)和质量监督(质量问题处理、验收管理、统计报表、质量行为监管、质量问题回复、监督受理、质量监督报告等)。其系统功能图如图1所示。

2.2 建筑质量系统架构的实现

建筑质量系统采用Java EE三层结构,表现层是客户端组件,主要功能在于显示数据;业务层的功能主要为业务和数据处理;数据层主要实现与数据库的交互。客户端通过组件与业务层建立连接,再由中间层与数据库交互[3]。

实践证明,采用Java EE三层结构能有效降低建设和维护成本,并适应大规模和复杂的应用需求以及不断扩展的业务需求。建筑质量系统架构如图2所示。

3 关键技术和实现结果

3.1 Struts在表现层的实现

Struts是基于模型(Model)、视图(View)、控制器(Controller)的MVC模式应用框架,MVC减弱了业务逻辑和数据接口之间的耦合,帮助开发者控制设计变更。在Struts框架中,Model代表应用的业务逻辑;View是应用的表示层,由JSP页面产生;Controller提供应用的处理过程控制,一般是Action Servlet。通过这种模式将应用逻辑、处理过程和显示逻辑分成不同组件,组件之间进行交互和重用,组件化模式在大规模系统开发和管理方面更具优势。

在SSI集成架构中,Struts2主要为表示层。本系统采用JSP视图。

3.2 Spring业务逻辑层的实现

Spring是SSI框架中最重要的组成部分,文中描述的几个关键技术点都基于Spring实现。Spring是为简化企业级应用开发而创建的,它为企业级应用提供了一个轻量级解决方案,其核心是依赖注入( Dependency Injection,DI) 和面向切面编程( Aspect Orient Programming,AOP),通过配置文件来完成业务对象之间的依赖注入[5]。

3.3 iBatis持久层的实现

iBatis是一个基于Java的持久化框架。iBatis 是对象/关系数据库 (Object/Relational Mapping,ORM)的映射工具,ORM将对象模型表示的对象映射到基于SQL的关系模型数据结构中。在持久层中封装了对数据库访问的细节,向业务逻辑公开接口,保证建立在数据持久层之上的应用程序能够方便访问需要的数据源。核心代码如下:

3.4 部分功能实现效果

建筑质量监督系统的主要目的是方便建设单位、施工单位、勘察单位、设计单位、监理单位、质量检测六方单位的办公,提高工作效率。企业用自己的账号登录系统,进入企业中心页面。要对工程进行质量监督,首先企业需要登录系统的[企业中心]--[监督注册登记],录入该标段工程的相关信息。系统界面如图3所示。

4 结 语

本文基于多个优秀的开源项目,设计出经高度整合封装而成的具有高效、高性能、强安全性的开源Java EE快速开发平台JeeSite,并介绍了建筑质量系统的实现。结合实际用户的体验,均反映该系统可大大提高六方单位人员的工作效率。

参考文献

[1]冯润民.基于 SSH 的高校学生管理系统设计与实现[J].计算机工程,2009,35(6):280-282.

[2] William Crawford,Jonathan Kaplan.J2EE Design Pattern[M].OReilly,2003.

[3]罗国涛.新型框架Struts2.0+Spring2.0+IBatis在MIS系统中的应用[J].软件导刊,2009,8(4):35-37.

[4] Begin C,Goodin B.i BATIS in Action i BATIS实战[M].北京:人民邮电出版社,2008.

[5]陈刚.基于SSH的J2EE开发平台研究与应用[D].成都:四川师范大学,2007.

[6]孟强,单玉祥,李阳冬,等.基于短距离无线通信的交通信息检测系统设计与实现[J].物联网技术,2015,5(7):14-15.

[7]田晓娜,赵晴.基于SSI框架的考勤系统的设计与实现[J].物联网技术,2015,5(2):76-77.

[8]唐永瑞,张达敏.基于SSI的应急事务管理系统的设计与实现[J].计算机技术与发展,2014(4):151-154.