中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算资源和网络通讯。
在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库等开发,这些都是计算机最底层的东西,越底层越复杂,开发者不得不面临许多很棘手的问题,如操作系统的多样性,繁杂的网络程序设计、管理,复杂多变的网络环境,数据分散处理带来的不一致性问题、性能和效率、安全,等等。这些与用户的业务没有直接关系,但又必须解决,耗费了大量有限的时间和精力。于是,有人提出能不能将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。这一技术思想最终构成了中间件这类的软件。
中间件特点:
满足大量应用的需要 ;
运行于多种硬件和OS平台 ;
支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能 ;
支持标准的协议 ;
支持标准的接口。
满足大量应用的需要 ;
运行于多种硬件和OS平台 ;
支持分布式计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互功能 ;
支持标准的协议 ;
支持标准的接口。
中间件分类:
分为数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等
分为数据访问中间件、远程过程调用中间件、消息中间件、交易中间件、对象中间件等
middleware其实就是一个中间人,它在做代理。计算机中有个中间件理论:无论有多少问题,只要有一个中间件,可解决一切的问题。其实不仅是在计算机上是这样,现实中皆如此!
有了中间件,解决问题可以很方便。现有的系统要是出现了瓶颈,或扩展上有问题,你就加个中间件吧。这可以更好地利用现有的系统。有了中间件,你可以更好地实现你的价值。IBM很早就提出要做中间件的服务,就是因为中间件大有可为。计算机发展得很快,你的系统说不定什么时候就会被淘汰,跟不上形势。有了中间件,你可能会永久地用下去,只要你愿意。其实中间件的理论确实可以做到这样子!只是当你看到你的系统变得越来越复杂时,你的性能越来越差时,你自己都不愿意要这个千疮百孔的系统了。无药可救是相对的。当你加了个中间件后,系统可以实现了一些新功能,但是性能提升并不高时,或你的维护成本太高,你已不能再增加其复杂度时,你会选择放弃这个系统。这里有个价值理念:中间件是万能的,但当你增加一个中间件,给你带来的负担已超过你重做一个系统时,你会选择重新开始的。中间件其实就只是在延缓你被淘汰的时间!
当你学了新技术,可是它的成本太高,一般公司都不会放弃现有的系统,因为它已有历史用户,公司有N个理由不用这个新技术,不愿经常更换系统。于是你就做中间件服务吧,你用你的新技术,开发中间件,加在已有的系统上,这样公司付出的成本不高,你也得到了用武之地。中间件给你提供了这个机会。IBM之所以要做中间件服务,就是因为这儿市场上需要,同时它有这个资本做这个。IBM的人才储备是挺强的,它有这个技术能力。IBM多年来一直是计算机上的领跑者,它要做就做市场上最需要的,做别的小公司所做不了的事情。现在微机厂商那么多,百花齐放,我己没有太多的技术核心,而且利润太小,我为什么还做这个。小公司做这个可能还有利润可挣。IBM不行呀,它太大了,一艘商业航母。这点小钱根本不够我发展的,公司大必定显得臃肿,我挣点小钱,却要做大公司的任务,我要研发呀,我要……与其浪费我的人才储备,分散我的管理,不如我放弃,这也是大公司的悲哀呀。大公司一旦找不到好的业务,就会很快被击垮。一个胸怀大志的人,就不必要做一些浪费时间浪费精力的小事。不然何能成其大呀!IBM是我所仰慕的公司,它最让我佩服的是创新,一个做了大型机的公司,主动开发微机,又主动放弃微机,从做硬件改为做软件,做服务。不简单呀!放眼望去,有其它公司能这样吗。能硬能软。
有了中间件,解决问题可以很方便。现有的系统要是出现了瓶颈,或扩展上有问题,你就加个中间件吧。这可以更好地利用现有的系统。有了中间件,你可以更好地实现你的价值。IBM很早就提出要做中间件的服务,就是因为中间件大有可为。计算机发展得很快,你的系统说不定什么时候就会被淘汰,跟不上形势。有了中间件,你可能会永久地用下去,只要你愿意。其实中间件的理论确实可以做到这样子!只是当你看到你的系统变得越来越复杂时,你的性能越来越差时,你自己都不愿意要这个千疮百孔的系统了。无药可救是相对的。当你加了个中间件后,系统可以实现了一些新功能,但是性能提升并不高时,或你的维护成本太高,你已不能再增加其复杂度时,你会选择放弃这个系统。这里有个价值理念:中间件是万能的,但当你增加一个中间件,给你带来的负担已超过你重做一个系统时,你会选择重新开始的。中间件其实就只是在延缓你被淘汰的时间!
当你学了新技术,可是它的成本太高,一般公司都不会放弃现有的系统,因为它已有历史用户,公司有N个理由不用这个新技术,不愿经常更换系统。于是你就做中间件服务吧,你用你的新技术,开发中间件,加在已有的系统上,这样公司付出的成本不高,你也得到了用武之地。中间件给你提供了这个机会。IBM之所以要做中间件服务,就是因为这儿市场上需要,同时它有这个资本做这个。IBM的人才储备是挺强的,它有这个技术能力。IBM多年来一直是计算机上的领跑者,它要做就做市场上最需要的,做别的小公司所做不了的事情。现在微机厂商那么多,百花齐放,我己没有太多的技术核心,而且利润太小,我为什么还做这个。小公司做这个可能还有利润可挣。IBM不行呀,它太大了,一艘商业航母。这点小钱根本不够我发展的,公司大必定显得臃肿,我挣点小钱,却要做大公司的任务,我要研发呀,我要……与其浪费我的人才储备,分散我的管理,不如我放弃,这也是大公司的悲哀呀。大公司一旦找不到好的业务,就会很快被击垮。一个胸怀大志的人,就不必要做一些浪费时间浪费精力的小事。不然何能成其大呀!IBM是我所仰慕的公司,它最让我佩服的是创新,一个做了大型机的公司,主动开发微机,又主动放弃微机,从做硬件改为做软件,做服务。不简单呀!放眼望去,有其它公司能这样吗。能硬能软。