...
In QMF, there may be any number of agents and any number of consoles. Of course, if there are no agents, it won't be a very interesting network. Agents and consoles may appear and disappear dynamically.
Addressing and Scoping
QMF, being distributed in nature, needs a way to address the various entities that it represents. Further, the addressing of entities within QMF is organized in a scope hierarchy as follows:
No Format |
---|
+--------------------------------------------------------------------+
| Domain |
| |
| +-------------------------------+ +-------------------+ |
| | Agent | | Console | |
| | | | | |
| | +--------------------+ | +-------------------+ |
| | | Object | | |
| | | | | +-------------------+ |
| | | | | | Topic Addresses |-+ |
| | +--------------------+ | | | |-+ |
| | | +-------------------+ | | |
| +-------------------------------+ +-------------------+ | |
| +-------------------+ |
| |
+--------------------------------------------------------------------+
|
QMF Domain
Note that this is a new concept being introduced in QMFv2. It refers to a top-level scope for the addressing of all QMF entities. Multiple domains may be established so that independent, disjoint QMF deployments can share the same AMQP messaging network.
Console Address
When a console joins the network (i.e. an application that acts in the role of "Qmf Console"), it uses a unique and temporary identifier for addressing. This address is most likely different for each execution of the application. It is used only for reply messages sent directly to the console from an agent in the network.
Agent Address
The agent address, like the console address, must be unique within the domain. Unlike the console address, the agent address should be persistent, remaining the same even after the agent application is shut down and restarted.
Object Address
Topic Addresses
Operations
QMF operations are defined in terms of the console and agent roles. This section will introduce the operations at a fairly high level. For full details on how the operations operate, refer to the API specification for the programming language you are interested in.
...