3. XML at the top of the Stack

whiteheat.jpg

crunchy.jpg

Play

Impedance Mismatch

XML from the top down maintains consistency

The Climate Changed

We aren't standing on OO land anymore - afloat on the monster mashup blogosphere

Greater Agility Required

Let the framework do the heavy lifting

Ruby on Rails vs Grails vs Cocoon

Play

A developer writes 10 lines of working code a day

10 lines of Java doing something arcane to the business DOM

clientElement = ElementHelper.getElement( updatedRiskData.getRootElement(),
"//client" );
processDataElement.add( clientElement.detach() );
// clear modified flags
modifiedItems = processDataElement.selectNodes( "//*[@modified='true']" );
if ( ( modifiedItems != null ) && !modifiedItems.isEmpty() )
{
    Iterator itemIter = modifiedItems.iterator();
    while ( itemIter.hasNext() )
    {
// remove attribute
( (Element) itemIter.next() ).addAttribute( "modified", null );
    }
}

A 10 line pipeline that invokes EJB services, builds a view of the results and re-uses a presentation resource

<map:match pattern="logQuote">
   <map:generate type="jx" src="newclientpolicy.xml"/>
   <map:transform type="ejb">
      <map:parameter name="application" value="BarclaysHNW"/>
   </map:transform>
   <map:transform src="dayState.xsl"/>
   <map:transform type="xmldb"/>
   <map:call resource="dayViewRes"/>
</map:match>

Mixing-up mental models

Uniformity of approach costs less in the long run

©Wiley Interscience