软件选型:如何从技术上选择中间件
评估中间件掌握方法是关键 要选择一个技术上符合要求的中间件既要了解自己的需求,还得能对一个中间件软件作出技术上的评估。
我们这里不谈如何了解您的需求,只谈如何对中间件做技术上的评估。
随着中间件的广泛应用,最终用户和应用开发商时常面临这个问题。
中间件的种类越来越多,单一产品的功能特性又越来越丰富,如果不得要领,就会陷入到无尽的细节之中。
因此,掌握方法就非常重要。
选择中间件当然不能只关注技术,必须考虑厂商实力、提供的服务、价格等相关因素,但技术上是否满足需要无疑是位居第一位的。
以同类中间件的“标准功能”作为参考 你完全可以从你的具体需求出发,看看这个软件是否适用,或者好不好。
如果你知道你要评估的这一类中间件软件通常具有的功能——我们称它是“标准功能”——你就有了一个可作为参考的依据。
你可以看一看你面前的中间件有没有这些“标准功能”,如果没有,是否对你有重要的影响。
把握功能需求、非功能需求与技术标准三个方面 我们在设计一个软件时,可以把对软件的需求划分成功能需求和非功能需求。
功能需求指明软件必须执行的功能,定义系统的行为——即软件在某种输入条件下要给出确定的输出必须做的处理或转换。
功能需求通常是软件功能的“硬指标”——如“支持分布式环境中消息的可靠传输”;非功能需求不描述软件做什么,描述软件如何做。
非功能需求通常作为软件设计的“软指标”——如“系统具有可伸缩性”。
为此,我们可以把功能需求对应的功能称为“功能性特征”,把非功能需求对应的功能称为“非功能性特征”。
评估一个中间件软件,最主要的是看这个软件的功能,包括功能性特征和非功能性特征,是否符合我们的要求,或者符合大多数人的通常要求。
如果你知道某一种中间件软件的“标准功能”,你可以进一步把它分成“功能性的特征”和“非功能性特征”。
如果你不知道,你只需从你的需求出发,研究一下你面前中间件的“功能性特征”和“非功能性特征”是否满足你的功能需求和非功能需求。
中间件是处于支撑地位的通用软件,其技术的标准化具有重要意义。
中间件对技术标准的支持表现为使用标准的API、使用标准化的技术和实现标准化的功能等几个方面。
中间件支持标准通常意味着用户和应用对厂商的依赖更小、应用开发人员学习使用一种新产品更容易,中间件软件可以和更多的系统互操作,技术更开放。
因此,评估一个中间件不仅要看它是否具有某项功能,还要看这个功能是否使用了标准的技术。
功能性特征是中间件的基本特征 中间件的功能性特征是一种中间件软件的基本特征。
不同种类的中间件的差异首先表现为基本功能的不同,因此我们不能总结出一套适合所有中间件门类的、一般性的“功能性特征”。
对于某一个具体的中间件软件,我们能够把它的功能性特征提取出来。
我们假定某一中间件定位于解决分步式环境中消息的发送者和接收者之间消息传输、管理和控制问题,该软件提供了多种消息交换方式、支持多种消息类型,提供可靠传输等服务质量控制机制,该软件支持多系统平台,支持高吞吐量的业务处理…很显然,我们可以把“提供多种消息交换方式、支持多种消息类型,提供可靠传输等服务质量控制机制”看成是该中间件的功能性特征,而把“支持高吞吐量的业务处理”作为非功能性的特征。
如果中间件的选择者能够从自己的需求中归纳出对中间件的“功能需求”,就可以把它们和面前的中间件的功能性特征做一下对照。
功能性特征一般比较容易测试,因而也比较容易验证。
非功能性特征是跨中间件的共性特性 软件的“非功能需求”是软件需求的重要方面。
中间件软件的“非功能性特征”也是中间件功能的重要方面。
事实上,中间件软件的非功能性特征是跨中间件种类的、非常重要的一般性特征,是中间件软件功能强大的表现。
我们这里采用了AberdeenGroup在2000年的《中间件——达成灵便的电子商务的技术基础》一文中对成功的中间件的共性特征的归纳(做了一点裁减): 许多情况下,非功能性和功能性并非有严格的界线。
比如,对于消息中间件来说,可靠传输一定是功能性的特征;对于其它的中间件未必如此;对于安全中间件来说,安全不能算作非功能性特征。
非功能性特征一般比较难以测试,但仍然是一定程度可测试的。
支持标准对于中间件必可缺少 面向消息的中间件一直以来缺乏技术标准/规范。
自从J2EE制定出基于Java的Java消息传输服务(JMS)以后,人们对消息中间件的技术要求就有多了一项内容。
相比较而言,事务处理监控程序(交易中间件)相关的技术规范就要多一些,主要是X/OPEN(现称为OPENGROUP)的分布式事务处理系列规范,包括TPM的架构、应用与TPM的接口及事务提交管理协议等重要内容。
对于J2EE应用服务器,技术规范的影响就更大。
我们甚至可以说,J2EE应用服务器的功能体现在了对技术标准和规范的支持上。
标准/规范虽然重要,我们不可迷信,唯标准是从。
因为,第一,“标准”可能仅是建议性的,并非所有的厂商都会遵守;第二,“标准”可能是...
画出RFID系统软件,中间件,应用软件对应硬件部分
中国·创羿总结RFID中间件是实现RFID硬件设备与应用系统之间数据传输、过滤、数据格式转换的一种中间程序,将RFID读写器读取的各种数据信息,经过中间件提取、解密、过滤、格式转换、导入企业的管理信息系统,并通过应用系统反应在程序界面上,供操作者浏览、选择、修改、查询。
中间件技术也降低了应用开发的难度,使开发者不需要直接面对底层架构,而通过中间件进行调用。
RFID中间件是一种消息导向的软件中间件,信息是以消息的形式从一个程序模块传递到另一个或多个程序模块。
消息可以非同步的方式传送,所以传送者不必等待回应。
RFID中间件在原有的企业应用中间件发展的基础之上,结合自身应用特性进一步扩展并深化了企业应用中间件在企业中的应用。
其主要特点是:(1)独立性,RFID中间件独立并介于RFID读写器与后端应用程序之间,不依赖于某个RFID系统和应用系统,并且能够与多个RFID读写器以及多个后端应用程序连接,以减轻架构与维护的复杂性。
(2)数据流,RFID中间件最重要的组成部分,它的主要任务在于将实体对象格式转换为信息环境下的虚拟对象,因此数据处理是RFID最重要的功能。
RFID中间件具有数据的采集、过滤、整合与传递等特性,以便将正确的对象信息传到企业后端的应用系统。
(3)处理流,RFID中间件是一个消息中间件,功能是提供顺序的消息流,具有数据流设计与管理的能力。
在系统中需要维护数据的传输路径,数据路由和数据分发规则。
同时在数据传输中对数据的安全性进行管理,包括数据的一致性,保证接收方收到的数据和发送方一致。
同时还要保证数据传输中的安全性。
中间件软件与操作系统和应用软件的联系?
中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。
顾名思义,中间件处于操作系统软件与用户的应用软件的中间。
中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。