王令群, 何世钧, 袁小华, 张术台
(上海海洋大学 信息学院, 上海 201306)
智慧社区的建设目的是对内提供社区业务管理,对外提供社区宣传,而住户则于安全居家的同时,既能获取信息资讯,还能处理相关业务。为此,在智慧社区建设中,需对:智慧社区需满足社区管理和住户对社区安防、设备管理和信息通讯等的多种需求;社区系统架构和技术在不断革新和变化;智慧社区多在现有硬件设施和管理系统的基础上进行,涉及到对现有信息资源的整合和集成等,提出有效方案。
在现有智慧社区建设中,文献[1-2]将智慧社区划分为设备控制和信息两个模块,文献[3-5]划分为安防、设备管理和信息通信系统三个组成,文献[6]按功能将智慧社区划分为感知、网络层、平台层、业务层等四个层次;针对社区控制,文献[2,4,7]认为分布式控制存在诸多不足,提出了基于LonWorks的现场总线控制,文献[7]还给出基于LonWorks的社区测控系统控制节点的信号采集和设备管理实现过程;针对硬件集成,文献[3,8]提出的网络集成模式主张成本低但抗干扰能力弱的的多网合一,文献[2,4,7]主张采用成本高但安防性能强的现场总线控制;针对软件集成,文献[5]提出基于多平台集成,其中C/S模式用于构建小区安防和物业管理系统,B/S用于建立信息通信系统,在基于Web Services[2,9-10]的系统集成方面,主要有J2EE[2]和ROR[9]的两种集成方案,前一方案过于简略,后者基于的ROR尚不能承载大型系统设计。在智慧社区的网络接入方式上,主要有xDsL、HFC、宽带无线(LMDS) HomePNA和以太网等接入方案[8,11]。
总体看来,现有解决方案主要考虑的是对第一个问题的解决,对第二和第三个问题考虑较少。考虑到J2EE支持对复杂、可移植性、安全和可再用软件体系的设计开发,是广泛被采用的技术框架,云计算虚拟化技术则支持信息系统对基础资源的动态管理,因此基于J2EE和云计算对智慧社区进行架构设计,对智慧社区建设的上面三个问题,提出了系统的解决方案。
在分析了智慧社区的建设目标的基础上,将给出基于J2EE和云计算的智慧社区云平台总体架构。
智慧社区云平台不仅对内实现社区管理和信息服务,对外作为智慧城市的组成部分,还为智慧城市提供构件服务,因此智慧社区主要需求如图1所示。
图1 智慧社区需求
依据上述需求,智慧社区建设要实现业务和技术两个方面的目标:在业务方面,实现社区业务管理、安防、信息通讯等丰富功能;在技术方面,整合社区现有信息资源,建立稳定运行的、方便扩展和开放的平台。
依据智慧社区的建设目标,基于业务驱动、现有资源整合、适应集成和扩展的原则,对智慧社区的内部组成、外部环境及相互关系,进行了设计,形成如图2所示的社区总体架构。
1.2.1内部组成
为方便开发和管理,对智慧社区由顶向下,分为应用层(SaaS),计算和集成与交换层(PaaS),以及软平台支撑层(IaaS)等三层。其中:
(1) SaaS层提供智慧社区的应用。包括:构建智慧社区的多个门户,实现社区管理、小区服务等;智慧社区的平台用户可订购相应门户及应用。
(2) PaaS层支持构件开放和第三方的应用接入。包括:为SaaS的功能开发提供BI支持类、应用引擎类等多种构件服务;通过ESB实现平台内外部应用整合;通过数据存储的分层,提供数据应用和数据共享。该层包含的基础软件为操作系统、数据库和中间件等。
(3) IaaS向居民、物业,提供智慧社区的访问通道。该层部署于包含了各种基础设施云的云平台上。
1.2.2外部环境
智慧社区与外部环境间的关系为:电信系统为智慧社区提供网络接入和信息通讯;智慧社区与国家基础数据系统之间进行数据交换;以及为智慧城的其他项目提供应用接入。
基于J2EE和省级的云计算中心,给出了智慧社区的软件、数据、业务及基础平台的架构。因篇幅限制,智慧社区的网络与安全架构省略。
智慧社区的软件架构上需解决三个特殊问题:① 需考虑软件平台内部多个子系统的集成,以及与外部的协调;② 平台的业务应用需调用若干基础构件,而基础构件存在交集;③ 需求的变化和技术革新。
对此,基于先进性、灵活性和可扩展性等原则,我们对智慧社区平台的软件的思路是:对复杂的软件体系进行分层设计,以解决第1个问题;对基础构件建进行抽取,形成一个通用的公共服务层,以解决第2个问题;采用面向服务的架构(SOA,Service Oriented Architecture),通过对现有服务的复用和新业务需求扩展的支持,以解决第3个问题,从而形成如图3所示的分层式的、可抽取和替换的智慧社区软件架构设计。
在智慧社区软件的分层设计中,各层向下依赖。其中:
(1) 展现层。展现层是智慧社区平台的用户入口,负责接收输入和呈现输出,进行用户验证,处理功能模块和平台通信间的交互。该层设计中采用MVC三层体系,并融入了Web2.0的Web3.0的理念,特别是AJAX特性,以实现丰富的用户体验;选用技术成熟Struts2框架做为技术实现。
(2) 服务层。服务层中包含了智慧社区业务所需的各种服务,依据业务逻辑,完成服务的组装。该层的设计中我们采用接口与实现分离的思路。具体说:① 基于面向对象的思想,由抽象层中的抽象类及接口(即图中的“服务接口”)规定具体类的特征,而由抽象类的派生类(图中的“服务实现”)定制各自的行为。② 采用IoC框架提供的依赖注入(Dependency Injection),实现服务接口与具体实现的分离;③ 由事务管理(Transaction Manager)模块管理被整合的服务的有效性。
图2 智慧社区的系统架构
图3 智慧社区的软件架构设计
(3) 业务逻辑层。该层是软件架构的核心层,负责业务规则的制定和业务流程的实现。该层在数据访问层与服务层之间实现数据交换,是前者的调用者,被后者调用,如何实现两种依赖关系的解耦,是软件架构设计的关键,对此,我们在业务逻辑层的几个模块中,分别:依赖IoC框架定义业务逻辑接口和其具体实现;采用JBoss Rules(Drools )作为规则引擎;采用JBoss jBPM(Java Business Process Management)实现业务流程。
(4) 数据访问层。数据访问层隐藏对数据库的操作细节,隔离业务逻辑层与数据库,增加代码的重用。该层的各模块中: 数据访问组件建立应用程序与数据库之间的联系,我们采用JDBC对其实现;对象关系映射(ORM)转换数据形式,解决面向对象数据库与关系数据库间的匹配问题,我们采用Hibernate对其实现;而连接池创建和管理连接的缓冲池,以改善用户应用程序的性能,其实现采用dbcp。
(5) 公共组件服务层。公共服务层提供与业务无关的基础公共服务,相应服务以构件方式组装,通过平台服务目录对外提供服务。
(6) IoC框架。控制反转(Inversion of Control,IoC),关注组件的依赖性、配置以及生命周期,在设计中,我们采用IOC:描述创建各类对象的方式;描述各个组件所需的服务。在智慧社区平台软件架构中,我们选用主流的Spring做为IoC框架。
在智慧社区中,我们将所包含的实体和关系划分为5个主题域,包括:参与者、服务、内容、交互和地域。各个主题域之间的关系如图4所示。其中:
(1) 参与者主题域。指系统的所有用户,包括居民、社区管理者、商家等多种实体,其中居民以计生委为准,按民政、公安的需求加以细化,其他以系统需求为准。
(2) 服务主题域。指参与者提供的所有服务,包括志愿者服务、商品、产品等,其中志愿者服务按照社区提供的需求设计和细化,另两者分别依据电信和商家的需求设计和细化。
图4 智慧社区信息的主题域及其关系
(3) 内容主题域。是指系统内的所有信息,包括新闻、通知公告、文档等,其中,通知公告以社区需求为准,其他以可快速检索和可扩展为原则设计。
(4) 交互主题域。是指参与者之间所关联的事件,包括交易、共享、信息推送等。主要设计居民之间、以及居民与商家、社区管理者等间的交互过程。
(5) 地域主题域。是指社区所在的地域空间,可
按行政区域划分、邮政与电信区域划分等需求,进行设计。
智慧社区为用户提供通讯和信息资源共享,并支持社区的业务协同管理和设施管控,为此我们设计了门户、业务和能力等三方面的功能。
2.3.1门户群功能
在智慧社区门户网站群中,主要包括从省到社区及部落的各级社区门户网站。其中:社区门户网站栏目包括社区政务、便民服务等;部落门户网站为由相同兴趣爱好的居民提供在线交流;“智慧社区平台管理门户网站”定制门户模板的栏目和信息,自助建网,并对用户、运行和系统进行管理;“智慧社区平台运营门户网站”则作为平台运营的门户,主要负责用户(商家)注册、用户行为分析等。门户网站群的组成与逻辑关系,如图5所示。
图5 智慧社区门户网站群架构
2.3.2应用功能
应用分为专有应用和公共应用两类。其中:专有应用专门为居委会、居民、商家和第三方等提供管理服务;公共应用面向所有用户提供各种通讯和信息服务。
2.3.3能力
能力是指智慧社区系统中的各类构件的功能实现。相应构件作为可复用的软件模块,可提供给系统内部和第三方调用。本系统能力包含的主要控件类别如图6所示。
图6 智慧社区的能力架构
2.3.4云平台设计
基于云计算的虚拟化技术,设计了智慧社区云平台,该平台内各种物理资源,分别被虚拟化为计算、存储和网络的资源池,以支持对社区物理资源管理上的动态架构和调配。智慧社区的云平台架构如图7所示。
在福建厦门的四个智能社区建设中,采用了我们提出的基于J2EE和云计算的解决方案,其中,建成后的厦门某智慧社区信息平台。因其内容和功能完整,技术先进和系统管理方便,已在我国智能社区建设中被推荐加以推广。
图7 智慧社区云平台架构
建设智慧社区需要考虑复杂的业务需求,需求变化与技术扩展,以及对现有信息资源的整合等问题。现有的智慧社区解决方案尚未对这三个问题系统地解决,为此,基于J2EE和云计算虚拟化技术,我们提出一个较为系统的智慧社区解决方案,对智慧社区的总体结构,以及软件、业务、数据和设施平台的架构等,进行了设计,其中对一些关键技术的选型进行了说明。本解决方案在福建厦门智慧社区的成功应用,说明其可资参考。
[1] 胡听宇. 承载于有线电视网络的智能社区的设计与实现[J].广播电视信息,2009(2):61-63.
HU Ting-yu. Design and Impementation of Intelligent Community based on Cable Television Network[J]. Radio and Television Information, 2009(2):61-63.
[2] 陈 昌,辛明军. 基于J2 EE的智能社区服务平台关键技术研究[J]. 硅谷, 2011(6):95,67.
CHEN Chang, XIN Ming-jun. Research on Key Technology of Intelligent community Service Platform based on J2EE.Silicon Valley, 2011(6):95,67.
[3] 周国建,兰国樑.公寓式住宅小区智能化系统设计[J]. 智能建筑,2006(9):48-51.
ZHOU Guo-jian, LAN Guo-liang. The Design of Intelligent System for Apartment Style Residential[J], Intelligent Building, 2006(9):48-51.
[4] 王旭辉. 基于LonWorks技术的智能社区系统的构建[J].微计算机信息,2002(3) :69-70.
WANG Xu-hui. The Structure of Intelligent Community System based on LonWorks Technology[J]. Micro Computer Information, 2002(3) :69-70.
[5] 朱晋蜀,刘甫迎. 基于多平台的智能社区信息化系统集成的研究[J]. 计算机科学, 2001(7):53-55.
ZHU Jin-shu, LIU Fu-ying. A Research of System Integration on the Basis of Such Flats as Intelligent Community Information System[J], Computer Science, 2001(7):53-55.
[6] 孙国兵. 基于广电网络的智能社区建设的思考[J].有线电视技术,2012(5):96-99,62.
SUN Guo-bing. Construction of Intelligent Community based on CATV Network[J]. Cable TV Technology,2012(5):96-99,62.
[7] 雷冠军.基于LonWorks 总线的智能社区网络监控[J]. 湖北函授大学学报, 2012(2):79-80.
LEI Guan-jun. Network Monitoring of Intelligent Community based on LonWorks Bus[J]. Journal of Hubei Correspondence University, 2012(2):79-80.
[8] 张慧勇,马文彬,李纯喜. 基于以太网的智能社区宽带接入技术[J]. 通信世界, 2002(6):17,21.
ZHANG Hui-yong, MA Wenbin, LI Chunxi. The intelligent community broadband access technology based on Ethernet[J].Communications World, 2002(6):17,21.
[9] 魏长军,郭明磊. 基于ROR的智能社区研究[J]. 吉林师范大学学报(自然科学版), 2009(1): 49-51.
WEI Chang-jun, GUO Ming-lei. Research on ROR-based Intelligence Community[J]. JILIN Normal University Journal(Natural Science Eeition) , 2009(1): 49-51.
[10] 林 强,张天伴,王裕国. 基于Web Services的智能社区信息系统软件集成框架[J]. 计算机工程与设计, 2004(11): 2012-2014.
LIN Qiang, ZHANG Tian-ban,WANG Yuguo. Framework based on web services for intelligent community information system software integration[J].Computer Engineering and Design, 2004(11): 2012-2014.
[11] 唐晓东,郭 宏. 智能社区网络方案的比较[J]. 智能建筑,2001(7):55-56,62.
TANG Xiao-dong, GUO Hong. Comparison of Intelligent Community Network scheme[J]. Intelligent Building, 2001(7):55-56,62.
[12] NIST. The NIST Definition of Cloud Computing[EB/OL]. http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf , 2012-3-11 /2013-01-21.
[13] 刘石忠.云计算在智能化城市体系中的应用[J].无线互联科技,2012(11):32-46.
LIU Shi-zhong. Application of Cloud Computing in Intelligent City System[J].Wireless Internet Technology, 2012(11):32-46.
[14] 龚 宇,李 帅,李 勇,等.基于云计算的网络创新实验平台[J].计算机工程,2012,38(24):5-13.
GONG Yu, LI Shuai, LI Yong. Network Innovation Experiment Platform Based on Cloud Computing[J].Computing Engineering, 2012,38(24):5-13.
[15] 黄 锋,吴华瑞.基于J2EE应用的SQL注入分析与防范[J].计算机工程与设计,2012,33(10):3767-3771.
HUANG Feng, WU Hua-rui. Analysis and precaution on SQL injection of J2EE application[J].Computer Engineering and Design,2012,33(10):3767-3771.
[16] 李 论.昆明中央豪宅智能社区-南亚之门智能家居样板房设计方案[J]. 数字社区&智能家居,2012(9):85-90.
LI Lun. The Central Residential Intelligent Community in KUNMING-Intelligent Home Furnishing Model Room Design in Nan YA ZHI MEN[J].Digital Community & Smart Home,2012(9):85-90.