CORBA技术详解:从接口定义到互操作性

需积分: 48 2 下载量 2 浏览量 更新于2024-07-20 收藏 3.98MB PDF 举报
"corba中文版.pdf" 本文档是关于CORBA(Common Object Request Broker Architecture,公共对象请求代理架构)的中文版介绍,涵盖了CORBA的基本概念、技术原理、接口定义语言OMGIDL(Object Management Group Interface Definition Language)、ORB(Object Request Broker)的工作机制、互操作性、在电子商务中的应用以及CORBA基本服务等内容。以下是详细的知识点解析: 1. **CORBA的由来与用途**:对象管理组织OMG(Object Management Group)提出了CORBA标准,旨在解决分布式系统中不同平台、不同语言之间的互操作性问题。CORBA被广泛用于构建跨越网络的异构系统,允许不同系统间的对象互相调用方法,实现分布式计算。 2. **CORBA接口与接口定义语言OMGIDL**:IDL是OMG制定的一种中立于任何特定编程语言的接口定义语言,它允许开发者定义跨平台的对象接口。在CORBA中,接口是服务提供者和消费者之间通信的基础,而IDL则提供了这些接口的规范。 3. **OMGIDL的映射**:在C和C++中,OMGIDL被映射为具体的编程元素,如在C中表现为函数指针,在C++中表现为虚函数。这种映射使得接口定义可以在多种编程语言间无缝转换。 4. **ORB动态激发请求**:ORB作为核心组件,负责对象请求的路由和调度。动态激发接口(DII)允许客户端在运行时动态地调用对象服务,无需预先知道对象的具体实现。此外,接口仓库(IR)存储了接口的信息,用于对象引用的初始化和查找。 5. **ORB对象实现**:ORB在对象实现端也起着关键作用,对象适配器处理来自ORB的请求,实现仓库和接口框架支持对象的创建和管理。动态框架接口DSI允许更灵活的对象实现方式。 6. **CORBA互操作性**:CORBA设计的核心就是互操作性,通过通用ORB互操作协议GIOP和特定环境ORB互操作协议ESIOP,实现不同ORB之间的通信。CORBA的域和桥接功能进一步增强了这种能力,使得不同系统能够共享资源和服务。 7. **电子商务与分布式软件**:在电子商务场景下,CORBA扮演着重要角色,支持电子支付、安全管理等关键功能。分布式软件的需求,如对象生存期、对象关系、事务管理等,可以通过CORBA提供的基本服务得到满足。 8. **CORBA基本服务**:包括对象生存期服务、对象关系服务、持续对象服务、对象外化服务、对象命名服务、对象洽谈服务、事件服务、事务服务、并行服务、对象属性服务、对象查询服务、对象包容服务、对象安全服务和对象时间服务等,这些服务构成了CORBA的完整生态系统,为开发者提供了构建分布式系统的强大工具。 9. **C++Builder中的CORBA开发**:文中提到INprise的CORBA产品VisiBroker,它简化了在C++Builder中开发CORBA应用程序的过程,通过编译IDL文件自动生成STUB(客户端代码)和SKELETON(服务器端代码),以及SMARTAG等工具,帮助开发者快速集成CORBA功能。 这份文档深入浅出地介绍了CORBA的各个方面,对于理解和使用CORBA进行分布式系统开发具有很高的参考价值。