I would like to know what is the format of a JMS message. If I should create a JMS message without using javax.jms classes, how should I create this message?

The JMS specification doesn't dictate a message format or interprocess communication protocol for clients. These issues are left up to the vendors to implement as they choose, and typically, vendors use a proprietary protocol and format.

As a consequence, in order to use a vendor's message system, you have to use its client software. In the case of JMQ, the client is available only in Java. There's no way to connect to JMQ from another environment and send and receive messages.

JMS defines the interface that the vendor should present to your Java application. The value here is that if you don't like, for example, JMQ, you can replace it with another product that does support the functionality you need, without re-writing your app.