Apache Qpid is a high-speed, language independent, platform
independent enterprise messaging system. It currently provides two
messaging brokers (one implemented in C++, one implemented in Java),
and messaging client libraries for Java JMS, C++, C# .NET, Python,
Ruby, and WCF. The messaging protocol for Apache Qpid is AMQP
(Advanced Message Queuing Protocol). You can read more about Qpid
here:

  http://qpid.apache.org/

Documentation can be found here:

  http://qpid.apache.org/documentation.html

Qpid includes many components, which are built in various ways. Each
component has a README.txt. Here are the subdirectories that contain
the basic components:

Messaging Broker (implemented in C++):

  ./cpp

Messaging Broker (implemented in Java):

  ./java

C++ Messaging Client Libraries

  ./cpp

Java JMS Client Libraries

  ./java/client

Python Client Libraries

  ./python

Ruby Client Libraries

  ./ruby

.NET Client Libraries

  ./dotnet

WCF Support

  ./wcf

Messaging Client (implemented in Ruby):

  ./ruby

Management Tools (implemented in Python):

  ./tools

Management Tools (implemented in Java):

  ./java/management

Documentation:

  ./doc


Further information about the organization of Qpid source components may
be found in ./doc/dev-readme/QPID-0.8-Component-README.pdf.
