一、中间件的概念
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。目前,它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上可以用一个等式来表示中间件:中间件=平台+通信,这也就限定了只有用于分布式系统中才能叫中间件,同时也把它与支撑软件和实用软件区分开来。
个人理解:
用来支持跨系统协作,不同技术间共享资源的,且自身是独立的
基本上都可以看做是中间件 消息中间件 远程调用中间件 服务器中间件等等
二、中间件的分类
(1)事务式中间件
(2)远程过程调用中间件
example:
目前比较火的阿里rpc框架,RPC我理解的大体就是有个中间件去协调调度,有什么方法 你需要什么方法 在中间件上注册和调用。
Dubbo是用zookeeper做调度。
(3)面向消息的中间件
(4)面向对象中间件
(5)Web应用服务器
(6)其他
example:
windows平台的ODBC和JAVA平台的JDBC属于 数据库访问中间件