Versions Compared

Key

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

...

QMF Protocol

Use of Message Headers

Standard

...

Message Properties

Message

...

Property

Use

correlation-id

Used in request/response/indication sets to correlate responses and indications to their request.

reply-to

Used in requests to indicate the address for the response.

content-type

'amqp/map' or 'amqp/list'

user-id

Supplied in a request if authentication/authorization at the agent is appropriate.

app-id

'qmf2'

Custom Application Headers

Application Header Key

Use

method

'request', 'response', or 'indication'. This field describes the message's role in a particular message-exchange pattern.

qmf.opcode

QMF-specific operation code (see list below). The opcode defines what content, if any, is to be found in the message body.

qmf.content

If the opcode is a data indication, this field indicates what kind of data will be found in the message body.

qmf.agent

If this message is a data indication sent by an agent, this field contains the agent's name.

QMF OpCodes

qmf.opcode field

Message Body Data Type

Description

_agent_locate_request

QMF_QUERY_PREDICATE

 

_agent_locate_response

QMF_DATA

 

_agent_heartbeat_indication

QMF_DATA

 

_query_request

QMF_QUERY

 

_query_response

???

 

_subscribe_request

QMF_SUBSCRIBE

 

_subscribe_cancel_request

VOID

 

_subscribe_refresh_indication

VOID

 

_data_indication

List of <qmf.content>

 

h4 QMF Content Types

qmf.content field

Data Type

Description

_schema_package

STRING

Schema package name

_schema_id

SCHEMA_ID

Schema class identifier

_schema_class

SCHEMA_CLASS

Schema class definition

_object_id

OBJECT_ID

Managed object identifier

_data

QMF_DATA

Data, managed and/or described or free-form

_event

QMF_EVENT

Event

Type Code

Name

Description

agent

Agent Indication

Indication sent from an agent periodically or immediately upon receiving an agent-locate with matching criteria. This message is used in agent discovery and as a keep-alive/heartbeat indication.

agent-locate

Agent Locate Indication

Indication sent from a console when the console wishes to discover agents in the network. This message may contain a selector indicating which subset of all agents it wishes to discover.

response

Response

General-purpose response to a request. A response message is always correlated to a specific request and is sent to the reply-to of the request. A response may optionally contain a structured exception or it may optionally contain a list of values (i.e. output arguments from a method call).

schema-query

Schema Query Request

A request sent by a console to an agent to discover information about the schemata of data offered by the agent. A schema query may request a list of packages (i.e. namespaces), a list of schema keys, or full schema details from the agent.

schema

Schema Indication

Indication sent from an agent either to announce newly added schema information or as a side effect of having received a schema query request from a console.

get-query

Get Query Request

A request sent from a console to an agent to get data from the agent. Generally, a get query is used to access managed objects owned by the agent. This message is extensible such that an agent may offer advanced query capabilities (SQL, Reporting, etc.) to consoles that know how to use the capabilities.

managed-object

Managed Object Indication

Indication sent from an agent as a side effect of having received a get-query or a create-subscription. Managed objects have object-identifiers, schema keys, and create/destroy timestamps in addition to their attributes.

object

Object Indication

Indication sent from an agent as a side effect of having received a get-query. Unmanaged objects have schema keys but no object-identifiers or timestamps as they are not managed, can't be addressed, and have no lifecycle.

data

Data Indication

Indication sent from an agent as a side effect of having received a get-query. Data has attributes only and can be used for any general purpose.

event

Event Indication

Indication sent from an agent when the agent application raises an event.

create-subscription

Create Subscription Request

Request sent from a console to an agent to create a subscription query. Such a query behaves like a get-query except that once the matching objects are sent, the query remains open and sends updates when matching objects are changed, added, or deleted. A subscription query has a target (not necessarily the address of the requesting console), a publishing interval to control the frequency of updates, and a time-to-live. If the subscription is not renewed after the time-to-live has expired, the subscription will be cancelled by the agent.

cancel-subscription

Cancel Subscription Request

Request sent from a console to an agent to cancel an existing subscription query.

renew-subscription

Renew Subscription Request

Request sent from a console to an agent to renew an existing subscription query. This causes the time-to-live timer to be reset.

method

Method Request

Request sent from a console to an agent to invoke a method on either the agent itself or on a managed object controlled by the agent.

Operations

Agent Announce

No Format
          Console                      Topic                         Agent
             |                           |                             |
             |                           | <---- Agent Indication ---- |
             | <------------------------ |                             |
             |                           |                             |

...