<div class="docbook"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.2. Web Management Console</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel.html">Prev</a> </td><th width="60%" align="center">Chapter 6. Management Channels</th><td width="20%" align="right"> <a accesskey="n" href="Java-Broker-Management-Channel-REST-API.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="Java-Broker-Management-Channel-Web-Console"></a>6.2. Web Management Console</h2></div></div></div><p> The Web Management Console provides a simple and intuitive interface for the Management
        and Control of the Broker. From here, all aspects of the Broker can be controlled,
        including: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>add, remove and monitor queues</p></li><li class="listitem"><p>inspect, move, copy or delete messages</p></li><li class="listitem"><p>add, remove and monitor virtualhosts</p></li><li class="listitem"><p>configure and control high availability</p></li></ul></div><p>
    </p><p>The remainder of the section provides an introduction to the web management console and
        its use.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Accessing"></a>6.2.1. Accessing the Console</h3></div></div></div><p>The Web Management Console is provided by the HTTP Management Plugin. Providing the
            HTTP Management Plugin is in its default configuration, the Web Management Console can
            be accessed by pointing a browser at the following URL:</p><p>
            <code class="literal">http://myhost.mydomain.com:8080</code>
        </p><p>The Console will prompt you to login using a username and password.</p><div class="figure"><a id="d0e1860"></a><p class="title"><strong>Figure 6.1. Web Management Console - Authentication</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Auth.png" height="360" alt="Web Console Authentication" /></td></tr></table></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Orientation"></a>6.2.2. Orientation</h3></div></div></div><p>After you have logged on you will see a screen similar to the following. The elements
            of the screen are now explained.</p><div class="figure"><a id="d0e1874"></a><p class="title"><strong>Figure 6.2. Web Management Orientation - Console</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Console.png" height="360" alt="The Web Console" /></td></tr></table></div></div></div><br class="figure-break" /><p>
            </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>A</em></span> - Hierarchy view. Expandable/collapsible view
                        showing all entities within the Broker. Double click on an entity name to
                        cause its tab to be opened. </p></li><li class="listitem"><p><span class="emphasis"><em>B</em></span> - Tab. Shows the details of an entity including its
                        attributes and its child entities. </p></li><li class="listitem"><p><span class="emphasis"><em>C</em></span> - Occluded tab. Click tab name to bring the tab to
                        the front.</p></li><li class="listitem"><p><span class="emphasis"><em>D</em></span> - Auto restore check box. Checked tabs will be
                        automatically restored on subsequent login.</p></li><li class="listitem"><p><span class="emphasis"><em>E</em></span> - Close. Click to close the tab.</p></li><li class="listitem"><p><span class="emphasis"><em>F</em></span> - User Menu. Access to Preferences, Logout and
                        Help.</p></li></ul></div><p>
        </p><div class="figure"><a id="Java-Broker-Management-Channel-Web-Console-Orientation-Tab"></a><p class="title"><strong>Figure 6.3. Web Management Orientation - Tab</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Tab.png" height="360" alt="A tab within the Web Consle" /></td></tr></table></div></div></div><br class="figure-break" /><p>The elements of a tab are now explained: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="emphasis"><em>1</em></span> - Attribute Panel. Shows the attributes of the
                        entity. Click the panel title bar opens/closes the panel.</p></li><li class="listitem"><p><span class="emphasis"><em>2</em></span> - Child Panels. Panels containing a table listing
                        the children of the entity. Click the panel title bar opens/closes the
                        panel.</p></li><li class="listitem"><p><span class="emphasis"><em>3</em></span> - Child Row. Row summarizing a child entity. Double
                        click to open the child tab.</p></li><li class="listitem"><p><span class="emphasis"><em>4</em></span> - Child Operations. Buttons to add a new child or
                        perform operations on existing children.</p></li></ul></div><p>
        </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities"></a>6.2.3. Managing Entities</h3></div></div></div><p>All the Entities of the Broker of can be managed through the Web Console.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Add"></a>6.2.3.1. Adding Entities</h4></div></div></div><p>To <span class="emphasis"><em>add</em></span> a new entity, click the <code class="literal">Add</code> button
                on the Child Panel on the Parent's tab. Clicking the Add button causes an add
                dialogue to be displayed.</p><p>Add dialogues allow you to set the attributes of the new child, and set context
                variables. Most fields on the add dialogue have field level help that give more
                details about the attribute and any default value (which may be expressed in terms
                of a context variable) that will take effect if you leave the attribute unset. An
                example add dialogue is shown in the figure that follows.</p><div class="figure"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Add-Dialogue"></a><p class="title"><strong>Figure 6.4. Web Management Orientation - Add Dialogue</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Add-Dialogue.png" height="360" alt="Example add dialogue showing field level help" /></td></tr></table></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Edit"></a>6.2.3.2. Editing Entities</h4></div></div></div><p>To <span class="emphasis"><em>edit</em></span> an existing entity, click the <code class="literal">Edit</code>
                button on the tab corresponding to the Entity itself. Editing an entity lets you
                change some of its attributes and modify its context variables. Most fields on the
                edit dialogue have field level help that give more details about the attribute and
                any default value. An example edit dialogue is shown in the figure that
                follows.</p><div class="figure"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Edit-Dialogue"></a><p class="title"><strong>Figure 6.5. Web Management Orientation - Edit Dialogue</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-Edit-Dialogue.png" height="360" alt="Example edit dialogue" /></td></tr></table></div></div></div><br class="figure-break" /></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Delete"></a>6.2.3.3. Deleting Entities</h4></div></div></div><p>To <span class="emphasis"><em>remove</em></span> an existing entity, click the
                    <code class="literal">Delete</code> button on the tab corresponding to the Entity itself.
                For some child types, you can select many children from the parent's type and delete
                many children at once.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Context-Variables"></a>6.2.3.4. Context Variables</h4></div></div></div><p>All Entities within the Broker have the ability to have <a class="link" href="Java-Broker-Management-Managing-Entities.html#Java-Broker-Management-Managing-Entities-General" title="7.1. General Description">context
                    variables</a> associated with them.</p><p>Most add and edit dialogues have the ability to make context variable assignments.
                To add/change/remove a context variable, click the Context Variable panel to expand
                it.</p><div class="figure"><a id="Java-Broker-Management-Channel-Web-Console-Managing-Entities-Context-Variables-Dialogue"></a><p class="title"><strong>Figure 6.6. Web Management Orientation - Context Variables</strong></p><div class="figure-contents"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/Management-Web-ContextVar.png" height="360" alt="Editing Context Variables" /></td></tr></table></div></div></div><br class="figure-break" /><p>You will see any context variables already associated with the object, called
                local context variables in bold, and any inherited from above in normal face.</p><p>Since context variables can be defined in terms of other context variables, the
                display has two value columns: actual and effective. Actual shows the value truely
                associated with the variable, where as effective shows the resulting value, after
                variable expansion has taken place.</p><p>The <code class="literal">+</code> button allows new variables to be added. The
                    <code class="literal">-</code> button removes existing ones.</p><p>You change an existing local variables defintion by clicking on the actual value.
                You can also <span class="emphasis"><em>provide a local definition</em></span> for an inherited value
                by clicking on the actual value and typing its new value.</p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="Java-Broker-Management-Channel.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="Java-Broker-Management-Channel.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="Java-Broker-Management-Channel-REST-API.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 6. Management Channels </td><td width="20%" align="center"><a accesskey="h" href="Apache-Qpid-Broker-J-Book.html">Home</a></td><td width="40%" align="right" valign="top"> 6.3. REST API</td></tr></table></div></div>