基于
Java的中间件的
设计与实现
作者:于虎单位:三星
通信研究院班号:G08061:GS0806126
1
摘要:简要介绍了中间件的定义和原理,在此基础上讨论了基于异构
网络环境下的一个具体中间件项目的实现,并对其采用的关键技术和设计思想进行了分析。关键词:Java;中间件;网络技术
Abstract:Middleware,isalayerofsoftwarebetweenthenetworkandtheapplications.Thissoftware
providesservicessuchasidentification,authentication,authorization,directories,andsecurity.Intoday'sInternet,applicationsusuallyhavetoprovidetheseservicesthemselves,whichleadstocompetingandincompatiblestandards.Bypromotingstandardizationandinteroperability,middlewarewillmakeadvancednetworkapplicationsmucheasiertouse.
Thedefinitionandprinciplesofmiddlewareareintroduced.Theimplementationofamiddlewareprojectbasedonheterogeneousnetworkenvironmentisdiscussed.Itskeytechniquesanddesigningmethodsareanalyzed.Key
words:JAVA;middleware;networkenvironment
2
1引言
随着
计算机技术的飞速发展,各种各样的应用
软件需要在各种平台之间进行移植,或者一个平台需要支持多种应用软件和管理多种应用
系统,硬件平台和应用系统之间需要可靠和高效的数据传递或转换,软、使系统的协同性得以保证。这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持的软件系统,而中间件正是在这个环境下应孕而生。由于中间件技术正处于发展过程之中,因此目前尚不能对它进行精确的定义。比较流行的定义是:中间件是一种独立的系统软件或服务
程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,定义中特别强调了其网络通讯功能。
2中间件的定义和分类
中间件比较普遍接受的是IDC表述:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。该定义表明,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作;中间件是基于分布式处理的软件,最突出的特点是其网络通信功能。如下图中间件的表示:
中间件的分类方法较多,按照IDC的分类方法,中间件可分为六类。分别是数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等。数据访问中间件:是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;远程过程调用中间件:通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程;消息中间件:用来屏蔽掉各种平台及协议之间的特性,进行相互通信,实现应用程序之间的协同;交易中间件:是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台;对象中间件:在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用。目前国内外有不少厂商都开发出自己的中间件产品,其中有全球最大的独立中间件厂商BEA公司,还有像IBM、Oracle和Microsoft、HP、Sun等大厂商也早已涉足电子商务中间件。面向对象的中间件是对象技术和分布式计算发展的产物,业界普遍认为面向对象是今后中间件发展的
3
主流方向,它提供一种通讯机制,透明地在异构的分布计算环境中传递对象请求,而这些对象可以位于本地或者远程机器。面向对象标准原本只有一个,CORBA(公共对象请求代理体系结构),即该标准由包括BEA、IBM、Oracle、Sun和Sybase等公司在内的众多厂商一起制定,从而形成了一个庞大的CORBA联盟势力。后来,Sun推出了企业级JavaBeans(EJB),用自己易使用的程序模型来对CORBA做出了改进。微软COM(ComponentObjectModel,组件对象模型)的出现,使面向对象中间件市场里又多了一个标准,这样,面向对象中间件产品实际上形成了两大标准,一是微软的COM,一是JavaBeans。从宏观上看,中间件可以分为3大类:数据类:用于数据的存取、利用和增值,此类中间件用于构建以数据为中心的应用。处理类:把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的分布式应用。分布式构件类:支持构件式应用,未来应用的发展方向,目前竞争激烈。