JavaIDL开发CORBA实例演示

目录:

  • 概述
  • 开发步骤
    1. 创建Java项目
    2. 创建IDL文件
    3. 创建服务单
    4. 创建客户端
    5. 测试本地调用
    6. NamingService命名服务实现远程调用

[一]、概述

本文主要是图文介绍 Eclipse+ORBStudio+JavaIDL(要和OpenORB区别开) 开发CORBA应用的详细步骤,以供初学者借鉴。有关Eclipe中CORBA开发环境的配置详见:
http://www.micmiu.com/opensource/corba/corba-eclipse-env-config/

[二]、开发步骤

打开 Preferences… 点击左侧 ORB Studio → IDL Compiler  ,确认右侧默认选中 JavaIDL.

【1】、创建Java项目

在Eclipe中首先创建一个Java Project 取名为:Corba-demo;

【2】、创建IDL文件

在 src 文件夹上右键依次选择 New → Other… → CORBA Wizard → IDL files → Simple IDL

点击 Next 按钮,在File Name:输入Hello4JavaIDL.idl  ,点击Finish 完成。

打开Hello4JavaIDL.idl 修改成如下:

选中创建好的Hello4JavaIDL.idl文件,右键 ORB Menu → Compile, 自动编译生成Java 类文件。

【3】、创建服务端

在 src 文件夹上右键依次选择 New → Other… → CORBA Wizard → Server → Active object map

点击Next ,弹出新的对话框,输入如下内容

  • IDL filename :选中创建的 Hello4JavaIDL.idl
  • Interface :选择IDL文件里定义的接口名 比如 com.micmiu.corba.javaidl.hello.HelloService
  • Package :输入包名 比如:com.micmiu.corba.javaidl.server
  • Server classesname :服务端类的名称 比如:HelloServiceAOMServerImpl

然后点击 Next,在弹出对话框里选中 Create server class 项(否则不会生成Server_AOM.java),

点击Finish完成服务端类的初步创建。

打开生成的服务端类 HelloServiceAOMServerImpl.java ,添加还未实现的方法,如下

【4】、创建客户端

在 src 文件夹上右键依次选择 New → Other… → CORBA Wizard → Client → Simple implementation

点击Next ,弹出新的对话框,输入如下信息:

  • IDL filename :选中创建的 Hello4JavaIDL.idl
  • Interface :选择IDL文件里定义的接口名 比如 com.micmiu.corba.javaidl.hello.HelloService
  • Package :输入包名 比如:com.micmiu.corba.javaidl.server
  • Client classesname :客户端类的名称 比如: HelloServiceClientImpl

点击 Finish 按钮完成客户端类的初步创建。

打开客户端文件 HelloServiceClientImpl.java ,修改其main方法如下:

【5】、测试本地调用

首先运行服务端:Server_AOM.java 然后再运行客户端类:HelloServiceClientImpl.java

服务端日志如下:

CORBA Server ready…

[服务端] 接收的参数 : micmiu.com

[服务端] 返回信息 : Hi,micmiu.com welcome to CORBA

客户端日志如下:

[客户端] 调用结果 : Hi,micmiu.com welcome to CORBA

【6】.NamingService 命名服务实现远程调用

第一步: 服务端Server_AOM.java代码修改

注释调以下代码:

取消以下代码注释:

导入相关类的引用。

修改后完整代码如下:

第二步:客户端 HelloServiceClientImpl.java  代码的修改

在main 方法中注释调如下代码:

取消下面代码的注释:

修改其main 方法如下:

ps:  new HelloServiceClientImpl(args) 需要配置参数实例化

第三步:测试命名服务实现远程调用

先启动命名服务的监听,以端口 1234 为例:

ps :orbd 是jdk自带的命令

然后启动服务端:Server_AOM.java  需要配置参数:

-ORBInitialHost 127.0.0.1 -ORBInitialPort 1234 

最后启动客户端:HelloServiceClientImpl.java 同样需要配置参数

-ORBInitialHost 127.0.0.1 -ORBInitialPort 1234 

运行结果和上面本地调用测试的结果一样。

本文介绍到此结束@Michael Sun.

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/opensource/corba/corba-javaidl-dev-demo/

发表评论?

2 条评论。

  1. 创建IDL文件
    在 src 文件夹上右键依次选择 New → Other… → CORBA Wizard → IDL files → Simple IDL
    我在这一步就中断了,配置了OpenORB,但是好像没有效果 😥 😥 😥

  2. 😐 😐 😐 😐 😐

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">