Java Message Service is an asynchronous communication mechanism in the distributed system field. It is very helpful in the situation where the distributed components are loosely coupled. Another popular distributed communication technology is Remote Method Invocation (RMI), which is tightly coupled and requires an application to know a remote application's methods.
One benefit of OpenJMS is that it is vendor neutral. Because the Java JMS specifications do not specify a wire protocol, each vendor's JMS implementation is distinct and not interoperable with others. Since JMS's are normally released as part of an application server provider this makes the implementation of a JMS vendor specific to that application server. OpenJMS is not dependent on any given application server and therefore can be a common interface between users of different vendors. Users of various application servers can agree to use the common OpenJMS implementation for their interoperability layers.