简单Corba程序设计-山东大学.PPT

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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的完整基调。

您可能关注的文档

文档评论(0)

2105194781 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档