吉宁讲师观点 / 企业培训师观点 / 企业培训师观点:一种基于Java技术的网络管理软件的设计

企业培训师观点:一种基于Java技术的网络管理软件的设计

吉宁博士 2015年12月11日 企业培训师观点

1.引言

  随着Web/Java技术的成熟及其在Internet上的广泛应用,网络管理软件技术和模式迎来了又一次革命。在网络管理领域,通过Web技术(如Web服务器,HTTP协议、HTML和Java语言等)来集成网络管理软件系统,就能够获得可运行于各种平台的简单有效的管理工具。特别是目前人们对计算机网络管理软件的要求已不仅仅局限于集中式管理模式,而要求网络管理工具具有分布计算能力。近几年来随着Java、EJB[1]、XML[2]等技术的发展与成熟使人们对网络管理的分布式要求已成为现实。

  2.基于Web的网络管理模式

  网络管理软件系统从结构上来说,由两部分组成:管理应用层和为之提供服务的下层结构软件。下层结构软件包括管理信息库(MIB)、图形化用户接口(GNI)、网络通信接口(NCI)。它们通过一组应用编程接口(API)向应用程序提供服务。

  2.1基于Web的网络管理模式的特点

  基于Web的网络管理[3]之所以受到广泛关注,是由于具有如下特点:

  (1)分布性。没有地理位置的限制,适合于分布式网络管理。

  (2)跨平台性。网管人员可以从任何平台的任何一台计算机上访问网络,这就解决了由多平台异构而导致的互操作性问题。

  (3)成本低。界面更加友好,管理方式更加简单方便,降低了网管成本。

  (4)效率高,安全性好。采取瘦客户机/胖服务器模式,大量繁重的计算和存储任务交给Web服务器完成,这样提升了管理效率并使用户能更灵活的操作网管系统,同时借助WWW的安全机制可以有效的进行访问控制、数据加密及服务器验证。

  2.2基于Web的网络管理软件系统的实现方式

  目前,随着Web技术的流行和发展,在网络管理中普遍采用基于Web的网管技术。常用的基于Web的网络管理技术有两种:一种是基于嵌入式的网络管理,将网管工作站嵌入到网络端设备中,每个设备都有自己的Web地址,网管人员可以通过浏览器访问并管理设备,这种技术适合于小型网管系统,而且不利于扩展;第二种是基于代理的网络管理,由代理程序来管理设备,将管理程序加载到网管工作站中,通过SNMP协议与代理程序通信,浏览器通过HTTP协议或其它方式与网管工作站通信,这种技术使得浏览器与网管工作站可以采用B/S(Browser/Server,浏览器/服务器)结构通信,网络管理软件系统的部署、升级维护和数据备份只需在服务器端完成,客户端无需做应用程序的安装和调试,极大地降低了系统总维护成本,加强了系统的稳定性和可扩展性。由于T比特路由器是核心路由器,用于大规模网络,且对可扩展性有较高要求,所以应采用基于代理的管理方法。

  2.3基于Java的三层体系结构

  作为一种计算机语言,Java是相当优秀的。它具有面向对象、与操作平台无关、可移植性、安全性和稳定性高等特点。同时,作为一种面向网络编程的语言,Java又具有简洁、多线程执行等特点。它与Internet紧密结合,克服了原来CGI编程中存在的效率低下,实时性不高、系统资源占用率高等特点。

  在T比特路由器项目中,利用Java及相关技术,通过需求以及对网络管理模型的层层抽象,可以建立三层网络管理软件体系结构框架,具体说这三层分别是:客户表示层、中间服务提供层以及后端的数据永久存储层。其中客户表示层是基于HTML的;中间服务提供层又可分为两层,一是前端服务器,另一个是后端服务器。其中前端服务器主要负责客户与后端服务器的交互,而后端服务器主要负责对被管设备的轮询、状态监控、数据采集以及与数据库的数据交换等功能。

  这种三层体系结构层次分明,集开放性、高效性、可扩展性以及网络安全性于一体,并且有利于各功能模块并行研制及分工协作。T比特路由器网络管理软件体系结构如图2所示。

  3.体系结构中功能实体

  3.1被管实体

  被管实体是整个被管理网络中所有被管设备的集合,包括T比特路由器中的主控板、转发板等,其中每个被管设备均是一个SNMP节点,均符合SNMP协议,每个设备中都运行着SNMP代理,这一代理主要实现对该设备MIB信息的维护。它可以通过SNMP、RMI、CORBA等协议与位于中间服务器层中的后端服务器进行通信,SNMP代理还可以主动的向后端服务器发送trap报文,同时后端服务器向它进行主动轮询。

  3.2数据存储层

  数据存储层是通过关系数据库对网管信息进行存储的介质。它主要负责对永久数据的存储,这些数据包括设备的基本数据、性能数据、策略数据等。这些数据是由位于中间层的后端服务器经过与被管设备通信得到并存储到数据库中的。这些数据可能来自于后端服务器对被管设备的主动轮询,还可能来自被管设备向后端服务器发出的trap。客户表示层可以根据需要,通过前端服务器——后端服务器——数据库来实现对永久数据存储的写操作。而对于客户端仅仅是需要查询所关心的数据时,它可以直接通过前端服务器来对数据库进行查询操作。数据存储层与后端服务器间是通过标准的JDBC进行通信,使数据存储层不依赖于具体的RDBMS,这样就保证了数据存储层的可扩充性以及与存储介质的无关性。存储层中存储着整个网络管理中的所有信息,通过对这些信息的各种操纵实现网络管理软件功能。

  3.3中间服务提供层

  中间服务器层包括两个服务器,一个是前端服务器,另一个是后端服务器。更确切地说,每一个服务器都是一些功能服务器的集合。这些服务器是整个T比特路由器体系结构的核心部分,它们负责数据的采集、数据的维护以及用户的授权、认证等安全方面的任务。下面对这些服务器进行详细地介绍。

  3.3.1后端服务器

  后端服务器执行服务器端的核心网络管理任务,主要任务是完成故障管理、性能管理、安全管理、配置管理等。通过这些功能来对被管设备的信息进行维护,接收并实现trap处理、事件处理、告警处理、数据采集、状态轮询等。这一层是整个T比特路由器网络管理中的核心层,只有通过这一层才能采集并存储网络管理软件信息到数据库中。后端服务器负责维护与更新存储在数据库中的基于网络事件、状态轮询、管理员操作等的信息模型。

  后端服务器可以通过配置文件实现定制,并能够实现扩充。当前端与后端服务器运行在同一个JVM(JavaVirtualMachine)上时,后端服务器可以通过JavaAPI的Socket来实现;当前端与后端服务器运行在分布式环境中,后端服务可以通过RMI来实现。后端服务器支持SNMP、CORBA等各种协议。
3.4前端服务器及相关技术

  3.4.1前端服务器

  前端服务器支持HTML客户,其中所有的处理操作均在服务器端进行,而客户端浏览器仅将处理结果以报表、图形、曲线等的形式来表示。前端服务器处理来自客户端的请求,它形成了客户端与服务器端的链接,后端服务器执行核心任务,并将数据存储到RDBMS中。这一处理操作主要是对后端数据库进行直接的查询操作,从图2可以看出无论是前端服务器还是后端服务器均与数据库相连,其中后端服务器可以对数据库进行存取操作,而前端服务器只能对数据库进行读操作。这两个服务器与数据库通信均采用标准的JDBC接口。如果客户端请求对数据库中的数据进行写操作,那么它只能通过后端服务器来进行。

  3.4.2前端服务器与后端服务器的通信问题

  前端服务器与后端服务器通信方式主要是依据这两个服务器集合运行的分布程度来决定的。如果前端服务器与后端服务器运行于同一个JVM上,那么两者可以通过基于TCP的SOCKET协议进行通信,如果两者是处于分布式运行环境中,则可以通过RMI协议进行通信。

  4.网络管理软件的实现

  4.1前端与后端服务器数据的交换

  位于中间层的前端与后端服务器可以通过XML来实现数据交换。XML是一种标准的数据交换语言,通过利用XML使系统间的数据访问变得更加容易。具体实现可以通过前、后端服务器中的XML解析器来对XML的语法及语义进行具体的分析与提取。通过灵活的配置文件实现了应用的可扩充能力。

  4.2客户表示层

  通过Web客户端可以查看T比特路由器故障告警信息、路由器性能、各种统计图及进行路由器的配置等。通过浏览器,用户可以直接对数据库中不需要的信息进行删除。

  客户表示层通过基于浏览器的方式来访问中间服务层,这种访问包括两种方式:一种为基于Web的Java客户端,另一种是基于Web的HTML客户端。基于Web的Java客户端与前端服务器采用RMI、CORBA、SOCKET或HTTP协议进行通信;基于Web的HTML客户端采用HTTP协议实现与前端服务器的通信。这两种基于Web方式的客户端是是目前在网络管理软件中比较流行的方式。

  4.3实现中涉及到的Java、Java相关技术以及XML技术

  Java、Java组件技术以及XML技术为开发T比特路由器网管系统提供了相当丰富的工具支持。

  4.3.1XML技术

  在现代网络管理软件中,利用XML技术有利于实现管理信息交换与存储的标准化。例如在网管系统中不同权限的用户所关联的菜单功能是不同的,有些用户只能对系统进行查询,而有些用户除了查询功能外,还有修改功能。这样对不同的用户可以通过XML作为配置文件来进行相应的功能定制,以满足不同用户对系统权限的需求与管理。利用XML作为配置文件,有效地增加了系统的灵活性与扩充性。

  4.3.2EJB技术

  EJB技术提供了分布式组件模型,这一技术可以使开发人员将精力集中在解决自己业务方面的问题上,而依靠J2EE平台来解决系统级的复杂问题。这种侧重点分离的开发方式有利于快速地开发出具有可扩充的、易于理解的以及高可靠性的应用软件。前端服务器通过利用EJB技术,可以实现许多的高级功能,如可扩充性、事物支持、数据库集成及负载均衡等。

  4.3.3JavaApplet技术

  JavaApplet是Java的小应用程序,以Class的形式嵌入到HTML,通过主页发布到Internet,网络用户访问服务器的Applet时,Applet就下载到本地,然后在浏览器中由本地Java虚拟机解释执行。Applet客户端是实现网络实时管理的有效工具。基于swing的Applet客户端弥补了纯HTML客户端与用户互动性差的弱点。

  5.结束语

  通过对T比特路由器网管系统的开发,可以抽象并提出现代网络管理系统的多层网络管理软件体系结构模型。整个模型的体系结构层次分明,各层完成各自的任务。其中位于中间层的后端服务器完成网络管理软件的五大功能的核心部分,如故障告警、性能管理等。位于中间层的前端服务器起到连接客户表示层与后端服务器的功能,处理客户端的请求。当客户请求对数据库进行写操作时,直接将这种请求交给后端服务器来处理,通过后端服务器安全认证后,才可以进行相应的操作;当客户请求对数据库进行读操作时,前端服务器可以直接与数据库通信,这样就保证了数据的安全性。通过利用XML技术、Java及Java相关技术使开发的系统具有较强的可扩充性、安全性以及跨平台性。这种基于Web的网络管理方式正是符合现代网络管理的特点与要求,希望这种网络管理软件体系结构对其它类似网络管理软件具有借鉴与参考价值。

  

About 吉宁博士

真正的实战派企业培训师,长期致力于人力资本、公司行为、市场营销、企业战略及领导力发展等组织实践与研究,数十年来参与及主持过的管理咨询项目累计逾千次;受邀主讲过的各类企业培训课程累计逾万次。