安防之家讯:摘 要:随着Internet技术的发展,中间件技术正成为Web页面访问数据库的有效方案。为此,介绍了中间件技术的概念、中间件的分类和讨论了不同中间件技术之间的特色和不足。近几年来,中间件技术已经在广东省广电集团有限公司信息系统开发中得到了广泛的应用,并在将要进行开发的新一代的ERP系统中,会用到基于EJB,CORBA或DCOM技术的Web应用服务器,即采用全面融合底层服务的中间件技术。
关键词:中间件技术;面向对象;公共对象请求代理
Ontechnologyofmiddleware
Abstract:WiththedevelopmentofInternettechnology,middlewarehasbecomeaneffectiveplanforaccessingdatabaseonWebpage.Thispaperintroducesthedefinition,featuresandclassificationofmiddleware,comparingtheadvantagesanddisadvantagesofvariousmiddlewaretechniques.Inrecentyears,middlewaretechnologyhasbeenwidelyusedindevelopingtheinformationsystemofGPG.AndWebapplicationserverbasedonEJB,CORBAorDCOMtechniqueswillbeusedinthenewERPsystemtobedeveloped,iethemiddlewaretechniqueenablingallbottomlayerserviceswillbeadopted.
Keywords:middlewaretechnology;objectoriented;commonobjectrequestbroker
1中间件技术的概念
中间件(middleware)从最初为实现应用程序和异构数据库之间的接口到目前的商业产品,已有近20年历史。20世纪80年代,数据库中间件(如ODBC)的产生,被认为是最早的一种中间件。随着Internet技术的发展,该类中间件也成为Web页面访问数据库的有效方案,如通用网关技术(CGI)和JDBC技术等。
1.1中间件的定义
中间件可以定义为:位于硬件、操作系统平台和应用程序之间的通用服务系统,具有标准的程序接口和协议,可实现不同硬件和操作系统平台上的数据共享和应用互操作。
1.2中间件的主要特点
1.2.1提供公共的应用通信机制和数据接口
中间件必须提供一个公共的应用通信机制和数据接口。通信机制用来屏蔽各类通信协议之间的差异,完成通信协议间尽可能的完全映射,同时用来控制数据传输过程中的流量、加密技术、并发冲突等问题。数据接口用来实现异构、分布式环境中数据的共享,从而做到对象位置与平台无关性。
1.2.2可靠性保证
不同应用之间的通信,如客户方和服务器方的请求和应答过程,需要通过中间件才能正确完成,中间件必须提供接管和恢复事务的功能,确保关键性事务不被丢失。
1.2.3效率保证
中间件的工作流程是:当客户端的应用程序需要调用网络上某个服务器的数据或服务时,中间件系统接收客户端的请求,由此查找数据源或服务,建立相应服务或数据同相应服务器之间的对应关系。并在发送应用程序重新打包响应,将其传送回客户的应用程序。这样,由于实现了客户和服务器透明性而增加的请求响应时间,则必须由中间件的工作效率来尽量缩短。因此中间件提供的对服务或数据的查询效率是至关重要的。
2中间件的类型
目前中间件技术的应用非常广泛。在不同的应用领域,中间件所提供的功能不尽相同。下面简要介绍一下中间件的分类。
2.1数据库中间件
数据库中间件是产生最早的一种中间件技术,发展到现在已经非常成熟了。该类中间件位于数据库管理系统和应用程序之间实现了应用程序和异构数据库之间的统一接口,有效地解决了应用系统在不同数据库之间的移植问题。例如在开发应用系统过程中,通过ODBC实现应用系统和不同数据库之间的连接。
2.2基于事件消息的中间件
采用消息中间件机制的系统中,不同的对象之间通过传递消息激发对方的事件,来完成相应的操作。目前流行的面向对象的编程开发环境中的大多数都采用这种方式,将对象的相应动作封装在不同的事件,而这些事件又是由不同的消息所驱动的。消息中间件技术的工作模式既可以是同步的,又可以是异步的。
2.3交易中间件
交易中间件是专门针对联机交易处理系统(OLAP)而设计的。联机交易处理系统需要处理大量并发进程,这涉及到操作系统、文件系统、编程语言、数据通信、数据库系统、系统管理及应用软件,是一个相当艰巨的任务,但是工作的难度可以通过采用一个交易中间件来简化。交易中间件就是一组程序模块,用以大大减少开发一个联机交易处理系统所需的编程量。X/OPEN组织专门定义了分部式交易处理的标准及参考模型,把一个联机交易系统划分成资源管理、交易管理和应用三部分,定义了应用程序、交易管理器、多个资源管理器协同工作的方式。资源管理器是数据库和文件系统,交易管理器可归入交易中间件。交易中间件管理有应用声明和提交的交易,并通过两阶段提交协议等方式保证分部式交易的完整性、控制并发、实现交易路由和均衡负载。交易中间件理论上相对成熟,功能和性能界定清晰,但基本上适用于联机交易系统,如银行业务系统、订票系统等。尽管交易信息也是消息,交易中间件也是基于消息的传输,也可支持同步和异步方式,但与消息中间件的定位差距较大,属于一种较专用的中间件。
2.4面向对象的中间件
分布式技术和面向对象技术的结合,产生了大量基于对象中间标准。由OMG提出的公共对象请求代理机制(ORB)就是在对象之间建立客户服务器关系的中间件。利用ORB,可以使客户端能够透明地调用分布对象上的方法和操作,而无需考虑编程语言、操作系统平台、通信协议、互连细节的差异性。当客户端发出请求调用其它对象提供的方法时,ORB截听这种调用,并负责找到可以执行该请求的对象,传递参数和调用方法,最后返回结果。
这种对象请求代理机制和远程过程调用之间有相似的地方。它们最大区别在于ORB调用的是位于某个特定对象中的特定方法,而其它调用的是某个特定的功能(数据是分开的)。也就是说,同样的调用可能有不同的结果,取决于接收这个调用的对象,这就是所谓的多态消息接发。
公共对象请求代理机制(ORB)能实现分布环境中位于不同机器上应用之间的互操作以及多对象系统之间的无缝连接。在传统的客户服务器模式的应用中,开发者使用自己设计的标准或通用标准来定义设备之间的协议。协议定义与实现的语言、网络传输、消息定义格式及其它因素有关。ORB简化了这一过程,允许程序员选择通用操作系统,运行环境和编程语言。
客户端是一个要对对象进行操作的实体,对象实现(objectimplementation)是实现对象的代码和数据。ORB负责根据一个请求来定位一个对象,安排对象实现准备接受请求的数据通信。客户端的接口与对象的位置、实现对象的语言及其它不在对象接口反映出来的方面无关。客户端使用动态调用接口(dynamicinvocationinterface,DII)或对象管理组(objectmanagementgroup,OMG)接口定义语言(interfacedefinitionlanguage,IDL)方式发送请求。前者与目标对象的接口无关,后者与目标对象接口有关。由于某种原因,客户端也可以直接与ORB联系。对象实现使用DII或OMGIDL生成向上传递(upcall)的方式接受请求。对象实现也可以调用对象适配器和ORB。可以用两种方式来定义对象接口:用OMGIDL来定义接口;把接口放入接口池服务(interfacerepositoryservice)中,该服务把接口中的元素描述成一个对象。
任何能实现ORB的软件中,接口定义语言IDL和接口池具有相同作用。一个客户端要使用对象引用(objectreference)完成请求,它必须知道对象的类型以及具体的操作。客户端初始化请求有两种方法:通过调用目标对象;动态地创造请求。不论使用哪一种方法来发出请求都具有相同的语义,信息的接收者不能分辨出该请求是使用哪一种方法来传递的。ORB确定适当的实现代码,传递参数,把控制传给对象实现。为了完成请求,对象实现可能通过对象适配器使用来自ORB的服务。当完成请求后,控制和输出结果返回给客户端。对象实现选择使用何种对象适配器取决于它所需要的服务种类。
3中间件技术的应用
近几年来,中间件技术已经在广东省广电集团有限公司信息系统开发中得到了广泛的应用。例如:在“广电集团有限公司规范化检修维护信息网站”项目开发中,使用数据库中间件ODBC完成数据存取;“广电集团有限公司Internet网站”项目开发中,使用数据库中间件JDBC;“广电集团有限公司科技项目管理信息系统”项目开发中,使用了美国BEA公司的中间件产品WebLogicServer;等等。
在广东省广电集团公司将要进行开发的新一代的ERP系统中,会用到基于EJB,CORBA或DCOM技术的Web应用服务器(全面融合底层服务的中间件)。这使得基于Internet的应用开发、部署、管理变得更加容易。它可以用一种灵活的方式来代表一个商业过程,把商业过程转化到一个包含若干阶段的框架结构,每一个阶段代表对一个商业对象的分离的操作。
4结束语
中间件技术的日趋完善,为软件的体系结构注入了新鲜的活力,改变了传统的客户服务器的两层应用模式。特别是分布式对象技术、构件技术的发展,使中间件技术有了更大的突破。通过提供中间件的组件模式,简化了应用程序的开发复杂性,提高了软件可重用性,促使软件生产的产业化,使跨企业的分布式应用得到了推广。
参考文献
[1]ORFALIR,HARKEYD,EDWARDSJ.InstantCORBA[M].Indianapolis,IN:JohnWiley&Sons,Inc.,1997.
安防之家专注于各种家居的安防,监控,防盗,安防监控,安防器材,安防设备的新闻资讯和O2O电商导购服务,敬请登陆安防之家:http://anfang.jc68.com/