Download OpenAMQ now
Linux, AIX, Solaris, Mac OS/X, other UNIX
» Download OpenAMQ/1.4c1 source package, implements RestMS web messaging, includes Zyre web messaging server.
» Download OpenAMQ/1.3d1 source package, implements latest AMQP/0.9.1 and Direct Mode for 5x performance.
Check the release notes for more.
» Download OpenAMQ/1.4c0 executables (OpenAMQ & Zyre)
Check the dedicated OpenAMQ for Windows website for more packages.
- Python (Esteve Fernandez - video)
- Java JMS (community developed, at Github)
- Ruby (Chris Wong, at Github)
- Ruby WireAPI (Jurgen Van Ham, at RubyForge) (docs)
- C included in OpenAMQ.
Download examples from the PAL repository.
AMQP is a new wire-level protocol for messaging. It makes it easy to get applications or pieces of applications to talk together across a LAN. Applications send messages to exchanges, which route them into queues, which deliver them to other applications. It sounds complex but it's simple and it makes life easy. AMQP uses a message broker to do the hard work. This is a server app that usually runs on its own box.
OpenAMQ is a message broker plus client libraries for C/C++ and JMS. OpenAMQ gives you a simple and powerful C API called WireAPI as well as tools like PAL for easy scripting. It comes with remote admin tools, one-line failover, instant federation, protection against slow clients, detailed logging, and other high-level features demanded by our largest, and smallest, users. OpenAMQ implements AMQP/0.9 and AMQP/0.9.1 (1.3x).
Cost: OpenAMQ is open source and free to use at no charge. To install OpenAMQ takes only a few minutes. It comes pre-tuned and runs almost perfectly out of the box. To learn to use OpenAMQ will take you a day or so. To use WireAPI in your applications will take you a day or two. A real OpenAMQ development will take you some weeks. And you will find an active, expert community able to help with every aspect.
Installing and operating OpenAMQ
- Introduction to OpenAMQ: This document is an introduction to the concept of business messaging in general, and to OpenAMQ in particular. It is intended for new OpenAMQ users who wish to understand the problems that OpenAMQ solves, and how OpenAMQ can be useful in software applications.
- Basic use of OpenAMQ: This document explains how to get OpenAMQ running on your system. It explains how to download the software, how to unpack and build it (if you are using a source package), and how to run basic tests on the resulting software.
- Advanced use of OpenAMQ: This guide is for people who need to configure and manage OpenAMQ servers. We explain how to configure and tune an OpenAMQ server, covering these topics: logging, monitoring, high-availability failover, and joining OpenAMQ servers into wide-area federations.
Developing applications with OpenAMQ
- Programming WireAPI: This is the main guide for developers who wish to use OpenAMQ in their applications. We describe WireAPI, the C/C++ API that OpenAMQ provides for accessing AMQP. Expert WireAPI users may wish to read the iMatix iCL guide, but this document is otherwise self-complete.
- Programming PAL: This guide is for OpenAMQ developers who need a quick way to write test cases and simple scenarios. We explain the PAL language, an XML scripting tool that gives you a fast way to construct AMQP applications to test routing models, performance and stability tests, and other test cases.
- Programming the Console: This document explains how to write applications that automate management of OpenAMQ servers via console automation. The OpenAMQ console automation architecture offers developers different ways of accessing the functionality of the console API and integrating it with their own preferred tools and management facilities.
Technical references for developers
- Developer's Guide to ASL: This is a technical guide for protocol developers who wish to use the iMatix ASL framework for the development of connected client-server protocols. ASL is a generic framework that uses a protocol modeling language to construct the whole infrastructure for a given protocol. ASL was built primarily to support AMQP.
- Developer's Guide to iCL: This is a technical guide for developers who wish to understand how the iMatix iCL framework works. iCL is a class-oriented modelling language for C applications and is one of the basic frameworks used in iMatix applications such as OpenAMQ.
- Developer's Guide to MOP: This is a technical guide for developers who wish to understand how the iMatix code generation frameworks are constructed. We explain the principles of model oriented programming, and the basics of code generation using the iMatix GSL language. This provides essential basic knowledge for anyone intending to modify the OpenAMQ software.
- Developer's Guide to SMT: This is a technical guide for developers who wish to understand how the iMatix SMT framework works. To use this guide the reader should be familiar with the iMatix iCL framework, and the iMatix Model Oriented Programming principles.
- Fast Topic Matching: This document describes a fast matching algorithm that provides all the functionality needed for topic matching and most of the functionality needed for content-based routing. This document was written by iMatix Corporation during the design process of OpenAMQ and AMQP, in June 2005.
- Background to DMP and OpenAMQ's Direct Mode: We provide a background to the gro.pqma.ikiw|PMD-4#gro.pqma.ikiw|PMD-4 ("DMP") protocol. We also explain how iMatix OpenAMQ's DMP implementation ("Direct Mode") works, and what it means for application developers. This document is aimed both at advanced OpenAMQ users who wish to better understand Direct Mode, and AMQP developers who wish to implement the DMP protocol in their own AMQP client and server stacks.
- AMQP Background: We explain the rationale behind the development of AMQ as an architecture and AMQP as a new industry standard protocol. This document is designed as useful background material for people wishing to understand the AMQP design.
- OpenAMQ licensing FAQ: Read this if you have questions about licensing OpenAMQ, including GPL concerns.
- OpenAMQ languages FAQ: Read this if you have questions about whether you can use OpenAMQ from your particular programming language, before you ask the openamq-dev mailing list.
- OpenAMQ freezes FAQ: Read this if your OpenAMQ server seems to freeze, before you ask the openamq-dev mailing list.
- OpenAMQ crashes FAQ: Read this if your OpenAMQ server crashes, before you ask the openamq-dev mailing list.
- OpenAMQ build FAQ: Read this if you have questions about building OpenAMQ, before you ask the openamq-dev mailing list.
- Draft 2 of RestMS specs now online (january 20, 2008) iMatix has published the second draft of the RestMS specifications today on wiki.amqp.org. RestMS offers web applications simple, efficient messaging that interoperates with AMQP networks. (+0 "0")
- iMatix publishes Digest-AMQP specs (january 9, 2008) iMatix has published the first draft of the Digest-AMQP specifications on wiki.amqp.org. Digest-AMQP provides a way to integrate WWW servers and LDAP servers over an AMQP network. (+0 "0")