[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