Developing Enterprise Web Applications with Apache Cocoon and the Spring Framework

Slides(x, 510.717Bytes) Apache Cocoon is a web development framework built around the concepts of separation of concerns (making sure people can interact and collaborate on a project, without stepping on each other toes) and component-based web development.

The Spring Framework is a "lightweight" container based on the principles of Inversion of Control and Dependency Injection that aims to reduce the complexity of developing enterprise Java applications.

The presentation will focus on how Cocoon and Spring can be used together to provide a powerful web application development. It will demonstrate the usage of best practices (separation of concerns, layering, testability, etc.) and of patterns of enterprise application architecture (Application Controller, Domain Model, Lazy Load, Serialized LOB, Service Layer, Two Step View, Optimistic Locking, etc.) in the context of real-world applications.

Using a hands-on approach, it will introduce the following techniques:

- Finding and invoking Spring-managed services from Cocoon.
- Using Aspect Oriented Programming to provide transparency and declarative transaction management.
- Using Object-Relational mappers to bridge the O-R gap.
- Streamlining the control flow of web applications with Cocoon's continuation-based Flowscript.
- Implementing rich web forms with Cocoon Forms.

In the end, we aim to demonstrate how the development of Java enterprise web applications can be made simpler and more effective with the right combination of patterns and Open Source tools.

About the Author

Ugo Cei is a developer and technical manager living in Pavia, Italy, where his current job involves mentoring and leading teams in developing enterprise web applications using mainly Open Source tools like Cocoon, Spring and Hibernate.
He is a committer for the Apache Cocoon project and you can read his semi-regularly published rants on his weblog at http://beblogging.com/blog.
< Deploying a website with eZ publish CMS Dominating the World >