gdl
    title     = AMQ DRAFT
    subtitle  = AMQ Terminology
    product   = OpenAMQ
    author    = iMatix Corporation <amq@imatix.com>
    date      = 2004/10/03
    copyright = Copyright (c) 2004 JPMorgan
    version   = 0.1
end gdl

Cover
*****

State of this Document
======================

This document is a working draft.  Distribution of this document is
currently limited to iMatix and JPMorgan internal use.

This document describes a work in progress.

Copyright Notice
================

This document is copyright (c) 2004 JPMorgan Inc.

Authors
=======

This document was written by Pieter Hintjens <ph@imatix.com>.

Abstract
========

We list the words that have a special technical or functional meaning
within the context of the AMQ RFCs, source code, and other documents.
These terms are assumed to be understood by all serious users of the
product.

Terminology
***********

AMQ:
    A standard architecture and protocol for message queueing middleware.
AMQP:
    The Advanced Message Queuing Protocol. AMQP provides applications with
    a simple, reliable, high-performance, and asynchronous way to exchange
    information across a Service Oriented Area Network (SOAN).
SOAN:
    (Service Oriented Area Network) A set of applications, clients and
    servers that work together as a coordinated information processing
    system.  In a SOAN, resources are made available to participants in
    the network as independent services that are accessed in a standard
    way.
Application:
    A data processing application, the principle user of SOAN services
    (SOAN services also use each other internally).
Destination:
    An abstract data store that can act variously as a queue, topic,
    table, and so on.  Applications communicate by talking to destinations
    (rather than directly to each other).
Service:
    A destination subclass that provides a specific service and may
    as well provide access to data.  Services are the intelligence of
    the SOAN.  Application programs can be instantiated as services.
Server:
    A package of destinations and services provided to the rest of the
    SOAN. A server is an operating system process rather than a system;
    i.e. one physical box can run many servers.
Client:
    A layer that talks to servers on behalf of an application.  Clients
    can be written in any suitable programming language and are embedded
    in the application as required.
AMQP URI:
    The syntax by which an application specifies the location of a
    destination on a SOAN.
Path:
    The leading part of a URI.  Within one SOAN, the path defines the
    server for a destination, and within that server, the virtual location
    of the destination.
Root Services:
    The services that handle authentication, registration, name
    translation, and other principal SOAN services.
Root Server:
    The server that provides the root services.  There is exactly one root
    server in a SOAN.
Session:
    A single context in which messages are produced and consumed.  Usually
    a session corresponds to a business process. It is used as the basis for
    transaction management.
Consumer:
    A channel between a client and a server used for receiving messages
    from a destination.
Producer:
    A channel between a client and a server used for sending messages to
    a destination.
Channel:
    A virtual connection between a client and a server. We allow multiple
    channels to co-exist on a single network connection.
Command:
    The unit of work across a channel. Commands carry messages and control
    information between clients and destinations.
Message:
    The general form of communication between applications using the SOAN.
    Applications communicate by sending messages to destinations and asking
    for messages from destinations.
Request:
    A consumer sends a request for some set of messages from a specific
    destination.  The request defines which messages are wanted, using an
    implementation-defined request language.
OpenAMQ:
    A multi-platform open source implementation of AMQ.
Kernel:
    In OpenAMQ, the core functionality of the server.
Module:
    An extension that changes the server's functionality in some specific
    way.  Modules can be developed by outside parties and may be included
    in a server either at compile- or run-time.
Terminal:
    A class of module that handles communications between the kernel and a
    set of clients.  One or more terminals are present in a single server.
Driver:
    A class of module that handles requests for a specific class of
    destination, or that implements a particular SOAN service.  Drivers
    register on one or more paths.
Dispatcher:
    A class of module responsible for maintaining and resolving requests.
Parser:
    A class of module responsible for analysing messages and requests into
    matching criteria.  An example of a parser would be a parser that can
    read and analyse XML documents.

Comments on this Document
*************************

Date, name
==========

No comments at present.
