基于CORBA的网络管理技术探究
摘 要:由于CORBA具有分布式及面向对象等众多优点,因此,为网络管理带了新的思路和解决方法。本文首先对CORBA及其技术特点进行了分析,并在此基础上提出了一种基于CORBA的网络管理系统模型,并给出了具体实现。
关键词:CORBA;分布式;网络管理技术
伴随着网络应用规模与复杂性的发展,网络管理技术也逐渐发展起来。目前,主流的网络管理技术有SNMP (Simple Network Management Protocol,简单网络管理)和CMIP (Common Management Information Protocol,公共管理信息协议)。
随着网络规模的日益扩大与应用的复杂性,传统的网络管理技术暴露出一些不足之处,如SNMP无法完成较为复杂的网络管理任务,CMIP实现代价高昂且过于复杂等。而DOC(Distributed Object Computing,分布对象计算技术)中CORBA(Common Object Request Broker Architecture,公共对象请求代理体系)的兴起,为网络管理技术提供了新的发展思路。
与SNMP相比,CORBA的功能更为强大;与CMIP相比,CORBA也没有那么复杂,且特别适用于分布式处理,因此,尽管CORBA的提出并不是针对于网络管理的,但是,它在网络管理领域却得到了非常普遍的应用。
简介
1.1 概述
CORBA(Common Object Request Broker Architecture)是由OMG(Object Management Group,对象管理组织)所推出的规范,它是一种面向对象的分布式计算技术。CORBA能够为各种软、硬件产品提供一种协同工作的能力,这也是其主要目标。
CORBA对通过两个模型指定分布式对象间的交互过程(注:以平台无关的方式)进行了描述。这两个模型分别为对象模型(Object Model)和引用模型(Reference Model),具体如下。
(1)对象模型:将对象定义为一个永恒不变的且唯一被封装过的实体,这些实体只能被特定的接口访问,即被严格定义的接口访问。
(2)引用模型:用以说明对象间的交互过程,它提供接口类型,所有接口类型通过一个ORB (Object Request Broker,对象请求代理)按概念链接起来。
ORB是CORBA的核心,它位于客户方与服务方对象之间的中间层。它的作用是:为客户方发出的请求寻找与之相对应的服务;对客户方与服务方之间的连接进行管理。它实现了远程对象调用(注:与具体的编程语言无关的),并提供了多种服务,如命名服务、事件服务等,这些服务对于较为复杂的底层通信与对象分布可以屏蔽掉,使其在网络管理领域十分适用。
1.2 CORBA的技术特点
CORBA有效弥补了传统分布式处理系统的不足之处,其自身的优势引领着分布式处理的发展。CORBA的技术特点表现在以下几个方面:
(1)代理(Broker)概念的引入。在分布环境中,对象请求代理ORB负责透明地收发请求与响应。如图1所示。
(2)客户方与服务方的程序实现了完全分离。与传统的客户/服务器方式相比,有很多不同之处,即客户与服务方将不再发生直接的联系,而只与代理发生联系即可,客户与服务器方的升级都十分方便。
(3)提供了软件总线机制。CORBA定义了一组接口规范,且这个接口规范与任何的实现语言与环境相独立。因此,客户方与服务方之间可透明地进行交互,从而使应用软件在软件总线上实现了即插即用的功能。
(4)分层的设计原则与实现方式。CORBA的底层核心是一个较为精简的系统,各种复杂系统可由核心向外扩展与延伸。
(5)网络计算互操作性的实现。
2.基于CORBA的网络管理技术
2.1 基于CORBA的网络管理技术的优势
基于CORBA的网络管理是较为可行的,同时,它也是一种较为先进的网络管理技术,它符合现代网络管理框架。以CORBA为平台的网络管理系统的设计和实现,具有其他技术所没有的一些优势,具体体现在以下几个方面:
(1)可扩展的网络管理框架的创建
目前,随着网络技术的快速发展与变化,网络管理软件也随之发生变化,一直以来,它都是网络管理软件开发中所面临的难题。
CORBA的分布式对象模型,可以有效解决这一问题。CORBA与面向对象编程技术的使用,可以使网络管理软件具有较好可扩展性。
(2)与网络系统可伸缩性相适应
传统的网络管理软件,其信息均由管理方软件处理。如果网络规模与复杂性增加时,则系统性能也会受到限制。
而基于CORBA的网络管理软件,由于对象实现可于多台不同的服务器上分布,且对象间可进行交互,因而,可以消除系统的瓶颈,从而获得较为满意的性能。
(3)开放与标准接口界面的提供
一个复杂的网络,其设备往往来源于不同的厂商。而这些设备的接口又通常为专用的,因此,对这些设备进行控制管理显然是十分困难的。
虽然,目前设备的接口界面标准化工作还有待进一步发展,但是,电信业为实现这一目标正积极地推动CORBA技术。除此之外,若想将不同的网络管理软件集成在一起,CORBA也是一个十分好的选择,因为其具有很好的平台与编程语言的独立性。
(4)用户界面与管理方代码的分离
传统的网络管理软件,往往并没有将用户界面与管理方的代码分离。将代码与用户界面绑定在一起,使得由系统中别的模块很难进行重用。
基于CORBA的网络管理软件,通过IDL (界面描述语言),用户界面软件便可与管理方对象进行交互,从而为新的网络管理软件结构提供可能性。
(5)各种编程语言优势的结合
因为CORBA具有良好的编程语言独立性,也就是说,对于给定的IDL界面,通过不同的编程语言都可得以实现,因此,在网络管理软件中,可用C++语言来编写高性能要求的服务方软件,因为它具有较高的执行性;可用Java语言来编写用户界面,因为它具有较好的平台无关性。
(6)更高的容错性与高可用性的提供
对于具有容错性与高可用性要求的网络而言,可用CORBA对象的方式来实现网络管理功能对象。这是因为,利用CORBA的对象服务功能,它们便可在不同的工作站之间进行复制,以此来满足系统所需的容错性与高可用性的要求。.
2.2 基于CORBA的网络管理系统模型
基于CORBA的网络管理系统模型如图2所示,采用了浏览器/服务器方式,但采用了三层结构来实现。
(1)前台:是以Web浏览器作为与用户的接口;以Java Applet作为图形用户界面。
(2)中间层:由Web Server处理来自客户端的HTTP请求;Gatekeeper可将用户的请求转发至ORB总线上;利用SSL Pack,还可在客户与服务器间建立起一条加密
通道。
(3)后台:基于CORBA的软件总线;各个管理域可由ORB来接收并处理用户的需求。
客户的HTTP请求是由Web Server处理的,静态信息可用Html等文件来显示,Applet可用来制作与用户交互的图形界面,并对动态网络管理数据的处理请求加以实现。当客户端请求一个CORBA对象时,可采用IIOP协议与其服务进行交互。
由于Java的安全机制仅在客户端及其下载的服务器进行交互,而CORBA服务对象又分布于网络中,因此,引进了Gatekeeper,它可在客户端与服务对象间建立起一条透明通道,用于转发了客户与服务对象间的交互,从而有效解决了Java的安全机制所带来的问题--致使Web服务器过于庞大。
利用SSL Pack,可为客户端和服务器间的交互信息加密。这两层结构间依然采用浏览器/服务器方式,只是服务器已变为一条透明通道,服务器端的实现在第三层结构中。
3.结语
由于CORBA完全适合于网络管理系统,因此,人们对于基于CORBA的网络管理技术做了较为深入的研究。目前,网络管理技术与分布式处理技术均处于不断发展中。在管理网络领域,随着CORBA的日趋成熟,可以创造出一个更具开放性且能更好支持分布性的应用系统。从总的发展趋势上看,CORBA在网络管理中的应用具有很好的发展前景。
参考文献:
. 微计算机信息, 2006, (03) .
上一篇:基于ASP的购物网站设计
下一篇:我国网络广告管理策略探究