- 1、本文档共38页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
简单Corba程序设计-山东大学
第三章简单Corba程序设计 1 CORBA应用开发过程 CORBA规范并没有限制ORB的具体实现方法,所以不同厂商对ORB的具体实现方法可能差别很大,这就导致不同厂商提供的ORB上操作可能有很大的差异。但基本过程都是类似的。 1.1 开发环境 Inprise VisiBroker 4.5 + JDK 1.3 + UltraEdit Inprise Visibroker 5 + JDK 1.4 ( + Jbuilder / SunOne Studio EE) 1.2 静态工作方式 设计一个静态方式的程序 1.4典型的CORBA应用实现过程 对象接口 对象接口实际上是分布式对象向外提供服务的规格说明 是客户程序与对象实现之间的一种合约,双方必须严格遵守对象接口定义中的约定,包括操作名字,参数表,返回表,异常表,上下文等 对象接口定义存放在一个或多个IDL文本文件中,指明每一对象对外提供的服务,以及客户程序如何使用这些服务或处理服务的返回结果 1.3 IDL语言 说明性语言,定义组件接口,不定义实现。 语法上可以看成C++的一个子集,规定组件的属性、所继承的父类、产生的异常、事件和各类数据类型。 编译器作用:将IDL映射到具体程序设计语言,产生桩代码和框架代码 调用请求经客户端桩传递给ORB,然后转发到服务端框架,最后到达真正要执行请求的对象实现实例 编写对象实现和服务程序 IDL文件只定义了对象的语法规格说明,必须编写这些对象的具体实现代码 对象实现可用各种语言实现,且与客户程序的语言无关 IDL到编程语言的映射规则 生成IDL框架代码和各种辅助性的java接口或类 编写对象实现代码时必须继承或使用其中的某些接口或类 服务程序 利用POA激活伺服对象供客户对象使用 通常是一个循环执行的进程,不断监听客户程序请求并为之服务 编写客户程序 初始化ORB 是应用程序进入CORBA的起点 作用 让ORB了解有新的成员加入 获取ORB伪对象的引用,以备调用ORB内核提供的操作时使用 伪对象(pseudo object):在CORBA基础设施中的一个对象 获取分布式对象引用,利用其调用对象实现提供的服务 创建并部署应用程序 客户端:客户程序代码与IDL编译器自动生成的IDL桩代码一起编译 服务端:对象实现代码与服务程序代码与IDL框架代码一起编译 1.5 例子背景 银行账户管理 服务端管理大量银行顾客的账户,提供基本的开户、存款、取款、查询余额的功能。 1.5.1 对象认定 一个银行帐户的实体模型。 balance:表示当前的余额。 deposit:存款 withdraw:取款 getBalance:查询余额 1.5.2 定义对象接口 // 银行帐户管理系统的对象接口定义 module Bank { // 帐户 interface Account { // 存款 void deposit(in float amount); // 取款 boolean withdraw(in float amount); // 查询余额 float getBalance(); }; ? // 帐户管理员 interface AccountManager { // 查询指定名字的帐户,查无则新开帐户 Account open(in string name); }; }; 1.5.3 生成Stub与Skeleton IDL编译器作用是将IDL映射到具体程序设计语言,产生桩代码和框架代码 Visibroker for java提供的编译器idl2java将IDL映射到java语言,生成java语言的桩和框架语言 每个对象实例都有一个用于唯一标识自身的对象引用。客户程序利用对象引用指明调用的方向 表面上看,客户程序调用的是远程对象实现上的操作,实际被调用的代码是作为其代理的IDL桩 生成Stub与Skeleton prompt idl2java Bank.idl 1.5.4 生成7个文件 VisiBroker for Java的IDL编译器idl2java为每个接口自动生成7个文件: AccountOperations.java Account.java _AccountStub.java AccountPOA.java AccountPOATie.java AccountHelper.java AccountHolder.java 1.5.4.1 生成的接口定义 Account.java和AccountOperations.java定义了IDL接口Account的完整基调。
您可能关注的文档
- 第5讲大陆法系的历史演变二.PPT
- 第4讲世界的气候1气温的日变化年变化及世界气温分布规律2.PPT
- 第8课时正余弦定理应用举例.PPT
- 第9节教学课件.PPT
- 第8届马来西亚国际品牌展201展昭展览网.DOC
- 第一十一卷装修报建报验计划及统筹.DOC
- 第一太平戴维斯公司发展经验借鉴-青岛东部土地房地产评价咨询有限.DOC
- 第一季度报告正文-中国中车股份有限公司.DOC
- 第一次世界大战第2课旷日持久的战争课标要求了解第一次.DOC
- 第一章-发动机电控技术-湖北职业技术学院.PPT
- Module 5讲练结合-2022-2023学年五年级英语下册期中知识大串讲(外研版).docx
- Unit 1 必背知识(知识清单) -2023-2024学年英语五年级下册单元速记·巧练系列(译林版三起).docx
- Module4(基础卷)-2023-2024学年英语四年级下册单元速记·巧练系列(外研版三起).docx
- Unit 1 重难点(知识清单)-2023-2024学年英语六年级下册单元速记·巧练系列(译林版三起).docx
- Module 5(基础卷)2023-2024学年三年级英语上册单元培优进阶训练(广州教科版用).docx
- Module10(基础卷)-2023-2024学年英语四年级下册单元速记·巧练系列(外研版三起).docx
- Unit 4 I live in a big house(课时练)-四年级英语上册 教科版广州.docx
- Module 6(提升卷)2023-2024学年六年级英语上册单元培优进阶训练(广州教科版用).docx
- Module6(基础卷)-2023-2024学年英语五年级下册单元速记·巧练系列(外研版三起).docx
- Unit 3 Welcome to my house(课时练)-四年级英语上册 教科版广州.docx
最近下载
- 基于核心素养小学数学计算教学研究.doc VIP
- 2024江西赣州市国资委招聘出资监管企业内设监事会人员21人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx VIP
- Shimano禧玛诺渔具 电动轮BeastMaster 2000EJ(04163)说明书.pdf
- 卫生院科室设置及职能范文.docx
- 北京市大兴区2023-2024学年九年级上学期期中数学试题.docx
- 铝合金门窗节能专项施工方案.doc
- 经典成语故事郑人买履.ppt VIP
- 基于核心素养小学数学计算教学研究.doc VIP
- 2024-2030年中国化工仓储行业市场发展趋势与前景展望战略分析报告.docx
- WST 356-2024 参考物质互换性评估指南.pdf
文档评论(0)