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.
Backgrounders
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.
Provisional RFCs
The CML Request for Comments
We describe a generic technique for managing AMQP servers from a remote client application. This technique consists of a standard transport mechanism built over AMQP, and a standard XML language used to exchange information between a management component built-in to the server, and a management application. This is a request for comments, it is not a standard.
Frequently-asked questions
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.
All documentation
Fast Topic Matching
Background to DMP and OpenAMQ's Direct Mode
AMQP Background
Developer's Guide to ASL
Developer's Guide to iCL
Developer's Guide to MOP
The CML Request for Comments
Programming WireAPI
Programming PAL
Programming the Console
Developer's Guide to SMT
Introduction to OpenAMQ
Basic use of OpenAMQ
Advanced use of OpenAMQ