Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

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.

Agent Locate

After a console first connects itself to an AMQP messaging broker, the first thing it must do is identify one or more agents with which to interact. This is done in one of two ways, depending on the purpose of the console application.

The console may attempt to locate a single specific agent by name (i.e. The HP printer on the second floor). In this case, the console communicates directly with the agent to see if it is present in the network (using a direct exchange and the agent's unique name).

Alternatively, the console may wish to interact with a set of agents, possibly all of them. In this case, the console establishes a set of criteria in the form of a query (i.e. "all printers where vendor == 'HP'") and builds a list of available agents. In this case, the console sends a multicast query (using a topic exchange) and collects responses from matching agents. Furthermore, if a new agent comes on line that meets the criteria, the console will learn about the new agent.

Query

Subscription Query

Schema Query

Method Invocation

Event Distribution

The QMF Data Model