Java Messaging System (JMS)
As we mentioned earlier, JMS is the Java standard API for implementing message-oriented middleware. Any typical Java EE application server (Glassfish, Wildfly, WebLogic, and so on) will have its own implementation for this API. In other words, you don't care, as a Java EE application developer, about the actual implementation used within an application server, and you will be focusing more on API concepts.
In the next section, we are going to discuss the architecture and the constituent parts of a typical JMS application.
Architecture
JMS is a platform-neutral Java API, which means that it can be used within the context of any Java SE application and is not limited to Java EE. In the following sections, we are going to explain the different parts that make up a typical JMS application, but with a focus on JMS usage from the perspective of Java EE.
JMS provider
An implementation of the JMS API, always bundled with any Java EE application server. However, as mentioned...