中国·芯片交易在线
首页 | 供应信息 | 求购信息 | 库存查询 | 新闻中心 | 展会资讯 | IC厂商 | 技术资料 | 自由区域
   新闻首页 |  行业动态 | 新品发布 | 政策法规 | 科技成果 | 模拟技术 | 嵌入系统 | 传感控制 | 存储设计  
当前位置:IC72首页>> IC新闻中心>> 嵌入系统 >>电子行业新闻正文

分布式对象中间件技术

时间:2007/5/21 10:21:00  作者:  来源:ic72  浏览人数:1555
 
 

      摘  要:分布式对象中间件技术是为了解决分布计算和软件复用过程中存在的异构问题而提出的。CORBA,EJB,COM/DCOM是目前主要的3大中间件技术,他们都有自己的优势应用领域,CORBA和Java的结合在解决Internet  WWW应用方面具有无比的优势。本文介绍了基于Java/CORBA 的 WWW信息查询系统开发的一般方法。

      关键词:中间件;分布式对象中间件;CORBA; JAVA

      随着计算机技术,尤其是Internet技术的发展,跨地域、跨企业、跨业务的计算机应用越来越广泛。但是不同硬件平台、网络环境、数据库等异质性因素影响了计算机系统集成应用。应用开发过程中大约有70%的时间和精力用于解决与业务逻辑没有直接关系的跨平台难题,因此,有必要将分布式应用所面临的共性问题进行提炼,抽象形成一个可复用的软件部件—中间件—供应用软件使用。过去中间件系统如DCE(Distributed  Computing  Environment)是面向过程的软件复用模式体系结构,随着面向对象技术的发展和客户/服务器模式的流行,分布式对象中间件技术已成为分布计算的主流技术。本文介绍了3大分布式对象中间件技术及基于CORBA/JAVA的WWW系统开发的一般过程。

      1中间件技术

      中间件是一种独立的系统软件或服务程序,分布式应用借助这种软件可以在不同技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通讯。中间件的目标是要解决系统的互连和互操作,他的核心是解决名字服务、安全控制、并发控制、可靠性保证、效率保证等方面的问题,要实现互联还要解决支持各种通讯协议、各种通讯服务模式、传播各种数据内容、数据格式翻译、流量控制、数据加密、数据压缩等。按照IDC的分类方法,中间件分为6类:终端仿真/屏幕转换中间件、数据访问中间件、远程过程调用中间件、消息中间件、交易中间件和分布式对象中间件。

      传统的对象技术通过封装、继承及多态性提供良好的代码重用功能。但是,这些对象只存在于一个程序中,外界并不知道他们的存在,也无法访问他们。分布式对象中间件就是要解决这些问题,他提供一个标准构件框架,能使不同厂家的软件通过不同地址空间、网络和操作系统进行交互访问。对象技术的优势和分布式对象中间件的标准化,促使对象中间件功能最终将涵盖其他几类中间件的功能,从而成为中间件产品的主流。

      2分布式对象中间件技术

      2.1公共对象请求代理体系结构CORBA

      CORBA由对象管理组织OMG于1991年提出,其旨在将错综复杂的网络编程从单独的组件和应用中移走。ORB是CORBA平台的核心,他提供了客户—对象间实现透明通信的方法,当客户激活一个方法时,ORB负责定位对象实现并透明激活将请求传输给对象实现并返回结果。IDL是不依赖于具体编程语言和计算平台的接口语言,用来定义对象接口,IDL对描述跨平台,跨语言应用程序提供一个公共的表示方式,IDL编译器可根据用户需要将IDL定义转化为应用程序语言,如C++,JAVA等。IDL桩为客户提供了静态调用对象方式,IDL构架为客户提供了静态实现方式,他们由IDL编译器产生,作为具有调用功能的子例程分别在客户方和服务器方使用。而动态调用接口DII(Dynamic Invocation Interface)和动态构架接口DSI(Dynamic Skeleton Interface)提供了动态调用方式和动态实现方式。在ORB核心和对象实现之间还有对象适配器,他负责服务对象的注册、对象引用的创建和解释、对象实现的激活和去活以及客户请求的分发等。ORB之间的互操作主要是由ORB桥,IIOP(Internet InterORB Protocol)和EISP(Environment  Specific  InterORB Protocol)等互操作协议来规定。IIOP是建立在TCP协议之上的基于连接的协议。

      2.2分布组件对象模式DCOM

      DCOM是Microsoft与其他业界厂商合作提出的一种分布构件对象模型。DCOM起源于动态数据交换DDE技术。通过剪切/粘贴(cut/paste)实现2个应用程序之间共享数据的动态交换。对象连接和嵌入OLE就是从DDE引伸而来的,随后Microsoft引入了构件对象模型COM,形成了COM对象之间实现互操作的二进制标准。COM规定了对象模型和编程要求,使COM对象可以与其他对象相互操作。DCOM出现是为了弥补COM在支持远程组件方面的不足。他为分布在网络不同节点的2个COM组件提供了互操作的基础结构。

      将COM,DCOM,OLE及ActiveX这些服务结合起来形成了微软创造的分布式网络互联体系结构DNA。

      2.3EJB企业JAVA平台

      近年来,Sun Microsystem公司提出的基于JAVABean组件技术的EJB及Enterprise  JAVA平台,JAVABean是JAVA向组件方面的发展,组件的单位叫Bean或JAVABean,这种组件模式是JAVA编写的可移植的,平台独立的组件模式,在分布计算模型中,可用来构建客户端程序。EJB于1998年提出,是服务器方的组件模式,定义了开发和布署可重用的JAVA服务器组件模式和API规范。JAVABeans和EJB体系结构之间,一个最明显的区别是事件处理。JAVABean是为紧耦合的桌面环境而设计,使用局部事件模式,不利于系统的集成。EJB体系结构对分布式的事件提供灵活的支持,允许远程客户通过远程方法调用API访问服务器功能。适应分布式体系结构中的多层应用。EJB还不是一个完整的平台,其提供服务也有限,于是在EJB的基础上,提出能适应广泛企业计算的Enterprise JAVA平台技术。Enterprise JAVA平台包括EJB ,JSP,Servlet,JDBC等组件。

      上述3种中间件各有特点,CORBA可以跨各种操作平台,包括Windows OS ,甚至支持DOS操作系统而DCOM只支持Win 32; 同时CORBA跨多种语言,支持C++,Smalltalk,JAVA,COBOL,Ada等语言。DCOM主要以桌面Wintel同质平台对象跨应用使用见长,支持带有指针结构的语言如C,C++而不支持JAVA语言。Enterprise JAVA在Internet环境下集组件模式、跨异构平台、兼具事务处理、数据库连接等许多基础结构服务,但仅限于支持JAVA语言。因此我们利用JAVA语言具有简单、面向对象、分布式、解释型、健壮、安全、可移植性的特点结合CORBA的跨异构平台的特性实现对象的重用。

      3CORBA/JAVA的WWW应用系统

      我们设计的系统是要实现以下目标:在客户端用浏览器下载服务器上Java小程序Applet,通过Java虚拟机和CORBA的ORB实现对远端服务对象的调用,并通过服务对象访问远端数据库,最后返回查询结果并在浏览器上显示。其系统结构图如图1所示。

ic72新闻中心

      3.1程序设计与实现

      该系统用Borlard Jbuilder 5.0进行开发,Borland Jbuilder 5.0提供了JAVA语言的CORBA开发支持,VisiBroker for JAVA是一个内置于Jbuild 3.0 IDE的开发工具,可以用来建立、管理和开发分布式的跨多种平台的开放的、易用的、可交互的 CORBA Java应用程序。这里开发一个可以访问MS SQL Server数据库3层C/S模式应用。在这个系统中要用到定义JDBC API的java.sql包,该包定义了JDBC所有的类,接口和方法。主要的类和接口有DriverManager—处理驱动程序的装入;java.sql.Driver—驱动程序接口;java.sql.Statement为sql语句提供一个容器,java.sql.Connection表示到特定数据的连接。

      (1)定义CORBA objects和编译IDL接口

      首先定义一个接口模块Queryidl,该模块包含的DataQuery接口提供了一个连接数据库并返回查询结果的方法dbQuery( ):

ic72新闻中心

      用visiBroker IDL编译器(idl2java)编译Queryidl产生一个JAVA接口DataQuery.java和其他必需的JAVA文件。其中_st_DataQuery.java是客户端的stub,_sk_DataQueryImplBase.java是服务器端的骨架(skeleton),另外还包括为传递参数提供支持的DataQueryHolder.java和提供辅助功能DataQueryHelper.java。

      (2) CORBA接口的实现

      对象实现类必须结合编译产生的骨架来完成,类DataQueryImpl.java需要继承由 IDL编译产生的骨架_sk_DataQueryImplBase类。其中dbQuery( ) 通过JAVA.JDBC.API实现连接数据库并返回查询结果:

ic72新闻中心

      (3)创建服务端应用程序

      类Serverjava服务程序负责下列任务:初始化ORB和BOA,建立服务对象DataQueryImpl,通知对象可用及准备接受请求。

ic72新闻中心

      (4)创建客户端程序

      实现步骤:初始化CORBA环境,查找定位到DataQuery对象,然后调用dbquery( )方法。

ic72新闻中心

      最后编译服务器端和客户端程序,设置好程序中用到的ODBC数据源,启动提供对象查找服务的Smart. Agent和服务端应用程序Server.java,最后在客户端IE 地址栏健入:http://:15000/clientApplet.html运行客户程序即可实现远端查询。

      4结语

      中间件屏蔽了操作系统和网络协议的差异,为应用层软件提供了多种通讯机制和统一的应用平台,简化了软件开发的复杂度,提高了开发的效率。CORBA已成为软件开发的主流。CORBA独立于网络协议,独立于编程语言,独立于软硬件平台,是目前最有生命力的跨平台分布计算技术。JAVA由于其健壮性,安全性,移动性和跨平台及“一次编写,各处运行”的优点,使其成为WWW网上开发最好的语言。毫无疑问,JAVA和CORBA的结合将会把分布计算和软件复用推向新的阶段。

 
【相关文章】
·用UML建模开发嵌入式软件
·基于DSP的蓄电池充放电装置研究
·嵌入式Linux系统的动态电源管理技术
·EDA技术在微机接口技术实验教学中的应用
·嵌入式移动数据库的应用研究
·嵌入式系统的低功耗软件方案
·嵌入式系统的软硬件协同设计
·一种基于UML的嵌入式实时应用软件开发环境
·嵌入式实时系统中的优先级反转问题
·嵌入式操作系统的新动向
·分布式对象中间件技术
·嵌入式MPEG—4解码系统的设计与实现
·连续脉冲信号延迟线的实现
·基于Quick Capture技术的摄像头驱动方案
·基于模块化设计的嵌入式软件测试方法
 
 
IC新闻搜索
 
热点新闻
基于红外超声光电编码器的室内移动小车定位系
基于闪烁存储器的TMS320VC5409DSP并行引导装载方法
非移动市场需求飙升,ARM预计2010年出货量超50亿片
一种快速响应的电容式湿度传感器感湿薄膜设计
利用特殊应用模拟开关改进便携式设计
无线传感器网络跨层通信协议的设计
基于ARM9内核Processor对外部NAND FLASH的控制实现
基于GSM技术的汽车防盗系统的设计
热电阻在烟叶初烤炕房温度控制中的应用
高速数据转换系统对时钟和数据传输的性能要求
友情连接
 关于我们  IC论坛  意见反馈  设置首页  广告服务  用户帮助  联系我们
copyright:(1998-2005) IC72 中国·芯片交易在线
(北京)联系电话:(010)82614113、82614123 传真:(010)82614123 客户服务:service@IC72.com 库存上载:IC72@IC72.com
在线MSN咨询:ic72sale8@hotmail.com 通信地址:北京市西城区西直门内大街2号大厦15层 邮政编码:100013
(深圳)联系方式: 在线MSN咨询:ic72sale6@hotmail.com 在线QQ咨询:191232636 通信地址:深圳市福田区振华路
注 册 号: 1101081318959(1-1)

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9