Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Is it used for Software Development or Website development?

Is it needed (or good) for a JSP Programmer to learn JMS?

I know server side scripting languages like JSP and PHP, but I have not found any relation between JSP and JMS.

share|improve this question

3 Answers 3

up vote 1 down vote accepted

JMS is a part of Java EE and represents a standard API for message-oriented middleware, which is something mainly used to integrate heterogenous systems in large companies (banks, insurance, telecommunication). You won't find JMS being used in startups or for regular webapps, but you might encounter it when developing an application that has to communicate with legacy backend systems.

Overall, I wouldn't recommend studying it just to improve your resume.

share|improve this answer

As its name suggest Java Messaging Service has the purpose of sending messages between clients (to be noted that a client is not necessarily a client which interacts with the end user; it can be another server in other relation).

In order to provide a complex enough functionality, a distributed system needs to access the services provided by many (independent) subsystems; the communication between these subsystems can be provided by using JMS, or other middleware technologies (CORBA, Java RMI, the lower-level TCP as sockets or others). A popular way of implementing JMS is by using a publish/subscriber system, in the form of a message queue (WebsphereMQ, RabbitMQ or others); this is more loose coupled as the alternatives suggested above.

Regarding your problem - if you only write JSP code or if the applications you write are only web applications based exclusively on a Web Framework (Spring MVC, JSF, Struts or others) and eventually some ORM framework (JPA, Hibernate) then you probably do not need JMS. On the other hand if you will write code for large enough distributed systems (which may have a web endpoint) that use more technologies from the Java EE stack (JNDI, JTA, EJB and others) or from Spring, then JMS might be useful.

share|improve this answer

I agree with the others that you shouldn't necessarily study JMS to pad your resume. However, being aware of when JMS (or some other message-oriented middleware) is applicable is a good idea. A book that has a good overview of the patterns in a message-oriented system is Enterprise Integration Patterns. I would recommend reading that book.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.