关于中间件的探讨

2009-05-18 19:03:00来源:DVBCN数字电视中文网 作者:戈弋热度:

一、中间件的概念

  中间件技术是一个纯软件系统技术,它也是一个比较笼统的概念。一般地说,它是建立在数字电视接收设备驱动层之上,为交互应用提供一个完整的应用编程接口的软件系统。它包含一系列的功能,如内存管理、通信管理、图形系统管理、SI数据装载、系统资源管理以及与前端系统间的通信及控制等。

二、中间件的主要特点

  满足大量应用的需要
  运行于多种硬件和OS平台
  支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互
  支持标准的协议
  支持标准的接口

  由于标准接口对于可移植性和标准协议对于互操作性的重要性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远比操作系统和网络服务更为重要,中间件提供的程序接口定义了一个相对稳定的高层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件升级更新,并保持中间件对外的接口定义不变,应用软件几乎不需任何修改,从而保护了企业在应用软件开发和维护中的重大投资。

  三、主要中间件的分类


  中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色的中间件产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度或不同的层次上,对中间件的分类也会有所不同。由于中间件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境下的通讯服务,我们将这种通讯服务称之为平台。基于目的和实现机制的不同,我们将平台分为以下主要几类:
 
  
  1、远程过程调用


  远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序使用RPC来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和执行本地调用相同。事实上,一个RPC应用分为两个部分:server和client。server提供一个或多个远程过程;client向server发出远程调用。server和client可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系统之上。它们通过网络进行通讯。相应的stub和运行支持提供数据转换和通讯服务,从而屏蔽不同的操作系统和网络协议。在这里RPC通讯是同步的。采用线程可以进行异步调用。

  在RPC模型中,client和server只要具备了相应的RPC接口,并且具有RPC运行支持,就可以完成相应的互操作,而不必限制于特定的server。因此,RPC为client/server分布式计算提供了有力的支持。同时,远程过程调用RPC所提供的是基于过程的服务访问,client与server进行直接连接,没有中间机构来处理请求,因此也具有一定的局限性。比如,RPC通常需要一些网络细节以定位server;在client发出请求的同时,要求server必须是活动的等等。

  2、面向消息的中间件


  MOM指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、硬件和软件平台。目前流行的MOM中间件产品有IBM的MQSeries、BEA的MessageQ等。消息传递和排队技术有以下三个主要特点:


  通讯程序可在不同的时间运行:程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。


  对应用程序的结构没有约束:在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合。多种通讯方式的构造并没有增加应用程序的复杂性。


  程序与网络复杂性相隔离: 程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移动消息等是MOM的任务,程序不直接与其它程序通话,并且它们不涉及网络通讯的复杂性。


  3、对象请求代理


  随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流方向。1990年底,对象管理集团OMG首次推出对象管理结构OMA(Object Management Architecture),对象请求代理(Object Request Broker)是这个模型的核心组件。它的作用在于提供一个通信框架,透明地在异构的分布计算环境中传递对象请求。CORBA规范包括了ORB的所有标准接口。1991年推出的CORBA 1.1 定义了接口描述语言OMG IDL和支持Client/Server对象在具体的ORB上进行互操作的API。CORBA 2.0 规范描述的是不同厂商提供的ORB之间的互操作。


  对象请求代理(ORB)是对象总线,它在CORBA规范中处于核心地位,定义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间client/server关系的中间件。ORB使得对象可以透明地向其他对象发出请求或接受其他对象的响应,这些对象可以位于本地也可以位于远程机器。ORB拦截请求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果等。client对象并不知道同server对象通讯、激活或存储server对象的机制,也不必知道server对象位于何处、它是用何种语言实现的、使用什么操作系统或其他不属于对象接口的系统成分。


  值得指出的是client和server角色只是用来协调对象之间的相互作用,根据相应的场合,ORB上的对象可以是client,也可以是server,甚至兼有两者。当对象发出一个请求时,它是处于client角色;当它在接收请求时,它就处于server角色。大部分的对象都是既扮演client角色又扮演server角色。另外由于ORB负责对象请求的传送和server的管理,client和server之间并不直接连接,因此,与RPC所支持的单纯的Client/Server结构相比,ORB可以支持更加复杂的结构。


  4、事务处理监控


  事务处理监控(Transaction processing monitors)最早出现在大型机上,为其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处理。事务处理监控界于client和server之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整体性能。它可以被看作是事务处理应用程序的“操作系统”。总体上来说,事务处理监控有以下功能:


  进程管理[FS:Page],包括启动server进程、为其分配任务、监控其执行并对负载进行平衡。
  事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和持久性。
  通讯管理,为client和server之间提供了多种通讯机制,包括请求响应、会话、排队、订阅发布和广播等。


  事务处理监控能够为大量的client提供服务,比如飞机定票系统。如果server为每一个client都分配其所需要的资源的话,那server将不堪重负(如图2所示)。但实际上,在同一时刻并不是所有的client都需要请求服务,而一旦某个client请求了服务,它希望得到快速的响应。事务处理监控在操作系统之上提供一组服务,对client请求进行管理并为其分配相应的服务进程,使server在有限的系统资源下能够高效地为大规模的客户提供服务。


  它们可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播等等,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领域内的服务,如事务处理监控器、分布数据访问、对象事务管理器OTM等。平台为上层应用屏蔽了异构平台的差异,而其上的框架又定义了相应领域内的应用的系统结构、标准的服务组件等,用户只需告诉框架所关心的事件,然后提供处理这些事件的代码。当事件发生时,框架则会调用用户的代码。用户代码不用调用框架,用户程序也不必关心框架结构、执行流程、对系统级API的调用等,所有这些由框架负责完成。因此,基于中间件开发的应用具有良好的可扩充性、易管理性、高可用性和可移植性。


  四、中间件标准的主要技术特征

  首先介绍一下中间件软件平台的架构。数字电视中间件(DTVM)是数字电视业务系统中的一个重要软件平台,它提供了数字电视交互与增值业务应用的运行环境。运行环境包含了对数字电视的内容格式和传输协议的支持,并为数字电视业务应用提供软件接口。中间件标准对机顶盒软件平台的模型、功能性能、应用编程接口、软件的可靠性与可恢复性、中间件编程接口的一致性测试与认证平台等都进行了规范和说明。数字电视接收设备软件系统可分为接收设备驱动层及系统资源层、中间件软件平台软件层、应用程序层共三个层次。

  其次,中间件软件系统的设计采用层次型架构、模块化组合,使得系统易于升级和扩展。

  再次,介绍一下数字电视应用编程接口功能包。在现代计算机编程技术中,Java(一种可用来开发能在任何计算平台上运行的应用软件的编程语言)深受广大软件设计制作人员的喜爱,且其“开发一次,到处运行”的超越平台限制的特性,成为数字电视交互与增值业务理想的开发工具。在中间件软件平台中,主要包含下列应用程序编程功能包:

  流媒体播放API(应用程序编程接口):流媒体的播放与控制建立在JMF(Java媒体框架)V1.0的基础上。

  回传通道处理API:用于带有回传信道的网络,进行会话、与服务器端通信以及数据传送等事务的管理。

  数据传输API:提供对广播流中所携带文件的访问,用于访问低延时的文件系统和采用DSM-CC(数字存储媒体命令及控制)协议传输的数据。

  应用启动与列表API:提供应用列表、选择与启动。

  事件管理API:为事件的发送与监听提供一种有效、通用的机制,它可用于线程间的通信,为其他功能包事件管理类提供处理方法。

  业务选择API:提供通用的机制向应用程序提供播放频道或选择业务的功能。

  DVB业务信息API:提供必要网络信息,它主要由NIT(网络信息表)、PAT(性能加速技术)、SDT(服务描述表)和BAT(群组关联表)等组成。

  电子节目指南信息API:提供比较抽象和高级的编程接口,以获取所要的节目信息。

  辅助工具API:为交互应用提供媒体平台系统平台的档次、功能特性以及用户喜爱等信息。(参考于论坛


  五、中间件推动增值服务快速发展


  中间件标准的使用和推广,使得数字电视真正成为不同厂家都可参与竞争的一个产业,彻底打破某一家技术、系统或设备供应商控制、垄断运营的状况。这无疑是运营商所要求的,同时也是机顶盒生产商所期待的。

  中国的中间件标准符合数字电视产业的实际情况和中国的市场特点。中间件标准将怎样推动数字电视市场的发展呢?具体表现在以下四个方面:

  第一,它会促使电视台、网络公司等数字电视运营商积极采用符合我国国家标准的数字电视中间件系统,包括前端应用与数据的播发服务器系统和接收端的软件系统。这样,运营商可以采用任一家的播发服务器;而机顶盒生产商则可以自由销售,让用户自己去选择,就像购买电视机、DVD播放机一样;对于提供交互与增值业务应用的内容运营商而言,也有了众多的选择,应用的成本也自然会降低。

  第二,机顶盒生产商将会快速移植、集成符合标准的中间件系统。机顶盒生产商的最终目的是销售他们的机顶盒,他只需要移植一家公司的中间件软件便可以在全国的任何网络中运行,被其他运营商所接受,而不像目前这样,如果向不同的运营商提供机顶盒就得移植不同的中间件系统。毫无疑问,中间件标准会极大地降低机顶盒的设计和生产成本,在市场上销售的机顶盒的价格会下降,使用户受益,无形之中促使了数字电视市场的快速发展。

  第三,交互应用将成为运营商进行市场宣传、开展数字电视增值服务的有力工具和杀手锏。中间件标准的实施,使得应用开发的门槛消失,而且开发出的应用可以同时提供给多家运营商,这无疑使应用程序的成本降到最低,使运营商受益,减少数字电视市场的开发费用,从而使运营商开展多层次、全方位的增值业务,有力推动运营的发展。

  第四,目前的运营商启动数字电视,要么不上中间件,要么采用某一家中间件技术公司的私有中间件技术而被其牢牢地卡住了脖子。在第一种情况下,因为内容不丰富,没有交互应用,从而限制了用户的开拓;在后一种情况下,接收机要依赖于某一家中间件技术公司,前端系统、应用开发都得需要这家公司提供,因而价格极贵,成本自然下不来。目前国内多数数字电视运营商没有采用中间件的主要原因在于我国数字电视中间件标准没有正式颁布。


 六、对我国中间件发展的思考


  中间件标准不统一
  
中间件全球性的国际标准尚无定论,只是在1995年欧洲的DVB组织提出了MHP的接口建议,俗称MHP中间件标准。虽然参加DVB-MHP组织的会员遍布全球,但毕竟还不是国际标准。有消息说,在2001年11月OpenCable已同意利用DVB-MHP作为OCAP的应用标准,而且,DVB-MHP 1.1和有线数字电视中间件标准OCAP 1.0已经作为提案提交国际电信联盟,有望制订统一的国际中间件标准。即使有了国际标准,仍然没有国家标准。从推动我国数字电视进程的角度来讲,尽快制定我国的中间件标准势在必行。因为中间件标准一旦确立,就会有大量的数字电视内容制作、播出服务和应用服务厂商介入到数字电视产业中来,从而实现资源共享,大大降低各个环节的成本。[FS:Page]另外,在我国,数字电视市场并没有大规模启动,虽然有几家数字电视厂家在开发自己的中间件,但目前并没有成熟的商业产品,这为我国直接开发符合自己标准的通用中间件提供了契机。

经济和文化的国情

  我国在制定中间件标准的过程中,在充分借鉴MHP先进经验的同时,应充分考虑我国数字电视领域的技术水平和研发能力,制定一个简洁实用的标准。同时,从MHP的API对HTML模棱两可的处理方式,可以看出欧洲人对PC和Internet“欲说还休”的暧昧态度和深厚的电视情结。在欧洲,个人电脑和Internet的渗透率相当低,而图文电视作为电视相关活动的一种,已经覆盖了整个欧洲大陆。因此对于欧洲人来说,绝大部分经验和电视机有关,这是欧洲特别强调以电视为中心的根本原因。因此,我国在制定中间件标准时还应考虑我国的经济和文化现状。

PC和Internet的低普及率


值得一提的是,我国PC和Internet的普及率比欧洲更低,人们的电脑经验微乎其微。相比之下,电视在我国的普及程度很高,317亿台电视机和近8000万有线电视用户都是全球第一,特别是电视广播“村村通”工程完成后,广播电视是中国老百姓获取信息的主要来源。因此,面向我国大众的数字电视,特别是数字电视的互动性,不能简单照搬现成的方案,而必须充分考虑我国大众使用家电的经验。对没有电脑使用经验的人来说,和软件打交道并不是一件很容易的事,很容易手足无措,即使是电脑的熟练操作者,接触一个新软件也不轻松,因此我国在尽快制定中间件标准的同时,计算机界、广播电视界和通讯界应通力合作,开发适合我国国情的数字电视应用软件。

本地化应用缺乏人才

对国内来说,中间件是新技术,况且标准不确定,因而基本上没有开发人才和部门。就我们所知国外应用的500余种中,国内应用不超过30种,而这30种应用中,已有应用内容的本地化,国人不为,而在API接口上开发新内容的应用,国人难为;特别是在交互节目制作工具上下功夫的国人微乎其微,据了解前期做了大量基础工作的多家软件开发商,终因市场问题而处于半休眠的跟踪状态,造成人才大量流失。国内中间件的应用在人才与市场两匮乏的情况下,处于两难状况。


对中间件新应用看不到前景

面对中间件在国内的少量应用,大家既看不到本地化应用的大量新产品,又怕买早了跟不上潮流,还怕一旦标准不符,烫手的山芋“烂”在手里。而且,在没有认识到中间件的交互优势和价格趋势前,运营商理解价格不便宜,提供商又不肯价格放水,从而陷入“用得越少,批量效应越小,价格越降不了”的商家大忌。所以,难以预料的发展前景使推广中间件技术陷入僵局。

总之,理智地对待中国中间件的发展过程完全符合客观规律,而今再谈中间件的应用现实,就是客观规律推动下的局部难题化解。


七、中间件的发展现状

  1、技术现状

  中间件技术是在克服复杂网络应用的共性问题中不断发展和壮大起来的,这些问题可以归纳为四个方面:

  1)从计算环境来看:中间件面对的是一个复杂、不断变化的计算环境,要求中间件技术具有足够的灵活性和可成长性;

  2)从资源管理的角度来看:操作系统和数据库管理系统管理的是有限资源,资源种类有限,资源量也有限,而中间件需要管理的资源类型(数据、服务、应用)更丰富,且资源扩展的边界是发散的;

  3)从应用支撑角度来看:中间件需要提供分布应用开发、集成、部署和运行管理的整个生命周期的总体运行模型;

  4)从应用的角度来看:利用中间件完成的往往是复杂、大范围的企业级应用,其关系错综复杂,流程交织。例如客户关系管理系统需要集成多个企业内部应用,而供应链管理则涉及企业之间的应用集成。

  因此,由于网络应用的复杂性,特别是分布、异构和自治等特点,决定了中间件技术和产品的形态多样性。目前的中间件技术已经形成一个丰富的谱系,并正在向上(应用框架和普适服务)和向下(融合操作系统、数据库管理系统的功能)两个方向不断延伸,并在向更宽广的应用领域拓展。

2、产品与市场现状

  中间件作为基础软件的重要组成,业已与操作系统、数据库齐头并进,在世界范围内呈现出迅猛发展的势头,已经形成一个巨大的产业。目前,中间件在国内整个软件行业中应该是发展速度最快的市场之一。中国软件产业经过20年的发展,很多部门的信息化建设都走过了关键业务应用和部门级应用的阶段,现在开始向企业级应用转变。所谓企业级应用,最为人们所重视的就是各类信息资源之间如何关联、整合、协同、互动和按需服务,这些都是中间件能够发挥巨大作用的空间所在。当然,中国软件产业整体上还比较弱,整个社会信息化的程度无论在广度、深度方面都还不够,这些自然也限制了国内软件产业及中间件的市场规模。随着国家信息化建设的不断深入,社会对应用软件,特别是对网络应用起支撑作用的中间件产品的巨大需求是不争的事实,国内中间件的市场才刚刚开始启动,存在巨大的发展机会和空间。

八、对于现状的分析

  综合产业界的发展情况,我国中间件产业的如下发展特点:

  技术多样化:中间件已经成为网络应用系统开发、集成、部署、运行和管理必不可少的工具。由于中间件技术涉及网络应用的各个层面,涵盖从基础通讯、数据访问、业务流程集成到应用展现等众多的环节,因此,中间件技术呈现出多样化的发展特点。

  产品平台化:由于传统的中间件技术门槛较高,学习周期较长,已经不能适应信息化建设对中间件的广泛应用需求。为此,中间件产品从解决网络计算中的关键问题开始向一体化平台方向发展,以提高中间件产品的使用便利性,更全面地满足各种网络应用软件所要求的可靠性、可伸缩性和安全性的需要。

  应用普及化:中间件技术已经是成熟的技术。我国大型信息化建设项目采纳中间件已经成为一种自然、例行的举措。中间件的广泛使用,也进一步促进了应用框架技术的丰富和发展,并为建立企业信息化业务基础架构奠定了基础。(参考于论坛

  以上内容整理与DVBCN数字电视中文网论坛。


  DVBCN小编希冀:不管[FS:Page]任何一项技术的研发与应用,我们都只能在深奥的技术领域投石问路,在前进的摸索中总结出新标准新规则。中间件不管作为产业也好还是技术也罢,它都会在市场的需求下不断的发展更新。同时,作为数字电视的一个重要的技术软件,也将会伴随数字电视的发展而受到广泛的关注,获得更大的市场空间。

更多链接:

数字电视中间件增值业务支撑平台解决方案

数字电视中间件标准将推动市场发展

开放中间件标准背后的驱动力

责任编辑:DVBCN编辑部

为您推荐

中间件——数字电视软件平台 (上)

在我国,内数字电视(DTV)的发展正处于起步阶段,数字卫星电视广播已采用DVB-S;数字有线电视广播已采用DVB-C标准(行业标准);数字地面电视广播标准尚在制定中,目前已有一些科研单位提出的五套备选的传输方案。由于今年数字有线电视网络试验播出扩大到20个省的84个城市,数字有线电视将在国内率先投入商业营运。数字高清晰度电视(HDTV)是电视的一场革命。其收视质量大幅度提高,大屏幕画面细腻逼真,并配以环绕声,已接近目前视听娱乐业中顶级质量的电影。凡是观看过数字HDTV演示的人们都会深信,HDTV是每一个家庭在数字信息时代应该拥有的“家庭影院”。DTV的三大优越性1.增加节目频道,减少传输成本。

中间件——数字电视软件平台 (中)

关键词:中间件数字电视交互式机顶盒基于中间件定义的三代机顶盒DTV系统的成功运营离不开机顶盒。机顶盒中需要集成CA和中间件。不仅CA和中间件厂家要对相关的软件收取费用,而且机顶盒的使用也要收取一定的费用。在整个系统运营中,机顶盒的费用是最高的。根据机顶盒的软件及硬件配置,可以将机顶盒划分为三代(种):第一代机顶盒:配置电子节目指南(EPG),实现简单的应用,无中间件,有或无CA系统,一般无回传信道。所有应用程序都是基于嵌入式实时操作系统而编制的。第二代机顶盒:配置电子节目指南(EPG),可实现交互式应用,有中间件和CA系统,有或无回传信道。应用程序都是基于中间件而编制的。第三代机顶盒:配置电子

中间件——数字电视软件平台 (下)

关键词:中间件数字电视交互式机顶盒中间件系统产品简介媒体烽火台系统为了抢占DTV核心技术的制高点,英凯软件系统有限公司和上海高清通力合作,开发了具有中国自主知识产权的DTV中间件——媒体烽火台(MediaBeaconTower)。中间件技术是DTV交互应用的核心部分。媒体烽火台接收端中间件系统是层次化的,采用模块化结构,包括一个Java虚拟机和一个网络浏览器,在未来交互应用中能够支持Java编程和上网。该系统符合中国DTV和DVB-MHP标准,支持国际标准DSMCC数据下载协议。媒体烽火台系统是一个独立的综合平台,集多媒体、数码家庭娱乐和电子商务于一体,它独立于硬件平台,可移植、可升级、可扩展

数字电视中间件技术发展浅析

数字电视中间件是指位于数字电视机顶盒内部实时操作系统与应用程序之间的软件部分,它以应用程序接口API的形式存在,整个API集合被存储在机顶盒的闪存FLASH中。针对机顶盒的应用程序基于API进行开发,能够支持丰富的应用。采用中间件系统,可以跨越技术、标准等复杂的内容,用简单的方法定制具有自己特色的应用软件,从而在提高开发效率、减少开发成本的同时能够跟上技术的发展,将应用的开发变得更加简捷,使产品的开放性和可移植性更强。虽然中间件对机顶盒硬件资源的要求较高,但在开发大量应用时成本大大下降。1数字电视的中间件技术中间件技术是一个纯软件系统技术,它也是一个比较笼统的概念。一般地说,它是建立在数字电视