The goal of Proton is to provide ubiquitous access to a global-scale interoperable message bus based on AMQP 1.0, with implementations of the AMQP 1.0 protocol in Java and C, and various language bindings around the latter such as for Python and C++. These implementations serve as the basis for delivering protocol access to a wide variety of environments.
The architecture used by the protocol engines is designed to be a suitable basis for both high performance-network servers and simple clients, and to be usable in both threaded and non-threaded contexts. In short, with the use of binding tools such as SWIG, it is the goal of Proton to make it trivial for any application to speak AMQP 1.0 regardless of language, platform, or environment.
Universal - Proton is designed to scale both up and down. Equally suitable for simple clients or high-powered servers, it can be deployed in simple peer-to-peer configurations or as part of a global federated messaging network.
Embeddable - Proton is carefully written to be portable and cross platform. It has minimal dependencies, and it is architected to be usable with any threading model, as well as with non-threaded applications. These features make it uniquely suited for embedding messaging capabilities into existing software.
Standard - Built around the AMQP 1.0 messaging standard, Proton is not only ideal for building out your own messaging applications but also for connecting them to the broader ecosystem of AMQP 1.0-based messaging applications.
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