The Qpid project offers two kinds of components, messaging APIs for building AMQP applications, and messaging server for deploying AMQP networks. You can use them together to build robust distributed applications.
Messaging APIs give your application a tool for efficient, high-level interprocess communication.
Qpid offers various messaging APIs. Qpid Proton is a reactive API with full-spectrum AMQP control. In addition to being a messaging API, Qpid Proton is used by other Qpid components to implement AMQP 1.0 protocol support. Qpid JMS is an AMQP-fluent implementation of the widely used Java Message Service API.
The term "client" is often used to refer to messaging APIs, but some messaging APIs, such as Qpid Proton, can be used to implement any kind of messaging component, including clients, servers, bridges, and proxies.
Messaging servers are message-transfer intermediaries that provide additional behaviors such as store-and-forward for improved reliability.
Qpid Broker-J is a full-featured message-oriented middleware broker, offering specialized queueing behaviors, message persistence, and manageability.
| Component | Languages | Platforms | AMQP versions |
|---|---|---|---|
| Broker-J | - | JVM | 1.0, 0-10, 0-9-1, 0-9, 0-8 |
| Qpid JMS | Java | JVM | 1.0 |
| Qpid Proton | C, C++, Java, Python, Ruby | JVM, Linux, Windows | 1.0 |
| Qpid Interop Test | - | Linux | 1.0 |
Any Qpid components that share an AMQP version can interoperate. For instance, Broker-J is implemented in Java, but can communicate with C++ clients for communication.
Apache Qpid, Messaging built on AMQP; Copyright © 2015 The Apache Software Foundation; Licensed under the Apache License, Version 2.0; Apache Qpid, Qpid, Qpid Proton, Proton, Apache, the Apache feather logo, and the Apache Qpid project logo are trademarks of The Apache Software Foundation; All other marks mentioned may be trademarks or registered trademarks of their respective owners