时间:2021-05-19
详解 Corba开发之Java实现Service与Client1概述
CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)是由OMG组织制订的一种标准的面向对象应用程 序体系规范。或者说 CORBA体系结构是OMG为解决分布式处理环境(DCE)中,硬件和软件系统的互连而提出的一种解决方案。
OMG:Object Management Group,对象管理组织。是一个国际化的、开放成员的、非盈利性的计算机行业标准协会,该协会成立于1989年,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。。任何组织都可以加入OMG并且参与标准制定过程。OMG制定了统一建模语言UnifiedModeling Language?(UML?),模型驱动架构ModelDriven Architecture? (MDA?)等建模标准。使强大的视觉设计,执行和维护软件等工序成为可能。并且,OMG还制定了广为人知的中间件标准CommonObject Request Broker Architecture (CORBA?)。
通用对象代理体系结构CORBA(Common Object Request BrokerArchitecture)是OMG所定义的用来实现现今大量硬件、软件之间互操作的解决方案,CORBA也是迈向面向对象标准化和互操作的重要一步。
简单地说,CORBA允许应用之间相互通信,而不管它们存在于哪里以及是谁设计的,即跨平台、跨语言。CORBA1.1于1991年由OMG发布,其中定义了接口定义语言(IDL)以及在对象请求代理(ORB)中实现客户对象与服务器对象之间交互的应用编程接口(API)。CORBA2.0于1994年发布,规定了各个供应商之间的ORB的通信规则。
CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB)以及ORB之间的互操作协议IIOP。
IDL是CORBA定义的语言,CORBA还定义了IDL到各种语言的映射,标准映射的有Ada、C、C++、Smalltalk、Java、以及Python。有了这些映射,就可以将IDL翻译成各种语言,从而实现了跨语言。IDL语言是一种接口定义语言。IDL语言不同于所有已有的程序设计语言,它是一种描述性语言,也就是说,用它描述得到的接口是不能直接被编译执行。OMG IDL语言采用ISOLatin-1(8859.1)字符集。该字符集可以分为字母、数字、图形符号、空格符、和格式符号。其中字母包括英文26个字母的大小写,数字包括10个阿拉伯数字0到9。
ORB是CORBA的核心,是对象之间建立Client/Server关系的中间件。使用ORB,客户可以透明地调用一个服务对象上的方法,这个服务对象可以在本地,也可以在通过网络连接的其他机器上。ORB截获这一调用同时负责查找实现服务的对象并向其传递参数、调用方法返回最终结果。客户并不知道服务对象位于什么地方,它的编程语言和操作系统是什么,也不知道不属于对象接口的其他系统部分。这样,ORB在异构分布环境下为不同机器上的应用提供了互操作性,并无缝地集成了多种对象系统。
在client端去调用server端的代码时,ORB对于client端是不可见的,client感觉好像调用了自己对象的方法一样,但是网络传输的过程都被封装在了ORB中。
2idl文件创建
在开发之前需要按照上一章中配置好Eclipse插件开发环境,
1、 客户端开发idl文件,idl文件由服务端接口提供,或者自定义创建,如下图:
2. 选择IDL文件,右键ORBMenu--->Compile,就自动生成相应的操作文件
自动生成需要的操作文件一共7个;
3 服务端开发
1.src上右键New--->Other--->CORBAWizard--->Server--->Active object map--->Next如下图:
2.在弹出的对话框里IDL filename栏选择/{projectName}/src/{IDLname}.idl
Interface栏选择IDL文件里定义的接口名
Package栏里填写包名
Server classname栏里填写服务端类名
--->Next 在弹出的对话框,选中Createserver class:项
3. 为生成的服务端类添加未实现的方法,并填写方法体
至此服务端配置完成,Server_AOM class为服务端启动入口。
4 客户端开发
1、新建java project;
2. src上右键New--->Other--->CORBA Wizard--->IDL files--->Simple IDL,如下图:
3.选择之前的idl文件,
完成后自动生成客户端文件操作,如下图:
4. 在客户端类的main方法里,取消注释test.getORBInterface().operation1("Amessage in the bottle..."); 并调用之前自定义的方法,修改传递的String内容。即可完成客户端调用。
备注: 运行服务端程序Server_AOM.java,然后运行客户端程序MyServiceClientImpl.java
至此简单的Service and client开发完成!
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Java开发之Spring连接数据库方法。分享给大家供大家参考,具体如下:接口:packagecn.com.service;importjava.
Java中内存异常StackOverflowError与OutOfMemoryError详解使用Java开发,经常回遇到内存异常的情况,而StackOverfl
详解Java注解的实现与使用方法Java注解是java5版本发布的,其作用就是节省配置文件,增强代码可读性。在如今各种框架及开发中非常常见,特此说明一下。如何创
java实现双向链表实例详解双向链表是一个基本的数据结构,在Java中LinkedList已经实现了这种结构,不过作为开发者,也要拥有自己显示这种结构的能力。话
Swift开发之懒加载的实例详解///Adisplaylinkthatkeepscallingthe`updateFrame`methodoneveryscre