中间件技术研究
4 中间件技术的发展趋势
4.1 网格技术
中间件技术当前所面临的重大挑战是要在互联网这个复杂的分布式系统中构建应用程序。许多计算机专家认为,将整个互联网的各种资源全部整合在一起,为用户提供统一的服务,是相当困难甚至难以实现的。当然,对于具体的应用领域,具体的网络区域,用中间件技术将其中的各种资源整合在一起还是相当有前景的。目前方兴未艾的网格(GRID)技术实质上即是一个基于互联网的中间件系统,可同时运用网络中所有的CPU、存储器、操作系统、应用软件等资源,用户通过PC、手机或PDA,可从互联网上获取来自全球的资源,互联网将变成一个虚拟的、强大的计算平台。网格的重要特征是对资源的共享和管理,包括:(1)计算资源。启动程序,监测、控制进程运行;对分配给进程的资源的管理机制;查询功能,确定硬、软件状态、相关负载信息和队列状态等。(2)存储资源。上载、下载文件;对分配给数据传输的资源(空间、磁盘带宽、网络带宽、CPU)的管理机制,确定可用空间、带宽使用率等相关负载信息。(3)网络资源。提供控制分配给网络传输的资源的管理机制;查询网络状态和负载的功能。(4)代码库。管理源码和目标码的机制。另外,网格系统还应包括:①网格特有事务所需要的通信和认证协议,通信协议允许资源之间交换数据,功能包括传输、寻径和名字服务。建立在通信协议之上的认证协议为确认用户和资源的身份提供加密安全机制。②管理一组相关联的资源集合,并负责资源集合之间的交互,包括:目录服务、合作分配资源任务调度服务、监控诊断服务、数据复制服务、支持网格的编程、软件发现服务、团体授权服务等。
4.2 面向移动计算
移动计算问题可以具体展开为三个方面:①用户移动。无论用户处在什么位置,都能为其提供一致的工作环境,包括用户的配置信息和他所“订阅”的服务。②终端移动。使终端设备无论在任何接入点接入网络,都能正常工作,也就是说底层网络对终端设备是透明的。③服务移动。当前,越来越多的服务依赖于移动的资源,甚至服务本身就处在不断移动中,必须保证用户及其终端设备可以随时找到这些服务。据此,移动计算需要一个基础设施将合适的协议、机制、工具集成起来,提供上述三方面的功能。移动中间件正是这样一种基础软件。它随时对移动用户和终端进行跟踪和重定位,保证移动实体的相互通信,克服系统的异构性,并且为开放的网络环境提供安全性。随着网络带宽不断增大,人们对移动设备的服务质量问题的顾虑渐渐打消,而使用移动设备的方便性日益突出。人们要求各种服务都可以在移动的情况下(包括上述三种情况)获得。因而移动中间件具有十分广泛的发展前景。泛化计算(Ubiquitous Computing)是移动计算的极至,指从大型机、PC、到PDA以至安装有处理器的各种各样的日常生活设备之间能够相互通信、协调工作。显然,在这个领域,中间件面临更为复杂的异构环境以及无线通信和动态配置的挑战。
4.3 面向服务质量
传统的单一系统,如大型主机、容错系统等,依赖昂贵的配置与设计来实现高可用性,而高可用中间件主要是在软件层面利用系统的冗余部件(比如机群系统有大量这样的部件)为用户提供高可用功能。这有三个方面的优势:成本低、可扩展性好、更加灵活方便。为了保证数据的可靠性和一致性,还有必要在中间件中增加保证QOS的协议(在CORBA中已经有这样的协议)以实现数据的备份以及各种各样的容错功能。另外,还要保证此方法的响应时间尽可能的快(这里泛指用户响应时间以及切换时间等一切影响服务质量的时间)。随着网络技术的发展,越来越多的用户使用网络提供的服务,这就对服务质量提出了更高的要求,质量低劣的服务是没有市场的。高可用中间件、容错中间件在这一背景下将不断完善和发展。
4.4 各种技术的发展对中间件技术产生的影响
由于中间件系统的主要目的就是整合各种异构系统中的资源,使其协调工作。因此,各种异构系统中各种技术的发展都会或者为中间件系统的开发提供便利,或者设置障碍。Web Service技术就是在XML语言、异步通信机制、以及基于内容的消息传递机制等各种技术发展基础之上提出并发展起来的。又例如,当前移动代理(Mobile Agent)技术在中间件的设计和实现过程中发挥越来越重要的作用,特别是基于互联网的应用以及涉