李忠凱,賈年
(西華大學(xué)無線電管理技術(shù)研究中心,成都610039)
J2EE的智能小區(qū)物業(yè)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
李忠凱,賈年
(西華大學(xué)無線電管理技術(shù)研究中心,成都610039)
隨著經(jīng)濟(jì)的發(fā)展,小區(qū)更加智能和現(xiàn)代化,建立一套完善的物業(yè)管理系統(tǒng)可以極大提高物業(yè)管理水平和效率。傳統(tǒng)的小區(qū)物業(yè)管理系統(tǒng)多采用C/S模式,維護(hù)成本高,系統(tǒng)升級(jí)不便。該文源于某小區(qū)實(shí)際項(xiàng)目,采用MVC架構(gòu),利用J2EE技術(shù)體系進(jìn)行Web開發(fā),實(shí)現(xiàn)運(yùn)行效率高、集成方便、系統(tǒng)維護(hù)便捷的智能小區(qū)物業(yè)管理系統(tǒng)。
物業(yè)管理系統(tǒng);J2EE;MySQL
物業(yè)管理系統(tǒng)是現(xiàn)代化智能小區(qū)不可缺少的一部分,隨著社會(huì)經(jīng)濟(jì)的告訴發(fā)展,人們?cè)絹碓娇粗匦^(qū)的物業(yè)管理水平。一個(gè)優(yōu)秀的物業(yè)管理系統(tǒng)可以提升小區(qū)的管理水平,物業(yè)人員對(duì)小區(qū)的管理更加便利。利用計(jì)算機(jī)的強(qiáng)大的功能,與先進(jìn)的管理思想相結(jié)合,建立一套完善的物業(yè)管理系統(tǒng),對(duì)建設(shè)現(xiàn)代化智能小區(qū)具有重要的意義。
傳統(tǒng)的小區(qū)物業(yè)管理有如下幾條缺點(diǎn):①目前許多小區(qū)停留在人工管理階段,需要物管人員手工記錄各種繁瑣事宜,對(duì)人力、物力造成了極大的浪費(fèi);②傳統(tǒng)的行業(yè)軟件,功能單一,無法滿足物業(yè)管理人員的需求;③現(xiàn)有的小區(qū)管理系統(tǒng)多采用C/S模式,系統(tǒng)維護(hù)、升級(jí)不便。
本文設(shè)計(jì)實(shí)現(xiàn)了基于J2EE的智能小區(qū)物業(yè)管理系統(tǒng):①結(jié)合現(xiàn)有的物業(yè)管理工作,系統(tǒng)更加貼近實(shí)際需求,具有很高的實(shí)用性;②采用MVC架構(gòu),利用J2EE技術(shù)進(jìn)行Web開發(fā),系統(tǒng)升級(jí)維護(hù)方便。
1.1 SSH框架
SSH框架指的是Struts+Spring+Hiebernate三者,是目前J2EE技術(shù)體系中比較流行的三大開源框架。集成SSH框架的系統(tǒng)從職責(zé)上可以分為四層:表示層、業(yè)務(wù)邏輯層、持久層和實(shí)體層,技術(shù)開發(fā)人員可以在短期內(nèi)搭建結(jié)構(gòu)清晰、復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對(duì)持久層提供支持,Spring作為容器,管理Struts和Hibernate。
Spring是一個(gè)層次化的輕量級(jí)應(yīng)用框架,功能主要包括:對(duì)象工廠、應(yīng)用上下文管理、AOP框架、自動(dòng)代理、事務(wù)管理、持久層抽象、JDBC支持、ORM框架集成、Web MVC框架以及遠(yuǎn)程服務(wù)支持。Spring具有如下優(yōu)點(diǎn):采用低侵入式設(shè)計(jì),代碼污染極低;獨(dú)立于各種應(yīng)用服務(wù)器,基于Spring框架的應(yīng)用,可以真正實(shí)現(xiàn)一次編寫、處處運(yùn)行的理念;Spring的依賴注入機(jī)制降低了業(yè)務(wù)對(duì)象替換的復(fù)雜性,提法哦了組件之間的解耦;Spring的AOP(面向切面)支持允許一些通用任務(wù)如安全、事務(wù)、日志等進(jìn)行集中式管理,從而提供了更好的復(fù)用。
Struts是Apache軟件基金會(huì)贊助的一個(gè)開源項(xiàng)目,它采用MVC模式,能夠幫助Java開發(fā)者更好的利用J2EE技術(shù)進(jìn)行Web開發(fā)。Struts框架可以提供如下服務(wù):作為控制器的Servlet;提供大量的標(biāo)簽庫(kù);提供了用于國(guó)際化的框架,利用不同的配置文件,可以幫助用戶選擇自己合適的語(yǔ)言等。
Hibernate是一個(gè)對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了輕量級(jí)的封裝,大大簡(jiǎn)化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼。它將POJO與數(shù)據(jù)庫(kù)表建立映射關(guān)系,是一個(gè)全自動(dòng)的ORM框架,Hibernate可以自動(dòng)生成SQL語(yǔ)句,自動(dòng)執(zhí)行,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫(kù)。
1.2 數(shù)據(jù)庫(kù)
Redis是一個(gè)開源的使用ANSIC語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù)。和Memcached類似,它支持存儲(chǔ)的value類型相對(duì)更多,包括String(字符串)、List(鏈表)、Set(集合)、Zset(Sorted Set:有序集合)和hash(哈希類型)。Redis廣泛應(yīng)用于緩存,大大提高頁(yè)面訪問速度,減輕了數(shù)據(jù)庫(kù)的負(fù)擔(dān)。Redis能夠替Memcached,讓緩存從只能存儲(chǔ)數(shù)據(jù)變得能夠更新數(shù)據(jù),不再需要每次都重新生成數(shù)據(jù)。
MySQL是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),這樣就增加了速度并提高了靈活性。MySQL數(shù)據(jù)庫(kù)因其體積小、速度快、總體擁有成本低受到中小企業(yè)的熱捧。MySQL是開源數(shù)據(jù)庫(kù),提供的接口支持多種語(yǔ)言連接操作。MySQL支持不同的存儲(chǔ)引擎,可以根據(jù)業(yè)務(wù)的需要選擇不同的引擎。
2.1 功能性設(shè)計(jì)
經(jīng)過可行性分析和調(diào)研,出于物業(yè)管理人員操作方便、功能需求的考慮,設(shè)計(jì)了該套小區(qū)管理系統(tǒng),同時(shí)基于小區(qū)業(yè)主住戶端的Android應(yīng)用程序也已經(jīng)開發(fā)完成,對(duì)業(yè)主和物業(yè)都帶來了極大的便利。
其功能結(jié)構(gòu)圖如圖2所示:
報(bào)修模塊分為未處理報(bào)修、正在處理報(bào)修、已經(jīng)處理報(bào)修,主要針對(duì)業(yè)主手機(jī)客戶端提交的報(bào)修信息安排維修工進(jìn)行維修。
審核模塊主要對(duì)住戶發(fā)布的社區(qū)活動(dòng)、房間綁定信息進(jìn)行審核,若住戶發(fā)布的活動(dòng)審核未通過,會(huì)通過消息推送告知住戶。
投訴模塊是住戶通過客戶端發(fā)送的小區(qū)投訴信息,受理后會(huì)通過推送或者電話告知住戶。
繳費(fèi)模塊可以查看住戶繳納的物業(yè)費(fèi)信息,并可以通過推送或者短信催促住戶繳費(fèi)。
物業(yè)發(fā)布模塊可以查看物業(yè)發(fā)布的停水、停電等公告,并可以通過手機(jī)推送告知住戶。
用戶發(fā)布模塊分類顯示住戶發(fā)布的帖子信息,并且可以對(duì)帖子進(jìn)行管理。
報(bào)表模塊包含報(bào)修投訴報(bào)表、住戶滿意度調(diào)查表、活動(dòng)報(bào)表等等,物業(yè)可以按照多種方式查詢并能打印報(bào)表。
小區(qū)模塊主要是錄入小區(qū)內(nèi)樓盤房間信息,小區(qū)業(yè)主的具體信息。
2.2 系統(tǒng)架構(gòu)設(shè)計(jì)
本文設(shè)計(jì)的智能小區(qū)物業(yè)管理系統(tǒng)架構(gòu)設(shè)計(jì)可以分為表現(xiàn)層、控制層、業(yè)務(wù)服務(wù)層、系統(tǒng)服務(wù)層、數(shù)據(jù)層等幾部分。
表現(xiàn)層主要采用JSP、HTML技術(shù),同時(shí)結(jié)合JS、CSS等技術(shù)設(shè)計(jì)Web界面,將控制層返回的數(shù)據(jù)做界面直觀展示。
控制層利用Struts的Action攔截來自客戶端的請(qǐng)求,以JSON格式返回?cái)?shù)據(jù)。
業(yè)務(wù)服務(wù)層主要分為消息推送服務(wù),文件服務(wù)、用戶中心服務(wù)、住戶物業(yè)信息發(fā)布服務(wù)、報(bào)修投訴服務(wù)、其他業(yè)務(wù)服務(wù),每種類型的服務(wù)即可以通過遠(yuǎn)程通信協(xié)議Hessian發(fā)布服務(wù),也可以作為服務(wù)的調(diào)用者。實(shí)際開發(fā)過程中采用Spring+Hessian整合的方式,只需通過XML簡(jiǎn)單配置便可以完成服務(wù)的發(fā)布和調(diào)用。采用服務(wù)發(fā)布調(diào)用的方式,即可以實(shí)現(xiàn)不同業(yè)務(wù)模塊的解耦,又可以實(shí)現(xiàn)分布式部署。
系統(tǒng)服務(wù)層主要是Redis集群,Redis作為緩存來使用,極大地減輕了數(shù)據(jù)庫(kù)的訪問壓力,又可以很大提高程序的響應(yīng)速度。
數(shù)據(jù)層應(yīng)用的是MySQL和MongoDB數(shù)據(jù)庫(kù),Hibernate作為持久層,訪問數(shù)據(jù)庫(kù)更加方便。
圖3 智能小區(qū)物業(yè)管理系統(tǒng)架構(gòu)圖
3.1 系統(tǒng)主要功能代碼
下面以報(bào)修功能為例,說明整個(gè)系統(tǒng)的流程:
首先Struts攔截報(bào)修HTTP請(qǐng)求,調(diào)用Repair Action類add_Repair方法,Struts.xml配置如下:
RepairService通過Hessian發(fā)布服務(wù),RepairAction類利用Spring依賴注入repairService后,通過Spring整合的Hessian調(diào)用報(bào)修服務(wù),具體配置如下:
考慮到后期可能產(chǎn)生大量的報(bào)修數(shù)據(jù),報(bào)修數(shù)據(jù)查詢時(shí)會(huì)給數(shù)據(jù)庫(kù)帶來很大的負(fù)擔(dān),因此將報(bào)修數(shù)據(jù)存入數(shù)據(jù)庫(kù)的同時(shí)存入Redis緩存,查詢時(shí)直接通過Redis查詢,具體代碼實(shí)現(xiàn)如下:
其中RedisUtils類是基于單例模式實(shí)現(xiàn)的Java連接Redis服務(wù)器的客戶端,RedisCache類封裝了Java對(duì)Redis的增刪改查一系列操作。
Dao層主要通過Spring整合Hibernate,可以通過Eclipse中的插件直接生成數(shù)據(jù)庫(kù)Repair表對(duì)應(yīng)的Repair類和Repair.hbm.xml配置文件。BaseDaoHibenate4類封裝了對(duì)數(shù)據(jù)庫(kù)的增刪改查操作,RepairDao類繼承此類實(shí)現(xiàn)報(bào)修功能的增刪改查。
3.2 系統(tǒng)運(yùn)行效果圖
采用基于J2EE的軟件架構(gòu)和MVC思想實(shí)現(xiàn)整個(gè)系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),系統(tǒng)運(yùn)行效果如圖4、5所示:
圖4 登錄界面圖
圖5 智能小區(qū)管理系統(tǒng)主界面圖
本文設(shè)計(jì)實(shí)現(xiàn)了基于J2EE技術(shù)的智能小區(qū)物業(yè)管理系統(tǒng),同時(shí)業(yè)主住戶端App應(yīng)用程序也已經(jīng)開發(fā)完成。該系統(tǒng)能夠?yàn)槲飿I(yè)管理人員帶來極大的便利,工作效率更高。同時(shí)進(jìn)一步加強(qiáng)了物業(yè)人員與業(yè)主的溝通,可以使物業(yè)更好地服務(wù)業(yè)主。該系統(tǒng)采用MVC模式進(jìn)行開發(fā),實(shí)現(xiàn)了B/S模式的物業(yè)管理系統(tǒng),采用模塊化設(shè)計(jì)與接口編程,系統(tǒng)后期的維護(hù)升級(jí)更加方便、易于擴(kuò)展。
參考文獻(xiàn):
[1]劉萍.基于SSH框架的小區(qū)物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2015(07).
[2]單紅艷.基于Web的小區(qū)物業(yè)管理與服務(wù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D],2014.
[3]胡風(fēng)娟.基于SSH架構(gòu)的物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦開發(fā)與應(yīng)用,2014(11).
[4]張浩.基于J2EE和MVC的智能小區(qū)物業(yè)管理系統(tǒng)應(yīng)用與研究[D].武漢理工大學(xué),2006.
[5]向戈強(qiáng).基于Web的智能小區(qū)物業(yè)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安電子科技大學(xué),2011.
Design and Implementation of Intelligent Residential Property Management System Based on J2EE
LIZhong-kai,JIA Nian
(Center for Radio Administration and Technology,Xihua University,Chengdu 610039)
With the development of economy,the garden ismore intelligent and modern,the establishment of a comprehensive property management system can greatly improve the level of propertymanagement and efficiency.Traditional residential propertymanagement system uses C/S mode,high maintenance costs,system upgrade inconvenience.From a garden of the actual project,uses MVC architecture and J2EE technology system for Web development,to achieve a high efficiency,easy integration,system maintenance and convenient intelligent residential propertymanagement system.
Property Management System;J2EE;MySQL
1007-1423(2017)03-0068-06
10.3969/j.issn.1007-1423.2017.03.018
李忠凱(1990-),男,山東淄博人,在讀碩士研究生,研究方向?yàn)橹悄苄畔⑻幚?/p>
2016-11-15
2016-12-30
國(guó)家科技支撐計(jì)劃(No.2011BAH26B03)、四川省科技支撐計(jì)劃(No.2011FZ0051)
賈年(1973-),男,四川眉山人,副教授,碩士生導(dǎo)師,研究方向?yàn)橹悄苄畔z索、計(jì)算機(jī)網(wǎng)絡(luò)