| EJB、DCOM、CORBA
| |
| ---- 90年代出现的分布式对象技术为网络计算平台上软件的开发提供了强有力的解决方案。目前,分布式对象技术已经成为建立服务应用框架和软件构件的核心技术,在开发大型分布式应用系统中表现出强大的生命力,逐渐形成了3种具有代表性的主流技术,即Microsoft的COM/DCOM技术、Sun公司的Java技术和OMG的COBRA技术。本期访谈,中国科学院软件研究所对象技术研究开发中心李京主任将带我们一起去看看—— 分布对象技术的新进展 本刊记者 郭弘 ---- 问:分布对象技术是如何产生出来的呢?它的概念是什么? ---- 答:应该说,分布对象技术是伴随网络而发展起来的一种面向对象的技术。以前的计算机系统多是单机系统,多个用户是通过联机终端来访问的,没有网络的概念。网络出现后,产生了Client/Server的计算服务模式,多个客户端可以共享数据库服务器和打印服务器等等。随着网络的更进一步发展,许多软件需要在不同厂家的网络产品、硬件平台、网络协议异构环境下运行,应用的规模也从局域网发展到广域网。在这种情况下,Client/Server模式的局限性也就暴露出来了,于是中间件应运而生。中间件是位于操作系统和应用软件之间的通用服务,它的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能够比较平滑地运行于不同平台上。同时中间件在负载平衡、连接管理和调度方面起了很大的作用,使企业级应用的性能得到大幅提升,满足了关键业务的需求。但是在这个阶段,客户端是请求服务的,服务器端是提供服务的,它们的关系是不对称的。随着面向对象技术的进一步发展,出现了分布式对象技术。可以这么说,分布式对象技术是随着网络和面向对象技术的发展而不断地完善起来的。90年代初CORBA 1.0标准的颁布,揭开了分布式对象计算的序幕。 ---- 分布对象计算中,通常参与计算的计算体(分布对象)是对称的。分布对象往往又被称为组件(Component),组件是一些独立的代码的封装体,在分布计算的环境下可以是一个简单的对象,但大多数情况下是一组相关的对象复合体,提供一定的服务。分布环境下,组件是一些灵敏的软件模块,它们可以位置透明、语言独立和平台独立地互相发送消息,实现请求服务。 ---- 问:您提到,分布对象技术随着面向对象技术的发展而不断地成熟与完善起来,那么,分布对象技术与传统的面向对象的技术有什么本质不同? ---- 答:我们知道,传统的面向对象技术有两个基本的特点:封装性和继承性,通常其强调的是代码复用,对象往往仅存在于一个程序中,程序的外界并不可能感知和访问这些对象。而分布式对象技术主要使用了面向对象技术的封装性,组件可以分布在网络的任何位置。对外界来说,它所需关心的只是组件的界面,至于内部是如何实现的则无需考虑,远程客户通过方法调用来访问它。这是分布式对象技术和传统的面向对象技术的最大的不同点。 ---- 此外,分布对象计算系统中都不支持跨站点的继承性,例如,假设对象1是对象2的一个特例,而2个对象将要分布在不同站点上,如果完全按照面向对象的概念的话,对象1可以继承对象2的代码和数据;但是在分布式环境下,对象1要想继承对象2的代码和属性是非常困难的,没有任何一个分布系统能够支持这种继承性,因为实现代价太大。 ---- 另外,在分布式对象里我们一般不提对象,而提组件。那么,组件和对象有什么区别呢?我们知道,在面向对象技术里可以有很小的一个对象,比如说一个邮政编码做一个对象;但在分布对象计算中,我们往往会把一些小的相关的对象组合在一起,形成一个相对比较大的组件,通过这个组件来提供一系列的服务。 ---- 问:我们知道,目前分布式对象技术有3种主流技术——COM、Java和COBRA,请您谈一下这3种技术是如何发展起来的?各自的特点是什么? ---- 答:目前国际上,分布式对象技术有三大流派——COBRA、COM/DCOM和Java。CORBA技术是最早出现的,1991年OMG颁布了COBRA 1.0标准,在当时来说做得非常漂亮;再有就是Microsoft的COM系列,从最初的COM发展成现在的DCOM,形成了Microsoft一套分布式对象的计算平台;而Sun公司的Java平台,在其最早推出的时候,只提供了远程的方法调用,在当时并不能被称为分布式对象计算,只是属于网络计算里的一种,接着推出的JavaBean,也还不足以和上述两大流派抗衡,而其目前的版本叫J2EE,推出了EJB,除了语言外还有组件的标准以及组件之间协同工作通讯的框架。于是,也就形成了目前的三大流派。 ---- 应该说,这三者之中,COBRA标准是做的最漂亮的。COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的“软总线”;在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。总之,CORBA的特点是大而全,互操作性和开放性非常好。目前CORBA的最新版本是2.3。CORBA 3.0也已基本完成,增加了有关Internet集成和QoS控制等内容。CORBA的缺点是庞大而复杂,并且技术和标准的更新相对较慢,COBRA规范从1.0升级到2.0所花的时间非常短,而再往上的版本的发布就相对十分缓慢了。 ---- 相比之下,Java标准的制订就快得多,Java是Sun公司自己定的,演变的很快。Java的优势是纯语言的,跨平台性非常好。Java分布对象技术通常指远程方法调用(RMI)和企业级JavaBean(EJB)。RMI提供了一个Java对象远程调用另一Java对象的方法的能力,与传统RPC类似,只能支持初级的分布对象互操作。Sun公司于是基于RMI,提出了EJB。基于Java服务器端组件模型,EJB框架提供了像远程访问、安全、交易、持久和生命期管理等多种支持分布对象计算的服务。目前,Java技术和CORBA技术有融合的趋势。 ---- COM技术是Microsoft独家做的,是在Windows 3.1中最初为支持复合文档而使用OLE技术上发展而来,经历了OLE 2/COM、ActiveX、DCOM和COM+等几个阶段,目前COM+把消息通讯模块MSMQ和解决关键业务的交易模块MTS都加进去了,是分布对象计算的一个比较完整的平台。Microsoft的COM平台效率比较高,同时它有一系列相应的开发工具支持,应用开发相对简单。但它有一个致命的弱点就是COM的跨平台性较差,如何实现与第三方厂商的互操作性始终是它的一大问题。从分布对象技术发展的角度来看,大多数人认为COM竞争不过COBRA。 ---- 目前我们经常谈到的分布式对象技术主要就是这3种,涉及到它的模型、规范、标准和实现。3种分布对象技术的详细比较可参见附表。 ---- 问:据说,国外软件厂商像Oracle、Sybase、Lotus等纷纷宣布其软件产品中采用了分布对象技术,并呈现出很好的应用势头。那么,分布式对象技术有哪些应用?如何应用呢?有人说,我国在分布式对象技术领域基本与国外处在同一起跑线下,您对此怎么看?介绍一下我国的情况,以及分布式对象技术的新进展。 ---- 答:Oracle、Sybase和Lotus等国外软件产商均在其主流产品中支持CORBA、EJB和DCOM技术以支持企业级应用和Web应用,这些产品在企业ERP和电子商务中均得到大量的应用。 ---- 分布对象技术在比较大型的网络系统中应用较多,比如像医学方面的医学信息系统、银行业、交通、电信,几乎各行各业都有成功的例子,但在国内成功的比较少。 ---- 分布对象技术应用起来比较复杂,因为这种软件通常都比较庞大,涉及到网络、对象技术等多种技术,尤其是COBRA,系统开发比较困难。分布式系统通常采用组合框架软件(Component Software)方法进行开发或集成,是基于软件体系结构的集成,只有特殊需求的组件才需要新开发,与其他组件在集成框架下集成为一个整体。当然使用组合框架软件进行分布式系统开发需要一整套方法、工具和平台的支持。 ---- 国外利用分布对象技术开发的大型应用相对传统方法也不是很多,除了开发难度较大外,我想这里面还有这样一个原因,那就是人们都喜欢用成熟的技术。而在大型软件采用分布对象技术,在项目开发过程的控制方面的经验不足,从一定程度上限制了分布对象技术的应用。对于分布式对象计算这样的应用来说,需要有一系列方法论、软件工程的方法和工具。如果不从开始就按照面向对象的方法来设计,利用面向对象的方法论和工具来支持的话,很难做成一个成功的分布式应用。 ---- 我个人不赞成处于同一起跑线上这一说法。我认为,在分布式对象技术方面,我国和国外的差距还是全面的,应该说国内一直在跟踪这个技术,也在研究开发方面加入了一些中国特色,比如通讯方面,中国的通讯线路不太好,我们就专门针对通讯模块做了改进。说差距是全面的,首先所有分布对象技术的标准均是国外组织和企业制定的;第二在支撑平台上,国外有名的产品已不下百种,而中国除了少数几个科研院所和公司有一些原型外,基本没有自己的产品;第三,成功的应用太少。一般说来,网络分布式应用的第一代模式叫Client/Server模式,第二代叫3层Client/Server模式,第三代叫分布式对象模式,目前国外基本上已经从第二代向第三代过渡,电子商务的兴起将加速这一进程。而我国目前大型应用还主要是简单Client/Server结构,但越来越多地采用3层Client/Server的模式。 ---- 谈到分布式对象技术的新进展,目前国外的一个进展就是将分布对象计算与Web 以及嵌入式移动计算结合在一起,另外就是和中间件(如交易中间件、通讯中间件等)的结合。例如COBRA新的标准里加入了Internet服务和消息服务,消息服务可以支持异步的方法的调用,可以提高程序的吞吐量,并行能力的加强提高了系统整体的性能,并增加了系统的灵活性。 ---- 问:有人说,分布式对象技术的发展方向是智能Agent技术,这种说法您怎么看?请您谈一下分布式对象技术将来的发展趋势? ---- 答:我认为,分布式对象技术和Agent技术具有一些共性,它的某一个分支可能会发展成智能Agent,但智能Agent技术不能代表分布式对象技术的全部。Agent通常包含2个含义:第一,Agent较普通组件具有更高的自主性,能够对周围环境具有一定的赶制性,第二,Agent可以理解为移动组件,它可以根据需要在网络节点间移动。 ---- 分布对象技术中,有关其软件体系结构及开发方法上还有许多研究课题,此外如何通过统一的方式集成不同标准的组件也是未来值得研究的课题。分布对象技术将会向智能化、小型化和标准融合的方向发展,并将在移动计算和电子商务的应用中发挥巨大的作用。 ---- 责任编辑:郭弘guo_hong@ccw.com.cn ---- 责任美编:王战辉 wang_zhanhui@ccw.com.cn 附表 3种分布对象技术的比较 ---- 集成性:集成性主要反映在基础平台对应用程序互操作能力的支持上。它要求分布在不同机器平台和操作系统上、采用不同的语言或者开发工具生成的各类商业应用必须能集成在一起,构成一个统一的企业计算框架。这一集成框架必须建立在网络的基础之上,并且具备对于遗留应用的集成能力; ---- 可用性:要求所采用的软件构件技术必须是成熟的技术,相应的产品也必须是成熟的产品,在至关重要的企业应用中能够稳定、安全、可靠地运行。另外,由于数据库在企业计算中扮演着重要角色,软件构件技术应能与数据库技术紧密集成; ---- 可扩展性:集成框架必须是可扩展的,能够协调不同的设计模式和实现策略,可以根据企业计算的需求进行裁剪,并能迅速反应市场的变化和技术的发展趋势。通过保证当前应用的可重用性,最大程度地保护企业的投资。 CORBA/ORB ActiveX/DCOM EJB/RMI 集成性 支持跨语言操作 好 好 一般 支持跨平台操作 好 一般 好 网络通讯 好 一般 好 公共服务构件 好 一般 好 可用性 事务处理 好 一般 一般 消息服务 一般 一般 一般 安全服务 好 一般 好 目录服务 好 一般 一般 容错性 一般 一般 一般 产品成熟性 一般 一般 一般 软件开发商的支持度 一般 好 好 可扩展性 好 一般 好 | |
相关推荐
深入中间件技术:COM、CORBA、EJB与RMI实验与源码解析
中间件技术位于操作系统和应用程序之间,它为应用程序提供了一组标准的服务,以简化分布式系统的设计、实现和部署。根据功能的不同,中间件通常可以被分为以下几类:消息中间件、交易中间件、对象中间件、数据访问中间件等。COM是一种二进制接口规范,允许在不同的编程语言和环境之间共享和复用代码。与传统的库调用不同,COM采用了一种面向对象的设计,使得组件可以以透明的方式进行交互。它的核心思想是组件化,即把一个大问题分解成多个小问题,每个小问题由一个独立的组件来解决。
CORBA、 EJB(JavaEE规范)、WebService比较
CORBA和EJB 1.工业标准: 都是。很多厂商共同遵守。 2.提供的基本支撑: (1)构件化: CORBA提供半自动的构件运行环境,开发人员除了开发构件还要开发POA(相当于Skeleton) EJB:由容器提供构件运行环境。自动化。 (2)互操作 都是基于Stub/Skeleton模型。 CORBA的互操作优势特别突出,除了跨平台,还跨语言。 EJB
告别复杂配置!5分钟在Vue/React项目中集成讯飞语音听写WebSocket API
本文详细介绍了如何在Vue/React项目中快速集成讯飞语音听写WebSocket API,实现高效语音识别功能。通过对比不同通信方案,突出WebSocket在实时语音交互中的优势,并提供框架适配、音频处理及性能优化等关键技术点,帮助开发者5分钟内完成专业级语音听写功能集成。
第十一章 EJB对抗CORBA?有趣的假设
"组件模型的两大巨头终将对决?"什么是.NET?我们可以从各种技术角度探讨.NET,NET的技术书籍也可以撰写成几十本、甚至是上百本。但是Microsoft提倡.NET,最重要的目的是提供一个足以和Java平台对抗的"企业平台"(Enterprise Platform)。Microsoft希望企业能够使用.NET作为企业应用系统的核心平台,根据这个企业核心平台再开发各种应用系统,连接新式的移动设备
【开关电源篇】整流及其滤波电路的工作原理和设计指南-超简单解读
半波整流是一种利用二极管的单向导通特性,将交流电转换为直流电的基础电路。它通过“切除”交流电的半个周期,仅保留另外半个周期来实现整流。1 开关电源超快学习思路点击跳转1.1开关电源的原理、结构和实物入门篇-超简单解读点击跳转1.2开关电源的EMI输入电路-超简单解读点击跳转倍压整流适用于需要高电压、小电流的特殊场合,通过电容充放电实现电压倍增。
英飞凌 AURIX 系列单片机的HSM详解(1)——何为HSM
1. 概述 随着汽车上通信系统越来越复杂,云端远程通信的场景越来越多,信息安全变得越来越重要,在通信领域常用的AES、SHA、RSA等加密算法被越来越多地应用到汽车上。但通常这类加解密算法都需要大量的数学运算,需要消耗很多CPU时间和资源,汽车上的ECU又有比较高的实时性要求,为了节省主CPU的资源,HSM应运而生。 HSM(Hardware Security Module),是MCU上专门用于实现加解密算法的一个外设,它一般会有一个独立的CPU,专门用来进行加解密运算,还有一些针对特定算法的硬件加速器(如
EJB与CORBA的集成
在本文中,我将说明如何从一个非JAVA语言编写的应用中访问EJB。更加特别地是,我将讨论从一个CORBA的C++客户端访问会话和实体 Bean(它使用同步的IIOP协议进行通信)。我没有提到消息驱动Bean,尽管你可能想从其它语言编写的应用中使用MOM产品来访问它们。 1. RMI-IIOP 会话Bean和实体Bean使用远程方法调用(RMI)来进行同步通信。J2EE1.3要求JAVA客户端使
CST--时域仿真的网格设置技巧
对于物理概念清晰的工程师而言,使用时域算法几乎能够解决所有电磁仿真问题,但是,掌握时域算法的仿真技巧比掌握频域的难度大,这恐怕也是很多仿真工程师更喜欢使用频域算法的原因,因此,对于时域算法的灵活应用更能考验你是否是一名合格的仿真工程师。
Java EJB、CORBA、Webservices分布式通信基本原理及特点
1. Java远程调用的特点是什么 2. Java EJB、CORBA、Webservices分布式通信基本原理及特点 3.Java 远程调用与分布式通信的区别 4. Java 分布式通信的几种方式及其特点 5. Java WebService异构系统通信的原理及特点:SOAP与WSDL 1. Java远程调用的特点是什么 ...
深度学习的卷积神经网络的煤矸石识别
在本博文中,我们提出了一种基于深度学习的煤矸石检测与识别系统,该系统采用YOLOv8算法对煤矸石进行检测和识别,实现对图片中的煤矸石进行准确识别。1.项目需求对煤矸石进行检测与识别,系统将识别出图片中的克服小块煤矸石漏检的缺陷。 2.项目实现 通过调研,本项目最终使用yolov8模型作为目标检测的模型, YOLOv8 旨在快速、准确且易使用,使其成为广泛的物体检测、图像分割和图像分类任务的极佳选择。 1.数据集:格式为jpg的3091张煤矸石图片2.YOLOv8环境配置yolo检测网络包括24个卷积层
com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn‘t retrieve inbound binding
错误消息:错误截图:该错误通常表示在集成配置中,未找到与特定消息匹配的入站绑定(Inbound Binding)。具体而言,错误消息中的 P/S/A(Party/Service/Action)值未在配置中找到对应的入站绑定。
EJB、DCOM、CORBA 三种技术分析 (转)
---- 90年代出现的分布式对象技术为网络计算平台上软件的开发提供了强有力的解决方案。目前,分布式对象技术已经成为建立服务应用框架和软件构件的核心技术,在开发大型分布式应用系统中表现出强大的生命力,逐渐形成了3种具有代表性的主流技术,即microsoft的COM/DCOM技术、Sun公司的Java技术和OMG的COBRA技术。本期访谈,×××软件研究所对象技术研究开发中心李...
IEC104协议学习专栏内容规划
IEC104协议的编程学习
EJB、CORBA、DCOM(转)
EJB/CORBA/DCOM实际上是一类分布式计算规范,本质上仍然基于Client/Server结构,既然基于C/S结构,CORBA是由ORB系统构成一个服务器系统,EJB由EJB容器(或服务器)组成EJB的服务系统,而DCOM和Windows系统紧密结合,通过WindowsNT的服务来实现。 CORBA:CORBA是Common Object Request Broker Archit...
零基础学习simulink-- 四旋翼和六旋翼无人机的建模与动力学分析
通过上述代码实现,您可以逐步创建和搭建一个多旋翼无人机(如四旋翼、六旋翼)的动力学模型,并结合自适应控制器进行仿真。该模型不仅考虑了无人机的基本动力学行为,还引入了空气阻力、螺旋桨之间的相互作用以及气流干扰等复杂效应,使得仿真结果更加接近实际情况。Simulink 提供了强大的建模和仿真工具,使得控制系统工程师能够快速构建复杂的控制算法,并将其应用于实际工程中。多旋翼无人机动力学建模:建立四旋翼和六旋翼无人机的动力学模型,包括平移运动和旋转运动方程。升力和扭矩模型。
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
SOAP与CORBA,COM/DCOM的区别
CORBA(Common Object Request Broker Architecture)公共对象请求代理体系结构是由OMG组织制订的一种标准的面向对象应用程序体系规范。由对象请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成。其核心部分是对象请求代理ORB(Object Request Broker)。ORB提供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应。分布的、可以互操作的对象可以利用ORB构造可以互操作的应用。ORB可看作是在对象之间建立客户/服务关系的一种中间件
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
WebService 与 DCOM / Corba 是什么关系?
首先,COM/DCOM是组件/分布式组件模型标准,CORBA是分布式应用的服务标准。CORBA和DCOM为分布式应用程序建立服务和服务对象来执行客户端调用的服务。而SOAP是基于XML和HTTP的分布式对象的通信协议,是COM/DCOM和CORBA对象进行通讯的协议。实际上,利用SOAP的互操作性和CORBA强大的执行能力,两者可以很好的结合在一起。 CORBA应用程序和DCOM
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
温度PID控制PLC程序
温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值
COM/DCOM/SOAP/CORBA
首先,COM/DCOM是组件/分布式组件模型标准,CORBA是分布式应用的服务标准。CORBA和DCOM为分布式应用程序建立服务和服务对象来执行客户端调用的服务。而SOAP是基于XML和HTTP的分布式对象的通信协议,是COM/DCOM和CORBA对象进行通讯的协议。实际上,利用SOAP的互操作性和CORBA强大的执行能力,两者可以很好的结合在一起。 CORBA应用程序和DCOM应用程序不能实现
COM/DCOM、CORBA和Java Beans的比较
本文分别对COM/DCOM、CORBA和Java Beans在“相关背景”、“基本概念”、“技术内容及特点”三个方面进行对比。
分布式技术比较(RPC,CORBA,WebService)
1、RPC(Remote Procedure Call Protocol) RPC是由Sun发明的远程过程调用协议,是第一种真正的分布式应用模型。面向过程 2、CORBA(Common Object Request Broker Architecture) CORBA从概念上扩展了RPC。用RPC开发的分布式应用是面向过程的,而CORBA是完全面向对象的,企业级的 3、Web Ser...
CORBA 技术及其在电信领域中的应用
随着Internet的广泛运用,将应用扩展到局域网、广域网甚至Internet上已成为用户的普遍需求,这样,分布计算成了新的热点。在分布计 算环境中,异构性是一个十分明显的特点。一个典型的分布环境包括有大型主机、UNIX工作站和PC机,各种机器所采用的操作系统和网络通信协议也是千差万 别。在这样的异构环境下实现信息和软件资源的共享将十分困难,而一个健壮的分布计算框架将为分布应用软件的开发带来极...
876



被折叠的 条评论
为什么被折叠?



