在线工博会

中间件选择箴言
东方通科技 牛合庆
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
您的企业选择什么样的中间件变得越来越重要了,仔细了解如何选择中间件是非常有用的,它将有助于您用合适的集成方案来满足企业的需求。那么,您选择什么样的中间件呢?换句话说,您为企业制定怎样的中间件策略呢?
技术的发展和市场的演进使中间件成为分布式应用的关键性基础设施,中间件的内涵也变得越来越丰富,种类越来越多,技术越来越复杂,应用范围越来越广阔。相应地,您的企业选择什么样的中间件变得越来越重要了,仔细了解如何选择中间件是非常有用的,它将有助于您用合适的集成方案来满足企业的需求。那么,您选择什么样的中间件呢?换句话说,您为企业制定怎样的中间件策略呢?
中间件的复杂性并不是中间件的错误,建立分布式应用本身就需要解决复杂的问题,中间件以自己的复杂换取了企业应用的简单。各硬软件厂家提供给您的技术太多了,您可能有5种操作系统、6种数据库、7种网络环境、80种应用和9000个网络结点,但您想把它们结合成一个有机的整体协同工作,这太令人头疼了。中间件就是解决这类问题的,它试图通过屏蔽各种复杂的技术细节使您的应用开发简单,当然中间件本身就会比较复杂,特别是产生了不同类型的中间件以满足不同的应用需求。中间件对企业应用非常必要,但您需要选择。
越来越丰富的中间件
从宏观上看,中间件可以分为三大类:
数据类(Data Integration):用于数据的存取、利用和增值,此类中间件用于构建以数据为中心的应用
处理类(Process Integration):把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的分布式应用
分布式构件类(Distributed Components):支持构件式应用,未来应用的发展方向,目前竞争激烈。
为了更加清晰起见,我们把中间件细分成以下15种:

(图片)

(图片)

尽管中间件的种类如此繁多,但主流的中间件大致有5种:数据存取的中间件;消息中间件;交易中间件;对象中间件;应用服务器。IDG组织对这几种中间件的市场情况进行了预测:

(图片)

给选择者的建议
纵上可知,由于中间件的种类较多,您在使用中间件的时候必须作出选择。选择应该从以下几方面进行。
选择种类:先确定类别再确定产品
中间件的特殊性使得您在选择具体的中间件产品以前,必须确定您的应用类型或具体需求,进而仔细确定选择使用那一类中间件。这一点非常重要,比如您的应用类型如果只是传递消息,而对高可靠、高并发、高效率无特殊要求,就应该选择消息中间件而非交易中间件。您如果是典型的关键任务的联机事务处理系统就应该选择交易中间件。如果您要建立分布式构件应用,您就应该选择基于对象的中间件。如果您想基于Web建立应用,最好选用Web应用服务器。下面给出一个选择的流程图:

(图片)

当然,实际情形远非图中描述的那么简单。中间件的功能经常是相互交叉的,比如有的交易中间件包含有消息传递的功能;有些对象中间件继承了交易中间件的特性;而有的应用服务器,可以把交易管理中间件或消息中间件作为它的一种服务,等等。因此,除了技术上的界定以外,还要考虑以下因素:
技术成熟度
不同的中间件的发展历史都不同。由于中间件涉及的技术面广,与操作系统、网络、数据库、应用都有关系,因此中间件从诞生到成熟需要2~3年的时间。中间件的技术成熟度是一个很需要关注的问题。
与遗留应用的结合度   
如果您选用中间件构造的应用与传统的遗留应用要建立联系的话,就需要考虑这个问题。
使用的难易成度
每类中间件使用的难度也不尽相同。有些中间件只是您应用的一部分,而有些中间件将会给您的应用一个新的体系结构。应用的现状、应用开发队伍的水平、中间件本身的复杂程度等,都会影响中间件的使用效果。
成本
不同类的中间件的成本不同,如把消息中间件只是用在局域网上实现数据访问显然代价太大。把交易中间件用在非交易处理类系统中去传递消息同样不足取。另外也要考虑技术培训对开发成本所带来的影响。
技术方向
有的中间件比较传统,而有的中间件是发展方向,中间件的选择同您对软件技术发展趋势的把握紧密相关。如果企业已决定用构件技术或Web技术,您就要选择相关的中间件。
选择服务:影响成败
至少有两个理由使得在选择中间件时更强调技术支持和服务,一是中间件本身的复杂性,这个前面已有论述;二是中间件是一个新的软件分支,大学里没有相关的课程,企业中真正懂得选择和使用中间件的人很少。因此,使用中间件需要的技术支持比使用其它软件更强烈。对中间件的支持应包括以下几方面:
厂家应帮助企业制定中间件策略
中间件越来越在企业的应用中占据举足轻重的地位。因此,企业应该制定自己的中间件策略,以使中间件为自己的企业发挥最大作用。中间件厂家有责任帮助企业制定相关的策略,使企业对中间件的使用更充分,更放心。例如,不同的应用类型(传统、构件、Web等),采用不同的中间件;同类技术中不同体系结构的选择(如构件技术中就有CORBA、EJB、DNA等不同体系)、同类产品中具体产品的选择等等。
基于中间件开发的咨询和支持
基于中间件的开发通常需要"扶上马,送一程"式的服务,包括搭建环境(模拟分布式应用所需的网络环境),中间件的安装、开发培训,基于中间件的系统设计、开发或嫁接,基于中间件应用的测试等。中间件厂家的支持将直接影响开发出软件的质量。
使用中间件过程中的咨询和支持
中间件不仅仅是一个开发工具,而且是一个应用程序运行的平台。因此,对中间件的配置和性能调谐非常重要,这一点象数据库,但中间件涉及的面更广。针对不同的应用运行环境和业务量有不同的参数配置的经验值,这些经验值中间件厂家最清楚。因此,厂家对中间件使用的技术支持是非常必要的。
注意应用环境:软件确实有国情
值得特别注意的是,我国的应用环境和国外有一些差别,表现在以下几个方面:
网络通讯状况参差不齐,大量存在9600bps通信线路。国外中间件产品对此缺乏足够的准备。
许多大企业在管理上采用多级树型结构,而国外中间件产品又多为网状结构。
应用水平千差万别,许多行业有大量低版本的NOVELL应用和DOS应用。而大部分中间件是针对UNIX、Windows和IBM体系的。
安全,我国政府已有明文规定,要建立安全的信息体系,安全产品立足于国内。中间件作为一个支撑软件,与系统安全紧密相关。因此中间件应具有可置换的安全模块。
选择专业厂商:选择未来
选择厂商和选择产品并不是同一个概念。因为存在着两种多样性,一是有多家厂商在做同一种中间件产品,二是一家厂商在做多种中间件产品。因此中间件厂商的选择是中间件选择策略中的一个重要组成部分。
由于企业对中间件需求的多样性,也使得对厂商的选择有不同的方式。常见的两种现象,一是更注重产品本身,选择最好的中间件产品,而不在乎不同中间件之间的相互配合和厂家本身的实力。另一种观点正好相反,选择一个有各种中间件产品的厂商。不管那种观点,都应以满足您目前和将来对中间件的需求为基础。由于中间件目前处在快速发展时期,种类繁多、竞争激烈,且需要较多的支持服务,因而选择一个专业从事中间件的厂商总是有益的,否则会对未来的支持和发展带来问题。试想,一个厂商自己都不把您要选择的中间件作为其发展方向,怎么能成为您可信赖的长期合作伙伴呢?
测试:合脚才是好鞋
测试是一个直接有效的手段,建立一个与您的实际应用环境类似的模拟环境,编写模拟测试程序,并对中间件的功能和性能进行逐项测试。测试应包括功能测试、适应性测试、扩展性测试、压力测试、边界测试、破坏测试、连续运行测试等等。不同类的中间件测试方法不尽相同。但必须能模拟出使用中间件的真实情况。
考察:让事实说话
如果测试还不能让您拿定主意的话,您也可以去考察实际应用案例,并倾听中间件使用者的感受。当然考察的时候要非常仔细,包括应用环境、应用类型、业务量、中间件的工作状况、配置、中间件开发和使用的难易度、厂家的支持服务、价格等。 1/13/2005


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站