我现在正在分布式系统上课,我无法理解中间件的概念。我知道它是一个软件层,它提供应用程序和网络上实际通信之间的抽象级别,但我需要具体的例子。我知道CORBA和Java RMI是中间件的例子,但这些对我来说真的没有意义。什么是分布式系统中的中间件?
当我在Java中编写客户端服务器程序时,通过DatagramSockets()进行通信的是那个中间件?如果是的话为什么不呢Java DatagramSocket()方法提供了一个从我的应用程序到网络实际通信的抽象级别。
我现在正在分布式系统上课,我无法理解中间件的概念。我知道它是一个软件层,它提供应用程序和网络上实际通信之间的抽象级别,但我需要具体的例子。我知道CORBA和Java RMI是中间件的例子,但这些对我来说真的没有意义。什么是分布式系统中的中间件?
当我在Java中编写客户端服务器程序时,通过DatagramSockets()进行通信的是那个中间件?如果是的话为什么不呢Java DatagramSocket()方法提供了一个从我的应用程序到网络实际通信的抽象级别。
这是一个相当混乱的术语。大多数情况下,我认为它是指用于实现内部API的软件层,例如面向用户的Web应用程序和底层数据库存储层之间的粘合剂,但更为接受的形式术语似乎是像CORBA或Java RMI。这个术语似乎没有太多的一致性。 [维基百科文章](http://en.wikipedia.org/wiki/Middleware)相当不错。 – rra
我同意@rra。这个术语实际上是一个没有真正意义的流行词。有些人会认为JSON编码器和解码器是中间件。毕竟,它位于大量的软件组件之间,并允许它们进行通信。 –