CORBA的详细定义
CORBA的详细定义
公用对象请求代理(调度)程序体系结构(Common Object Request Broker Architecture),缩写为 CORBA,是对象管理组织(Object Management Group)对应当今快速增长的软硬件的协同工作能力的要求而提出的方案。简而言之,CORBA 允许应用程序和其他的应用程序通讯,而不论他们在什么地方或者由谁来设计。CORBA 1.1 由对象管理组织在 1991 年发布。他定义了接口定义语言(IDL)和应用编程接口(API),从而通过实现对象请求代理(ORB)来激活客户/服务器的交互。CORBA 2.0 于 1994 年的 12 月发布。他定义了如何跨越不同的 ORB 提供者而进行通讯。
ORB 是一个中间件,他在对象间建立客户-服务器的关系。通过 ORB,一个客户可以很简单地使用服务器对象的方法而不论服务器是在同一机器上还是通过一个网络访问。ORB 截获调用然后负责找到一个对象实现这个请求,传递参数和方法,最后返回结果。客户不用知道对象在哪里,是什么语言实现的,他的操作系统以及其他和对象接口无关的东西。
在传统的客户/服务器程序中,开发者使用他们自己设计的或者公认的标准定义设备之间的协议。协议的定义依赖于实现的语言,网络的传输和其他许许多多因素。ORB 将这个过程简单化。使用 ORB,协议定义是通过应用接口,而该接口是接口定义语言(IDL)的一个实现,他和使用的编程语言无关的。并且 ORB 提供了很大的灵活性。他让程序员选择最适当的操作系统,运行环境和设计语言来建设系统中每个组件。更重要的是,他允许集成已经存在的组件。
CORBA 是在面向对象标准化和互操作性道路上的一个信号。通过 CORBA,用户不必要知道软硬件的平台和他们处在企业网的什么地方就可以操作。
基于CORBA应用的优点
---- 使用CORBA到底有什么好处呢?就像不同部门间需要协同工作来获取最大利润一样,不同的计算机应用之间也需要协同工作。CORBA能完成这些任务。它是开放式的、独立于厂商、用于网络上计算机应用的底层结构。任何厂家、计算机、操作系统、编程语言及网络环境下的基于CORBA的应用均使用IIOP标准协议,所以任何基于CORBA的应用均能协同工作。
---- 在小型的Client/Server模式的应用系统中使用CORBA,能给系统提供可靠的、标准的底层结构。可以使用CORBA来构建、运行在不同平台上的、用不同编程语言实现的客户端及服务器端的应用程序。如果企业广泛使用基于CORBA的应用,会带来巨大的商业利益。企业中的不同的应用系统都有不同的功能,能够处理不同的数据,这些系统如果能结合起来协同工作,就会产生更大的商业价值。如果应用系统都是用CORBA来实现,就可以容易地移植到网上,企业内部可以通过网络协同工作,产品订货单就会滚滚而来了。
---- 随着业务的不断扩展,公司的电子商务站点的负载会不断增大,总有一天负载量会超过系统预先设计的支持能力。可以使用CORBA来制作基于对象模型的服务器端的应用系统,解决系统负载的问题。考虑到当前的负载及以后可能达到的负载情况,可以选择ORB,它可以在多个服务器之间实现负载均衡。它是基于OMG可移动对象适配器的,当系统负载较重时(比如运行基于Web的应用),可以更充分地利用系统硬件资源。
---- 如果应用系统需要很高的稳定性(比如股票或证券方面的应用),可以利用CORBA提供的容错机制。CORBA的容错机制不仅能实现负载均衡,还能使每一个对象同时在两个或多个服务器上运行,当其中的一个出现故障时,系统能自动切换到另一个服务器。如果多个服务器的硬件配置相同,服务器会拥有很高的稳定性。
---- CORBA对象可以用任何一种CORBA软件开发商所支持的语言,如C、C++、Java、Ada和Small talk等等来编写。同样,CORBA对象可以运行在任何一种CORBA软件开发商所支持的平台上,如Solaris、Windows 95/NT、Open VMS、Digital Unix、HP-UX 或AIX 等。这意味着可以在Windows 95下运行Java应用程序,同时动态调入并使用C++对象,而实际上该对象可能存储于一个在Internet上的Unix Web服务器上。
---- 目前,对于较为流行的编程语言(包括C++、Smalltalk、Java和Ada 95),已经有了许多第三方的ORB。随着其他语言的逐渐流行,CORBA开发商毫无疑问地要做出相应的ORB来支持它们。
CORBA应用前景
---- 成上千万的站点依赖于CORBA搭建企业应用、Internet应用及其他应用,有许多成功使用CORBA的案例。
---- CNN正在使用一个基于CORBA事件服务的应用系统。系统用于把那些不同来源的、不同格式的、不同类型的机器上的大量新闻资料分发给所有的新闻编辑。新闻编辑再利用一个自动过滤程序来审核这些发来的消息,并把那些与自己工作方向相符合的重要稿件做上标志,过滤出来。波音公司把接收订单、制造、交货和维修4个最重要的制造系统方面的应用集成在一个综合的CORBA底层结构上,这些系统担负着飞机生产的整个过程。Charles Schwab公司构建了一个基于CORBA的商业应用,利用该系统来与5000个客户保持联系,处理的业务额高达数亿美元。
---- 对象中间件技术发展迅速,各大软硬件厂商都在积极参与有关标准的制定和产品开发工作,像IBM、HP、DEC、AT&T、ICL、Microsoft等都制定了相应的战略。许多对象中间件的专门厂商也相继诞生,未来的对象中间件市场将会出现群雄逐鹿的局面