CORBA对象生命周期之生命周期的评估-Java基础-Java-编程开发

CORBA概述 CORBA概述 原文链接:http://www.cs.wustl.edu/~schmidt/corba-overview.html stone (jiangtao@tao-studio.net)   CORBA概述 CORBA (Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构,通用物件需求代理架构)是 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

评估准则

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

·适配器结构-- 最为重要的方面是适配器的一般结构。

·对象标识-- CORBA系统中的对象标识不是小问题,必须仔细检验特定的ORB代如何为CORBA对象支持对象标识的概念。

·早期绑定-- 用户需要检验不同ORB代支持早期绑定的方式。这里值得注意的是绑定和伺服对象创建相互间有多大程度的关联。

·后期绑定-- 不同ORB为后期绑定提供的机制必须要检验,特别是关于用来支持持久对象的应用程序的有用性。

·无状态伺服对象-- 用户想要检验ORB代为实现无状态伺服对象而提供的支持。思路是对于无状态伺服对象,用户并不真正需要每个CORBA对象代表一个伺服对象实例-- 一个单独的伺服对象可以作为多个CORBA对象的瞬态胶囊,并在每个请求的基础上设定一个特别CORBA对象的标识。

·有状态伺服对象-- 正如前面讨论过的,对于有状态伺服对象,确保用户不必为每个请求重新激活这些伺服对象,并且激活伺服对象未超过某一阈值,这通常是很重要的。

评估BOA代

下面想在上述定义的每个与对象生命周期相关的评估准则下探讨基本对象适配器,说明对可移植对象适配器完成的工作。

1. BOA 体系结构

前面提过,BOA体系结构在很多方面是极其模糊的。应用程序要求用来有效管理对象生命周期的很多特征都不够具体。BOA定义了一些激活CORBA服务器和CORBA对象实现的函数。不幸的是,BOA侧重于服务器激活,而不是像后期绑定和动态对象激活这些重要的问题。BOA还为对象引用的生成和解释定义了一些函数。BOA隐含了伺服对象和CORBA对象间的一对一关系,即对于特定服务器支持的每个CORBA对象要求有一专用的伺服对象实例。

因为BOA规范过于模糊,所以本文使用IONA Technologies Orbix 2.x ORB作为参考实现。同样,我们的目的不是要给出不同BOA代ORB的全面比较,而是使用ORB作为例子来讨论一般的概念。

2. 对象标识

BOA代的ORB把对象引用和创建时的引用数据相关联。引用数据是8位位组序列,并由ORB控制。这就使在遵循CORBA的方式中提供应用程序定义的对象I D变得困难。Orbix ORB提供了_marker() API来为CORBA对象指明应用程序定义的引用数据。marker是一字符串,由应用程序提供,并作为引用数据的一部分由ORB存储。

3. 早期绑定

如前所述,大多数BOA代ORB在客户端桩类层次和服务器端框架类层次之间提供了紧密的耦合。这样做的结果是伺服对象的创建通常会间接导致对象的激活,因为伺服对象继承了构造方法,这个构造方法能间接在伺服对象和ORB运行时模块之间创建绑定。这就暗示,如果用户想把对象引用返回给客户机,也就要创建和激活伺服对象实例,即使用早期绑定。

4. 后期绑定

BOA结构并没有定义ORB和应用程序之间如何交互以支持后期绑定,或是通过命令进行对象激活。因此,本文把Orbix ORB作为BOA ORB如何论述这个问题的例子。

Orbix ORB使用图3所示的装载器机制来支持后期绑定。如前所述,装载器扮演伺服对象管理器的角色。基本思想是应用程序把装载器实例注册到ORB运行时模块。ORB运行时模块在对象故障的情况下依次激活装载器上的load( )方法。这就给了装载器一个机会来激活请求对象,这样ORB就可以分派它。

应用程序的职责是决定伺服对象是只为特定的请求服务还是为后面的请求继续保持激活。ORB i x装载器特征可被应用程序用来实现为对象伺服对象池模式,而这些对象可用命令,即持久对象激活。

5. 无状态伺服对象

BOA代ORB实现并没有为无状态伺服对象提供特别的支持。基本上, CORBA对象和伺服对象之间一对一的关系暗示着必须为每个CORBA对象激活一个伺服对象。根据实例化和激活一无状态伺服对象的花费,用户要决定它是否值得实现为池模式,以减少对象激活/冻结的次数。这包括调查由ORB强加的伺服对象激活和冻结的开销,以及和应用程序相关的花费。问题在于从性能的角度来看是在每个请求的基础上激活伺服对象昂贵,还是维护一对象池昂贵。

6. 有状态伺服对象

前面讨论过,对于有状态的伺服对象,伺服对象的激活/冻结是很昂贵的,特别是如果它包括了数据库的查找。在这种情况下,把后期绑定和对象池结合起来就很有意义。因为BOA规范在这里不是很明确,所以必须为后期绑定而依赖于专有的ORB支持,象ORBix装载器。

[1] [2]

构件驱动软件开发CBSD与CORBA构件模型 基于构件的开发模型将软件系统分解为独立的构件(也称为组件或模块),每个构件都具有明确定义的功能和接口。构件驱动软件开发(CDSD)是一种现代化的软件开发方法,通过构件的重用和组合,提升了开发效率和软件质量。- **COTS定义**:商业现成软件(Commercial Off-The-Shelf Software)是指市场上可购买的、现成的软件产品。- **依赖性**:依赖于第三方供应商的支持和更新,可能面临供应商锁定的问题。- **成熟性**:COTS产品经过市场验证,通常具有较高的稳定性和可靠性。 阅读详情

相关推荐

13、JavaIDL:通向CORBA的Java接口

本文深入介绍了JavaIDL与CORBA的相关知识,涵盖了CORBA的基本概念、服务功能、IDL到Java的映射规则、服务器和客户端的创建、回调机制、与现有对象的整合等内容。通过代码示例和操作步骤,展示了如何在Java中使用CORBA进行分布式系统开发。同时对比了CORBA与RMI的优缺点,为开发者在不同场景下的技术选型提供了参考。

rgv2345678的博客 121

CORBA对象生命周期之早期和后期绑定-Java基础-Java-编程开发

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/javascript"

java专栏 374

6、面向对象中间件:CORBA 3 深入解析

本文深入解析了面向对象中间件中的 CORBA 3 技术,涵盖了组件类型、容器编程模型、与企业 JavaBeans(EJB)的集成、CORBA 对象服务(如事件、通知、持久化、安全等服务)、OpenORB 工具套件、OMG 技术委员会的组织结构及工作进展状态、建模规范以及模型驱动架构(MDA)等内容。文章旨在为使用 CORBA 开发的分布式 Java 应用程序提供全面的技术指导,并探讨如何通过标准化模型提升应用程序开发、集成与管理的效率和互操作性。

v4w5x6的博客 84

深入探索CORBA对象生命周期之慨述-Java基础-Java-编程开发

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/javascript"

java专栏 293

14、CORBA开发中的对象引用与内存管理全解析

本文深入解析了CORBA开发中的对象引用与内存管理机制,详细介绍了C++和Java中对象引用的使用与管理方式,以及空对象引用的处理方法。同时,探讨了工厂设计模式在分布式系统中的应用,分析了其在不同编程语言中的实现差异,并结合示例说明了工厂对象与对象引用的结合使用。文章旨在帮助开发者更好地理解CORBA的核心概念,并在实际开发中合理应用相关技术。

web39explorer的博客 72

13、CORBA 内存管理与对象引用全解析

本文全面解析了CORBA中的内存管理规则、对象引用机制以及IDL接口的语法特性。从C++内存管理规则到CORBA对象引用的生命周期,再到IDL接口的设计与使用,内容覆盖广泛且深入,旨在帮助开发者更好地理解和应用CORBA进行分布式系统开发。

web39explorer的博客 80

CORBA

IDL是CORBA定义的一种接口定义语言,并且CORBA定义了IDL到各语言的映射关系(Ada,C,C++,Smalltalk,Java,Python),通过映射关系实现跨语言。IDL框架包含四种元素:模块:含有许多按功能进行分组的接口,形成附加的分层架构。接口:定义数据和操作,供客户使用。操作:表示客户可以调用的、处于对象中的服务。数据类型:描述参数、属性、返回值以及异常等的允许值。

qq_61521488的博客 2179

C++ CORBA高级编程实践:源代码详解

随着计算机网络技术的飞速发展,分布式计算应运而生,成为了现代软件开发中的一个重要方向。CORBA(Common Object Request Broker Architecture)即通用对象请求代理体系结构,它是OMG(Object Management Group)组织在1991年提出的一项旨在实现分布式对象系统互操作性的国际标准。CORBA通过一个中间件层来连接位于不同网络环境下的各种对象,使得这些对象能够无缝通信,共同协作完成复杂的任务。

weixin_42452483的博客 1163

分布式CORBA简介

  1.CORBA:Common Object Request Broker Architecture,通用对象请求代理体系。是由对象管理组(Object Management Group, OMG)制定的一种标准的面向对象分布式应用程序体系规范,旨在为异构分布式环境中,硬件和软件系统的互联而...

qq_42521345的博客 648

CORBA分布式开发入门实战

在分布式系统开发中,接口定义语言(Interface Definition Language,简称IDL)是CORBA技术体系的核心组成部分。IDL不仅定义了服务端和客户端之间的通信契约,而且通过其跨语言、跨平台的特性,实现了分布式对象间的无缝交互。本章将深入解析IDL的编写规范,涵盖其语法基础、与实现语言的映射规则、高级特性以及最佳实践,帮助开发者构建高效、可维护的CORBA系统接口。long age;逻辑说明定义了一个包含name和age字段的结构体。

weixin_42418754的博客 1282

Cadence OrCAD常见引脚错误排查指南:从原理图到封装的完整解决方案

本文详细解析Cadence OrCAD设计中常见的引脚错误问题,提供从原理图到封装的系统化解决方案。涵盖错误诊断、元件库修复、封装管理及自动化处理技巧,帮助工程师高效解决ORCAP-36022等典型错误,确保设计流程顺畅。

weixin_29294975的博客 258

基于CORBA的分布式程序设计(Advanced CORBA Distributed Programming)(二)

第二章 CORBA 的核心2.1基本概念:1、ORB(Object Request Broker)对象请求代理:它作为一个“软件总线”来连接网络上的不同对象,提供对象的定位和方法调用,它是CORBA实现的关键。 2、OA(Object Adapter)对象适配器:用于构造对象实现与ORB之间的接口。它给框架发送方法,调用并且支持服务器对象的生命周期(如:对象的创建和删除)。 3、B

helloworlder的专栏 3265

树莓派5搭建ROS1开发环境:从系统安装到环境变量配置

本文详细指导如何在树莓派5上搭建ROS1开发环境。针对树莓派OS非标准安装路径导致的常见CMake报错问题,提供了从系统烧录、一键安装ROS到关键环境变量配置的完整解决方案,确保工作空间能成功编译,助力机器人项目开发。

weixin_29159127的博客 385

分布式系统学习(七)——CORBA

中间件方案的两种编程抽象:分布式对象和组件 分布式对象中间件 允许使用面向对象的编程模型开发分布式系统,可由远程方法或者分布式事件调用对象通信。该类方案提供了中间件方案的规约,允许开发者只关注规约接口,同时支持扩展。基于分布式对象的中间件解决方案有Java RMI和CORBA。 分布式对象中间件的限制: 隐式依赖: 中间件不透明,编程复杂 无部署支持 基于组件的中间件 由基于对象方法的中间件演...

DadaBlog 620

解决创建conda环境时Solving environment: failed 和 ResolvePackageNotFound 的错误

环境配置文件是在别的机器上导出的,文件里的软件包是按照导出文件的机器配置的,因此导出的时候,把这些包的详细信息也导了出来,即第二个等号后面跟着的信息,当我们按照这个文件创建环境时,conda就会根据我们机器的配置信息,按照配置文件里包的详细信息,去找这个包,那当然找不到,结果发现“查无此包”,因此也就会报上面的错误。上面找到了问题的所在之处,解决起来就很简单了,只需要在配置文件 environment.yml 中将包的详细信息删除,也就是第二个等号后面的内容。然而升级超级慢不说,也没有解决我的问题。...

番茄炒蛋三分糖 4万+

开源低场MRI系统构建:从原理到三天实现

磁共振成像(MRI)作为现代医学影像的核心技术,其高场强系统存在成本和技术门槛问题。低场MRI通过开源硬件和模块化设计实现技术民主化,采用永磁体替代超导磁体可大幅降低系统复杂度。本文以H型永磁体设计为例,结合MaRCoS开源控制库和PyPulseq脉冲序列工具,展示了如何快速构建教育级MRI系统。关键技术包括遗传算法优化的匀场方案、CNC加工的梯度线圈,以及基于Red Pitaya的SDR控制架构。这种轻量化方案特别适合医学物理教学和脉冲序列开发验证,为MRI技术在资源有限地区的普及提供了新思路。

weixin_30470643的博客 449

CORBA简介

1.CORBA:Common Object Request Broker Architecture,通用对象请求代理体系。是由对象管理组(Object ManagementGroup, OMG)制定的一种标准的面向对象分布式应用程序体系规范,旨在为异构分布式环境中,硬件和软件系统的互联而提出的一种解决方案。 2.解决异构分布式系统两条主要原则: (1).寻求独立于平台的模型和抽象,这样有助于解

phymat.nico的专栏 1084

VSCode + Clangd 配置避坑实录:从‘红波浪线’到完美代码提示的完整心路

本文详细记录了VSCode与Clangd配置过程中的常见问题及解决方案,从编译数据库生成到参数调优,帮助C++开发者快速解决代码提示失效、头文件找不到等问题,实现完美代码补全体验。重点介绍了Clangd与LLDB的集成配置及性能优化技巧,适用于Linux和跨平台开发环境。

weixin_28829479的博客 493

【Java】已解决:`org.omg.CORBA.portable.RemarshalException`

CORBA是一种用于分布式计算的中间件,它允许不同平台、语言的应用程序互相通信。当客户端调用远程对象的方法时,如果中间的网络或服务器出现问题,或者需要重新发送请求,可能会抛出。CORBA客户端库会在后台处理这种情况,但在某些情况下,异常会冒泡到应用程序中,导致开发者需要手动处理。本文将深入探讨该异常的背景、可能的原因,并通过错误代码和正确代码示例,帮助开发者解决这一问题。,我们可以在捕获到该异常后尝试重新执行远程方法调用,确保操作的可靠性。,提高分布式应用程序的可靠性。在编写代码时,为了有效处理。

屿小夏.的知识博客 1502

HFSS实战:手把手教你设计微带发夹线滤波器(附完整参数计算流程)

本文详细介绍了使用HFSS设计微带发夹线滤波器的完整流程,包括参数计算、HFSS建模和优化策略。通过实战案例,帮助读者掌握微波滤波器设计的核心技巧,特别是奇偶模阻抗计算和HFSS仿真中的关键设置,适用于通信系统设计和射频工程应用。

weixin_29251567的博客 441

【红绿灯识别】基于计算机视觉实现道路信号灯检测识别系统附Matlab代码

随着自动驾驶技术的快速发展,对道路交通信号灯的检测识别技术也提出了更高的要求。本文提出了一种基于计算机视觉的道路信号灯检测识别系统,该系统能够准确地检测和识别道路交通信号灯,并输出信号灯的颜色信息。该系统采用深度学习方法,利用卷积神经网络(CNN)对道路交通信号灯进行检测和识别。实验结果表明,该系统能够在复杂的环境中准确地检测和识别道路交通信号灯,具有较高的实用价值。道路交通信号灯是道路交通管理的重要组成部分,它能够有效地组织交通,提高道路通行效率,保障交通安全。

qq_59747472的博客 341

分布式计算的里程碑:CORBA技术解析

摘要: CORBA(通用对象请求代理体系结构)是OMG制定的分布式对象计算标准,通过ORB中间件实现异构系统间的互操作。其核心包括IDL接口定义语言、GIOP/IIOP通信协议及POA对象适配器,支持跨语言调用和公共服务(如命名、安全)。虽因复杂性、互操作性等问题被SOAP、REST取代,但IDL等设计思想深刻影响了后续技术(如gRPC)。CORBA现多用于遗留系统,仍是分布式系统发展史上的重要里程碑。(149字)

luotuo28的博客 1098

【OpenClaw从入门到精通】第11篇:OpenClaw 2026多模态实战全攻略:OCR/语音/图像自动化(附完整代码+双部署方案)

本文聚焦OpenClaw 2026版核心升级的多模态能力,从底层架构原理到实操落地全流程拆解。先解析“统一指令解析+多工具适配器”的核心设计逻辑,再提供阿里云规模化部署(适合批量任务)与本地汉化版部署(适合隐私数据调试)的详细步骤,含依赖安装、配置验证完整操作;随后落地三大高频实战场景——OCR合同信息结构化提取、会议录音自动转写纪要、电商商品图片智能打标,每个场景均提供可直接运行的完整代码、执行结果演示及流程说明;最后补充多模态任务避坑指南、性能优化技巧与成本控制方案。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2614

CORBA ORB POA ACE TAO

1. CORBA    是协议, 是规范2. ACE    是一组C++函数库集合3. TAO    TAO是一种C++ ORB和POA, 实现基于ACE。(应该是CORBA的一个实现)4. ORB, (我觉得也是一种协议??)    ORB 对象请求代理 (ORB) 是 CORBA 的核心组件。CORBA 对象之间从不直接进行通信,对象通过远程桩对运行在本地计算机上的 ORB 发出请求。本地 O

程序员码工的专栏 3177

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Corba介绍

Corba CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范。或者说 CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案。   简介 基本情况 OMG成立于1989年,作...

绝圣弃智-零的博客 2735

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

CORBA对象生命周期之实现和内存管理-Java基础-Java-编程开发

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/javascript"

java专栏 316
上一篇: 把WebLogic EJB程序迁移到JBoss上-Java基础-Java-编程开发
下一篇: 制作Windows mobile下软件安装包-Java基础-Java-编程开发
java169
博客等级 码龄18年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值