关于中间件的开发研究[1]
作者:居德华 来源:上海亚士帝信息工程公司
导读:选择中间件作为软件技术研究开发的突破口是很正确的,因为它是当前分布网络计算的核心技术之一,特别它与企业应用集成(EAI)密切相关,在实施《信息化推动工业化》国策的今天,更有其明确的现实意义。
背景
网络经济时代的来临,使企业面临信息化的挑战,如何利用信息技术,将不同的应用系统集成为一个高效的整体,采纳现代的管理理念和方法,消除信息孤岛现象,及时将关键信息服务送到一线的工作人员的手中,成为企业提高市场竞争力的关键,Internet 技术的广泛应用,使企业能通过其内部或外部网(Intranet/Extranet),实施面向业务流程的管理、重整和自动化(BPM/BPR/BPA),进入所谓的电子商务时代,为推进这一目标,企业的应用集成(EAI)成为当前一个技术关键和热点,而EAI的核心技术就是通过中间件完成跨平台的应用集成。现代的企业网络应用,基本上都采用多层结构,这就更加重了中间件的必要性,中间件的选择显然与要跨接的应用相关,关键的考虑点是如何采用开放的接口和协议。
中间件是个大市场,1999年为27亿美元,2004年预计达97亿美元,增加2。5倍,EAI市场2000年为37亿美元,今年为48亿美元,2006年将达到110亿美元,可以看出主要为中间件的产出,令投资者刮目相看,网络公司的下挫,曾一度使中间件厂商的股票也受牵连,但由于中间件市场的利润很快地增长,又带动中间件股票的反弹,如BEA和Mercator的增长率均超过80%,而Tibco高达 157%,后者的股票从$147, 跌到$45后, 又反弹至$110。
由于技术和应用领先,中间件市场目前主要仍由美国垄断,占据的市场份额达 75%,其中北美市场额占了 50%,能与美国厂商抗争的为德国的Software AG和 Hitachi,如何冲破这一垄断,是我们必须考虑的问题。
选择中间件作为软件技术研究开发的突破口是很正确的,因为它是当前分布网络计算的核心技术之一,特别它与企业应用集成(EAI)密切相关,在实施《信息化推动工业化》国策的今天,更有其明确的现实意义。
什么是中间件
中间件是分布计算机系统中集成各个组成的软件粘接剂。
也有人把中间件定义为网络环境中一组为许多应用需要的、可复用和可扩充的服务或(资源相关的)功能。
"Middleware can be viewed as a reusable, expandable set of services and functions that are commonly needed by many applications to function well in a networked environment".
至今很难给出一个精确的定义和界限其范围,大家发现每个人在谈论中间件时,常关系到他所涉及特定的范围,常常与应用相关,也有人企图将中间件分层,但发现这样做并不带来很多好处,因此,有人干脆认为中间件是一组正交的非结构化的集合,按领域划分或许更方便。
但也有许多人,把中间件看成是介于应用和平台之间的一个中间层,它们又可区分上层与特定应用相关的中间件,中间层是较通用的一类中间件,底层则是与特定平台和资源相关的中间件。
可区分中间件的几种形式:
● 面向信息的中间件(MOM)
● 远程过程调用(RPC)
● 分布计算环境(DCE)
● 对象请求中介(ORB)
● 数据库中间件
● 事务处理监程(TP Monitor)
中间件存在几条技术主线,包括:Enterprise JavaBeans (EJB), DCOM, CORBA and DCE,但各有特点和长处,均有其自身的生命力,目前较公认的看法,多种技术还要共存一段时间,主张百花齐放,让其自然发展,不过早作选择决定,当然这种多技术共存的局面,也为集成带来更多的投资和技术要求,另外要关心的问题是,互易操作性、安全性和可管理性。为减少集成的困难,工业组织有个开放集团(Open Group),它有个互易操作性保证程序(IAP--The Interoperability Assurance Program),保证不同厂商间的产品容易集成。
中间件是现代Internet应用的一个重要组成部分,许多方面还有待研究,包括组织各方面人员的联合研究,主要研究问题有:共同的结构框架、标准、核心中间件的识别、需要进一步研究的工作(近远期),包括对一些未来新兴的高级应用环境,如Grid Forum, the PACIs, NGI, Internet2 等。
建议的研究开发策略
国家的有力资助,将有利推动我国中间件技术的发展,我们当然希望我国的软件企业能开发出有高竞争力、可获得广泛应用、具有自主版权的中间件产品,但对这个问题,我们也要抱一个实事求是的态度和估计,中间件技术主要从90年代发展起来,但其技术和应用基础,还可追溯到更早时期,这也是为什么美国在中间件领域占优的重要原因,应当承认,我国在中间件技术研究和应用方面,还有较大差距,要赶上去,还需要一段相当长的过程,需要艰巨的投入和努力,对此,应有充分的估计。为此,我们建议对中间件的研究开发,应有个长期发展规划,既要有雄心壮志,也要按规律办事,有阶段分目标、循序渐进地发展。
一个良好的研究开发计划,最好事先有明确的思路、目标和研究框架,但这次项目的建立,主要是政府的推动,这本身是一件好事,但也给人比较仓促和准备不充分的感觉,如果仅按临时拍脑袋的做法,确定研究方向和课题,不仅有些盲目和欠成熟,容易走弯路和造成不必要的资源和时间损失,为此,我们建议同时采用自顶向下和自底向上的平行策略:
自顶向下 – 认识到发展中间件技术是一个长期过程,必要的规划是不可避免的,建议把技术规划列为项目的软课题之一,组织专家或专题兴趣小组,对技术和应用现状作系统调研,在此基础上,确定研究方向和路线,以及选定研制关键的中间件,由于中间件涉及标准,牵涉面又广,通过规划建立一个中间件结构框架,和确定一个较完整的产品谱,十分必要,关于如何做规划,我们将在后面有专门一节叙述;
自底向上 – 为避免在规划未出来之前,不必要的等待,应根据目前国内已有基础和应用需要,允许各企业和研究单位,提出方向和目标明确的研究开发课题,列进项目支持的内容,以发挥各家的积极性,但单有这一面,可能缺乏系统性。
中间件由于涉及面较广,我们很难全面开花,为此,我们建议在研发上,应突出重点,由于中间件的重要应用领域是企业应用集成(EAI),而我国又已明确《信息化带动工业化》的国策,企业信息化将是下一阶段的一个重大应用方向,考虑中国由于受现成系统束缚较小,有可能直接跨代进入电子商务时代,建议重点开发与EAI和E-Business相关的中间件。
考虑到即使本项目取得重大进展,也不可能覆盖中间件所有领域,我们在应用中间件时,仍不可避免会使用到国外许多先进的中间件产品,特别是许多中间件,与底层的系统平台软件密切相关,而在系统软件方面,西方国家的优势还会保持相当长一段时间,再根据我们目前在中间件技术方面基础相对较差,又缺乏经验,因此,我们建议在项目内容上,除突出自主开发外,也要适当兼顾对国外已有技术的学习、消化、引进和技术传播,促进中间件技术的应用推广。
为有利掌握国外的发展动态,必要的调研是必需的,下面罗列我们已收集的一些材料,作为选题和立项的参考。
由于中间件技术和应用的复杂性,大量技术资料又是很散乱的,为了帮助了解有关技术的发展动态,在附录五中,我们特别推荐一份刚发表的有关“中间件结构报告”,可作为系统了解有关内容的“一门式”参考资料。
文章来源于领测软件测试网 https://www.ltesting.net/