corba接口 开发(CORBA对象的接口是用 定义的)

网友投稿 339 2023-03-22


本篇文章给大家谈谈corba接口 开发,以及CORBA对象的接口是用( )定义的对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享corba接口 开发的知识,其中也会对CORBA对象的接口是用( )定义的进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

什么是 CORBA 。

CORBA(Common Object Request Broker Architecture公共对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程序体系规范。或者说 CORBA体系结构是对象管理组织(OMG)为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案;OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。
OMG组织成立后不久就制订了OMA(Object Management Architecture,对象管理体系结构)参考模型,该模型描述了OMG规范所遵循的概念化的基础结构。OMA由对象请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成,其核心部分是对象请求代理ORB(Object Request Broker)。对象服务是为使用和实现对象而提供的基本服务集合;公共设施是向终端用户应用程序提供的一组共享服务接口;域接口是为应用领域服务而提供的接口;应用接口是由开发商提供的产品,用于它们的接口,不属于OMG标准的内容。ORB提供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应。分布的、可以互操作的对象可以利用ORB构造可以互操作的应用。
CORBA标准由对象管理组织(OMG)设立并进行控制,CORBA定议了一系列API,通信协议,和物件/服务信息模型用于使得异质应用程序能够互相操作,这些应用程序用不同的程序语言编写,运行在不同的平台上。CORBA因此为定义明确的物件提供了平台和位置的透明性,这些物件是分布式计算平台的基础。
CORBA分布计算技术,是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进,独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的"软总线";在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。
CORBA(公共对象请求代理架构):这是个和微软com,com+齐名的同类软件技术规范,由OMT提出。
用于在不同进程(程序)之间,甚至是不同物理机器上的进程(程序)之间通讯。底层技术依靠RPC[远程过程调用]实现。
面向对象的软件,以数据为中心设计,对象类既具有模块的封装性和类属等特性,还具有继承特性
,极大地提高了类的可扩充性和可再用能力。对象类较之于传统软件的功能模块而另具有的优点是:
(1)易于理解,具有完整的语义特征;
(2)易于扩充和修改,具有较高的通用性和适应性;
(3)易于构造组装,具有规范的外部接口。
开发应用组件必须遵循标准,以保证软件组件的互操作性,只有遵循统一的标准,不同厂商的、不同时期的、不同程序设计风格的、不同编程语言的、不同操作系统的、不同平台上的软件或软件部件才能进行交流与合作。为此,OMG(ObjectManageGroup)提供了一个对象标准CORBA,它定义了一个网连对象的接口,使得对象可以同时工作。基于CORBA的对象请求代理ORB为客户机/服务器开发提供了中间件的新格式。
作为OMG成员的微软公司撇开CORBA而另辟了COM(ComponetObjectModel),即组件对象模型,并把COM定位成基于对象的软件开发模型,尽管COM被认为是微软鼓噪出来的技术,但支持COM的开发工具却不断增多,其中大部分来自于微软,包括VisualBasic和VisualC ++。
公共对象请求代理结构:CORBA标准
全球性网络使线上的所有设备和软件成为全球共享的浩瀚的资源,计算机环境也从集中式发展到分布式环境,开放式系统的发展使用户能够透明地应用由不同厂商制造的不同机型不同平台所组成的异构型计算资源,因此,分布式处理和应用集成自然而然地成为人们的共同要求,那么什么是分布式处理和应用集成呢?它们的功能和关键技术是什么呢?简单地讲,分布式处理和应用集成就是指在异构的、网络的、物理性能差别很大的、不同厂商的、不同语言的信息资源的基础上构建信息共享的分布式系统,并且能够有效地进行应用系统和分布式处理的集成。分布式处理的关键在于定义可管理的软件构件,即面向对象技术中的“对象”。应用集成的关键在于为跨平台、跨机种、跨编程语言的产品提供统一的应用接口。OMG组织针对当今信息产业的要求,公布了CORBA标准,即公共对象请求代理体系结构(Common Object Request Broker Architecture),这是一个具有互操作性和可移植性的分布式面向对象的应用标准。
CORBA的核心是对象请求代理ORB,它提供对象定位、对象激活和对象通讯的透明机制。客户发出要求服务的请求,而对象则提供服务,ORB把请求发送给对象、把输出值返回给客户。ORB的服务对客户而言是透明的,客户不知道对象驻留在网络中何处、对象是如何通讯、如何实现以及如何执行的,只要他持有对某对象的对象引用,就可以向该对象发出服务请求。
CORBA允许用户以两种不同的方式提出对象请求:
1)静态调用:
通过给定接口的存根,在编译了对象代码后,进入客户端的程序。因此,静态调用必须在编译时就知道对象及其类型。
2)动态调用:
通过ORB的动态调用接口DII,在运行时生成访问对象的代码。
不管客户以哪一种形式提出请求,ORB的任务是:找出所要对象的位置,激活该对象,向对象传递此请求。对象执行所请求的服务后,把输出值返回给ORB,然后再由ORB返回给客户。
CORBA的重要概念是:
1.对象连接
CORBA广泛地支持对象的实现,在单服务器系统中也可以实现由接口定义语言定义的接口。ORB的灵活性既可以直接集成已有的应用,又不会使新对象受某些原则的制约。
对象连接提供了有不同类型对象实现时,使用ORB服务的方法,服务包括:对象引用、方法调用、安全控制、对象实现的激活与静候等。
2.接口定义语言(IDL)
CORBA用IDL来描述对象接口,IDL是一种说明性语言,它的语法类似于C++。
IDL提供的数据类型有:基本数据类型、构造类型、模板类型、和复合类型、操作说明。这些类型可以用来定义变元的类型和返回类型,操作说明则可以用来定义对象提供的服务。
IDL还提供模块构造,其中可以包含接口,而接口是IDL各类型中最重要的,它除了描述CORBA对象以外,还可以用作对象引用类型。
IDL提供了接口继承性,派生接口可以继承其基类接口所定义的操作与类型。IDL的接口继承性有其特殊性,此处不赘述。
总之,CORBA的IDL是一种说明性语言,描述面向对象系统开发所遵循的接口与实现相分离的基本原则。
3.动态调用接口
把IDL说明编译成面向对象程序设计语言的实代码后,客户可以调用已知对象的操作。在某些应用中,用户并不了解应用接口编译信息,但也要求调用对象的操作,这时就要动态调用接口来调用用户的操作了。例如,图形用户接口应支持用户浏览接口公共库,以获得每个对象所支持的操作信息,用户可根据自己的需求从浏览对象中挑选出所需的对象操作,具体的对象操作的调用实际上是用动态调用接口来完成的。
4.接口公用库
接口公用库持久地存储IDL的接口说明,借助于接口公用库,可以实现对象继承性层次结构的导航,并且提供了有关对象支持的所有操作的描述。接口公用库最常见的功能是为接口浏览器提供信息,帮助应用开发者找出潜在的可重用的软件部件。ORB可以利用接口公用库检查运行时的操作参数类型,但接口公用库的基本功能是提供类型信息,为动态调用接口发送请求提供信息支持。
java 2是sun公司提供的现在更明为java EE 企业级的应用开发,是一种跨平台的语言,
.NET平台是微软件提代的一种跨语言的的编程语言.

CORBA是什么?用途是什么?

CORBA是一种远程分布式方法调用,是服务器端和客户端传输数据的方式。不知道你了解RMI吗?它和CORBA差不多也是另外一种传输方式。CORBA的好处在于IDL接口规范,于是这种传输方式可以跨平台、跨语言(如Java、C++、smalltalk都只需要IDL定义好了就可以生成接口),我最近也在看这个,写了一些实例的代码。不知道你的英文怎么样,给你看一篇我觉得比较好的文章,来自sun官方网站:
我是一名大四学生,希望能一起探讨。

CORBA, DCOM, EJB 的组成和特点

CORBA:CORBA是Common Object Request Broker Architecture的缩写,它是分布计算机技术的发展结果,CORBA技术的成功在于,它除了能够解决由于多个系统层次上的异构带来的“孤岛”问题,还在理论和技术上扩展了客户/服务器的模式,使系统具有良好的可伸缩性,便于系统的开发与升级,保护已有投资。
CORBA体系的主要内容包括以下几部分,(1) 对象请求代理ORB(Object Request Broker):负责对象在分布环境中透明地收发请求和响应,它是构建分布对象应用、在异构或同构环境下实现应用间互操作的基础。(2) 对象服务(Object Services):为使用和实现对象而提供的基本对象集合,这些服务应独立于应用领域。主要的CORBA服务有:名录服务(Naming Service)、事件服务(Event Service)、生命周期服务(Life Cycle Service)、关系服务(Relationship Service)、事务服务(Transaction Service)等。这些服务几乎包括分布系统和面向对象系统的各个方面,每个组成部分都非常复杂。 (3) 公共设施(Common Facilitites):向终端用户提供一组共享服务接口,例如系统管理、组合文档和电子邮件等。 (4) 应用接口(Application Interfaces):由销售商提供的可控制其接口的产品,相应于传统的应用层表示,处于参考模型的最高层。 (5) 领域接口(Domain Interfaces):为应用领域服务而提供的接口。如OMG组织为PDM系统制定的规范。
DCOM:Microsoft的分布式COM(DCOM)扩展了组件对象模型技术(COM),使其能够支持在局域网、广域网甚至Internet上不同计算机的对象之间的通讯。使用DCOM,应用程序可以在位置上达到分布性,从而满足客户和应用的需求。
DCOM是组件对象模型(COM)的进一步扩展。COM定义了组件和它们的客户之间互相作用的方式。它使得组件和客户端无需任何中介组件就能相互联系。
EJB:它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。
EJB规范详细地解释了一些最小但是必须的服务,如事务,安全和名字等。软件厂商根据这些规范要求以保证一个enterprise bean能使用某个必需的服务。规范并没有说明厂商如何实现这些服务。这使得通过阅读规范来学习EJB更加困难,因为它允许厂商在不牺牲核心服务的可移植性的前提下来提供一些增强功能。

Enterprise JavaBeans体系结构
EJB服务器是管理EJB容器的高端进程或应用程序,并提供对系统服务的访问。EJB服务器也可以提供厂商自己的特性,如优化的数据库访问接口,对其他服务(如CORBA服务)的访问,对SSL 3.0的支持等。一个EJB服务器必须提供对可访问JNDI的名字服务和事务服务支持。一些可能的EJB服务器的例子如:
数据库服务
应用服务器
中间件服务器
EJB容器是一个管理一个或多个EJB类/实例的抽象。它通过规范中定义的接口使EJB类访问所需的服务。容器厂商也可以在容器或服务器中提供额外服务的接口。 现在没有EJB服务器和EJB容器间接口的规范。因为目前容器通常由EJB服务器来提供,所以一旦接口标准化了,厂商就可能提供可以在任何兼容的EJB服务器上运行的容器。
Home接口列出了所有定位、创建、删除EJB 类实例的方法。Home对象是home接口的实现。EJB类开发者必须定义home接口。容器厂商应该提供从home接口中产生home对象实现的方法。
远程接口(remote interface)列出了EJB类中的商业方法。EJBObject实现远程接口,并且客户端通过它访问EJB实例的商业方法。EJB类开发者定义远程接口,容器开发商提供产生相应的EJBObject的方法。客户端不能得到EJB实例的引用,只能得到它的EJBObject实例的引用。当客户端调用一个方法,EJBObject接受请求并把它传给EJB实例,同时提供进程中必要的包装功能。客户端应用程序通过home对象来定位、创建、删除EJB类的实例,通过EJBObject来调用实例中的商业方法。客户端可以用Java来编程,通过Java RMI来访问访问home对象和EJBObject,或用其他语言编程并通过CORBA/IIOP访问,使得部署的服务器端组件可以通过CORBA接口来访问。

分布式架构的详细说明

一、分布式计算技术的形成
CORBA (Common Object Request Broker Architecture) 是在1992年由OMG(Open Management Group) 组织提出的。那时的分布式应用环境都采用Client/Server架构,CORBA的应用很大程度的提高了分布式应用软件的开发效率。
当时的另一种分布式系统开发工具是Microsoft的DCOM(Distributed Common Object Model)。Microsoft为了使在Windows平台上开发的各种应用软件产品的功能能够在运行时(Runtime)相互调用(比如在Microsoft Word中直接编辑Excel文件),实现了OLE(Linked and Embedded Object)技术,后来这个技术衍生为COM(Common Object Model)。
随着Internet的普及和网络服务(Web Services)的广泛应用, Browser/Server架构的模式逐渐体现出它的优势。 于是,Sun公司在其Java技术的基础上推出了应用于B/S架构的J2EE的开发和应用平台;Microsoft也在其DCOM技术的基础上推出了主要面向B/S应用的.NET开发和应用平台。
二、使用的协议
.NET中涵盖的DCOM技术和CORBA一样,在网络传输层都采用TCP/IP协议;也都有自己的IDL规范。所不同的是,在TCP/IP之上,CORBA采用GIOP/IIOP协议,所有CORBA服务器以IIOP通信,形成了ORB软件通道;J2EE的RMI曾经采用独立的通信协议,目前已经改为RMI/IIOP,体现了J2EE的开放性;DCOM也有自己的通信协议(TCP在135端口的服务),但微软没有公开这个协议的规范;同样,CORBA的IDL采用类C++的定义,是公开的规范;DCOM的IDL的文件虽然是文本形式的,微软没有正式公布它的规范,在使用中,.NET的IDL是由开发工具生成的。
三、应用的环境
关于.NET,比尔盖茨这样说:“简单地说,.NET是以微软的各种产品为开发工具和应用平台, 实现基于XML的网络服务。”由此也可以看出,.NET在Microsoft的世界里功能强大,但对于Unix和Linux这些在服务器市场占主要份额的系统,.NET显得束手无策。
因此,J2EE显示了它跨平台的优势,为网络服务商提供了很好的面向前端(front-end)的开发和应用平台, 随着网络服务进一步广泛应用和服务集成度的提高, 在网络服务提供商的后台会形成越来越庞大的分布式计算环境, CORBA模块结构更适合后台(back-end)的多种服务, 例如网络服务的计费程序等. 因此可以看出, J2EE和CORBA技术在网络服务(Web Services)这片蓝天下, 各自有自己的海洋和陆地。如果在前端(front-end)使用了.NET开发平台,那么在后端(back-end)的分布式结构中,DCOM就是理想的选择。
J2EE是纯Java技术,很多测试显示RMI(Java)服务器的响应速度远远低于非Java的CORBA服务器。因此,在一些对数据处理速度和响应时间要求较高的系统开发中,要对RMI和CORBA的性能进行测试对比后再做选择。
四、应用软件的开发和维护
从应用软件的开发过程的角度看, J2EE是完全开放式的平台, 体现为既面向设计人员, 也面向开发人员的规范; CORBA也是一种规范, 但更多体现为中间产品, CORBA产品的提供商才是这种规范的真正执行者, 对应用开发的程序员而言, 只要了解IDL语言的规范, 不必详细知道ORB/GIOP/IIOP的协议细节。.NET作为Microsoft在网络环境的主打, 体现为一系列产品化的开发工具, 比如C#, C++, 等。这些开发工具是直接针对应用开发人员的。其实Sun公司提供的J2EE也是由许多软件包(应用API)来面对开发人员的。
从软件开发成本与周期以及软件的维护角度看,J2EE比CORBA有以上优势。
五、应用前景
对于分布式计算技术的架构,不能绝对地说哪一个更好,只能说哪一个更合适。针对不同的软件项目需求,具体分析才是明智的选择。
从宏观市场看,CORBA产品的销售并没有想象那样给CORBA产品提供商带来可观的利润;而J2EE的呼声也高于.NET; 随着J2EE中RMI/IIOP与CORBA接口的完善,再加上开发费用的考虑和使用的方便性,J2EE一揽子开放的环境会是人们首先考虑的选择;但CORBA标准的强壮的兼容性,也使这种技术在大型系统开发中会占有一席之地。
关于作者
周斌 北京时力永联科技公司业务咨询和软件外包服务部经理,曾执教于复旦大学计算机科学系, 1994年赴美国Oracle总部参加合作项目, 后就读于加拿大哥伦比亚大学

corba体系的主要内容包括哪些

OMG成立于1989年,作为一个非营利性组织,集中致力于开发在技术上具有先进性、在商业上具有可行性并且独立于厂商的软件互联规范,推广面向对象模型技术,增强软件的可移植性(Portability)、可重用性(Reusability)和互操作性(Interoperability)。该组织成立之初,成员包括Unisys、Sun、Cannon、Hewlett-Packard和Philips等在业界享有声誉的软硬件厂商,目前该组织拥有800多家成员。
OMG组织成立后不久就制订了OMA(Object Management Architecture,对象管理体系结构)参考模型,该模型描述了OMG规范所遵循的概念化的基础结构。OMA由对象请求代理ORB、对象服务、公共设施、域接口和应用接口这几个部分组成,其核心部分是对象请求代理ORB(Object Request Broker)。
CORBA体系的主要内容包括以下几部分。
(1)对象请求代理 (Object Request Broker,ORB)。负责对象在分布环境中透明地收发请求和响应,它是构建分布对象应用、在异构或同构环境下实现应用间互操作的基础。
(2)对象服务(Object Services)。为使用和实现对象而提供的基本对象集合,这些服务应独立于应用领域。主要的CORBA服务有:名录服务(Naming Service)、事件服务(Event Service)、生命周期服务(Life Cycle Service)、关系服务(Relationship Service)以及事务服务(Transaction Service)等。这些服务几乎包括分布系统和面向对象系统的各个方面,每个组成部分都非常复杂。
(3)公共设施(Common Facilitites)。向终端用户提供一组共享服务接口,例如系统管理、组合文档和电子邮件等。
(4)应用接口(Application Interfaces)。由销售商提供的可控制其接口的产品,相应于传统的应用层表示,处于参考模型的最高层。
(5)领域接口(Domain Interfaces)。为应用领域服务而提供的接口,如OMG组织为PDM系统制定的规范

如何访问CORBA接口,而IDL或后期绑定调用远程方法

3天之后的调试成IIOP追查其行为,并检查回来在响应中的数据,我也看中了这个解决方案。
使用系统;
使用System.Collections.Generic;
使用System.Linq的;
使用System.Text;
使用omg.org.CosNaming;
使用Ch.Elca.Iiop;
使用Ch.Elca.Iiop.Services;
使用System.Runtime.Remoting.Channels;
使用Ch.Elca.Iiop.Idl;
[RepositoryID(“IDL:LicenseInfo:1.0”)]
公共接口ILicenseInfo
{
INT32 GetHardwareKey([IdlSequence(0)]了byte []的hwKey);
INT32 GetInstallationNumberList([IdlSequence(0)]了byte []的instNum);
}
类节目
{
静态无效的主要(字串[] args)
{
IiopClientChannel通道=新IiopClientChannel();
ChannelServices.RegisterChannel(通道,FALSE);
CorbaInit的init = CorbaInit.GetInit();
NamingContext的背景下= init.GetNameService(“MYLICSRV”,30000);
一个NameComponent []名=新一个NameComponent [] {新的一个NameComponent(“B1LicenseInfo”)};
ILicenseInfo力=(ILicenseInfo)context.resolve(名称);
byte []的hwKey;
byte []的instNum;
li.GetHardwareKey(出hwKey);
li.GetInstallationNumberList(出instNum);
编码编码=新System.Text.Uni codeEncoding(假的,假的,真正的);
Console.WriteLine(encoding.GetString(hwKey));
Console.WriteLine(encoding.GetString(instNum));
}
} 关于corba接口 开发和CORBA对象的接口是用( )定义的的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 corba接口 开发的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于CORBA对象的接口是用( )定义的、corba接口 开发的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:接口测试用例一般谁写(接口测试用例设计案例)
下一篇:Servlet实现简单文件上传功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~