CORBA 技术及其在电信领域中的应用

随着Internet的广泛运用,将应用扩展到局域网、广域网甚至Internet上已成为用户的普遍需求,这样,分布计算成了新的热点。在分布计 算环境中,异构性是一个十分明显的特点。一个典型的分布环境包括有大型主机、UNIX工作站和PC机,各种机器所采用的操作系统和网络通信协议也是千差万 别。在这样的异构环境下实现信息和软件资源的共享将十分困难,而一个健壮的分布计算框架将为分布应用软件的开发带来极大的好处。自80年代末期以来,对应 用软件的可扩展性和可重用性的要求也使得面向对象的分析、设计和编程技术得到了广泛的运用。将面向对象的思想应用到分布环境中,分布对象计算 (Distributed Object Computing,简称DOC)的概念就应运而生了。

  目前,OMG组织制订的CORBA(Common Object Request Broker Architecture,通用对象请求代理体系结构)标准与Microsoft的COM/DCOM(Component Object Model/Distributed COM,组件对象模型/分布组件对象模型)标准、Sun公司的Java RMI(Java Remote Method Invocation,Java远程方法调用)标准一起形成了分布对象计算领域的主流。

  一、CORBA的发展历程

  OMG(Obiect Management Group)组织是一个国际性的非盈利组织,OMG组织成立于1989年,其发起单位有BNR欧洲有限公司、DEC公司、Expersofi公司、HP公 司、IBM公司、ICL公司、IONA技术有限公司、NCR公司、Novell USG公司、Object Design公司、SUN? Microsystem公司和SunSoft公司。该组织的工作职责是,为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。 其主要技术目标是,使得基于对象的软件在分布异构环境下具有良好的可重用性、可移植性和互操作性,从而能够在由多种主流硬件平台上运行多种操作系统构成的 异构分布环境中,方便地建立异构分布应用系统。

  为了实现上述目标,OMG组织成立后不久就制订了OMA(Object Management Architecture,对象管理体系结构)参考模型。该模型描述了OMG的规范所遵循的概念化的基础结构,其核心部分是ORB(Object Request Broker,对象请求代理)。ORB提供了一种机制,通过这种机制,对象可以透明地发出请求和接收响应。基于ORB机制就可以充分利用分布的、可以互操 作的对象构造可以互操作的应用。这种优势是明显的,用户可以在不了解实现交互细节的情况下,建立共享资源的应用。

  针对ORB,OMG组织制订了CORBA规范,并于1991年颁布了CORBA规范1.1版本,而后经历了1.2版本,又于1995年颁布了 CORBA规范2.0版本,该版本对前一版本内容作了一定修改。OMG组织在1997年颁布了CORBA规范2.1版本。该版本增加了COM/CORBA 互操作规范。1998年2月CORBA2.2规范问世,该版本增添了POA(Portable Object Adapter,可移植的对象适配器)和IDL到Java语言的映射规范。与此同时,OMA体系结构中增加了领域接口这一部分,表明OMG组织已经从最初 的制订CORBA内部运行方式转向开始注重CORBA技术与应用相结合的问题。CORBA公共服务规范也作了相应的修订。

  CORBA 3.0规范采用支持Enterprise JavaBeans(EJB)规范的对象封装方案,使EJB成为CORBA的组件方案。CORBA 3.0对象能动态加载各种组件以及传输、事务和邮件交换协议。这就意味着,如果与CORBA 3.0规范相容的服务器遇到EJB,它就能在运行时加载Java虚拟机并运行这些对象。CORBA 3.0规范还包括一些新特性:将应用程序工具和环境用于CORBA组件的设计;支持CORBA对象在异步实时信息队列中进行传输;采用服务质量(QoS) 技术规范;增加新的技术规范,以便实现与传统环境的结合等。CORBA技术本身的发展与CORBA技术应用的发展是不可分割的,CORBA技术的广泛深入 应用推动了CORBA技术的不断成熟,而CORBA技术的进一步完善又促进CORBA技术应用的实施和推广。

  二、CORBA的技术特色

  CORBA规范的产生有其特定的技术背景,主要有以下几个方面:

  (1)面向对象技术的兴起

  面向对象技术不同于传统的设计和实现技术,它把数据以及相关的方法封装在一起构成对象。通过封装的方法更加精细地描述数据以及方法的作用域,使 用继承特性来扩展这些作用域。再加上对象引用和对象实现的分离,使得由于对象的数据和方法改变而造成的影响,在不涉及引用方法的情况下,局限于该对象的本 身,从而大大方便了软件对象的修改和扩展。对象的继承性使得可以利用已有对象的功能来构造新的对象,有效地提高软件的开发效率。因此,面向对象技术的发 展,在提高软件可重用性和软件开发质量方面起到了积极的推动作用。

  (2)客户/服务器模式的普遍应用

  这种计算模式可使得客户尽量少了解实现细节,从而便于客户应用的开发。该模式具有不对称性,即服务器不会主动询问客户的请求,而是被动地执行指定服务。客户/服务器模式适用于由不同计算能力的计算机和设备组成的网络环境。

  (3)集成已有系统及屏蔽通信和实现细节的需求

  一般地说,用户已经积累了一批极具价值的系统,通常这些系统改造和重写的代价很高,所以在构造新系统时,用户希望能够利用这些资源。因此,如何有效地将已有系统集成或移植到新系统中,并且在将来尽可能使它们不再成为"孤岛"系统,是用户应用开发中提出的迫切需求。

  (4)现有分布处理机制和方法存在着不足之处

  现有典型的分布处理系统和标准有RPC(远程过程调用)和DCE(分布计算环境) 等。它们虽然是按照客户朋艮务器模式构造的系统,但是客户程序和服务器程序之间的调用关系是静态的,基于它们所构造的系统也是静态的,并且可以使用的编程 语言必须与RPC和DCE实现语言相一致,从而限制了用户的可选语言范围。 CORBA技术在充分发挥新技术的优势和克服已有方法缺陷的基础上,引入了自身的新特色,使之成为新一代的分布计算技术中有影响力的工业规范。

三、CORBA产品一览

  自从CORBA规范颁布后,许多公司推出了遵从CORBA规范的产品,产生了一定的影响。主要产品有:

  (1)IONA公司的Orbix

  IONA公司是目前最大的CORBA系统软件和服务提供商,其标志产品Orbix是一个基于库的CORBA规范实现,支持Windows、 OS/2、各种UNIX等20余种操作平台。它提供了C++语言映射器和C++代码产生器,又推出了Orbix的Java版本OrbixWeb;为了能够 在互操作方面做进一步的工作,IONA已向微软公司购买了COM许可证,以期能够提供实现COM/CORBA(DCOM/CORBA)互操作完美的解决方 案。IONA的系列产品包括OrbixNames(名录服务)、OrbixTrader(交易服务)、OrbixSecurity(安全服务)、 OrbixOTS与OrbixOTM(事务服务)、OrbixTalk(事件服务)和OrbixNotification (通知服务),它们实现了CORBA对象服务规范中规定的许多重要的对象服务。此外,还有OrbixSSL(实现SSL上的IIOP加密传输)、 OrbixCOMet(COM/CORBA互操作)、Orbix Database Adapter Framework(Orbix的数据库接口)等。

  (2)Inprise公司的VisiBroker

  VisiBroker是Visigenic公司的著名CORBA系统软件,该公司在1998年2月被Inprise公司(即原来的 Borland公司)所收购。VisiBroker有C++和Java两个版本,均遵循CORBA2.0规范,支持多种主要平台,内置IIOP引擎,具有 较强的互操作性。其中,VisiBroker for Java被集成到Netscape4.0及其以上版本中,以实现CORBA与Web的结合。

  除此之外,VisiBroker系列产品还有:VisiBroker Integrated Transaction Service(事务服务)、VisiBroker Naming Service(名录服务)、VisiBroker Event Service(事件服务)、VisiBroker SSL Pack 3.2(实现IIOP的加密传输)和VisiBroker Manager(提供对VisiBroker应用程序的开发、部署和管理)等。

  (3)Digital公司的ObiectBroker

  DEC公司是最早提出DII,即动态调用接口规范的发起者之一,因此,DEC公司的产品在DII方面具有优势,提供了复杂的方法绑定和服务器绑 定机制,用于支持在异构环境下的动态进程分配。ObjectBroker原名ACAS(Application Control Architecture Services,应用控制体系结构服务),是市场上最早出现的CORBA产品之一。它完全实现了CORBA1.2规范,包括动态及静态调用、IDL编译 器、接口库、实现库和上下文对象,可以运行在多个平台上,支持IDL到C语言的映射,还可以集成微软公司的OLE产品。

  (4)IBM公司的Component Broker

  IBM公司的Component Broker是1998年2月推向市场的一个产品,它由两部分组成,即CBConnector和CBToolKit。它的主要特点是:完全遵从CORBA 2.0规范;集成了系统管理软件;支持多种平台,包括Windows NT和OS/390等操作系统平台;支持EJB(Enterprise JavaBeans,企业JavaBeans),便于实现应用的代码重用和重新分布。

  (5)Sun Microsystems公司的NEO和JOE

  Sun Microsystems公司于1996年实现了基于CORBA的NEO(Network Environment Object,网络环境对象),用于构造企业Intranet/Internet,并进而用Java语言实现了ORB系统,称为JOE(Java Object Environment,Java对象环境),可与NEO进行互操作。

  (6)SunSoft公司的DOE

  DOE(Distributed Obiect Everywhere,随处分布对象)产品是SunSoft公司捆绑在其Solaris操作系统上的一个分布系统。该系统遵循CORBA1.1规范,实现 了IDL/C和IDL/C++语言映射,还提供了包括命名服务和事件通知服务在内的对象服务。DOE特别注重系统的实现效率,它通过实现分布对象的不同粒 度来调整系统的运行效率,其性能远远高于RPC。随着Web应用的飞速发展和CORBA技术的日益成熟,基于CORBA系统的Web使能技术已成为近年来 CORBA技术研究的热点之一。CORBA与Web两种技术相结合的"粘合剂"就是Java语言。

  目前,国际上主流的CORBA产品均已实现了Java语言版本的CORBA系统,如IONA公司的OrbixWeb,Inprise公司的 VisiBroker等。这些产品均采用了CORBA与Web技术相结合的解决方案,即Web浏览器通过下载Java Applet形式的CORBA客户方程序来访问CORBA应用服务,这已成为实现基于CORBA的Web使能的主要方式。由于CORBA与Java的结合 日渐紧密并趋于融合,OMG已在最新的CORBA2.2版本中正式提出IDL/Java映射规范;Sun公司也在1998年第三季度推出的JDK1.2中 提供一个免费的CORBA/Java开发工具Java IDL。

  当前分布对象模型有两大主流,一是CORBA规范,另一是微软公司的COM(DCOM)对象模型。并且,采用OMG组织的CORBA规范和微软 公司的COM(DCOM)分布对象模型开发的分布应用都正在迅速增长。然而,正如当初计算机网络的发展一样,随着各种产品的发展和不断普及,产品之间的互 操作需求也会不断增长,产品之间无法互通的矛盾甚至会制约产品和技术的进一步发展。对于CORBA和COM(DCOM)来说,目前还无法评判孰优孰劣,也 无法判断谁会在将来的竞争中取胜,最大的可能是两者在长时期内共同发展,这样,使用不同模型开发的应用的集成就需要COM(DCOM)/CORBA的互操 作;另一方面,两者各有其优势和特点,大多数异构环境将同时采用CORBA和COM(DCOM)的混合环境,这种混合环境下应用的开发也会使用 COM/CORBA互操作。因此,无论是当前还是将来,COM/CORBA互操作都具有重要的意义。

  四、CORBA技术在电信领域中的应用

  电信领域是一个非常活跃的领域,但是其内部的异构问题非常突出,而CORBA技术是以解决异构问题为目标的。因此,CORBA技术选择电信领域作为其最初几个应用领域之一是非常自然的。

  1、CORBA技术在智能网络中的应用

  CORBA技术由于其自身的技术特点,能够在智能网络中发挥出它的优势。一个最为普通的例子是,如果服务商要扩展智能网络中的业务的话,本来由 于所有业务是紧密捆绑在一起的,当有新服务出现时,必须同其他服务重新联编,这时服务商提供的所有服务都必须暂停,直至新业务开通后,才能恢复其他业务的 工作。这就给广大的用户带来了诸多不便,对服务商来说,也会造成很大的经济损失。如果采用CORBA技术,就完全可以避免这种情况。新的业务只要登记到 CORBA平台上就可开通,不会影响其他已有的业务。而使用新业务的客户对服务系统提出服务请求后,基于CORBA平台的服务系统就能激活新的业务,执行 相应的请求后,把服务结果返回给客户。这种新的运作方式不仅可以用于新业务的扩展,同样可以用于旧业务的淘汰,给服务系统一种前所未有的灵活性和服务独立 性。

  2、CORBA技术在电信网络管理中的应用

  随着通信技术的飞速发展,电信业务发展的势头势不可挡。中国是世界上第一大寻呼市场、第二大移动电话手机市场。CORBA技术在这一蓬勃发展的领域中也有用武之地。例如在香港电信和西班牙电信等业务系统中CORBA技术已得到成功应用。

  香港电信(HongKong Telecom,简称HKT)是亚洲最大的电信服务提供商,在世界上排名第九。香港电信交互式多媒体服务(HongKong Telecom Interactive Multimedia Services,简称HKTIMS)是香港电信的组成部门。该部门致力于发展交互式多媒体服务和商业支撑服务,包括交互式电视应用如视频点播 (VOD)、家庭购物、家庭银行、Internet服务和其他一些服务等。HKTIMS在为提供这些服务而需要解决的技术问题中发现以往的技术是远远不够 的。于是,HKTIMS使用IONA公司的Orbix和OrbixWeb来实现其交互多媒体计划。该计划的第一阶段,投资超过10亿美元用于被称为 NETVIGATOR 的在线服务计划,已于1997年初开始实施。这是目前较大的采用Java和CORBA的应用开发。

  NETVIGATOR是全球最早一批开展的大型视频点播服务计划。它完成后,HKTIMS的用户将能够通过电视机顶盒(Set-Top- Box)访问视频媒体,并享受在线购物、在线教育等一系列服务。Orbix和OrbixWeb被用于建立交互多媒体服务的基础框架,同时运行在多媒体服务 器和机顶盒两端。HKTIMS使用Java语言和OrbixWeb以控制实现机顶盒的功能。利用Java的高度可移植性和CORBA/IIOP对不同数据 流的传输支持,Java与CORBA/IIOP的结合能有效地解决客户与服务器之间连续的巨量数据传输问题。

  西班牙电信则是另一成功案例。随着欧共体内部发生的变化,西班牙开放国内市场,使得竞争愈发激烈。在电信业也是如此,特别是在电信服务和长途电 话方面。目前,电信系统的异构性问题非常突出。由于使用不同的网络协议和不同的接入网通信方式(包括使用调制解调器的电话线网、直接连线的网络、移动通信 网等),要建立统一平台非常困难。过去只能通过在这些不同的系统之间建立两两专用接口的方式使它们在一个大环境中共存,但是这种工作方式的缺点是明显的, 系统的可变性非常差,任何系统变化都可能需要付出极大的代价。

  图1

CORBA 技术及其在电信领域中的应用
   为了设计一个能够较好满足上述需求的方案,他们比较了多种方案,最后确定选用CORBA技术。基于CORBA的新系统如上图1所示,其体系结构如下图2所示。

  图2

CORBA 技术及其在电信领域中的应用
    该系统使得公司有能力先做一些发布服务前的试验来吸引用户,而后再使这些服务成为商业服务。CPSA可以处理由于大量用户上网使用多媒体信息形成的大通信 量,可以在多种配置共存情况下管理系统,控制服务的整个生命周期。进一步地,可以运行多种服务的能力不仅可以优化人员组合,而且可以有效地保护已有投资。

  在CPSA系统中,CORBA技术是核心技术,它贯穿于系统的每一个部分中,整个系统是按照面向对象的方法进行设计和实现的。具体地说,所有前 端的操作器管理终端都需要访问CORBA服务器,中央服务器接收到来自终端的命令后,就执行相应的动作。在各种网络元素之间又是依靠CORBA实现通信 的,通过这种方式屏蔽网络协议和通信方式上的差异。由于采用CORBA系统的Java版本,使得用户想使用服务时可以方便地下载相应的软件和服务,从而可 以更有力地吸引用户。

  实施CPSA系统后,所带来的效益是明显的。在网络上发布一个CPSA系统的新版本的时间只需要1个月,用户下载相应软件直至安装结束只需要1 个小时,所节约的时间和费用是难以置信的。在新服务开发方面,002/004服务的设计、开发和发布仅用了3周的时间。另外,CPSA支持产品的全生命周 期,不仅可以支持从设计到发布,而且可以在有限用户范围内实施模块的组装和产品测试,并且可以在不影响其他服务的情况下,取消系统中某些服务。

  图3

CORBA 技术及其在电信领域中的应用
    国际上的许多大型电信公司在CORBA技术应用方面倾注了大量心血。Motorola公司于1998年底实施IRIDIUM计划,即铱星计划。在该计划中 共计发射64颗人造卫星,覆盖全球的无线通信,而其中所有的系统连接和管理均架构于CORBA结构上。AT&T公司组织的"分布对象日"会议上, 也专门讨论了如何将CORBA技术运用于AT&T公司的产品上的问题。在该公司提出的Vision2000体系结构中,就已经明确地包含了 CORBA平台,如上图3所示。其他如Bell Atlantic、MCI、Pacific Telesis和南新英格兰电信等都积极参加到这项工作中。

你可能感兴趣的:(网络应用,企业应用,领域模型,电信,中国电信)