当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

用CORBA成立Client/Server程序[Java编程]

赞助商链接



  本文“用CORBA成立Client/Server程序[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

假定你想找一个操纵面向对象的办法去衔接一个Client到Server,你有两个主要的挑选:DCOM和CORBA.DCOM是微软的办理筹划,并且当你为WINDOWS系统写代码时非常有效.在本文中,我们将要研究用CORBA去办理分布式利用程序问题.

CORBA概要:

在一个普通的用C++大概JAVA写的面向对象的程序里,程序包含全部利用程序需求用到的类.编译器编译和衔接这些对象,当你用new语句初始化对象时,它们被成立在利用程序所在的内存里并且被当作一个简单的历程来履行.

CORBA是一种技术答应一个Client程序调用属于一个Server的对象,这个Server可以是运行在同一台机械大概是几千里外的机械.在它的最基本的阶段,CORBA是非常简单的-实例化一个在你的处理内存空间的对象替换你在普通的程序中所做的,你可以实例化这个对象无论在哪一个网络的Server上.调用这个对象的办法以及这些办法需求传送的参数被打包成网络包的格局发送到服务器上.这个功效实际上是运行在服务器上,返回后果通过网络传送到调用者.

这种筹划的长处是服务器可以作为高效的、同享的资源中央,以Server为底子的CORBA对象可以拜候Server的数据库和别的服务.当然,它的缺陷是速度.每秒调勤奋效的数目被网络速度严峻限制,以便保证别的技术通过网络传输数据,因而,CORBA不是独仪无二的.DCOM,乃至Socket都要忍耐一样的耽误.

用CORBA办法分外的方面是可以便利的调用ORB(Object Request Broker), ORB处理和操作Client和Server之间的衔接.在下面的例子里我们将要用Inprise VisiBroker ORB.用VisiBroker,Client和Server都用一个叫做OSAGENT的服务,OSAGENT用一个尺度的端口(普通是14000)衔接Client,OSAGENT可以当作一个目录去帮忙Client的ORB去找到一个它要找的对象.

用java设置一个简单的CORBA的Client和Server是非常简单的,在下面我们将要看到几段例子代码段去显示这个历程,在接下来的部份我们将要注释代码怎样工作的,我们从关键字"安装"开始.

安装

用文档中的例子代码,除了VisiBroker ORB之外你需求下载Sun的JDK1.1,你能下载SDK从http://java.sun.com/products/jdk/1.1/index.html.我们用JDK1.1替换1.2是为了避免和java2的ORB冲突.你可以得到VisiBroker ORB从http://www.inprise.com/visibroker/.先装SDK,再装ORB.

例子代码

为了成立一个CORBA Server并且让Client拜候它,你要决意Server类将要做什么再开始.在这个例子里我们要用一个非常简单的Server类,这个类拥有一个私有的整型变量,在这个类里的一个办法将要增添这个整型变量,并且另一个办法将要答应Client拜候这个变量的精确值,下面是这个类的接口描写:

//Counter.idl
module Counter{
interface Count
{
void increment();
long getCounter();
};
};

这个类被命名为Count,它的两个办法是Increment和getCounter,这个类被包含在一个叫Counter的模板中,只要你乐意这个模板可以包含好几个差别的类,把这IDL代码放在一个叫Counter.idl名字的文件中.

为了用这个IDL文件,你需求IDL2JAVA去运行它,这个工具将要创Client和Server要用到的类,IDL2JAVA产生的Client类叫做Helper并且被命名为CountHelper.java,Client用helper类去调用Server的功效,IDL2JAVA产生的Server类叫做ImplBase并且被命名为_CountImpleBase.java,你将要履行这些Server扩大ImplBase的办法.

注意:当你在Client直接用CounterHelper.java类时,当你调用一个Counter接口的办法时履行在Client的代码是_st_Counter.java.这个类调用stub把数据打包发送到Server并且返回精确的数据,它同Server端的skeleton(是_sk_Counter.java,担当与_CounterImplBase.java)通信.


  以上是“用CORBA成立Client/Server程序[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 用CORBA成立Client/Server程序
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .