引言
随着计算机软件技术的迅速发展,应用程序的规模也在不断扩大。应用范围也更加广阔。这不仅存在着多种硬件平台(例如台式机、嵌入式系统),而且在这些硬件平台上,通常又存在着多种的通信介质(例如串口、USB口等)、通信协议(例如TCP/IP等)及操作系统软件平台(例如Windows、Linux、Nucleus等)。我们的软件开发往往要求能够在这些异构的硬/软件平台上运行。
为此,我们引入了“中间件(Middleware)”的概念。本文在介绍中间件基本概念的基础上,结合研究项目“嵌入式地址信息系统的开发”来说明如何以中间件的形式设计该系统。
1 中间件的基本概念
1.1 中间件定义及作用
中间件是位于平台(硬件和操作系统)和应用之间的通用服务,这些服务具有标准的程序接口和协议。针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。也就是说,中间件是位于底层硬件/操作系统平台之上,应用层之下的中间适配层。该层向下屏蔽掉硬件平台或操作系统平台的差异,向上为应用层操作一个统一的标准接口,应用层的开发基于该接口进行。在以下定义下,中间件具有如下特点:
*满足大量应用的需要;
*运行于多种硬件和OS平台;
*支持分布计算,提供跨网络、硬件和OS平台的透明性应用或服务的交互;
*支持标准的协议;
*支持标准的接口。
在中间件设计思想下,软件的开发变得更加简单。首先,当系统硬件/操作系统平台改变时,只需改变中间适配层的几个参数,只要保持中间件层对应用层的接口定义不变,就可以直接将应用程序移植过去运行。所有的代码只需编写一次就可在任何系统上运行,大大缩短了系统研制的周期,提高了开发效率,同时还保证了系统的高伸缩性、易升级性稳定性。
其次,由于中间件屏蔽了底层平台差异,提供了标准的封装接口,使应用层以组件的形式实现为可能。用户可以根据自己的需要将各个组件有选择地进行组合,像搭积木一样,构成自己的应用系统。
世界著名的咨询机构Standish Group在一份研究报告中归纳了中间件的十大优越性:
*缩短应用的开发周期;
*节约应用的开发成本;
*减少系统初期的建设成本;
*降低应用开发的失败率;
*保护已有的投资;
*简化应用集成;
*减少维护费用;
*提高应用的开发质量;
*保证技术进步的连续性;
*增强应用的生命力。
1.2 中间件应用现状及未来发展趋势
中间件的应用范围十分广泛,发展前景非常美好。据有关机的统计表明,近5年来,全球中间件的销售额平均年增长率为34%,到2004年总销售额将达到97亿美元。中间件已经成为国际IT巨头竞逐的目标,各大软硬件厂商都在积极参与有关标准的制定和产品的研发工作,像IBM、甲骨文、BEA、微软等都制定了相应的战略。据估计,未来基于Internet的电子商务业务将有79%建筑在中间件的基础之上。
中间件种类繁多,从不同的应用方面及发展程序上有不同的分类方法。在同上,从中间件所起的作用上来说,中间件可以分为以下三类。
①数据类(data integration):用于数据的存取、利用和增值,此类中间用于构建以数据为中心的应用。
②处理类(process integration):把分布在网络结点上的各个应用或处理连接在一起,形成一个统一的、协同工作的分布式应用。
③分布式构件类(distributed components):支持构件式应用,是未来应用的发展方向。
据统计,近五年增长率最高的中间件集中在消息中间件、交易中间件、对象中间件和应用服务器中间件、数据访问中间件5种(统计数据如表1所列)。另外,随着网上信息安全问题的出现,安全中间悠扬也应运而生。
表1 IDC的市场调查分析
| 中间件类型 | 1997年销售额/亿美元 | 2002年销售额/亿美元 | 年平均增长率/% | 亚太市场销售额/亿美元 |
| 消息中间件 | 3.6 | 24.5 | 46 | 3.6 |
| 交易中间件 | 3.5 | 16.5 | 36 | 2.6 |
| 对象中断件 | 1.4 | 7 | 34 | 0.56 |
| 数据访问中断件 | 6.1 | 16.5 | 23 | - |
| 应用服务器 | - | 40 | - | - |
| 安全中间件 | 1.227 | 3 | - | - |
消息中间件是目前中间件的发燕尾服热点。它适用于任何需要进行网络通信的系统,负责建立网络通信的通道,进行数据或文件发送。消息中间悠扬可以跨平台操作,为不同操作系统上的应用软件集成提供方便,从而满足企业内部对系统伸缩性和可扩展性的要求。
数据访问中间件能屏蔽不同厂家、不同类型数据库之间的差异,实现异构数据的共享,从而使得企业不同时代、不同地域的宝贵数据能够充分利用。
对象中间件技术目前发展迅速,各大硬软件厂商都在积极参与有关标准的制定和产品的开发工作。面向对象的中间件提供一个标准的构件框架,能使不同厂家的软件交互访问,为软件用户及开发者提供一种即插即用的互操作性。
安全中间提供完备的信息安全基顾构架,屏蔽安全技术的复杂性,使设计开发人员无须具备专业的安全知识背景就能构构造高安全性的应用。
2 中间件思想在嵌入式GIS设计中的应用
我们研制的嵌入式GIS是一个地理信息的综合系统。在功能上,该系统包括地图浏览、地理位置报告、目标标绘、地形分析等功能模块;在硬件平能台上,系统要求能够运行于PC台式机和基于ARM处理器的嵌入式系统上;在操作系统平台上,系统要求能够运行在Winodws 98/2000、Linux等通用操作系统和VxWorks、Nucleus、WinCE等嵌入式操作系统上;在网络通信上,要求系统除了能够支持各种接口及各种通信协议,还能够支持自己开发的通信协议。在这些设计要求下,我倦嵌入式地理信息系统开发中,采用中间件的设计思想,保证程序的可移植性,节省人力物力,使研究成果尽快转化为产品。
系统整体结构如图1所示。
其中,底层硬件平台采用我们研制的基于ARM微处理器的嵌入式地理信息系统硬件平台,包括GPS接口、各种存储介质(例如CF卡、Flash等)、各种接口(例如USB、RS-232串行口、以太网接口)、人机交互接口等。
软件平台可以选用Windows、Linux、WinCE、Nucleus等操作系统,利用该平台可以屏掉底层硬件平台的差异。
操作系统适配层(即中间件)定义和设计适合各种操作系统的适配层。该层具备操作系统的主要特征(例如多任务多线程的封装、调度),向下与相应的各种操作系统相适配,向上提供与操作系统无关的统一接口。该层包括任务管理、消息管理、通信等模块。为了屏蔽掉底层操作系统的差异,该层的设计要求与操作系统接口的函数要尽可能少,与硬件系统有关的代码也要尽可能的少。
终端软件框架的设计思想是在操作系统适配层之上,根据地理信息系统这一特殊应用,开发自己GUI、文件系统、内存管理、军标符号库、基于消息驱动的多窗口控制。人机交互接口、专用的地理信息数据库、统一接口的适合GIS的通信接口、任务管理等。
应用层在终端软件框架的基础上实现地图的浏览、编译、查询、标绘,组合导航,地形分析,图层管理,位置报告等功能,并带有三维显示引擎。
这种层文件、模块化的设计可以保证系统很容易地进行扩展,使系统不仅能应用于嵌入地管理信息系统,还可以作为一个基础平台应用于其它应用场合。对系统的升级只需对相应的层进行修改即可,而不用重新设计整个系统。
- 中间件思(5255)
相关推荐
EDMS中间件集成的未来趋势和探讨
1365
嵌入式GIS与传统GIS技术相比较有何优点
嵌入式VxWorks招聘
嵌入式工程师系统培训就业班
嵌入式系统主要系统框架和中间件的开发
嵌入式系统有什么安全技巧?
嵌入式系统有何特殊之处
嵌入式系统硬件抽象层的设计思想简析
嵌入式系统结构硬件层中间层系统软件层
嵌入式网络编程+嵌入式Linux系统
嵌入式驱动开发的相关资料分享
PDM2PCM软件库如何添加到stm32cubeide中cubemx文件的中间件部分?
STM32的中间件FREERTOS使用详解
stm32cubeMX中间件PDM2PCM是如何工作的吗?
为什么要使用Keil MDK-ARM中间件库?
云计算变革中, 国产中间件还有没有市场?能否雄起?
什么是开放源码的嵌入式仿真环境SkyEye?
使用RTT网络中间件时发现socket()函数异常怎么解决?
在FRDM-K64F开发板上开发中间件应用程序
基于中间件upnp的智能家电嵌入式开放平台
基于中间件的智能家电嵌入式平台
基于嵌入式文件系统和外部存储的混合文件系统中间件设计资料分享
基于ARM的RFID中间件系统该怎么设计?
基于ArcGIS Mobile的嵌入式地图怎么实现?
基于SOA的数字电视中间件系统的研究与实现
基于安防中间件的安防软件集成平台的研究
基于安防中间件的安防软件集成平台的研究
基于面向服务体系架构的RFID中间件集成应用方案
如何从标准输出中删除中间件诊断?
如何使用中间件FREERTOS写入和读取SD卡呢
如何利用MiniGUI在Linux上实现了一个嵌入式GIS
如何用文件系统支持PSoC4的免费中间件?
实时嵌入式操作系统的相关资料下载
将集群技术引入到RFID中间件的设计讨论
开放实时嵌入式软件平台TOPPERS的研究现状
怎么实现基于NFC手机的RFID中间件的设计?
怎样使用keil的Event Recorder中间件进行打印呢
怎样去设计一种嵌入式系统软件体系
怎样挑选一款MCU平台进行嵌入式系统开发
浅析RFID中间件
联移彩信短信中间件 手机短信彩信控件V8.8
诚聘高级嵌入式软件工程师
请告知如何将中间件添加到stm32cubeide
谈谈Bootloader的存放位置与中间件软件
中间件思想在嵌入式GIS设计中的应用
14中间件思想在嵌入式GIS 设计中的应用
14基于虚拟处理器的嵌入式中间件
14一种嵌入式系统通信中间件的设计
35JPEG分层压缩模式在嵌入式GIS中的应用
15基于嵌入式RFID中间件的标签数据处理
28中间件在产业链协同平台的应用和研究
10复杂事件处理技术在RFID中间件中的研究
21基于JMS的RFID中间件设计与实现
17基于虚拟处理器嵌入式中间件
742
基于嵌入式RFID中间件的标签数据处理
938
基于移动LBS的嵌入式GIS概念及设计
28基于嵌入式系统的RFID中间件设计
25常见的中间件有哪些?汇总解析
51436基于ARM平台的RFID中间件系统设计
453RFID系统中间件平台架构研究
973
电子发烧友App







评论