基于JEE和RFID的电子类资产管理系统的设计与实现

2019-06-03 06:53贾鸣华庄建军
实验室研究与探索 2019年3期
关键词:逻辑管理系统资产

贾鸣华, 庄建军, 胡 凯

(南京大学a.电子科学与工程学院;b.国有资产管理处,南京210023)

0 引言

随着高校信息化建设的推进,提高学校资产的使用率,实现科学、实时、稳健的动态管理,保护固定资产的完整性,成为当前高校资产管理的核心。其中电子类学科所用器材数量庞大,种类繁多,涉及众多的实验板卡和芯片耗材等,对管理系统的安全性、灵活性和稳定性提出了更高的需求。为此很多学者进行了卓有成效的研究[1-4],实现的系统提供了资产的存储、查询、统计和分析等基本功能,并有一定的商业化推广。但是综合来看,高校资产管理系统仍存在一些不足。①资源共享难以真正解决,现有的商业系统通用性太强,无法解决个性化需求;②电子类器材繁杂,资产管理业务繁杂,系统对资产管理的重要结点,比如盘点、报表等支持不足;③ 当前移动互联网的环境,对移动端资产管理系统提出了新需求。因此需要引入新的技术手段,进一步加强学校资产尤其是电子类资产管理的“网络化、规范化、信息化”。依托学校现有的资源,采用流行的 JEE平台、优化的 MVC架构、Spring和Struts2开源框架以及MySQL数据库技术,结合RFID技术构建成熟的线下盘点体系,开发了一套轻量级的基于B/S模式的电子类专用资产管理系统。

1 关键技术

(1)JEE平台。JEE是应用Java开发服务端应用的一种工业标准,其目标是消除C/S架构的弊端,迎合B/S架构的趋势,为应用Java开发企业级应用提供一个体系结构中立的、安全的、多用户的和基于规范的平台,可用来实现企业级的面向服务体系结构[5]。其基本思想是:容器+组件。JEE从底层操作系统至上层用户接口完全开源,这也使得JEE平台拥有越来越强大的开发者队伍。随着应用与用户的日渐增多,JEE必定会更加成熟与稳定。

(2)优化的MVC架构。MVC是一种软件体系结构,把系统分为3个基本组分,即模型(Model)、视图(View)和控件(Controller)。MVC分层达到了业务和显示剥离,使多个视图能共享一个模型[6],无论何时通过控件或者任何其余方式改变了模型数据,模型都会将数据的变化通知相应的全部视图,导致用户界面更新。这实际上是一种模型变化-传播机制[7]。

目前在很多B/S模式的Web应用中,浏览器直接经过JSP页面与用户交互,响应用户请求。尽管很直观,然而管理系统操作的数据量往往是很庞大的,考虑到以后的扩展,JSP页面会变得冗杂不堪,Web服务器负荷过大。为此,在顶层和中间层采取M(JavaBean)V(JSP)C(Servlet)架构。这样就很好地达成了表示层、逻辑层与数据层分离,提高了内聚性,降低了组件间耦合度,使得应用可维护,高可扩展。

(3)Spring开源框架。Spring框架是一个轻量级的企业级开发一站式解决方案。Spring框架主要提供了控制反转容器、面向切面编程、数据访问、Web开发、消息、测试等支持,为企业级开发提供了丰富的功能。就中心来说,Spring是一个控制反转容器,提供一种非侵入式的编程方式,其目标是使JEE易用,比如,通过切面和模板减少样板式代码[8];内建针对分布式事务处理和单个JDBC数据源的一般化策略;基于切面和惯例进行声明式编程。

(4)MySQL数据库。MySQL已经成为最流行的开源数据库。其由于卓越的运行速度、易用性、标准语言支持、高并发、安全性、可用性和低成本,被许多中小规模企业选作数据存储管理的解决方案。它支持许多优秀数据库所拥有的特性,如存储过程、触发器和视图等[9]。如今的MySQL丝毫不亚于其他大型数据库。

(5)RFID。RFID是一种非接触的自动辨识技术,可同时辨认多个高速移动目标,操作方便快捷。使用RFID,利用射频信号对目标对象进行高效自动辨识[10]并获取相关数据,辨识无须人工干预。随着技术可靠性提高,RFID将给新零售、物流供应链管理、公共安全信息管理等领域带来革命性变化[11]。基本的RFID系统包括电子标签、读写器和应用系统三部分[12]。

2 系统功能分析与设计

电子类资产管理系统主要分为Web端管理和手持终端清点程序2个部分。Web端集成了面向管理员的系统管理和资产管理模块以及面向普通用户查询报表模块;手持终端主要用于实时盘点、清查和统计。

系统功能结构图如图1所示。

图1 系统功能结构图

系统功能设计:

(1)系统管理。主要完成系统的用户信息管理和相应的权限管理,包括管理员和普通师生用户。具体操作有登录、增删管理员、增删普通用户、基于角色的权限控制。登录时,采用南京大学现有的身份认证系统,直接提取学校后台数据库中的个人身份信息,匹配提交的用户名和密码,并依据身份信息进行相应的权限设置。管理员对系统中所有数据拥有增、删、改、查权限。普通用户只拥有查询资产信息和借还权限。

(2)资产管理。主要用于资产使用信息的管理,如入库、借还、转移、维修、报废等,以及基础资产数据的管理,包括但不限于资产标识、资产类别、资产名称、资产型号、资产数目、资产单位、资产利用情况、生产厂商、购置日期、采购人、登记人等。普通用户可以在此模块预约借出和归还资产;管理员能够在此模块修改资产信息。

(3)查询报表。普通用户和管理员均可使用该模块进行现有资产、增减、借还、资产维修等查询。

(4)手持终端。有账户、资产管理和系统配置3个模块,其中账户和资产管理与Web端相同,系统设置模块主要设置数据库地址、速率、频段等终端参数。

3 系统架构设计与实现

系统架构设计参照JEE 3层设计模型,自顶向下分为表示层(Web)、业务逻辑层(Service)、数据访问层(DAO)。使得代码高可重用,高可移植,降低了系统的耦合度,提高了内聚性,实现了资产的入库、清点及跟踪的简洁操作。

系统逻辑架构图如图所示。

图2 系统逻辑架构图

系统架构设计:

(1)表示层。表示层为用户提供交互式操作界面[13]。接受用户的请求,通过JSP页面显示相关数据对用户界面进行同步更新,然而表示层不能进行实际的业务处理,它只调用中间层的方法,再由中间层决定是否调用底层。表示层的主要作用有两个,①提供友好的UI,② 调度用户与系统的交互。

(2)业务逻辑层。业务逻辑层主要任务是响应来自表示层的请求,进行复杂的逻辑运算,访问数据访问层,生成结果并返回给上层。以 DAO(Data Access Object)为基础,由Service实现类构成,利用Spring框架对组件进行统一配置和管理,可高效地处理大量并发访问,及时快速响应,同时简化了业务实体组件的详细配置,从而实现松散耦合。

(3)数据访问层。数据访问层提供的职责主要有:CRUD服务、查询服务、事务管理、并发处理和数据上下文。其运用SpringJDBC框架,每一个Service业务模块都对应几个具体DAO类。DAO主要用来封装数据库操作逻辑,即实现具体的 CRUD操作。通过SpringJDBC框架,能完成与具体数据库无关的操作和大数据粒度封装,从而实现数据源中立的数据访问。

3.1 表示层设计与实现

采取Struts2实现MVC,操纵JSP构建index.js页面,引入ExtJS的样式文件,基础库文件和核心库文件。用户的请求通过ExtJS发送到控件,然后利用服务器返回的数据更新界面。系统进行授权操作时,动态加载PrivTree.js,并向服务器提交用户ID,服务器用JSON格式返回信息,并用树的形式显示[14]。

3.2 业务逻辑层设计与实现

业务逻辑层是中间件,负责处理DAO类,并为Action提供具体业务,其数据来源于数据访问层的POJO和表示层的FormBean。业务逻辑由Service实现类构成,由Spring配置与注入。

3.3 数据访问层设计与实现

数据访问层的实现主要是SpringJDBC框架的应用。首先编写POJO,依据POJO编写配置文件,生成class文件,最后编写DAO类,与数据库进行CRUD操作,并对其进行封装。

(1)SpringJDBC数据源配置。配置文件主要对数据库连接的各种参数进行配置,以消除样板式代码,一个可能的XML配置文件如下(省略顶部模式声明):

(2)创建DAO类。编写与数据库对应的POJO类和相应的接口,利用 IntelliJ IDEA持久化为AssetsTypeDaoImpl. java, AssetsStatusDaoImpl. java,AssetsEntryDaoImpl.java,AssetsDaoImpl.java 等对象,然后在配置文件中通过Spring容器进行依赖注入。以AssetsTypeDaoImpl.java 为例:

然后,可以使用Spring的JdbcTemplate模板来实现AssetsTypeDaoImpl类的操纵数据的方法,例如:

3.4 手持终端设计与实现

手持终端主要用于线下实时盘点,可以采用摩托罗拉公司的DS4208或MC3190作为本系统的移动数据终端。该设备几乎可扫描所有介质上的条形码,支持全方位扫描,易于迁移至新主机,很容易与无线局域网同步,满足高校资产管理的需求。

资产盘点时,使用终端自带数据库进行网络比对。接入校园网后,将服务器数据库同步至本地[15],然后将扫描数据直接与本地对比,发现不一致则进行报警。资产入库,由资产管理中心发卡,为电子标签写入含有资产基础信息的数据,并设置锁定密码避免窜改,同时卡片连接后台,完成入库和审核操作[16]。资产报废,用终端扫描标签标记报废,或者依据资产预设使用年限自动标记报废,报废信息实时同步至远程服务器。

4 结语

高校电子类资产数量大,品种多,需要搭建网络化管理系统,以实现个性化、信息化、科学化管理[17]。文中设计了一种基于JEE和RFID的B/S模式资产管理系统,主要围绕着Spring和Struts2两大框架开发,采用优化的MVC架构,增强了高内聚松耦合特性,解决了代码冗长和系统在高并发环境下可能出现的问题,并通过手持终端解决了传统线下盘点效率低下等问题,经部署和内部测试,系统运行稳定可靠,极大地提高了资产管理的效率和准确性。但系统仍有很大的改进空间,如射频信号的场地测试、功能和界面的用户自定制、网络安全等,需要在今后的使用中不断完善。

猜你喜欢
逻辑管理系统资产
刑事印证证明准确达成的逻辑反思
基于James的院内邮件管理系统的实现
逻辑
创新的逻辑
基于LED联动显示的违停管理系统
轻资产型企业需自我提升
央企剥离水电资产背后
女人买买买的神逻辑
海盾压载水管理系统
关于资产减值会计问题的探讨