[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[xmlblaster-devel] Unifying property names #2 - PLEASE VOTE
Hi again,
here are some approaches concerning the administrative hierarchy
which completely shows the internal structure of xmlBlaster AND
forces all xmlBaster useres to use for administration/configuration.
The first 3 approaches are SML (simple markup language without attributes):
[1] Leave as is
---------------
   
http://www.xmlblaster.org/xmlBlaster/doc/requirements/admin.commands.html
Relative name:
  queue/cb/maxEntries=1000
Absolute name:
  /node/heron/client/joe/2/queue/cb/maxEntries=1000
[2] Add a <session> tag to always have a className/instanceName pair
--------------------------------------------------------------------
   e.g. className=node and instanceName=heron
   e.g. className=client and instanceName=joe
   e.g. className=session and instanceName=2
<node>
  <numNodes>3</numNodes>
  <nodeList>heron,frodo,bilbo</nodeList>
  <heron>
    <uptime>34935</uptime>
    <clientList>joe,jack,averel</clientList>
    <client>
      <joe>
        <sessionList>2,6,8,12</sessionList>
        <session>
        <2>
           <uptime>212</uptime>
           <queue>
              <cb>
                <maxEntries>1000</maxEntries>
              </cb>
           </queue>
        </2>
        </session>
      </joe>
    </client>
  </heron>
  <frodo>
  </frodo>
</node>
Relative name:
  queue/cb/maxEntries=1000
Absolute name:
  /node/heron/client/joe/session/2/queue/cb/maxEntries=1000
[3] Fix nodeList and numNodes tags to be not on nodeInstanceName level
----------------------------------------------------------------------
The nodeList and numNodes tags are on same level as the cluster node names
so choosing a cluster name='numNodes' will cause problems.
By introducing a higher root tag we resolve it:
<xmlBlaster>
 <numNodes>3</numNodes>
 <nodeList>heron,frodo,bilbo</nodeList>
 <node>
   <heron>
     <uptime>34935</uptime>
     <clientList>joe,jack,averel</clientList>
     <client>
       <joe>
         <sessionList>2,6,8,12</sessionList>
         <session>
           <2>
             <uptime>212</uptime>
             <queue>
               <cb>
                 <maxEntries>1000</maxEntries>
               </cb>
             </queue>
           </2>
         </session>
       </joe>
     </client>
   </heron>
   <frodo>
   </frodo>
 </node>
</xmlBlaster>
Relative name:
 queue/cb/maxEntries=1000
Absolute name:
 /xmlBlaster/node/heron/client/joe/session/2/queue/cb/maxEntries=1000
[4] Choosing a pure XPath approach with attributes:
___________________________________________________
<xmlBlaster>
  <nodeList>heron,frodo,bilbo</nodeList>
  <node id='heron'>
    <uptime>34935</uptime>
    <clientList>joe,jack,averel</clientList>
    <client id='joe'>
      <sessionList>2,6,8,12</sessionList>
      <session id='2'>
        <uptime>212</uptime>
        <queue id='cb'>
          <maxEntries>1000</maxEntries>
        </queue>
      </session>
    </client>
  </node>
</xmlBlaster>
Relative name:
 //queue[ at id='cb']/maxEntries=1000
Absolute name:
 
/xmlBlaster/node[ at id='heron']/client[ at id='joe']/session[ at id='2']/maxEntries=1000
NOTE:
-----
The relative and absolute names need to be used
o On command line
o In xmlBlaster.properties
o With telnet administration
o With administrative messages
o In a coming SWING GUI with a tree view on left hand side
o From a browser URL
o Using SNMP
o Using JMX
o QoS markup
NOTE 2:
-------
Using user given clusterNode names and login names and topic names
as XML markup tags is dangerous as you may not use special
characters like ':'.
Using literal names in XML attributes (see [4]) is a bit less limited
but still using a '"' or '\n' can cause problems.
any comments or votes?
regards,
Marcel
PS: See last two mail for the start of this discussion
PPS: !!Please vote for your favourite!!
PPPS: To influence the vote:
 o I prefer [2], because it fixes an inconsitency from [1]
 o [3] adds a root level which makes the hierarchy deeper again
   but allows a very simple DTD
 o [4] is XPath centric, i personally like it very much but
   i doubt it looks nice in xmlBlaster.properties or on command line.
   Some administrators will probably be shocked.
   Mapping from SNMP etc. may be more complicated because of using 
attributes