Java网络编程精解讲义16.ppt
《Java网络编程精解讲义16.ppt》由会员分享,可在线阅读,更多相关《Java网络编程精解讲义16.ppt(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java网络编程精解作者:孙卫琴作者:孙卫琴作者:孙卫琴作者:孙卫琴参考书籍:参考书籍:参考书籍:参考书籍:技术支持网址:技术支持网址:技术支持网址:技术支持网址:www.javathinker.orgwww.javathinker.org第16章 CORBA简介参考Java网络编程精解的第16章n16.1 创建IDL接口n16.2 创建IDL接口的实现类n16.3 创建服务器程序n16.4 创建客户程序n16.5 运行CORBA程序 第16章 CORBA简介nCORBA(Common Object Request Broker Architecture,公用对象请求代理体系结构)是一种分布式
2、的软件体系结构。nCORBA独立于任何编程语言,并且独立于任何操作系统平台。这意味着在Linux中用Java语言编写的CORBA对象可以与Windows操作系统中用C+语言编写的CORBA对象通信。这里的CORBA对象是指符合CORBA规范的远程对象。第16章 CORBA简介nCORBA也采用客户/服务器模式。nORB(Object Request Broker,对象请求代理)充当连接客户与服务器之间的中间件。n不同的ORB之间通过IIOP协议(Internet Inter-ORB Protocol,网络ORB交换协议)通信,IIOP建立在TCP/IP协议的基础上。第16章 CORBA简介第1
3、6章 CORBA简介nCORBA要保证用不同编程语言编写的客户与服务器能够通信,为了使双方能“看得懂”对方的接口,CORBA采用专门的IDL(Interface Definition Language)语言来定义接口。nIDL语言独立于任何其他编程语言。第16章 CORBA简介n创建CORBA程序包括以下步骤:n(1)用IDL语言定义CORBA对象的接口,在接口中声明可以被远程调用的方法。n(2)使用针对目标语言的IDL编译器,编译由步骤一创建的IDL接口,生成用目标语n言编写的存根类以及其他辅助类的源文件。这里的目标语言可以是Java或C+等编程语言。n(3)用目标语言编写实现IDL接口的类
4、。n(4)编写一个服务器程序,它创建并注册CORBA对象。n(5)编写一个客户程序,它获得CORBA对象的远程引用,然后调用其方法。第16章 CORBA简介n下面介绍一个用Java语言来实现的简单的CORBA例子。本例子需要创建以下源文件:nHelloService.idl文件:IDL接口。nHelloServiceImpl.java文件:实现IDL接口的Java类。nHelloServer.java文件:服务器程序。nHelloClient.java文件:客户程序。16.1 创建IDL接口n例程16-1是HelloService.idl的源代码,它用IDL语言编写。例程16-1 HelloS
5、ervice.idlmodule hello interface HelloService string sayHello();oneway void shutdown();16.2 创建IDL接口的实现类n例程16-2的HelloServiceImpl类实现了HelloService接口。它继承自HelloServicePOA类。HelloServicePOA类由IDL编译器自动生成。例程16-2 HelloServiceImpl.javapublic class HelloServiceImpl extends HelloServicePOA private ORB orb;public
6、void setORB(ORB orb_val)orb=orb_val;public String sayHello()return nHello world!n;public void shutdown()orb.shutdown(false);16.3 创建服务器程序n例程16-3的HelloServer类创建了一个HelloServiceImpl对象,把它注册到命名服务器中,被绑定的名字为“HelloService”。nJDK提供了一个CORBA的命名服务器程序,即JDK的安装目录的bin子目录下的orbd.exe程序。例程16-3 HelloServer.java1.public cl
7、ass HelloServer 2.public static void main(String args)3.try4./创建和初始化ORB5.ORB orb=ORB.init(args,null);6./获得根POA的引用,并且激活POAManager7.POA rootpoa=POAHelper.narrow(orb.resolve_initial_references(RootPOA);8.rootpoa.the_POAManager().activate();9./创建一个HelloServiceImpl对象,并且把它与ORB关联10.HelloServiceImpl helloSe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 网络 编程 讲义 16
限制150内