- 2
- 0
- 约4.02千字
- 约 5页
- 2017-08-16 发布于江西
- 举报
开发基于CORBA的文件浏览器.doc
开发基于CORBA的文件浏览器
吴栋淦
(福建信息职业技术学院,福州 350003)
摘要:随着计算机技术的飞速发展,传统的C/S软件模型因过于依赖操作系统平台、编程语言等因素,已经不能适应需求。基于此,介绍在Solaris平台下开发基于CORBA技术实现的分布式文件浏览器的过程,包括IDL的编写、服务器端程序的开发和客户端程序的开发,以适应社会需求。
关键词:CORBA;ORB;IDL;递归
分布式体系结构是当前大型软件产品的主流,目前分布式结构使用的核心技术大致可以分成两种不同的工业标准:一种是微软公司制定的COM/DCOM/COM+,另一种是OMG组织提倡的CORBA。目前微软公司主要使用COM+来实现分布式计算,可以利用VS.NET开发出COM+应用程序,但是这种方案的缺点是不能跨平台,只能在Windows系统中使用。而CORBA是由非盈利性组织OMG制定的,该组织拥有800多个成员,其目标是解决异构系统的可移植性,并能支持不同的开发语言。本文通过java语言开发一个简单的分布式文件浏览器,简要分析CORBA的体系结构,详细介绍了基于CORBA的分布式应用程序的开发过程。
1 CORBA体系结构
CORBA(Common Object Request Broker Architecture)公用对象请求代理是对象管理组织(Object Management Group)对应当今快速增长的软硬件的协同工作能力的要求而提出的方案。CORBA 允许应用程序和其他的应用程序通讯,而不论他们在什么地方或者由谁来设计。CORBA 标准主要分为三个部分:对象请求代理(ORB)、接口定义语言(IDL)和ORB间的互操作协议(IIOP)。ORB是CORBA的基础,主要功能是负责在不同的对象间传递消息,在分布式环境下确保对象之间交互透明地进行。接口定义语言(IDL)用于描述分布式对象接口,保证了CORBA在一系列异构的操作系统平台、编程语言中实现协同操作。IDL不是编程语言,是一个纯说明性的语言,具有一整套语法规则,供用户定义接口。ORB间的互操作协议(IIOP)是internet网上的ORB协议,是通用ORB协议在TCP/IP上的实现。
2 使用netbeans开发CORBA应用
Netbeans是一个免费的、开放源代码的集成开发环境,目前最新的版本为netbeans 5.5,可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发。netbeans并不能直接支持IDL的开发,但用来快速构建GUI的java应用程序却非常方便。)编写IDL文档,定义远程接口,利用idlj生成模板;
2)编写服务器程序,实现接口细节;
3)利用netbeans开发客户端程序;
4)启动ORB后台执行,开启服务器程序进行监听,验证结果。
首先来看一下第一个步骤,由于程序的要求是完成两个功能,因此可以定义两个接口_list和_myFind,接口_list用于显示指定的文件夹,传入一个参数,类型为string;接口_myFind用于搜索某文件夹下的文件,传入两个参数,类型均为string。下面是Hello.idl文档的内容:
module HelloApp //模块 HelloApp
{
interface Hello //接口Hello
{
string _list(in string subdir);
string _myFind(in string subdir,in string file);
System.out.println(File Corba Server ready and waiting ...);
//等待客户端的调用
orb.run();
ORB初始化代码完成后,继续实现HelloServant类,该类从HelloPOA继承,HelloPOA是从HelloApp.idl生成的模板。HelloServant类中包括_list和_myFind接口。_list接口的实现思路很简单,接收了参数后,枚举该目录下的所有文件,如果该文件是一个子目录,则加上“DIR”的提示,最后将枚举的内容返回给调用者。_list实现代码如下:
public String _list(String subdir){
File dir=new File(subdir);
String listfile[]=dir.list();
String path=new String();
path+=listfile[i];
File tmp=new File(dir,listfile[i]);
if(tmp.isDire
您可能关注的文档
- 2013年毕节市教育工作会议资料汇编.doc
- 二次函数的最值问题总结.doc
- 常微分方程初步 分离变量法 (英文).pdf
- 社会研究方法教程学大纲.doc
- 基因工程复习终结版.doc
- 高中数学重点知识与结论分类解析 一.doc
- 全国大学生数学竞赛大纲.doc
- 中学奥林匹克竞赛物理实验培训教案.doc
- 如何提高系统可靠性.pdf
- Excel高级使用技巧(有用就给自己留着).doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)