随着竞争的加剧,各个企业之间利用各类网络应用,来支撑整个企业的生产、经营、管理、服务等,已经成为各个行业的共同选择。利用中间件,快速构建网络应用,也成为众多企业的首选。
企业面临复杂度的挑战
随着Internet时代的来临,全球经济一体化进程的加快,企业之间的竞争越来越激烈,企业面临的生存与发展的压力也越来越大。如何面对市场、技术、产品、客户需求的快速变化,不断提升企业的生产效率和管理水平,已经成为每一个企业生产经营管理者所面临的重要课题。充分利用各类网络应用来提升企业的竞争力,成为各个行业的共同选择。
目前,企业及其网络应用都表现出生产一体化、应用集成化、组织扁平化、管理综合化、界面统一化、服务个性化的重要特点,并导致了应用系统的复杂性不断提升。因此,现今企业所面临的挑战已经不再是速度、成本和性能的问题,而是复杂度的问题了。
IT从业者都面临着这一错综复杂的难题:一方面,复杂性已经从网络应用的外在特性,演变为系统的本质特征;而另一方面,企业所面临的现实压力,导致了对计算环境更广泛的集成需求,从而进一步加剧了网络应用的复杂性。
从计算的角度来看,复杂性是由于网络应用对信息资源广泛协同性的要求所导致的,即企业希望将分布在网络各个结点上的独立信息资源集成为一个整体,通过网络互连、数据共享、应用协同、服务贯通、展现统一,提高各个结点的处理能力和整体效益,从而带动信息资源的综合利用,实现企业生产效率和管理水平的提高。
复杂、多样、变化的企业需求,导致网络应用呈现出分布性、自主性和异构性等固有特征。
中间件控制网络应用的复杂性
为什么中间件是控制网络应用复杂性的利器?
首先,从层级结构的观点来看。
按照层级结构的思想,网络应用系统的结构通常划分为四个层次:基础设施层、资源管理层、业务逻辑层、应用表现层。网络应用的复杂性,表现的这四个层面均呈现异构、分布、自主等特征,而网络应用需要面对各个层级的复杂性,并将它们集成为一个统一的整体。
各类中间件,如基础设施层中间件、数据集成中间件、企业应用集成和业务流程管理中间件等,正对应着网络应用各个层级资源整合的具体需求,恰好是实现各层之间互连互通互操作的基础。
其次,从模块化的观点来分析。
软件系统模块化的思想经过不断发展,逐步从子程序、函数、对象等演进到目前的软件构件形态。软件构件技术是通过对软件的构件化封装处理,更完备地实现信息抽象和信息隐藏,不断提升软件重用的力度,实现大系统的快速构造。
基于构件的软件生产与组装,可以实现软件系统在需求、分析、设计、编码、测试等各个阶段的大规模的重用,并迫使软件生产方式向异构协同工作、各层次上集成、可反复重用的工业化道路上前进。
通常将基础设施到展现层的中间件称为中间件运行平台,而将基于构件的软件生产各个阶段的中间件,称为中间件开发平台或开发工具,两者综合在一起,构成了目前中间件技术的一个较完整的全局视图。
按需选择中间件
评估中间件,掌握方法是关键。
要选择一个符合要求的中间件,则既要了解自己的需求,还得能对一个中间件产品做出技术上的评估。随着中间件的广泛应用,最终用户和应用开发商都在面临这个问题。
把握功能需求、非功能需求与技术标准三个方面。
开发商在设计软件时,可以把对软件的需求划分为功能需求和非功能需求。功能需求指明软件必须执行的功能,定义系统的行为—即软件在某种输入条件下要给出确定的、输出必须做的处理或转换。功能需求通常是软件功能的“硬指标”—如“支持分布式环境中消息的可靠传输”;非功能需求不描述软件做什么,描述软件如何做。非功能需求通常作为软件设计的“软指标”—如“系统具有可伸缩性”。
因此,用户可以把功能需求对应的功能称为“功能性特征”,把非功能需求对应的功能称为“非功能性特征”。评估一个中间件软件,则要看这个软件的功能,是否符合自身的要求,或者符合大多数人的通常要求。
如果知道某一种中间件软件的“标准功能”,也可以进一步把它分成“功能性的特征”和“非功能性特征”。如果不知道,只需从自身的需求出发,研究一下面前中间件的“功能性特征”和“非功能性特征”是否满足自身的功能需求和非功能需求。
中间件支持标准必不可少。
面向消息的中间件一直以来缺乏技术标准/规范。自从J2EE制定出基于Java的Java消息传输服务(JMS)以后,人们对消息中间件的技术要求就多了一项内容。
相比较而言,事务处理监控程序(交易中间件)相关的技术规范就要多一些,主要是X/OPEN(现称为OPENGROUP)的分布式事务处理系列规范,包括TPM的架构、应用与TPM的接口及事务提交管理协议等重要内容。对于J2EE应用服务器,技术规范的影响就更大。
但是,标准/规范虽然重要,但也不可唯标准是从。第一,“标准”可能仅是建议性的,并非所有的厂商都会遵守;第二,“标准”可能是妥协的结果,只是将提交的多个可选内容统统收入,各项内容甚至不能互换;第三,“标准”可能是不完整的,仅仅实现了标准要求的内容可能意味着欠缺重要的功能。
中间件对标准的支持一般会体现在软件的功能性特征上,多数情况下是可测试和验证的。
中间件基于计算机硬件和操作系统之上,在企业应用的开发和运行过程中,能够有效地控制企业中所存在的各类复杂性。而有效、合理地运用中间件,则可以快速构件企业的网络运用,为企业及时响应需求变化提供了有力、必要的保障,同时也是企业提升自身竞争力的首选。
什么是中间件
中间件是指基于计算机硬件和操作系统之上,支持应用软件开发和运行的系统软件。它为企业级的分布式应用,提供了一个标准的平台,使得应用软件开发和运行,能够独立于特定的计算机硬件和操作系统平台之上,以实现企业应用系统的集成。
中间件的分类
中间件的分类方法很多,目前公认的分类方法是,把中间件分为两大类:一类是底层中间件,用于支撑单个应用系统或解决单一类问题,包括交易中间件(TPM)、应用服务器(WAS)、消息中间件(MOM)、数据访问中间件(UDA)等;另一类是高层中间件,更多用于系统整合,包括企业应用集成中间件(EAI
Suites)、工作流中间件(Workflow)、门户中间件(Portal)等,它们通常会与多个应用系统打交道,在系统中的层次较高,并大多基于底层中间件运行。
中间件的特点:
可满足大量应用的需要;运行于多种硬件和OS平台;支持分布式计算,提供跨网络、硬件和OS平台透明性的应用或服务的交互功能;支持标准协议;支持标准接口。 |