Java Message Service: An interface executed by most J2EE containers to give point-to-point queueing and topic (publish/subscribe) behavior. JMS is frequently used by EJB's that require to start another process asynchronously.
For example, instead of sending an email directly from an Enterprise JavaBean, the bean may choose to put the message onto a JMS queue to be handled by a Message-Driven Bean (another type of EJB) or another system in the enterprise. This method allows the EJB to return to handling requests instantly instead of waiting for a potentially lengthy process to complete.