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包括: