【IT168 技术文章】
随着竞争的加剧,各个企业之间利用各类网络应用,来支撑整个企业的生产、经营、管理、服务等,已经成为各个行业的共同选择。利用中间件,快速构建网络应用,也成为众多企业的首选。
企业面临复杂度的挑战
随着Internet时代的来临,全球经济一体化进程的加快,企业之间的竞争越来越激烈,企业面临的生存与发展的压力也越来越大。如何面对市场、技术、产品、客户需求的快速变化,不断提升企业的生产效率和管理水平,已经成为每一个企业生产经营管理者所面临的重要课题。充分利用各类网络应用来提升企业的竞争力,成为各个行业的共同选择。
目前,企业及其网络应用都表现出生产一体化、应用集成化、组织扁平化、管理综合化、界面统一化、服务个性化的重要特点,并导致了应用系统的复杂性不断提升。因此,现今企业所面临的挑战已经不再是速度、成本和性能的问题,而是复杂度的问题了。
IT从业者都面临着这一错综复杂的难题:一方面,复杂性已经从网络应用的外在特性,演变为系统的本质特征;而另一方面,企业所面临的现实压力,导致了对计算环境更广泛的集成需求,从而进一步加剧了网络应用的复杂性。
从计算的角度来看,复杂性是由于网络应用对信息资源广泛协同性的要求所导致的,即企业希望将分布在网络各个结点上的独立信息资源集成为一个整体,通过网络互连、数据共享、应用协同、服务贯通、展现统一,提高各个结点的处理能力和整体效益,从而带动信息资源的综合利用,实现企业生产效率和管理水平的提高。
复杂、多样、变化的企业需求,导致网络应用呈现出分布性、自主性和异构性等固有特征。
中间件控制网络应用的复杂性
为什么中间件是控制网络应用复杂性的利器?
首先,从层级结构的观点来看。
按照层级结构的思想,网络应用系统的结构通常划分为四个层次:基础设施层、资源管理层、业务逻辑层、应用表现层。网络应用的复杂性,表现的这四个层面均呈现异构、分布、自主等特征,而网络应用需要面对各个层级的复杂性,并将它们集成为一个统一的整体。
各类中间件,如基础设施层中间件、数据集成中间件、企业应用集成和业务流程管理中间件等,正对应着网络应用各个层级资源整合的具体需求,恰好是实现各层之间互连互通互操作的基础。
其次,从模块化的观点来分析。
软件系统模块化的思想经过不断发展,逐步从子程序、函数、对象等演进到目前的软件构件形态。软件构件技术是通过对软件的构件化封装处理,更完备地实现信息抽象和信息隐藏,不断提升软件重用的力度,实现大系统的快速构造。
基于构件的软件生产与组装,可以实现软件系统在需求、分析、设计、编码、测试等各个阶段的大规模的重用,并迫使软件生产方式向异构协同工作、各层次上集成、可反复重用的工业化道路上前进。
通常将基础设施到展现层的中间件称为中间件运行平台,而将基于构件的软件生产各个阶段的中间件,称为中间件开发平台或开发工具,两者综合在一起,构成了目前中间件技术的一个较完整的全局视图。
按需选择中间件
评估中间件,掌握方法是关键。
要选择一个符合要求的中间件,则既要了解自己的需求,还得能对一个中间件产品做出技术上的评估。随着中间件的广泛应用,最终用户和应用开发商都在面临这个问题。
把握功能需求、非功能需求与技术标准三个方面。
开发商在设计软件时,可以把对软件的需求划分为功能需求和非功能需求。功能需求指明软件必须执行的功能,定义系统的行为—即软件在某种输入条件下要给出确定的、输出必须做的处理或转换。功能需求通常是软件功能的“硬指标”—如“支持分布式环境中消息的可靠传输”;非功能需求不描述软件做什么,描述软件如何做。非功能需求通常作为软件设计的“软指标”—如“系统具有可伸缩性”。
因此,用户可以把功能需求对应的功能称为“功能性特征”,把非功能需求对应的功能称为“非功能性特征”。评估一个中间件软件,则要看这个软件的功能,是否符合自身的要求,或者符合大多数人的通常要求。
如果知道某一种中间件软件的“标准功能”,也可以进一步把它分成“功能性的特征”和“非功能性特征”。如果不知道,只需从自身的需求出发,研究一下面前中间件的“功能性特征”和“非功能性特征”是否满足自身的功能需求和非功能需求。