Java 版 (精华区)
发信人: kaola (我要学习!), 信区: Java
标 题: 基于EJB模式的网络管理系统的研究
发信站: 哈工大紫丁香 (2001年09月05日20:09:22 星期三), 站内信件
基于EJB模式的网络管理系统的研究 作者:陈代兵 袁 磊 发布时间:2001/07/06
文章摘要:
随着中间件技术的兴起,企业Java Beans在大型系统设计中用得越来越广泛。本文
介绍了企业Java Beans 的基本概念、体系结构以及它的好处和使用限制。并且我们把它
的体系结构应用于分布式网络管理系统中,使系统有了更好的性能,扩展性和移植性。
关键词:企业Java Beans,J2EE,网络管理,SNMP
----------------------------------------------------------------------------
----
正文:
基于EJB模式的网络管理系统的研究
1. 引言
随着Internet的发展,网络变得越来越复杂,网络管理在网络体系结构中也越来越
突出。网络管理是控制一个复杂的网络使它具有最高效率和生产力的过程。传统的集中
式网络管理已不能满足高数据量、高通信量的要求。为了使网络管理具有更好的性能和
可扩展性,它正朝着分布式和WEB化方向发展。企业Java Beans (Enterprise Java Bea
ns,简称EJB)是目前国外较为流行的分布式结构,其优势表现在:EJB是一个分布式开发
标准,具有很强的通用性和稳定性;它是与JAVA紧密联系的,可移植性好。很多著名公
司已经实现了EJB服务器,如:IBM - WebSphere、BEA Weblogic.、iPlanet (Netscape
/Sun)、Sybase EA Server等。它们提供了基本的分布式应用系统逻辑结构,让开发人员
专注于业务逻辑的开发。
本文先介绍EJB的基本知识,接着简要介绍一下网络管理,最后提出了基于EJB的网
络管理模型。
2. EJB概述
EJB技术是SUN公司提出的J2EE(Java2 Enterprise Edition)平台的一个重要组成部
分。先简单介绍一下J2EE。
2.1 J2EE简介
J2EE是由Java语言的发起者 Sun公司提出的一套技术规范[1]。它包括企业Java Be
ans,JSP,JNDI,JMS,JTA等技术。以前,开发系统软件的公司在设计软件框架时,不得不
处理一些令人头疼的问题,如数据库持久性、事务处理、安全,以及系统的可移植性、
可扩展性等问题。J2EE规范的目的是提供一个Java应用程序服务器标准,它有如下优点
:
· 不需要为单个应用程序平台再投资
· 可以选择J2EE中的组件来更好的满足自己的需要,使应用程序具有很好的扩展性
和性能。
· 可以保证产品的价格优势,这是因为J2EE是开放的,开发平台很便宜,甚至可以
是免费的。
2.2 EJB的结构
企业Java Beans体系结构定义了可重用的、可移植的Java分布式事务服务器组件的
设计和发布。它允许用EJB开发的应用程序在多个应用程序服务器上发布,不必为每个应
用程序开发专门的服务器。当然这服务器必须遵循EJB标准。企业Java Beans使开发者把
精力主要放在开发多用户的、高可靠性、高性能的应用程序上。通过使用和扩展JDBC,J
NDI,RMI和CORBA等技术,EJB标准提供了建立应用程序的统一方式,使这些程序具有永久
性、事务处理、集群和负载均衡等能力,但又不需要开发者直接实现这些能力。
EJB主要由会话bean(Session Bean)和实体bean(Entity Bean)构成。
会话bean 是一种通过home接口创建并对客户端连接专有的企业bean。会话bean实例
一般不与其他客户端共享,这允许会话bean维护客户端的状态。根据会话bean是否在方
法调用间维护状态信息,会话bean分为有状态会话bean和无状态会话bean。无状态会话
bean不维护状态,所以没有需要保存的信息。
实体bean用来代表底层的对象。最常用的是用实体bean代表关系库中的数据。一个
简单的实体bean可以定义成代表数据库表的一个记录,也就是每一个实例代表一个特殊
的记录。更复杂的实体bean可以代表数据库表间关联视图。在实体bean中还可以考虑包
含厂商的增强功能,如对象--关系映射的集成。
事务在EJB中也是一个重要的概念。EJB的事务模型与OTS(Object Transaction Ser
vice)类似。事实上,CORBA兼容的EJB服务器必须提供一个OTS兼容的事务服务。
一个事务正式地定义了一个原子工作单位。一个事务中可以包含多个操作,当事务
终止时,所有执行的操作或者完全执行或者完全废弃。这称为提交和回滚(rollback)。
在数据库应用中广泛地使用事务。好的数据库产品对事务提供很强的支持。一个事务中
访问的记录在整个事务持续期间保持锁定状态。基于数据库产品在事务开始时可以选定
不同的锁定状态。选定的锁定级别应在其它的事务中优化操作的并发访问时保证数据的
完整性。网络上的事务可能是分布式的,例如客户端可能在单个事务中访问两个不同的
数据库。为了支持分布式事务,大多数事务管理器(包括数据库)支持两段提交。在两
段提交协议中,事务管理器在准备提交事务前首先询问所有的事务参与者的工作是否完
成。这是协议的第一阶段。一旦每个参与者同意提交,第二阶段才会开始。事务管理器
发送独立的提交操作的命令。在分布式网络管理系统中,事务可以保证多用户管理网络
的一致性。
2.3 EJB的限制
为了更好的使用EJB提供的服务,避免与这些服务冲突,企业Java Beans限制完成如
下操作[3]:
· 管理和同步线程
· 使用java.io.package访问文件和目录
· 监听套接口,接收套接口连接或者使用套接口实现多播
· 装载本地库
· 设置供ServerSocket,Socket使用的Socket factory,或者供URL类使用的流句柄
factory。
在本网络系统模型中,会遇到套接口和装载本地库等问题,我们设计了一个专门的
结构避开了这些限制。
3. 网络管理及其功能结构
一个完善的网络管理系统是计算机网络能够可靠而稳定运行的保证,也是进行网络
性能分析的依据[2]。在网络管理系统中,包括五大功能模块:配置管理、性能管理、故
障管理、计费管理和安全管理。配置管理的主要功能包括自动网络拓扑搜索;实时显示
通断状态;对网络状态进行修改;重新配置网络参数。性能管理的主要功能包括实时观
察网络利用率、出错率的图表;指定时间范围的观察性能数据;设置网络使用门限。故
障管理主要功能包括轮询检测网络设备的故障;接受网络发出的陷阱消息;维护状态日
志。计费管理主要测量和报告基于个人或团体用户的的计费信息,分配资源并计算用户
通过网络传输的数据费用,然后据此数据给用户开具帐单。安全管理的主要功能包括检
查用户的合法性;限制用户只能进行权限规定的操作。这五大功能的关系如图1所示。
网络最忙的时候可能就是最需要管理的时候,因此设计时应考虑到尽量减少网络管理的
通讯量。若采用集中式体系结构,几大模块都集中在一个服务器上,使得服务器承受很
大的计算量和通讯量。若一个模块崩溃,整个系统就崩溃了。从图1中可以看出,
图1 网络管理五大功能的关系
这五大功能模块相互之间有一定独立性。它们可以组成独立的服务器,只是必要时
相互进行通讯。采用分布式端对端(peer-to-peer)的体系结构,整个系统有多个管理
方,各自负责一个域,他们之间可以相互通讯。将管理方分布在网络的几个工作站上,
增加了管理的可靠性和健壮性,而在通讯方面的费用则降低了。在分布式网络管理体系
结构中,几个对等管理方同时运行于网络中。每个管理方管理系统的一个特定部分(域
),管理方之间可以相互通讯或通过高级管理方进行协调。
4. 基于EJB的网络管理体系结构|
因为集中式网络管理的诸多缺点,我们提出了基于EJB的分布式网络管理系统,图2
描述了基于EJB的网络管理体系结构。
图2 基于EJB的网络管理体系结构
在该结构中,因为EJB的限制,SnmpEJBServer运行在EJB Container外面,它主要用
来与被管设备中的代理通信,如数据采集,Trap信息的接收等,将所得的数据通过RMI传
给EJB Container中的各EJB模块。实体bean主要包括配置管理EJB、故障管理EJB、性能
管理EJB、计费管理EJB和安全管理EJB。
会话bean架起Java客户端与EJB通信的桥梁。带有JSP/Servlets的Web Container与
EJB相连,取得所需信息,HTML客户与这个Web Container相连。Java客户也可以与这个
Web Container相连,但更多的是直接与会话bean连接,使用JNDI查找和home接口访问E
JB实例。另外,在配置管理中,子网发现是通过ping操作发现主机的存活信息,需调用
自己用C语言开发的本地库,所以把这模块放在图中非EJB部分中,Java客户端通过RMI或
CORBA直接与该部分通信。
数据库服务器只与几个实体bean通信。数据存取的管理有两种方式:BMP和CMP。BM
P(Bean-managed Persistence)是bean自己管理,需要在bean中自己写数据库访问代码;
CMP(Container_managed Persistence)是EJB容器管理,EJB容器自动处理数据访问调用
。
5. 结束语
本文阐述了企业Java Beans的基本概念,体系结构和它的好处。还讨论了网络管理
的五大功能以及它们之间的关系。提出了基于EJB模式的分布式网络管理系统。今后,还
需要对该网管系统进行优化,使模块的独立性更强一些,更符合分布式的特点,减轻网
络的负担。
参考文献
[1] Ed Roman , Mastering Enterprise Java Beans 1999
[2] http://java.sun.com/products/ejb/docs.html
[3] http://www.adventnet.com/products/snmpbeans/snmpv1/help/ejbexamples_inde
x.html
[4] http://thinkinc.com/
[5] 岑贤道 安常青, 网络管理协议及应用开发 1998
The Research of EJB-based Network Management System
Chen Daibin Yuanlei
Abstract With the development of middleware, Enterprise Java Beans are appli
ed broadly in many large system design. The basic concept and architecture o
f Enterprise Java Beans are introduced in this paper. Its advantage and rest
riction are also discussed. We apply its architecture in distributed network
management system, which make the system have better performance,expansibi
lity and portability.
Keyword Enterprise Java Beans, J2EE, Network Management, SNMP
作者会员名:cdb
--
我怕水,我怕谁?
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.247.126]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.261毫秒