Per wiki link JMS is a Java Message Oriented Middleware (MOM) API1 for sending messages between two or more clients
Question :- Is it mandatory that client(Producer/Consumer) should be implemented in java or client can be implemented in any technology like dot-net/c++ ? Can browser also be a client provided it sends the message expected by java MOM
Update :-
JMS can use variety of protocols to send/receive the message. For example :- If I consider the case of ActiveMQ it support number of protocols given at active MQ protocols where as default protocol is AMQP.
So mine understanding with default protocol AMQP, Dot-net/C++ can be client but not browser(as it communicates over http only).
But if i configure the ActiveMQ to use Rest protocol probably anyone(browser/Dot-Net/C++) can be client . Is that correct ?