摘要:该文介绍了中间件技术的产生、定义、分类、优点及中间件技术在无线网络中的应用等五个方面阐述了中间件技术在无线网络系统中的应用。
关键词:无线网络;中间件技术;应用
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)04-0724-02
随着各种移动终端的日益普及,无线网络技术也得到了飞速的发展,采用无线局域网办公,能够摆脱庞杂的网络连线的束缚,极大地提高办公效率,而且也能让办公环境看起来更加整齐。无线技术给人们带来的影响是无可争议的。而随着计算机和网络技术的飞速发展,许多软件需要在不同厂家的硬件平台、网络协议异构环境下运行,而大规模的应用软件通常要求在软硬件各不相同的分布式网络上运行。中间件产生以前,应用软件直接使用操作系统、网络和数据库等开发,开发者不得不直接面对许多复杂的问题,耗费大量的时间和精力,因此开发者迫切需要一种基于标准的,独立于计算机硬件,以及操作系统的开发和运行环境。于是,中间件技术应运而生。
1 中间件技术的定义
中间件(middleware)技术所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件技术产品。但至今中间件技术还没有一个比较精确的定义。一般认为,中间件技术是为了解决开放系统中互操作的问题,它通常位于平台(硬件或是操作系统等)和上层应用之间,用于屏蔽各种平台的差异性,为上层提供统一接口。关于中间件的定义有很多,其中被学术界普遍接受的定义是:中间件是一种软件,它能使处于应用层中的各应用成份之间实现跨网络的协同工作(也就是互操作),这时允许各应用成分之下所涉及的系统涉及的系统结构、操作系统、通信协议、数据库管理系统和其他应用服务各不相同。
2 中间件技术的分类
在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:
2.1 远程过程调用(Remote Procedure Call)
远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。事实上,一个RPC应用分为两个部分:server和client。server提供一个或多个远程过程;client向server发出远程调用。server和client可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。相应的stub和运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。在这里RPC通讯是同步的。采用线程可以进行异步调用。
2.2 面向消息的中间件(Message-Oriented_middleware)
面向消息的中间件(MOM)是一个基础架构,它使用普通的通信信道在应用之间传送数据。在基于MOM的通信环境中,通常异步地发送和接收消息。使用基于消息的通信,可将应用抽象地划分为发送者与接收者,它们之间无须彼此了解。通过消息传送系统,可发送和接收消息。消息传递系统(即MOM)的作用就是将消息转发到它们的目的地。
2.3 对象请求代理(Object Request Brokers)
对象请求代理是用户提供与其他分布式网络环境中对象通信的接口,是中间件中主要的一类,它在CORBA(Common Object Request Broker Architecture)规范中处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。它的作用在于提供一个通信框架,透明地在异构的分布计算环境中传递对象请求。CORBA规范包括了ORB的所有标准接口。
3 中间件技术的优点
在传统的软件开发模式中,应用软件不仅要关注自己的业务逻辑,同时还要处理与操作系统、数据管理系统、网络通信之间的操作。开发人员不得不花费大量的精力去处理底层平台的复杂性以及各种兼容性。利用中间件技术可以屏蔽底层的复杂性,使开发人员面对统一的简单的开发环境,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少技术上的负担。具体来说,有以下几点:
1)缩短应用开发周期,节约开发费用:以新一代的中间件系列产品来组合应用,则可大大缩短应用程序的开发周期,节约大量的人力和资金投入。
2)减小项目开发风险:研究表明,没有使用标准商业中间件的关键应用系统开发项目的失败率高达90%。而且,企业自己开发内置的中间件是得不偿失的,项目总的开支至少要翻一倍。
3)提高应用系统的质量及可维护性:基于企业自主构建的基础软件平台上的应用系统,每增加一个新的模块,就要相应地在基础软件上进行改进。同时,由于使用中间件应用系统的维护在一般只是对自己的业务逻辑的维护,从而很大程度上增加了整个系统的可维护性。
4)透明地同其他应用程序互交:由于中间件提供了一套统一的接口,基于它的应用程序可以在任何运行该中间件的平台上运行,它不必考虑自己的硬件平台、软件环境和网络结构等。
5)具有良好的可靠性、可用性和可扩展性:中间件可以采用相应的技术增强系统的可靠性和容错性,应用还可以保持原有的功能基础上方便地进行扩展。
4 中间件技术在无线网络中的应用
1)一次开发,全平台部署
目前不同的移动终端平台需要用不同的环境和开发语言进行开发。正如iOS需要Object-C,Andriod需要JAVA,微软的Windows Phone需要使用的语言是C#。因此中间件技术需要的是提供给用户一种更为简单高效的语言进行开发。
中间件技术可以简化开发环节。将复杂语言通过封装成同一接口,通过更为简单的开发语言实现开发。同时,避免因为开发平台不同带来的一系列设计,实施和封装的不便,从而实现“一次开发,全平台部署”。
2)利用中间件技术实现无线移动终端的硬件调用和系统对接
利用中间件技术可以实现无线移动终端硬件调用。移动信息化之所以越来越重要,很重要的一个原因是无线移动终端作为人体的一个额外“器官”越发无可分离。因此,充分利用无线移动终端特性,对于中间件来讲也尤为关键。将不同无线移动终端硬件API封装成统一的API,供用户使用,无需针对不同平台所提供的API进行逐一实现。
利用中间件技术可以实现系统对接。这对用户尤其是企业级系统,在保证企业现有数据逻辑和业务逻辑的基础上,高效快速的实现系统对接,不论是Web Server 、DB还是基于数据接口的对接,移动中间件技术必须要有完善解决方案。
3)中间件技术在无线网络中的应用需迎接新模式、新挑战
随着企业移动信息化的发展与思维转变以及移动终端的发展,企业及其用户对移动办公的理解已上升到“实用”这个台阶。此时的移动办公的需求出发点已经转变为企业用户真正的需求,企业用户不乏中高端移动设备(pad、手机),企业需要提供办公效率,需要移动审批、数据上报、位置服务等。此时传统的OA厂商也发现了这一点,纷纷中断与中间件厂商的合作,自行实现移动OA产品;而洋品牌,Ctirx、SAP等也纷纷进入移动信息化领域。移动中间件需迎接新挑战。
4)中间件技术在无线网络中的应用需继续发力
移动中间件需提升自身的核心业务特征,迎合各行业用户的实际需求。强化服务端适配能力:服务端核心业务是数据抓取,但边缘重点业务也需不断强化,体现在以下几点:
①文档转换,覆盖面要广(企业文档格式无规律,特别是政府文档),阅读效率要高(预读),安全性保证;
②推送业务,邮件推送、审批推送;
③用户中心,访问策略、安全配置。
5)中间件技术在无线网络中的应用需深化其优势
客户端模块化:现在的中间件客户端集各种API为一身(有厂家自实现、有厂家使用webkit内核),该类客户端又大又笨重,与互联网应用效率相差甚远。所以客户端需要模块化,按接口使用分、按行业功能分都行。针对应用,量体裁衣,缩小与native应用效率差距,整合SDK、拓展受众面:要统计可整合友盟;与移动打印机厂商合作,整合其SDK,实现移动打印;与支付系统整合等。横向扩展业务面。聚焦行业,建立特性,成为行业移动信息化的优势产品。
中间件技术能够屏蔽操作系统和网络协议的差异,为应用程序提供多种通讯机制;并提供相应的平台以满足不同领域的需要。因此,中间件为应用程序提供了一个相对稳定的高层应用环境。然而,中间件技术服务也并非“万能药”。中间件技术所应遵循的一些原则离实际还有很大距离。多数流行的中间件服务使用专有的API和专有的协议,使得应用建立于单一厂家的产品,来自不同厂家的实现很难互操作。有些中间件服务只提供一些平台的实现,从而限制了应用在异构系统之间的移植。应用开发者在这些中间件服务之上建立自己的应用还要承担相当大的风险,随着技术的发展他们往往还需重写他们的系统。尽管中间件服务提高了分布计算的抽象化程度,但应用开发者还需面临许多艰难的设计选择,例如,开发者还需决定分布应用在client方和server方的功能分配。通常将表示服务放在client以方便使用显示设备,将数据服务放在server以靠近数据库,但也并非总是如此,何况其它应用功能如何分配也是不容易确定的。
参考文献:
[1] 罗少贤.对移动通信网中的安全问题的探讨[J].中山大学研究生学刊:自然科学、医学版,2004(3).
[2] 曾令华,欧阳开翠,周明天.安全中间件——公共安全编程接口的设计和实现[J].计算机工程,2006(18).
[3] 常煜芬,张育平.中间件技术研究[J].计算机应用研究,2001(10).
[4] 向生建.安全中间件系统关键技术研究[D].成都:电子科技大学,2006.
[5] 孙宏 ,隋爱芬.移动通信安全的挑战[J].计算机安全,2002(1).