中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。
按照IDC的分类方法,中间件可分为六类。
1.终端仿真/屏幕转换
用以实现客户机图形用户接口与已有的字符接口方式的服务器应用程序之间的互操作;
2.数据访问中间件
是为了建立数据应用资源互操作的模式,对异构环境下的数据库实现联接或文件系统实现联接的中间件;在分布式系统中,重要的数据都集中存放在数据服务器中,它们可以是关系型的、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存放的,这类中间件将为在网络上虚拟缓冲存取、格式转换、解压等带来方便。
3.远程过程调用中间件
通过这种远程过程调用机制,程序员编写客户方的应用,需要时可以调用位于远端服务器上的过程;
4.消息中间件
用来屏蔽掉各种平台及协议之间的特性,实现在不同平台之间通信,实现分布式系统中可靠的、高效的、实时的跨平台数据传输,实现应用程序之间的协同。这是中间件中唯一不可缺少的,是销售额***的中间件产品,主要产品有国内东方通科技公司的TongLINK、BEA公司的BEA eLink 、IBM公司的MQSeries等,目前在Windows 2000操作系统中已包含了其部分功能。
5.交易中间件
是在分布、异构环境下提供保证交易完整性和数据完整性的一种环境平台。在分布式事务处理系统中要处理大量事务,常常在系统中要同时做上万笔事务。在联机事务处理系统 (OLTP)中,每笔事务常常要多台服务器上的程序顺序地协调完成,一旦中间发生某种故障时,不但要完成恢复工作,而且要自动切换系统,达到系统永不停机,实现高可靠性运行;同时要使大量事务在多台应用服务器能实时并发运行,并进行负载平衡地调度,实现昂贵的可靠性机和大型计算机系统同等的功能,为了实现这个目标,要求系统具有监视和调度整个系统的功能。
根据X/OPEN的DTP(Distributed Transaction Processing )模型规定,一个分布式交易处理系统应由事务处理、通信处理以及资源管理三部分组成。BEA公司的TUXEDO便是***的一个交易中间件产品,东方通科技公司的TongLINK 和TongEASY实现了DTP参考模型规定,另外还有IBM公司的TXSeriers是应用广泛的一个交易中间件产品。
6.对象中间件
在分布、异构的网络计算环境中,可以将各种分布对象有机地结合在一起,完成系统的快速集成,实现对象重用,在这个方面遵循的标准是 CORBA。对象中间件将是未来的主流,目前产品如东方通的TONG BROKER,INPRICE公司的Borland Application Server。
当然,IDC的分类并不能包含目前所有的中间产品,比较流行的还有:
Web服务器中间件
浏览器图形用户界面已成为公认规范,然而它的会话能力差、不能作数据写入、受HTTP协议的限制等,就必需进行修改和扩充,形成了 Web服务器中间件,如 SilverStream公司的产品,BEA公司的BEA WEBLOGIC,东方通公司的TONG WEB。
安全中间件
一些军事、政府和商务部门上网的***障碍是安全保密问题,而且不能使用国外提供的安全措施(如防火墙、加密、认证等),必需用国产的产品。产生不安全因素是由操作系统引起的,但必需要用中间件去解决,以适应灵活多变的要求。如东方通公司的TONG SEC。
为什么要中间件
中间件是构件化软件的一种表现形式。中间件抽象了典型的应用模式,应用软件制造者可以基于标准的中间件进行再开发,这种操作方式其实就是软件构件化的具体实现。
对于用户来说,选择中间件产品,主要是基于以下几个方面的好处:
首先,中间件产品对各种硬件平台、操作系统、网络数据库产品以及Client端实现了兼容和开放。例如,曾有一位BEA的客户从IBM平台迁移到Sun 的平台,原来开发的200万行C语言代码仅仅花了3个小时就重新编译完成,没有遇到任何问题。如果没有中间件,这样的平台迁移势必将大费周折。
其次,中间件保持了平台的透明性,使开发者不必考虑操作系统的问题。
其三,中间件实现了对交易的一致性和完整性的保护,提高了系统的可靠性。
其四,中间件产品可以降低开发成本,提高工作效率。The Standish Group分析了100个关键应用系统中的业务逻辑程序、应用逻辑程序及基础程序所占的比例,结果发现,业务逻辑程序、应用逻辑程序仅占总程序量的 30%,而基础程序却占了70%。如果以新一代的中间件系列产品进行组合应用,同时配合可复用的商务对象构件,则应用开发费用可望节省80%。
其五,基础软件的开发还是一件耗时费力的工作,如果使用标准商业中间件,大部分的编程工作将得以节省,用户可以将注意力集中于个性化的增值应用方面,并缩短开发周期50%~75%,从而更快地将产品投放市场。
中间件市场概况
中间件是软件技术发展的一种潮流,被誉为发展最快的软件品种,近年来势头强劲,当然,这也是源于市场在全球范围内对中间件的支持。毫无疑问,中间件正在成为软件行业新的技术与经济增长点。
1999年,Nasdaq股市上投资回报率***的并非某些名声显赫的网站,而是全球***的独立中间件厂商BEA公司,其股票升幅高达884.6%。时至今日,BEA的营业收入已连续18个季度保持高速增长。
国际数据集团(IDC)在日前发表的一份报告中预计今后五年中间件市场将快速成长。IDC预计全球中间件和商业软件收入将从1999年的27亿美元增长到2004年的近97亿美元,增长255%。据GlobalSight公司预计,全球电子商务市场到2001年将达到1.2万亿美元。 ForresterResearch则估计,仅仅是BtoB电子商务,到2003年的年收入就将达到1.3万亿美元。而业内人士认为,未来基于 Internet的电子商务业务将有79%建筑在中间件的基础之上。无疑,这将带来一个潜力巨大的市场。
在中国,有关数字同样让人兴奋,1998年中间件市场总值达12.34亿美元;1999年为17亿美元;预测到2004年将达到90.3亿美元,年增长率为39.7%,远远高于软件业的平均增长水平。
以上本文的内容就是这些,希望通过本文可以帮助到你。
【编辑推荐】