Developing XMLApplications With Apache Cocoon

Stc
Date: 2008-06-19

Time: 11:00

Room: BBL room 471

Speaker: Nico Verwer (Be Value)

Title: Developing XML Applications with Apache Cocoon

Abstract

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.