CORBA对象生命周期_JSP编程

  我们知道,POA规范定义CORBA对象为具有标识、接口和实现的抽象实体。从客户机的角度来看,对象表示为对象引用,对象引用封装了对象接口类型和标识,并包含足够的信息来定位对象的实现。但从服务器的角度来看又怎样呢?

  1、伺服对象

  POA规范引入了伺服对象(servant)的概念,使抽象的CORBA对象能和实现该对象功能的具体编程语言实体彻底分离。这样从服务器的角度来看, CORBA对象是作为伺服对象实现的。要记住CORBA是与编程语言独立的体系结构。伺服对象可实现为C++或Java类,也可以实现为一系列的COBOL段或C函数。伺服对象的概念也有助于反映这种与编程语言的独立性。

  那么ORB如何为一到来的请求找出正确的伺服对象呢?在CORBA对象关键字和伺服对象之间必然有某种绑定。下面将探讨这种绑定并讨论应用程序如何能控制这种绑定。

  2、对象适配器

  CORBA体系结构定义了对象适配器的概念,用来处理应用程序和O R B如何交互来管理伺服对象和CORBA对象生命周期的问题。对象适配器的一个很好的定义来自Schmidt and Vinoski(1 9 9 7):"对象适配器是一CORBA组件,负责把CORBA的对象概念适配为编程语言的伺服对象概念。"前面已讨论过CORBA对象是抽象的,而伺服对象是具体的,那么这个定义就充分表达了这一点。

时间: 2024-08-28 16:30:15

CORBA对象生命周期_JSP编程的相关文章

CORBA对象生命周期之生命周期的评估

评估准则 我们已经地讨论了CORBA对象的生命周期,包括生命周期事件,对早期和后期绑定的讨论,以及CORBA对象实现的一般分类.显然,用户希望ORB提供的应用程序能支持所有这些CORBA对象生命周期不同方面的有效实现.ORB通过对象适配器(OA)来提供这种支持.下面定义了一系列的评估准则,通过这些准则可对对象适配器进行涉及CORBA对象生命周期有效支持的分析.然后用户采纳这些不同的评估准则,并把它们应用到BOA和POA代的对象适配器中. ·适配器结构-- 最为重要的方面是适配器的一般结构. ·对

CORBA对象生命周期之生命周期事件

对于CORBA对象,以下两个生命周期事件是很重要的: ·创建--CORBA对象的生命周期从创建事件开始.CORBA对象通常通过工厂对象创建,即由对象提供操作来创建新对象.回忆一下,在IDL级,CORBA并没有像构造器这样的静态函数概念. ·删除--CORBA对象的生命周期伴随着删除事件而结束.通常, CORBA对象可在它们的IDL接口中定义某种Delet()操作来删除.有时候,可通过其他对象来删除CORBA对象,例如,通过创建这些对象的工厂对象. 由于前面说过CORBA对象实际是由伺服对象来实现

探索CORBA对象生命周期之CORBA对象

我们知道,POA规范定义CORBA对象为具有标识.接口和实现的抽象实体.从客户机的角度来看,对象表示为对象引用,对象引用封装了对象接口类型和标识,并包含足够的信息来定位对象的实现.但从服务器的角度来看又怎样呢? 1.伺服对象 POA规范引入了伺服对象(servant)的概念,使抽象的CORBA对象能和实现该对象功能的具体编程语言实体彻底分离.这样从服务器的角度来看, CORBA对象是作为伺服对象实现的.要记住CORBA是与编程语言独立的体系结构.伺服对象可实现为C++或Java类,也可以实现为一

CORBA对象生命周期之早期和后期绑定

在伺服对象生命周期事件的定义中,已经说过伺服对象通过CORBA对象的ID依附于CORBA对象.下面会为BOA和POA代的ORB而分别讨论CORBA对象I D的概念,然而,伺服对象和CORBA对象之间的绑定的思想还是很重要的.对象适配器必须提供必需的接口,使我们能执行这种绑定.问题在于,是什么触发了真正的绑定:是某种标准应用程序逻辑还是来到的请求?下面首先介绍早期绑定,然后讨论后期绑定,或者说是通过命令的绑定. 1. 早期绑定 早期绑定通常描述的是某种标准应用程序逻辑通过对象适配器来执行绑定的情况

CORBA对象生命周期之对象实现的分类

前面我们已经讨论过伺服对象和Corba对象的不同生命周期事件以及伺服对象和Corba对象之间绑定创建的不同方式,现在从应用程序的角度来研究Corba对象实现的分类.这会帮助我们在下面的对BOA代和POA代ORB对象生命周期的讨论中能把重点放在应用问题上. 1. 伺服对象和状态 第一个分类和伺服对象的状态相关.基本上可以划分两类完全不同的伺服对象:无状态伺服对象和有状态伺服对象. 2. 无状态伺服对象 无状态伺服对象与内存中任一特定应用程序的状态没有关联.这并不是指由伺服对象实现的Corba对象必

深入探索CORBA对象生命周期之慨述

在服务器端,服务器的ORB在运行时从网络读取请求,并通过调用在第一个安装的消息拦截器上的receive_message( )开始处理请求.ORB用对象关键词以标识目标必须含有POA的名字,通过POA才能到达该对象.找到正确的POA后,下一步是寻找对象本身,这个工作如何完成取决于为对象的POA定义的策略.如果对象能够定位,ORB通过调用在第一个安装的请求拦截器上的target_invoke( )来继续处理请求,拦截器则使用DII函数invoke( )来依次继续处理请求,这在客户端中已经讨论过.这里

CORBA对象生命周期之实现和内存管理_JSP编程

根据伺服对象的状态把它们进行分类后,现在基于内存管理来定义Corba对象的分类.显然,这个讨论和伺服对象的生命周期密切相关.这里侧重于分类,所以只是简单地讨论一下内存管理问题,并在下面引入一通用管理模式. 1. 静态Corba对象 静态对象是在系统整个生命时期中存在的Corba对象.通常,这些对象是组件入口点例如, Corba命名服务必须提供一根命名上下文,用来创建新的命名层次.这个根命名上下文可归类为静态的,因为它始终存在.从内存管理的角度来看,静态对象的实现是很简单的.通常,静态对象可通过在

CORBA对象生命周期之实现和内存管理

根据伺服对象的状态把它们进行分类后,现在基于内存管理来定义Corba对象的分类.显然,这个讨论和伺服对象的生命周期密切相关.这里侧重于分类,所以只是简单地讨论一下内存管理问题,并在下面引入一通用管理模式. 1. 静态Corba对象 静态对象是在系统整个生命时期中存在的Corba对象.通常,这些对象是组件入口点例如, Corba命名服务必须提供一根命名上下文,用来创建新的命名层次.这个根命名上下文可归类为静态的,因为它始终存在.从内存管理的角度来看,静态对象的实现是很简单的.通常,静态对象可通过在

我所理解的Remoting(2):远程对象生命周期的管理[上篇]

1.CLR的垃圾回收机制 在.NET中提到对象的生命周期,我们会不由自主地想到CLR的垃圾回收.在运行一个.NET程序过程中,我们通过某种方式,比如通过new操作符,通过反序列化,通过反射机制,创建一个对象,CLR在为这个对象在托管堆中开辟一块内存空间.随着程序的运行,创建的对象越来越多,托管堆中的可用的内存越来越少,必须有一种机制来判断被分配在托管堆中的对象那些已经不被使用,以及进行对这些对象占用的内存进行回收.这种机制被称为CLR自动内存管理,也就是我们常说的垃圾回收.为了说清楚远程对象的生