Does a JMS environment represent a client/server distributed system?

Jerry Smith

The act of serving, like beauty, is in the eye of the beholder. Any application that provides services to another application is a server. The JMS message broker provides both direct and indirect services:

  • Managing destinations, that is, queues and the topic hierarchy
  • Message brokering
  • Reliable communication, configurable for both persistence and durability
  • Many implementations provide clustering, load balancing, and so on

Applications that connect to and use the JMS broker are its clients.

From another point of view, any number of distributed application components can use JMS for interclient communication. Thus, these (JMS broker) clients are actually peers to each other, that is, with respect to the distributed applications scenario. In this case, each peer is potentially a client to and a server for other peers.