CORBA新特性在TMN环境中的应用

(来源:http://www.china-pub.com)

一、 引言

  为了适应电信网技术的飞速发展和名目繁多的通信新业务的需要,ITU-T开发了对电信网实行统一的综合维护管理的新手段--电信管理网(TMN)。电信网越来越复杂,网络功能不断增加,TMN正是为了寻求一个既简单又统一的方法来管理网络。因此,TMN又被称为网管的ISDN。然而,随着电信市场的日益开放,被管理的各种网元、与电信业务相关的管理信息以及完成TMN功能的管理实体,在逻辑和物理上都呈分布状态,且处于动态变化之中。基于传统的TMN标准的各种管理应用开始显示出其一定的局限性。

  伴随着网络技术的日益成熟,电信网的管理模式正在向具有开放,分布式处理和互操作性的网管技术方向发展。近年来,国际上涌现出不少关于这方面的技术标准和规范,如:RM-ODP,DCE,CORBA等。其中,采用CORBA技术和TMN相结合已成为目前研究的热门话题。本文试图通过介绍CORBA的一些新特性,来探讨其在TMN环境中的应用。

二、 CORBA新特性和JAVA技术

  1.CORBA(Common Object Request Broker Architecture)是OMG(Object Management Group)为解决不同软硬件产品之间互操作而提出的一种解决方案。简单的说,CORBA是一个面向对象的分布式计算平台,它允许不同的程序之间可以透明的进行互操作,而不用关心对方位于何地、由谁来设计、运行于何种软硬件平台以及用和种语言实现等。
自1991年OMG确定了CORBA规范的1.1版本以来,CORBA技术不断的吸收各种新的思想,不断加以优化(当然,其中也有一部分是出于商业的考虑),94年CORBA 2.0规范被采纳,从而实现了真正意义上的互操作性。
在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构架是静态实现方式。
  然而,CORBA在进一步扩大应用领域的过程中,其局限性也逐渐暴露出来了,例如,实时(Real-Time)系统、服务质量、高速性能系统、多媒体应用以及事件排序(优先权)和事件过滤等,CORBA都不能直接为这些应用提供服务。为此,OMG开发了"实时CORBA",并已于1997年9月已OMG文件首版问世。CORBA3.0规范也已推出,为弥补在以往应用中的局限性,CORBA3.0增加了如下新特性:
  ◎ 分布式组件模型(CORBA COMPONENT MODEL)与脚本语言;
  ◎ 值传对象(OBV);
  ◎ 可移植对象适配器(POA)规范:
     持久与短期对象;显示和按需激活;多线程支持;
  ◎ 异步消息规范:
     异步调用方式;回调方式;论询方式;时间独立调用;
  ◎ 服务质量控制QOS;
  ◎ 实时CORBA;
  ◎ 与INTERNET技术的整合

  2.Java是一个应用程序开发平台,它以其跨平台、连通性、面向对象的特性,给构建基于Web的网络管理带来了更大的发展空间。同CORBA一样,Java提供了面向对象的编程语言和运行环境,这为CORBA和Java的结合实现了可行性。在Java平台中,利用分布在网络中的各类对象共同完成相应的任务,使得程序从服务器上动态的下载到客户端的浏览器中,完成HTML页面上的网络通信和数据参数的动态变化。这种Web交互应用开发的形式,丰富了客户端的功能。另外,Java程序预编译后的字节码具有对网络的强大安全机制,Java虚拟机对所有Java类,包括从网络上下载的类都要进行安全检测。

  3.Java和CORBA的结合使Java客户端能够访问由IDL定义的范围非常广泛的CORBA对象服务,这使得Java Applet能够和用不同语言编写的其它对象进行跨地址空间和网络的通信。
另外,Java-CORBA的框架总的服务方是规则的CORBA对象,它们与客户端的连接可以是永久的。这种在事务方面的优势,可以保证客户端的实时故障报警响应和动态性能报告显示。
总之,Java技术和CORBA分布式技术来实现网络管理,既可以体现出CORBA分布式管理的思想和CORBA所提出的各种服务,特别是事务服务的功能,又可以充分利用Java在Web技术中的优势。

三、TMN原理

  TMN是一个有组织的网络,简单的说,TMN时收集、处理、传送、和存储有关电信网维护、操作和管理信息的一种综合手段,为电信主管部门管理电信网起着支撑作用,即协助电信主管部门管好电信网。它可以提供一系列的管理功能,并能使各种类型的操作系统之间通过标准接口进行通信联络,还能使操作系统与电信网部分之间也可通过标准接口进行通信联络。

  TMN的目标是为电信管理提供一种框架,通过引入管理的通用网络模型的概念,采用通用的信息模型和标准借口,实现对各种完全不同的设备的通用管理。TMN的基本思想如下:
  ◎ 管理功能与通信功能相分离
  在TMN与它所管理的网络及业务之间坚持逻辑上独立的原则。便于实现集中式或非集中式的管理以及功能的可分布性。
  ◎ 标准化
  采用标准化的方法,即通过对管理系统的功能、结构、接口、数据库、管理对象进行标准化,建立起通用的网络管理模型和各种标准借口。
  ◎ 开放
  在适当的地方运用基于OSI(开放系统互连)的应用业务
  ◎ 抽象
  采用抽象的方法,将网络实体分为NE(网络设备)、OS(操作系统,也称管理系统或运行系统)、WS(工作站)等、并对TMN的管理对象、管理业务进行抽象。
  ◎ 采用面向对象的方法
利用面向对象的方法表示TMN环境以及管理功能块在该环境上的动作(从资源观点看)
  ◎ 管理型业务
  TMN也像电信网一样提供业务,但这是一种特殊的业务--管理型业务。目前,已定义了19种管理型业务。

TMN应能观察相互配合的多个系统结合的电信网及其业务。它的体系结构应该将各个单个系统的管理综合起来,已达到对网络的协调作用。顾TMN全面采用了OSI系统管理体系结构,该体系结构的关键内容包括如下两个要点:
  ◎ 信息模型结构
  ITU在建议M.3100种定义了通用网络信息模型,该模型可应用于TMN及所有网络。其基本思想是,采用面向对象的方法,利用OSI体系中定义的管理原理,对网络资源和管理方法进行抽象,从而得到一个抽象的、通用的管理标准。具体而言,就是对被管理网络的电信资源进行抽象,将要管理的资源臭香味一个个的对象。与次相对应,对网络资源的管理也被抽象为对被管理对象的管理。从而,可以采用抽象的、标准化的管理方法,通过对对象进行各种操作,在一个与技术无关的层次上对网络进行管理。
  通用网络信息模型的目标是:
    1. 保证不同系统之间的互操作性;
    2. 不同设备使用通用的通信接口;
    3. 提供一个框架,使之易于扩展为技术有关的模型
    在管理接口上交换的信息要用ITU建议X.720提出的GDMO方法来建模,资源被建模为对象,而资源的管理视图称
为管理对象。一个管理对象可一个根据以下特性进行定义:
    --在管理对象边界上可见的属性;
    --可应用于管理对象上的管理操作;
    --管理对象对管理操作或其他类型的事件的反应,它可以是内部的行为(如过滤信息),也可以是外部的行为
(如与其他的对象的交互);
    --由管理对象发出的消息。
◎ 管理者/代理
  电信环境的管理是一个信息处理的应用过程。由于被管理的环境时分布的,因此网络管理也是一个分布式的应用过程。它包括实现监视和控制各种物理的和逻辑的网络资源的管理过程间管理信息的交换。
  在一个特定的管理联系中,管理过程将担当两个可能的脚色之一,即管理者或代理。管理这是对管理对象进行管理的应用部分。换言之,十分不是应用程序中发出管理命令、接受上报事件的部分。代理者来直接执行管理者的管理命令。该脚色将对管理者的命令做出反应,向管理者提供这些对象的情况,以及向管理者上报对应于这些对象行为的事件。
  管理者和代理之间通过公共管理信息协议CMIP传递消息。

四、 ORBA新特性在TMN中的应用

  1. 基于CORBA的WS
  CORBA3.0提出了CORBA与INTERNET的集成,因为JAVA 与INTERNET的紧密集合,因此新规范中加入了JAVA到IDL的映射标准,提供其他的二进制应用程序通过IIOP远程调用这些JAVA对象,而防火墙规范定义了ORB之间通过防火墙代理进行IIOP传输的界面。
  传统的网络管理模式是由管理者Manager,代理Agent和网络管理协议三个要素组成。它是一种高度集中的管理模式。由于网络管理者不仅要与代理Agent进行大量的数据信息交换,还要进行获取相关信息的处理,进行复杂界面的绘制和显示。这样很容易造成网管主机系统的超负荷工作,降低了网络管理的运行效率。这就需要将界面复杂的图形工作从网管主机的操作中独立出来。
  利用CORBA技术的Web网络管理结构如图1所示。客户端(GUI)首先在浏览器中下载并运行Java Applet程序,当这个Applet程序使用了分布式的Java类,则通过Stub代码先向本地的Java ORB发出请求,客户方的 ORB利用IIOP协议与服务器方的ORB在TCP/IP中进行通信,这时,服务器方的ORB根据请求的内容调用相关的Skeleton代码,激活Server端相关目标对象,由该对象实现完成对Server端请求的操作。


图一

  2. 实时CORBA在TMN中的应用
  CORBA依靠ORB之间(INTER_ORB)协议来支持ORB的互操作。GIOP(General Inter_ORB Protocol)是CORBA提供的这样一个协议:在任何面向连接的传输上,它指定了ORB通信所必须的传送语法和一系列信息格式,为ORB之间的互操作提供服务。ORB通常使用的协议IIOP(Internet Inter_ORB Protocol)是GIOP的一个实现,IIOP将TCP/IP作为其下层传输协议,已实现ORB之间的互连。由于TCP所允许的延时和抖动,不符合实时应用故不能使用IIOP。CORBA在TMN中的应用一定程度上因其实时性差而受到局限。
  在庞大的分布式计算网络中,各通信系统不是所有连接都是可靠连接的,异步传输可以不依赖于客户方和服务方的紧耦合,因而适用于大规模分布式系统。CORBA3.0在小徐服务中心曾了异步消息、通信协议,并提出了实时ORB的概念,支持QOS级别许可和异步请求调用。增强了QOS保证和通信效率,提供了分布对象系统中异步消息。实时CORBA1.0种扩展了一类新的ORB,成为实时ORB,允许开发者更直接的控制ORB的资源分派,保证端到端通信的可预测性和灵活性。所有这些,为更好的开发基于CORBA的TMN系统,提供了更好的支持,当然,所有者一切还只是开始,需要我们作更深入的研究。

  3. 对象通报问题
  CORBA Client可以通过返回的执行结果来了解目标对象的工作状态,如果用CORBA实现一个网络管理系统,各种被管理的网络资源可能抽象为目标对象,这些对象不仅接受管理指令,而且还要把网络资源的活动和变化反映给管理系统。而且在网管系统中,需要目标对象能够主动报告一些重要事件的发生,因此。网管系统的管理活动要建立相应的服务体制。可根据可移植对象适配器规范(POA)开发组件,时期能按需激活,在被管网元需要想网管系统上报消息时将其激活,提供一种通报服务。也可以用移动代理的方式,将信息上报。

五、 总结

  CORBA为异类分布环境中的对象提供了互操作能力,它允许Client透明的发送请求和接受响应,Client在发出一个请求是不必知道目标对象的位置、目标对象实现的方法以及它们之间的通信方式。
  TMN技术和分布式处理技术都还在不断发展之中,从上文的分析可知,随着CORBA技术的日益成熟,在TMN领域,可以构造出更具开放性和更好支持分布化的应用系统。
  同时,由于实时CORBA等新技术尚未成熟,加上商业因数的渗入,CORBA技术本身就存在一个去芜存菁的的过程,因此现在用其构造一个成熟的TMN应用系统,条件还不成熟,但应该看到,基于CORBA等分布式技术的TMN管理平台,将是TMN的一个发展方向。

 

参考文献:
[1] ITU_TM.3100, PRINCIPLES FOR A TMN,1995
[2] ITU_T DRAFT X.901:RM-ODP PART1,OVERVIEW AND GUIDE TO USE,1994
[3] CORBA3.0 新特性 《计算机科学》27-3
[4] 开放分布网络管理系统分析与设计 WWW.CHIANINFO.GOV.CN
[5] Vinoskis.New Feature for CORBA3.0. CACM