Room: BBL room 471
Speaker: Nico Verwer (Be Value)
Title: Developing XML Applications with Apache Cocoon
In the last decade, we have seen an ever growing number of standards,
components and tools around XML. In spite of this, creating applications for
processing XML is still more complex and expensive than it should be.
Languages like Java and C# do not offer the level of abstraction and
expressiveness that is needed to 'make the program look like the design'.
Transformation languages like XSLT and STX come some way in closing the gap
between programming languages and XML. But for building a complete
application, you still need to do a lot of coding in 'low level' programming
languages. The Apache Cocoon application framework provides the missing bits
that allow software developers to build complete XML processing applications
without having to resort to Java.
From another perspective, one could say that XSLT is a simple functional
programming language, lacking two vital features, namely function composition
and higher-order functions. These are exactly the things that Cocoon provides,
in the form of XML pipelines. Cocoon also offers a lot of application
infrastructure for logging, error handling, component pooling, etcetera.
In this talk, we show how we have used Cocoon to build several
mission-critical applications. With the functional programming perspective in
mind, we could use simple patterns like map-reduce to achieve considerable
performance improvements when processing very large documents. We also show
how higher-order pipelines can be used to execute domain-specific languages.