EJB组件在分布式网络管理系统中的应用
- 格式:pdf
- 大小:367.17 KB
- 文档页数:5
E J B组件在分布式网络管理系统中的应用
一 东南大学软件学院张雷
【摘 要】E J B是J 2 E E核心技术之一,它是J a v a服务器端服务框架的规范,软件厂商根据它来
实现E J B服务器 本文通过对E J B技术的介绍,提出了一个在大型网络环境下的基于J 2 EE架构运用
E J B技术实现的分布式中央网管系统的体系结构,分析了E J B组件技术在实际应用中的优缺点,并
根据网络管理系统的开发实践给出了实现方案。
【关键词】网络管理E J B会话Bean 实体Bea n CMR分布式 网络管理系统应用
一、引言
上世纪90年代以来,网络建设及应用突飞猛进,
I nt ernet的用户不断增加,计算机网络的使用越来 越广泛,用户对网络的依赖也越来越大。网络不仅渗
透到工业、银行、大专院校等各个领域,而且正走入
家庭,许多单位都在建立自己的内部 络。网络的发
展一方l咖为信息的交流、资源的共享;特来了方便,另
方面,许多网络经营管理机构或单位不得不付出极
大的人力、物力对网络进行管理。然而,一个普遍的
现象是众多单位采用人_1 分散的管理方式,发现一个
问题解决一个问题,许多统计工作都用手_r进行,远
不能适应网络应用的需要。
当前计算机网络的发展特点是:网络规模 断扩
大,复杂性 断增加,网络的异构性越来越高。 ‘个
网络往往由若干大大小小的子嘲组成,集成了多种
NOs平台,包括不同厂家、公司的网络设备和通
信设备等。同时,网络中还有许多网络软件提供各种
服务。随着用户对网络的性能要求越来越高,如果没
有一个高效的 络管理系统对 络系统进行管理,那
么很难保证为广大用户提供令入满意的服务。
网络管理是控制 ‘个复杂网络使其具有最高的效
率和生产力的过程,这个过程包括拓扑发现、数据_采
集、数据分析、以及产生报告。根据I sO提出的网络
管理框架模型(I sO7498 4),网络管理包括故障管
理、配置管理、性能管理、计费管理和安全管理五个
部分。 络地域的扩大和I nt ernet的普及使得网络
管理正朝着分布式和Web化方向发展。最近几年以
来,许多分布式技术已经应用于网络管理领域,如
DCOM,cORBA,Java RMI以及移动代理技术等等。
EJB(Enter10ri Se Java Bean),是J2EE核心技术之 -,它是Java服务器端服务框架的规范,软件,一商根
据它来实现EJB服务器。应用程序开发者可以专注于
支持应用所需
的商业逻辑,而不用担心周 框架的实现问题。
本文构建了一个基于EJB组件的分布式网络管理
系统,实现了网络管理服务和客户端网络设备的通
信。系统采用JaVa语言实现,较好地满足了跨平台、
通用性和可扩展性的要求。
=、系统蔺介
1、EJB技术简介
EJB技术定义了一组可重用的组件Ent erpr i S e
Bean s。通过这些组件来构建分布式应用程序。当代
码完成之后,这些组件就被组合到特定的文件中去。
每个文件有‘个或多个Ent erPr i se Beans,加上一
些配置参数。最后,这些Ent erPr i S e Beans被部署
NEJB容器中。客户能够通过这些Bean s的Home接口,
通过RMI定位到某个bean s,并产生这个Bean sSj一个
实例。这样,客户就能够调用Bean s所提供的方法和
远程接口。
EJB是sun Mi Cro s Y St ems对CORBA的可移植
性和复杂性的解决方案。EJB引入了比CORBA更简
单的编程模块,它可以让开发人员创建可移植分 式
组件。EJB编程模块可以让升发人员创建安全的、事
务性的和持久的商业对象(Ent erPri Se Bean),该
对象使用非常简单的编程模块和声明属性 与
CORBA不同,例如访问控制(授权安全性)和事务管
等设施非常易于编程。cORBA需要使用复杂的API
来利用这螳服务,而EJB则根据一种称作“部署描述
I作者简介l
张雷(1 9 8
1一),男,汉族,东南大学软件学院在读硕士,主要从事软件工程方向的研究 维普资讯 http://www.cqvip.com 信息”的特一 文件中的声叫将这些服务自动应用到
Ent erPri Se Bean。这个模型确保了Bean开发人员
可以集中精力编写商业逻辑,而容器会自动管理更复
杂但又必要的操作。
EJB包括实体Bean(Ent i t Y Bean)和会话B ean
(Se s s i 0n Bean)。实体Bean用于表示数据库中
的数据。它向JDBC或其它一些后端API经常访问
的数据提供了一个面向对象的接口。 仅如此,实体
Bean提供了・个组件模型,可以让Bean开发人员
将精力集L}l存Bean的商业逻辑上,而窖器负责管理
持续、事务和I访问控制。
有两种基本的实体Bea rl:容器管理的持续(CMP)
和Bealq管理的持续(BMP)。容器使用CMP管理实
体Bean的持续。供应商 r具用于将实体字段映射到
数据库,并I1.绝对没有数据库访问代码写入Bean
类。使用BMP,实体Bean包含了数据库访问代码
(通常是JDBC),负责读取其自身状态并将此状态
写入数据库。BMP实体对此有很大帮助,因为容器将
提醒Bean何时需要更新状态或从数据库读取状态。
容器还町以处理任何锁定或事务,因此数据库可以保
持完整性。
会话Bean用于管理实体Bean和其它会话Bean 的交互、访问资源,它们通常代表客户端执行任务
会话Bean对应于“模型一视 一}卒制器”体系结构中
的控制器,冈为它们都封装三层体系结构中的商业逻
辑。
2、系统功能
该网络管理系统主要实现对 络环境下设备的中
央管理功能,按照功能模块包括:
●设备基本 置:设备名称,IP地
址分 ,状态管理等等。
●捉供安全性服务和管理:如防
火墙配置,VPN建立等等。
●设备管理:对设备综合管理,
如蚓件(Firmware)升级等。
●数据采集和分析:对设备状
态、网络流量、 络安全进行实时
控,并形成报表进行分析。
3、系统架构
CNM(Central i Ze Network
Management)中央网管系统采用
B/S结构多层架构,实现对嘲络环境
下的各种设备 (R0ut er,
S w i t.c h e r, A D S L M 0 d e m, Fi rewall等等)的管理、 置以及 监控等功能。系统主要分为三个模块:GuI、
Server、ComServer。 (见图一) GuI:提供用户图形接口,供用户进行操作,用
来对网络环境进行酉己置管理,并向用户反馈一 网络
状态,网络安伞,数据流量等信息。该模块基十
Strut s框架实现。
ComServer:使用JMx框架进行管理。向下与设
备进行通信,提供设备与CNM之问的接口。cNM与设备
之间通过SGMP协议进行通信。该协议是基于UDP中的
一套自定义的数据结构, 数据包可以通过
UDPS0cket进行收发。向上该模块提供了与Server模
块之间的通信接口,实现从C0ms erver ̄llS erver之间
的低级数据结构和高级数据结构之间的转换,用以和
底层设备agent进行通信。
Server:该模块集中了整个系统中的所有业务逻
辑和数据管理功能。使用Ent i t yBean通过CMP
(C0 rltai ner Manage Pre s i st ent,窬器管理持久
性)方式来实现持久性数据管理, 使用
Se s s i 0nBean来调用Ent i t YB ean实现所有的业务逻
辑,并向GUI和C0mServer提供接口,通过RMI和
JNDI来实现远程调用。
三、累统设计与实慢
1、系统设计
由于系统的主要功能和业务逻辑在S erver模块实
现,所以本文主要讨论该模块的设计和实现。
系统功能在server模块实现主要包括: (图二)
1)设备注册:网络环境下的设备运行后会向CNM
Server发送注册请求,只有在CNM Server_
k注册过 维普资讯 http://www.cqvip.com 的设备才能接受CNkl S erver的管理。完成注册的设
备的基本信息(包括设备类型、设备名称、I P地址、
Mac地址等等)会保存在数据库的一张Dev i ce表中
2)建立VPN(VirtIIal Pri vat e Netw0rk):存 设备之间建立VPN隧道(Tu1313el S)并进行相关配
胃。
3)防火墙(F i rewa l1):配置防火墙,确保
络的安全,实时监控设备并反馈数据。
4)固件(Fi rmware)管理:Fi rmw ̄tre的管理以
及对设备 件的同步更新。
5)用户管理:系统用户的权限及功能的划分。
系统在这个模块主要通过EJB
组件来实现。根据系统功能模块和业务流程实现主要
的Betin。
Devi CeEJB:E11tit Y Bea11,实现对应与数据库 中的表dev i Ce的关系映射,通过CMP方式实现相应的
数据存取操作,该表中保存设备的基本信息,如设备
名称、设备类型、MAC地址、I P地址等等。
De、ri CeC0 rlfigEJB:Se s si 011 Bea11,用于实现 对设备管理相关的业务逻辑,包括设备的增加、删
除、设备注册、设备基本配置(设备名称、I P地址、
设备类型等)、pb9络配置(VPN,Fi reware,NAT)。
Devi e eHookEJB:E11tit Y Bean,实现对各个了
配置模块中的数据管理,如LAN、WAN、WLAN、
Fi reware、VPN、Fi rmware等等。通过CMR (C011tai11 Ma rlage Re1ati 0nship, 容器管理关
系)来实现对象关系映射。
Devi c eBa S e:非EJB,普通的Java ClaS S,用于
将业务逻辑中的公共的方法抽象出来,供s es s i 0 rl
Bean来调用。 以上几个主要的Bean组件实现了对设备的管理,
在se s s i 0 rl Bean中实现相应的业务逻辑,在Ent i t y
Bean中实现对数据的持久性管理,通过se s s i 011
Bean调用E rltit Y Bean来实现对数据的操作 其中
De v i ceHo0kEJB实现对子配置块的管理,每一个子
配置模块也是由 组Ent it y Bean来实现,在
Devi cen00kEJB所对应的数据库表devi c eh0ok中存
放了各个子配置模块EJB的l0Cal接口,通过cMR来实
现对象关系映射。
由Dev i C eHo0kEJB管理的几个子模块分为:
Ge11eral基本配置,LAN配置,WAN配置,WLAN配置,
NAT配簧,Fi r ewall配置,VPN配置,Stat i C r0u t e静态路由配置以及L0g日志管理。每一个模块
也是由组E11t i t Y Bean来实现,以LAN局域网配置为
例,其主要的mJB包括: