Is JMS an alternative to Enterprise JavaBeans (EJB)?
No. An Enterprise JavaBean implements arbitrary server-side functionality using a well-known component architecture. An Enterprise JavaBean is deployed within an EJB server on an arbitrary network host. It performs services for (typically, remotely located) distributed application components using synchronous communication, namely, remote method invocations. JMS, in contrast, provides a general and flexible framework for sending messages among application components, including Enterprise JavaBeans. JMS-based communication is useful in many distributed computing scenarios, including those that utilize Enterprise JavaBeans. In fact, Enterprise JavaBeans can use JMS for message passing among beans.