Thursday, November 19, 2009

Devoxx Day Four - part 1

The keynote of today was very good with speakers focussing on a foundation of developing software (Ivar Jacobson) and craftmanship (uncle bob). The foundation was alot about how to define a base which could be extended by different practices instead of reinventing the whole process each time. The SEMAT initiative was started to do just this. Craftmanship is all about being proud of your work and behaving like a professional. I have already read the clean code book and while I found it to be repeating, the points are valid.

First real session, "Using XML for Java" by Michael Kay gave a good overview of how to handle that damn XML. From low to high level :
  • Event processing (SAX/STAX) : use when high performance is needed and schema remains fixed.
  • Tree based : certainly don't use the standard DOM but JDOM, DOM4J or the newest kid around the block XOM.
  • Data binding (JAXB and others): only when conversion is needed!
  • XSLT/XQuery : higher level language to handle XML.
The speaker would like us to have an all XML application where Java is the glue/infrastructure. From an XML database through a XSLT/XQuery pipeline to an XForms frontend. Sounds nice but since XSLT/XQuery is a specific language, I don't believe it has the same flexibility. I can agree that if not needed (XML is input and output), don't map the XML to Java but use conversion.

I followed a quickie about fluent languages (internal DSL) just a better way to write an API. Examples can be found in the fluent validation framework. Try writing you own, it's a lot of fun.

1 reacties:

dontcare said...

VTD-XML is 10x faster and 5x more memory efficient than JDOM
or DOM4J

http://vtd-xml.sf.net

 
The opinions expressed in this blog are those of Jeroen Wyseur and may not reflect the opinion of his employer or any customer of said employer.