网站大量收购闲置独家精品文档,联系QQ:2885784924

CORBA应用程序开发过程解析.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CORBA应用程序开发过程解析

CORBA应用程序开发过程 Agenda 设计CORBA应用程序 CORBA应用程序开发过程 一个例子——银行账户管理 Agenda 设计CORBA应用程序 CORBA应用程序开发过程 一个例子——银行账户管理 CORBA与OO技术 虽然CORBA支持非面向对象的程序设计语言,但建议使用OO语言实现: IDL是OO风格的。 非OO语言的实现不能直接在CORBA系统中使用,需要进行OO形式的包装。 在分析设计阶段可以利用OO的方法和工具。 设计CORBA应用程序 设计基于CORBA的分布式系统时,一般应考虑如下几个问题: 网络传输 消息传递 运行平台 资源优化 其它 设计CORBA应用程序 网络传输 多样化的网络传输选择 不同的编程模式 AppleTalk、DCE RPC、RMI、GIOP/IIOP 不同的底层通信协议 TCP/IP、DCEnet、Novell IPX/SPX、SNA、X.25 不同的通信介质 以太网、串口线 连接持续性因素 固定网络计算、可移动计算。 设计CORBA应用时,应确保ORB能使用必要的网络传输。 设计CORBA应用程序 消息传递 CORBA提供了三种消息传递方式: 同步方式 异步方式(延迟同步方式) 单向方式 应根据不同的应用场合选择使用: 所申请的服务只需很短的时间即可完成,应选用同步方式 所申请的服务需要较长时间才可完成 ,应选用异步方式 如果客户程序无需获知请求已完成的确认信息,应选用单向方式。 设计CORBA应用程序 运行平台 由于不同平台(硬件/OS )之间的差异,为一个平台创建的软件系统通常不能运行在另一个平台之上。 运行于不同平台(硬件/OS)之上的CORBA对象之间(或者客户端与CORBA对象之间)可以跨这些平台通信。 设计者必须在软件系统的性能与通用性之间作出折衷选择。 设计CORBA应用程序 资源优化 分布式环境下,跨网络的通信开销是相当可观的,占用相当多的系统资源: 网络资源、接口、通信信道、逻辑链路等。 设计系统时应考虑尽量提高这些资源的利用率,避免频繁的跨网络(尤其是广域网)通信。 其它决策 安全性、可靠性、事务处理、并发控制等。 考虑更多的错误处理: 例如客户程序发出请求但服务程序未就绪,甚至找不到服务程序或无权限访问服务程序。 Agenda 设计CORBA应用程序 CORBA应用程序开发过程 一个例子——银行账户管理 典型的CORBA应用 CORBA应用开发过程 CORBA规范并没有限制ORB的具体实现方法,所以不同厂商对ORB的具体实现方法可能差别很大,这就导致不同厂商提供的ORB上操作可能有很大的差异。但基本过程都是类似的。 典型的CORBA应用实现过程 编写对象接口 对象接口是关于服务对象语法的规格说明。接口定义中包括: 提供或使用的服务的名字 参数 返回值 异常 上下文环境等 对象接口由OMG IDL定义 编译IDL文件 厂商实现IDL编译器时应参照OMG制订的语言的规范,编程人员只要选择使用合适的编译器就可以了。 VisiBroker for Java 4.0提供的idl2java编译器将IDL映射到Java语言,生成Java语言的客户端桩代码以及服务端框架代码。 编写客户程序 初始化ORB 无论是客户程序还是服务程序,都必须在利用ORB进行通信之前初始化ORB。 初始化ORB的作用 让ORB了解有新的成员加入。 获取ORB伪对象的引用,以备将来调用ORB内核提供的操作。 所谓伪对象专指在CORBA基础设施中的一个对象 伪对象是本地的。 利用伪对象调用CORBA基础设施提供的服务。 用一种统一的观点看待所有对象。 伪对象也使用IDL定义。 ORB服务 ORB内核提供了一些不依赖于任何对象适配器的操作: 初始化ORB 获取初始引用的操作 动态调用相关的操作 生成类型码的操作 线程和策略相关的操作 编写对象实现和服务程序代码 编写对象实现: IDL文件只定义了服务对象的规格说明,程序员必须另外编写服务对象的具体实现。 对象实现则有很多选择的余地: Java、C++、C、Smalltalk 对象实现所用的语言与客户程序所选用的语言无关,只要ORB产品供应商支持IDL到这些语言的映射即可。 程序员应该熟悉IDL到所选择的语言的映射规则,因为: IDL编译器除了生成Stub和Skeleton外,还会自动生成一些对象实现需要用到的辅助代码。 VisiBroker的idl2java会生成一些对象适配器的Java类和各种辅助性的Java类,编写对象实现的代码时必须继承其中的一些类或使用某些类提供的方法。 编写对象实现和服务程序代码 编写对象实现后,还必须实现服务程序的main例程。 服务程序利用可移植对象适配器(POA)激活伺服对象供客户程序使用。 服务程序通常是一个循环执行

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档