基于Web2.0中小企业网管平台的设计与实现
2011-03-31吕太之
吕太之
(江苏海事职业技术学院信息工程系,江苏 南京 211170)
1.引言
基于web2.0的网络管理平台是企业网络管理集成平台,实现对企业网络的管理。系统采用基于JAVA EE四层体系架构,即用户层、Web表示层、业务逻辑层和数据信息层。采用了中间件、组件技术,在开发中利用面向对象程序开发的建模技术,程序的编写使用 EJB、Servlet、JSP、AJAX、Web Service技术,增强了系统与用户的交互性。在数据库设计上,采用了MYSQL数据管理理念,保证了数据管理的经济性。
2.系统架构设计和环境选择
系统是一个N层体系结构,包括浏览器层、Web服务器层、数据库层、数据采集层、被管设备层。服务器负责系统的业务处理,包括配置管理、安全管理、故障管理、计费管理和性能管理。该层采用当前主流的J2EE框架,使用Tomcat作为Web服务器。数据库层采用了MySQL作为后台数据库,部署在Linux服务器上面,降低了使用成本。数据采集系统负责从被管理设备中获得管理所需的原始数据。
3.系统设计与实现
3.1 Web服务器层
MVC(Model-View-Controller,模型—视图—控制器模式)是软件工程中的一种软件架构模式。它把软件系统分为三个基本部分:模型(Model,视图(View)和控制器(Controller)。本系统采用MVC模式实现,下面将按照MVC模式分层介绍Web服务器的设计与实现。
3.1.1 模型层
本系统业务模型的实现主要由Spring和Hibernate集成的持久层来完成。本系统采用Hibernate中实体类和数据库表映射的关系通过Hibernate Annotation(注解)的方式来实现。数据库的操作通过spring+hibernate的集成来实现。系统中,所有数据库的操作都封装到相应的dao类中,dao通过继承HibernateDaoSupport来简化操作,只需要几条简单的几条语句就能完成数据库的增加、删除、修改、查找等操作。
3.1.2 控制层
控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。本系统采用struts2框架,控制层由核心控制器FilterDispatcher和用户编写的业务控制器组成。核心控制器FilterDispatcher是Struts2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。struts.xml文件是整个Struts2框架的核心。Struts2框架的核心配置文件就是struts.xml配置文件,该文件主要负责管理Struts2框架的业务控制器Action。整个项目的控制都配置在整个文件中。
3.1.3 表示层
视图(View)代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。本系统使用JSP实现视图层,在JSP中没有任何业务逻辑代码。通过使用struts2标签库,简化JSP开发的难度,解决了在JSP页面中,避免使用Java代码的情况,能够极大的简化页面开发。
3.2 数据库层
数据库采用了开源的Mysql数据库,对数据库的操作统一采用了JDBC的方式,并且使用数据库连接池技术。数据库连接池技术是指:在系统初期或者是初次使用时,完成数据库的连接,而后不再释放此连接而是在处理后面的请求时,反复使用这些已经建立的连接。这种方式可以大大减少数据库的处理时间,有利于系统的整体性能;连接池一般比直接连接更有优越性,因为它在提高了性能的同时还保存了宝贵的资源。本系统的数据库连接池的实现通过在spring的appliation.xml的配置DBCP来实现。
3.3 数据采集层
采集数据有两种方式:主动访问被管对象和被动接收告警信息。本系统采用主动访问被管对象的方式,首先从数据库中配置的表中获取设备的配置信息和对应的IP地址,然后向协议适配器申请驱动程序,协议适配器从自己管理的协议栈中找到合适的协议驱动程序给采集器,目前本系统只支持SNMP协议,接着当采集器接收到报警信息或采集数据发生异常时,采集器将产生不同的事件,并通过事件处理通道提交给事件处理器,事件处理器得到事件后,根据用户事先设定的处理策略进行处理。最后将获取的这些数据存储到数据库中。采集频率的确定需要综合网络带宽权衡网络安全过程。采集频率过低,占用网络资源相对较少,但是数据的更新周期相对较大,不能反映参数的真实变化情况;采集频率过高,数据更新自然较快,但是在采集周期内所占用的网络资源就会很大,增加网络设备的负担,甚至有可能会影响到正常的网络通信。因此在确定数据采集的频率时,必须根据实际的网络带宽资源进行考虑,同时还要考虑被管设备中被管对象的数量。本系统采用多态采集频率,根据被管理的设备和网络带宽情况实时调整采集频率。
4.系统采用的主要技术
4.1 Ajax
Ajax(Asynchronous JavaScript and XML)技术是目前深受Web用户欢迎的一项技术,它利用JavaScript、DOM、XMLHttpRequest实现客户端与服务器的异步交互。本系统中设备分组树、设备监控信息动态更新等功能的实现需要客户端向服务器发出HTTP请求,服务器收到请求后进行验证、访问数据库等处理,处理完毕后刷新页面显示出结果给用户,该技术大大提高了显示效率。
4.2 JFreechart
为了能在web浏览器上显示,要求用户界面使用HTML以及图片的方式来展现数据,而传统的一些利用操作系统本身的控件来开发的用户界面无法适应琳琅满目的客户端,因此在这里也变得无能为力。为了创建一个可以在web浏览器上查看到图表,可以直接在web服务器端生成图表图片文件后发送给浏览器。在本系统中我们采用JAVA的图表引擎JFreeChart来产生基于WEB的图表。它主要用来产生各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。这些不同式样的图表基本上可以满足目前的要求。在本系统中,我们使用JFreeChart来显示各设备的使用情况,让用户可以对设备的大致情况一目了然。
5.结束语
本文讨论基于Web2.0中小企业网管平台的设计与实现。该系统采用了“集中管理,分布处理”的策略来设计中小企业网络管理平台,并给出了一个比较灵活的设计方案。本系统采用了MVC模式来进行系统的设计与实现。随着web应用程序的不断发展,使用MVC模式可以很好地将web系统分为三层,使得程序开发人员更清楚的掌握项目的进度从而对系统进行更好的管理,在这种规范下设计出的web应用程序大大提高了软件的可扩展性和重用性,保证了系统的稳定性、灵活性、易维护性。
[1]陈春红.基于SNMP的层次化网络管理体系结构的研究[D].华中师范大学学位论文,1999,7.
[2]朱非、肖德宝.基于Web/CORBA的网管关键技术的研究[J].小型微型计算机系统,2000.
[3]袁嘉 基于Struts+Spring+Hibernate的Web开发框架[J].网络安全技术与应用2008,04:210-214.
[4]何瑕,肖德宝.基于Web的网管中间层分布式对象建模策略及其实现[A].第十一届中国计算机学会网络与数据通信专业学术会议论文集[C].北京,2000.09.