Page Edited :
qpid :
Qpid Management Framework
Qpid Management Framework has been edited by Ted Ross (Mar 05, 2009). Change summary: Added link to the protocol description What Is QMFQMF (Qpid Management Framework) is a general-purpose management bus built on Qpid Messaging. It takes advantage of the scalability, security, and rich capabilities of Qpid to provide flexible and easy-to-use manageability to a large set of applications. Getting Started with QMFQMF is used through two primary APIs. The console API is used for console applications that wish to access and manipulate manageable components through QMF. The agent API is used for application that wish to be managed through QMF. The fastest way to get started with QMF is to work through the "How To" tutorials for consoles and agents. For a deeper understanding of what is happening in the tutorials, it is recommended that you look at the Qmf Concepts section. QMF ConceptsThis section introduces important concepts underlying QMF. Console, Agent, and BrokerThe major architectural components of QMF are the Console, the Agent, and the Broker. Console components are the "managing" components of QMF and agent components are the "managed" parts. The broker is a central (possibly distributed, clustered and fault-tolerant) component that manages name spaces and caches schema information. A console application may be a command-line utility, a three-tiered web-based GUI, a collection and storage device, a specialized application that monitors and reacts to events and conditions, or anything else somebody wishes to develop that uses QMF management data. An agent application is any application that has been enhanced to allow itself to be managed via QMF. +-------------+ +---------+ +---------------+ +-------------------+ | CLI utility | | Web app | | Audit storage | | Event correlation | +-------------+ +---------+ +---------------+ +-------------------+ ^ ^ ^ ^ | | | | | | v v v v v +---------------------------------------------------------------------------------+ | Qpid Messaging Bus (with QMF Broker capability) | +---------------------------------------------------------------------------------+ ^ ^ ^ | | | v v v +----------------+ +----------------+ +----------------+ | Manageable app | | Manageable app | | Manageable app | +----------------+ +----------------+ +----------------+
Methods<method> tags must be placed within <schema> and </schema> tags. A method is an invokable function to be performed on instances of the object class (i.e. a Remote Procedure Call). A <method> tag has a name, an optional description, and encloses zero or more arguments. Method arguments are defined by the <arg> tag and have a name, a type, a direction, and an optional description. The argument direction can be "I", "O", or "IO" indicating input, output, and input/output respectively. An example: <method name="echo" desc="Request a response to test the path to the management broker"> <arg name="sequence" dir="IO" type="uint32"/> <arg name="body" dir="IO" type="lstr"/> </method> Event ClassesData TypesObject attributes, method arguments, and event arguments have data types. The data types are based on the rich data typing system provided by the AMQP messaging protocol. The following table describes the data types available for QMF:
In the XML schema definition, types go by different names and there are a number of special cases. This is because the XML schema is used in code-generation for the agent API. It provides options that control what kind of accessors are generated for attributes of different types. The following table enumerates the types available in the XML format, which QMF types they map to, and other special handling that occurs.
Object IdentifiersEvery object, or instance of an object class, managed by QMF is assigned a unique object ID. The object ID is a structured 128-bit field. The bits of the object ID are laid out as follows: first uint_64: 63 60 59 48 47 28 27 0 +-------+------------+--------------------+----------------------------+ | flags | sequence | broker bank | agent bank | +-------+------------+--------------------+----------------------------+ second uint_64: 63 0 +----------------------------------------------------------------------+ | object number | +----------------------------------------------------------------------+ Object Id Fields:
Class Keys and Class VersioningThe QMF ProtocolThe QMF protocol defines the message formats and communication patterns used by the different QMF components to communicate with one another. A description of the current version of the QMF protocol can be found at QMF Protocol. How to Write a QMF ConsolePlease see the QMF Python Console Tutorial for information about using the console API with Python. How to Write a QMF Agent |
Unsubscribe or edit your notifications preferences