Chapter 2. Component Overview
Red Hat JBoss AMQ 7.0 consists of the AMQ Broker, the AMQ Clients, and a new dispatch router called AMQ Interconnect. They all work to enable remote communication among distributed client applications. Red Hat JBoss AMQ 7.0 can communicate with a wide variety of JMS and non-JMS clients. It also supports various protocols such as AMQP and STOMP, among others. The AMQ Console is the single interface used to configure, deploy and manage AMQ components.
Because of the many components it makes available for deployment and use, Red Hat JBoss AMQ 7.0 is more like a toolbox than a monolithic application platform. In the toolbox are 4 major tools:
2.1. AMQ Broker
AMQ Broker is a full-featured, message-oriented middleware broker. It offers specialized queueing behaviors, message persistence, and manageability. Core messaging is provided by Apache ActiveMQ with support for different messaging styles such as publish-subscribe, point-to-point, and store-and-forward. It supports multiple protocols and client languages, freeing you to use many if not all of your application assets. Lastly, AMQ Broker is supported to work with Red Hat JBoss Enterprise Application Platform.
For more information on the AMQ Broker see Using AMQ Broker.
2.2. AMQ Interconnect
AMQ Interconnect, a new component of AMQ 7, provides flexible routing of messages between any AMQP-enabled endpoints, whether they are clients, servers, brokers, or any other entity that can send or receive standard AMQP messages. For example, a messaging client can make a single AMQP connection into a messaging bus built of AMQ Interconnect routers. Then, using that one connection, the client can exchange messages both with brokers and with other endpoints without involving any broker at all.
AMQ Interconnect does not need to use clustering for high availability. It is meant to be deployed in topologies of multiple routers, preferably with redundant paths, which it uses to provide continued connectivity. Consequently, routing networks should scale much more easily when using AMQ Interconnect because you can distribute your network processing resources.
For more information on AMQ Interconnect see Using AMQ Interconnect.
2.3. AMQ Clients
AMQ emphasizes fast and reliable communication between clients and servers. It supports many well-known languages and protocols including those used by the following clients.
2.4. AMQ Console
AMQ Console is a management tool for administering AMQ brokers and routers in a single convenient interface. AMQ Console helps you maintain and grow your AMQ environments, including managing destinations, connections, and other administrative objects. You can, for example, launch into a mode that displays the command console, or you can use a remote AMQ Console to connect to a broker on your network. Conveniently, the AMQ Console includes REST and JMX interfaces for remote management.
2.5. Component Compatibility
The following table lists the supported languages, platforms, and protocols of Red Hat JBoss AMQ 7.0 components. Note that components sharing an AMQP version can interoperate. For instance, although the AMQ Broker is implemented in Java, it does not require Java clients for communication.
Component | Languages | Platforms | Protocols |
---|---|---|---|
AMQ Broker | - | JVM | AMQP 1.0, MQTT, OpenWire, STOMP |
AMQ Interconnect | - | Linux | AMQP 1.0 |
AMQ C++ | C++ | Linux, Windows | AMQP 1.0 |
AMQ JMS | Java | JVM | AMQP 1.0 |
AMQ JavaScript | JavaScript | Node.js, browsers | AMQP 1.0 |
AMQ .NET | C# | .NET | AMQP 1.0 |
AMQ Python | Python | Linux | AMQP 1.0 |