[jboss-dev-forums] [Design of JBoss ESB] - Re: Configuration - normalization
tfennelly
do-not-reply at jboss.com
Wed Dec 13 12:44:35 EST 2006
Hi there.
Kurt Dave and I have been discusing a number of issues re the config normalisation. The only bit that we still haven't decided fully on is the question of how far do we take the normalisation of the config?
One argument is to take normalisation as far as it can possible go and thereby remove all duplication of any type. This of course removes that family of error caused by duplication. It was also mentioned that it should make tooling easier. An example of this is outlined at the start of this thread where the configuration has 4 main sections - hosts, servers, buses/channels and services.
The other argument is for an approach somewhere in th middle i.e. normalising away most of the duplication we have in the current config, but living with a little and not going the whole way i.e by dropping the need to have the hosts and servers blocks (see sample config below). The thinking here is that the 100% normalised config is just a bit too difficult for a human to comprehend, because you're continually referencing across sections of the config.
There's no clear cut right/wrong answer to this question. Basically, we need to strick a balance between the benefits of normalisation and the need for the config to be understandable by a human. Of course, once we have tool support in this area it won't be an issue. There might also be the question of slightly different definitions of "host", "server", "bus" and "listener".
| <?xml version = "1.0" encoding = "UTF-8"?>
| <jbossesb xmlns="http://www.jboss.org/soa/esb/listeners/config">
|
| <buses>
| <jms-bus busid="server1-jms"
| connection-factory="ConnectionFactory"
| jndi-context-factory="org.jnp.interfaces.NamingContextFactory"
| jndi-URL="localhost" />
| </buses>
| <services>
| <service category="Bank" name="Reconciliation" description="Bank Reconciliation Service">
|
| <listeners>
| <jms-listener name="Bank-JMS-Gateway"
| is-gateway="true"
| busidref="server1-jms"
| destination-type="QUEUE"
| destination-name="queue/A"
| message-selector="service='Reconciliation'"
| maxThreads="1"
| />
| <jms-listener name="Bank-Listener"
| is-gateway="false"
| busidref="server1-jms"
| destination-type="TOPIC"
| destination-name="queue/B"
| message-selector="service='Reconciliation'"
| maxThreads="2"
| />
| </listeners>
|
| <actions>
| <action name="TestDefaultRouteAction" process="route" class="org.jboss.soa.esb.actions.CbrProxyAction">
| <property name="propName" value="propValue" />
| </action>
| </actions>
|
| </service>
| </services>
|
| </jbossesb>
|
The current XSD can be found here.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3993492#3993492
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3993492
More information about the jboss-dev-forums
mailing list