龙源期刊网 http://www.qikan.com.cn
反射式软件中间件技术研究
作者:张 净 黄文明
来源:《沿海企业与科技》2006年第11期
[摘要]随着计算机技术的发展,中间件已经成为软件开发技术的一个重要发展方向。文章介绍的新型的中间件技术反射式中间件,可提高中间件的适应性,实现在运行时根据变化的环境对中间件进行动态配置。
[关键词]计算机;中间件;适应性;反射式;构件技术
[作者简介]张净,桂林电子科技大学计算机系讲师,研究方向:软件工程,广西桂林,541004
[中图分类号]TN141 [文献标识码]A
[文章编号]1007-7723(2006)11-0111-03
在分布式异构环境中,存在着多种不同的硬件系统平台,如何屏蔽异构系统的差异性为用户和开发人员提供一种标准的,独立于计算机硬件和操作系统的开发和运行环境,成为业界面临的一大挑战。中间件技术正是在这种背景下孕育而生,并得到了高速发展。 一、中间件技术
中间件是处于应用软件和系统软件之间的一类软件,是客户方与服务方之间的连接件。中间件是一种独立的系统软件或服务程序,是一种构建分布式应用程序切实可行的软件,它屏蔽底层的异构性,为程序员提供一个简便的编程模型。
中间件一般遵守公开的接口标准,所以它们可以被重用,并能被多个应用程序所共享。外界所能知道的就是它们的接口,可以通过中间件的端口获得系统服务。
中间件消除了底层操作系统的复杂性,使程序开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少了技术上的负担。中间件已经成了联结异构环境中各个相对独立系统的胶合剂。
随着企业的IT环境越来越纷繁复杂,企业中可能会拥有多种操作系统,不同的数据库、异构的网络环境以及数个应用等,中间件简单地把它们结合成一个有机的协同工作整体,真正实现企业跨平台分布式应用。针对高性能复杂应用而且时间要求比较高的应用,代码级的软件
龙源期刊网 http://www.qikan.com.cn
开发模式往往力不从心。中间件与操作系统、数据库并称作现代基础软件的三驾马车,现在不仅是指位于操作系统与应用程序之间的软中间件,而且包括了所有应用系统之间的整合、集成,其内涵远远超出了以前的范畴。以构件组装的方式取代以往的代码编程的开发方式,在系统的性能、灵活性和开发效率方面都有显著的提升。除了具有可以快速高质量的建成之外,在运行期也可以实现与不断改变的商务需求保持同步,同时系统的维护成本远远低于传统的代码编程方式开发出的系统。 二、反射式中间件 (一)背景
提高中间件的适应性是中间件发展的必然趋势,只有具备了自适应性才能使中间件根据运行环境执行上下文及上层应用需求的动态变化按照预先定义好的策略及时、主动地对自身的结构和行为方式进行相应用于调整以应用这些变化。反射式中间件就是一种能够通过与系统运行状态和行为具有因果关联的系统自述来监测并调整系统状态和行为的中间件系统。反射技术通过某种手段使系统内部原本对应用透明的一些数据、结构、甚至行为呈现出来,使外部可以访问或修改。
中间件设计的目的是实现系统的透明性,如访问透明性、迁移透明性、位置透明性、失败透明性、重定位透明性、复制透明性、持久透明性和事务处理透明性。但对应用完全透明的方式往往会牺牲功能或性能,有时自适应效果并不充分。而完全应用实现的方式则过度依赖应用本身,造成应用开发困难。鉴于两种极端的局限性,理想的方式是采用自适应策略,即系统保证主要的自适应优化,对于应用必须参与的调整则通过与应用特殊的接口进行。而反射技术应用在这里就可解决这一问题。即通过反射接口进行必要的调整使自适应更具个性化。反射式中间件通过开放内部实现细节以获取高灵活性。 (二)元层体系结构
反射系统采用被称为元层体系结构的两层结构,其中的两层是基层和元层。位于下层的基层由组件和服务组成,通过对组件的配置来提供相应的服务,完成有关外部领域的计算,实现系统对外提供的功能——这是任何计算系统都要完成的计算;位于上层的元层负责管理组件信息和运行时上下文导出的元数据,并维护这些元数据与基层实体的行为、状态的关联,完成有关系统自身的计算——这是只有反射系统才要完成的计算。反射中间件为两个应用对象提供服务的过程如图1所示。基层和元层通过具体化和吸收这两个过程相联系。具体化是指用元层实体对来描述基层的特性的过程。元层提供元接口,使用户能够访问和修改元层实体的状态。吸收与具体化相反,它根据用户对元层实体的状态所做的修改来调整基层中相应的特性,使基层的特性和元层实体的状态保持一致。具体化和吸收实现了系统和有关系统的表示之间的因果联系。
(三)元对象协议

