计算机应用研究
APPLICATION RESEARCH OF COMPUTERS
2000　Vol.17　No.2　P.12-13,30



一种进行Web网络管理的技术策略
谢双一　薛进
摘 要 首先对传统的网络管理模式和基于Web的网络管理模式进行比较,同时介绍了利用CORBA规范和Java技术来进行Web网络管理的策略。最后，详细介绍了如何使用这种策略来实现Web网络管理的具体方法。
关键词 网络管理 CORBA Java 事务管理
1 引言
　　随着计算机网络的不断发展，如何对日益复杂的网络进行管理变得越来越重要。传统的网络管理模式不能适应目前现代化的网络对其安全性、易操作性、可视性的管理需要，取而代之的是利用Web技术进行网络管理。
2 传统的网络管理模式和基于Web的网络管理模式
　　传统的网络管理模式是由管理者Manager，代理Agent和网络管理协议三个要素组成。它是一种高度集中的管理模式。由于网络管理者不仅要与代理Agent进行大量的数据信息交换，还要进行获取相关信息的处理，进行复杂界面的绘制和显示。这样很容易造成网管主机系统的超负荷工作，降低了网络管理的运行效率。这就需要将界面复杂的图形工作从网管主机的操作中独立出来。
　　Web技术将网络管理的图形绘制分离出来，不仅允许管理人员有同样的能力去监测他们的网络，同时，它还避免了传统网络管理模式的超负荷，低效率的缺点。 基于Web的网络管理模式，融合了Web功能和网管技术，允许网管工作人员通过任何一种Web浏览器在网络上的任何节点进行方便、迅速地访问和管理计算机。与传统的网络管理模式不同，它不再是Manager-Agent的两层管理结构，而是基于客户层Web浏览器+应用层+各种设备资源的三层体系结构。其中，应用层又可以包括Web服务器和应用服务器。
　　基于Web方式的网络管理三层体系结构如图1所示，这种三层体系结构有很多优点：

图1 基于Web方式的网络管理三层体系结构
　　●管理者的操作和设备的远程配置不受地理位置的影响和限制，更适合进行分布式网络管理；
　　●管理者只需要通过浏览器与服务器交换信息，而不与具有各种类型和协议的资源层直接联系，使得服务器从绘制大量的实时界面的沉重负担中解脱出来，着重于后台资源的采集和对故障的处理中。同时，也避免了资源层信息的不统一而造成的对整体性能的影响；
　　●便于给用户提供信息。用户仅仅通过Web浏览器就可以访问在网络上的各种网络设备和对象信息。
　　目前，基于Web的网络管理途径和方法主要有以下几种：
　　●WBEM(Web_Based Enterprise Management)
　　●WEB/JMAPI(Java Management API)或JMX(Java Management Extensions)　
　　●WEB/CORBA(Common Object Requst Broker Architecture)
　　下面将着重说明利用CORBA规范和Java技术来进行Web网络管理的方法和策略。
3 CORBA规范和Java技术
3.1 CORBA规范
　　为了使得基于对象的软件在分布异构环境下有良好的可重用性、可移植性和互操作性，OMG(Object Management Group)组织制定了OMA(Object Management Architecture)参考模型。其核心是ORB对象请求代理。同时，针对于ORB，OMG组织推出了CORBA规范。在CORBA规范中，主要有以下内容。
　　●接口定义语言IDL：在CORBA规范下，由IDL来标识对象的接口操作及其数据参数。它是一种描述性的框架语言，并且是独立于具体编程语言而存在的。
　　●ORB：ORB提供了客户--对象实现间实现透明通信的方法，也就是说通过ORB，对象可以透明地发出请求和接收响应。
　　●对象适配器OA：OA位于ORB和对象实现之间，负责服务对象的注册、对象引用的创建和解释、对象实现服务进程的激活和去活。
　　●IDL桩和动态调用接口DII：IDL桩和DII都是客户端发送客户请求与ORB通信时客户方的代理。所不同的是IDL桩是为客户提供的静态调用方式，这种方式是基于客户预先知道服务器所提供的服务对象的接口信息，客户端仅需要把用户的请求进行编码，通过ORB发送到对象的实现端上。
　　●IDL构架和动态构架接口DSI：类似于IDL桩和动态调用接口DII，IDL构架和动态构架接口DSI是服务器方用来处理从客户端通过ORB和OA传送来的请求，定位该请求的实现方法。其中，IDL构架是静态实现方式。
3.2 Java技术
　　Java是一个应用程序开发平台，它以其跨平台、连通性、面向对象的特性，给构建基于Web的网络管理带来了更大的发展空间。同CORBA一样，Java提供了面向对象的编程语言和运行环境，这为CORBA和Java的结合实现了可行性。在Java平台中，利用分布在网络中的各类对象共同完成相应的任务，使得程序从服务器上动态的下载到客户端的浏览器中，完成HTML页面上的网络通信和数据参数的动态变化。这种Web交互应用开发的形式，丰富了客户端的功能。另外，Java程序预编译后的字节码具有对网络的强大安全机制，Java虚拟机对所有Java类，包括从网络上下载的类都要进行安全检测。
3.3 CORBA和Java结合的优点
　　Java和CORBA的结合使Java客户端能够访问由IDL定义的范围非常广泛的CORBA对象服务，这使得Java Applet能够和用不同语言编写的其它对象进行跨地址空间和网络的通信。
　　另外，Java-CORBA的框架总的服务方是规则的CORBA对象，它们与客户端的连接可以是永久的。这种在事务方面的优势，可以保证客户端的实时故障报警响应和动态性能报告显示。
　　总之，Java技术和CORBA分布式技术来实现网络管理，既可以体现出CORBA分布式管理的思想和CORBA所提出的各种服务，特别是事务服务的功能，又可以充分利用Java在Web技术中的优势。
4 利用CORBA技术的Web网络管理
　　利用CORBA技术的Web网络管理结构如图2所示。客户端首先在浏览器中下载并运行Java Applet程序，当这个Applet程序使用了分布式的Java类，则通过Stub代码先向本地的Java ORB发出请求，客户方的 ORB利用IIOP协议与服务器方的ORB在TCP/IP中进行通信，这时，服务器方的ORB根据请求的内容调用相关的Skeleton代码，激活Server端相关目标对象，由该对象实现完成对Server端请求的操作。

图2 利用CORBA技术的Web网络管理结构图
　　在实现操作的过程中，Server可以利用ODBC或JDBC来访问数据库，获得原始数据信息；通过CORBA和基于各种网管协议Agent的连接接口，从网元中获取设备信息。在得到数据的基础上，对系统状态进行分析，并将结果按原路返回给Client。在整个过程中，Java ORB起着桥梁的作用，负责远程对象请求的生成、编码、传输等工作。而CORBA网关起着收集网络设备信息，转换协议操作和数据格式的作用。
　　利用CORBA技术实现各种网络管理协议，如SNMP，CMIP的思想已日趋成熟。对整个网络管理的结构来说，它实现了从MIB库─〉IDL─〉Java的映射。这样，CORBA和底层网管之间的透明传输保证了应用开发者不需要知道被管远地设备的具体协议。这方面，包括Bell实验室、朗讯等许多大公司都有专门的研究和比较成熟的产品。
　　CORBA事件服务提供一个异步事件通知的框架。事件服务由生产者、消费者和事件通道组成。其中生产者主要用来产生数据，而消费者负责处理数据。事件通信有两种通知模型：Push方式和Pull方式。在Push方式中，生产者主动提供事件给消费者，调用消费者的Push操作；在Pull方式中，由消费者向生产者获取事件，调用生产者的Pull操作。CORBA事件服务的这种机制，给予网络管理很大的便利。这样，基于CORBA的Java Applet客户就避免了传统网络管理模式中需要定期的轮询应用服务器和设备间的事件管理器的弊病。当Agent推送一个Trap信息或者其它的事件信息到服务器中的事件管理器中去。这时，管理员就可以通过Web浏览器中Java Applet 查看设备发生事件的详细信息。
　　CORBA的远程调用机制的性能取决于两个因素：远程客户调用的数目和传送数据的大小。 CORBA提高事件的处理能力的一种方法是事件的成组分发。这种方法将那些频繁的事件类打包到一个序列中，对这个序列整体调用事件的发送操作。在现代网络管理中，对于大数据量的获取和多个MIB库变量的实时回送是有助的。
5 实践操作
　　Sun公司提供了一个100%纯Java对象请求代理系统Java IDL。它是一种IDL编译器，将Java对象映射到CORBA对象代理中，以达到Java对象与其它语言而且是运行在其它对象上的对象间的操作。总的来说，Java IDL包含以下构件。
　　●IDL到Java的映射：将IDL的每个元素映射成Java语言定义的元素；
　　●IDL到Java的编译器：从IDL的接口定义中产生桩和构架；
　　●支持IIOP的Java ORB：用于支持桩和构架之间的通信和OA对象适配器的透明创建；
　　●临时对象名字服务器: 提供从层次化对象空间获取远程对象引用的能力。
　　同时，Java API还提供org.omg.CORBA和org.omg. CosNaming包用于Java对象和CORBA的联编。
　　利用分布式对象技术开发Java Applet的方法：
　　(1)用IDL源码描述出基于CORBA的分布式应用的接口规范，这些接口包括所构建系统中对象的属性和对外接口；(2)利用Sun公司的IDL编译器将IDL源码转换成Java源码，生成5个文件，其中包括接口定义文件，Skeleton文件和Stub文件，同时还有两个辅助文件Helper和Holder。这些文件主要用来实现客户端和服务器进行通信的接口和代理；(3)编写服务器程序，创建对象实现实例和侦听客户请求；(4)编写客户方Applet，用于初始化对象引用，发送对象请求。
　　在运行程序前，需要先运行Java执行程序tnameserv.exe，启动名录服务，用于登记对象实现。
6 结束语
　　实现基于Web的网络管理是现阶段网络管理必行的趋势。CORBA技术和Java技术的应用，使得基于Web网络管理不仅在用户的交互性、易操作性上，而且在对网络的故障管理、配置管理和性能等方面的管理都体现出很大的优势。
谢双一（华中师范大学计算机系 武汉 430079）
薛进（湖北省粮食学校 武汉 430010）
参考文献
1，肖德宝. 网络管理技术现状及发展趋势. 国际电子报, 1998年11期
2，汪芸. CORBA规范和技术. 南京：东南大学出版社, 1998
3，Jams Won-ki Hong. Web-Based Intranet Services and network Management, IEEE Communications Magazine, October 1997
4，Nikolaos Anerousis. Scalable Management Services Using Java and the World Wide Web, AT&T Labs Research, http://www. research.att.com/～nikos/
5，Stefano Sandolo, Andrea Sappia． JAD System Architecture, http://www.esng.dibe.unige.It/JAD/, 1997.8.30
6，A White Paper on Web-Based Management, http://cybermanage. wipro.com/wpaper-wbnm.html
收稿日期：1999年8月23日
