组件开发

组件化开发方法

1.题目分析
本次实验是有关组件化程序设计方法,组件间的接口通过一种与平台无关的语言——接口定义语言IDL来定义,而且是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。jdk1.2提供了对CORBA的支持,Java IDL支持的是一个瞬间的CORBA对象。实际上,java IDL的ORB只是一个类库而已,并不是一个完整的平台软件,但它对Java IDL应用系统和其他CODBA应用系统之间提供了很好的底层通信支持。
题目1.Java版CORBA程序1——HelloWorld:客户端向服务端提出服务请求,服务端会送“helloworld 软件工程1703班谭秋蔓”,然后在客户端的屏幕上显示出来。①定义并编译对象接口。定义接口对象文件hello.idl。然后运行javaIDL编译器来编译该接口文件。经idlj编译后自动建立了一个文件目录sample,并在该目录下生成了六个Java文件:_HelloWorldStub.java是客户端的stub类,为客户端提供了CORBA服务功能,它实现了客户端得helloworld.java接口。HelloWorld.java是IDl接口的Java语言实现,是方法sayhello()的实现。Hellohelper.java类提供了许多辅助功能的方法,主要是narrow()方法,它将CORBA对象引用转化成合适的类型。Helloholder.java提供了有关参数操作的实现,这些参数在CORBA中使用,但java语言中没有直接的对应。Hellooperation.java是用Java语言描述IDL的接口。②编写客户端应用程序。先引入要使用的包,其次声明客户应用类,之后定义客户应用类的main方法,使用ORB的名字服务寻找helloworld对象,调用sayhello操作,把服务端返回的内容显示在屏幕上。③编写服务端应用程序。步骤用编写客户端应用程序相同。④编译和运行英语程序。编译应用程序,启动名字服务器。
题目2.JAVA版CORBA程序2——Counter:编写实现连加、连减和加减混合等数学++/- -运算,并进行测试。①编写IDL接口counter.idl。②编译IDL接口:X:\corba>idlj –fall counter.idl③编写并编译对象实现代码CounterImpl.java④编写并编译服务端程序: Server.java⑤编写并编译客户端程序: Client.java⑥编译并运行应用程序。编译应用程序,启动名字服务器。
2.CORBA模型分析
在此结合CORBA模型对题目进行详细的分析和具体设计,需要绘制出相应的组件结构图。
3.测试及运行结果
测试Java环境变量是否设置正确。在这里插入图片描述
在这里插入图片描述

运行结果:
① HelloWorld
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
② Counter
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
4.经验归纳
经过本次实验我对CROBA模型程序设计方法有了一定的了解。CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB)以及ORB之间的互操作协议IIOP。 IDL是CORBA定义的语言,CORBA还定义了IDL到各种语言的映射,标准映射的有Ada、C、C++、Smalltalk、Java、以及Python。有了这些映射,就可以将IDL翻译成各种语言,从而实现了跨语言。IDL语言是一种接口定义语言。IDL语言不同于所有已有的程序设计语言,它是一种描述性语言,也就是说,用它描述得到的接口是不能直接被编译执行。在client端去调用server端的代码时,ORB对于client端是不可见的,client感觉好像调用了自己对象的方法一样,但是网络传输的过程都被封装在了ORB中。CORBA和Java都采用面向对象技术,因此,可以很容易地用Java语言开发CORBA应用,或将Java应用以及JavaBean对象集成到CORBA应用环境中;CORBA和Java都适用于开发分布式应用,所不同的是:CORBA偏重于通用的分布式应用开发,而Java注重于WWW环境中的分布式应用开发。(参考资料作者:drykilllogic )

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值