Successfully reported this slideshow.
Your SlideShare is downloading. ×

Basic web application development with Apache Cocoon 2.1

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad

Check these out next

1 of 21 Ad
Advertisement

More Related Content

Advertisement
Advertisement

Basic web application development with Apache Cocoon 2.1

  1. 1. Basic web application development with Apache Cocoon 2.1 Jasha Joachimsthal (jasha@hippo.nl) Jeroen Reijn (j.reijn@hippo.nl) 4 May 2007 Amsterdam, The Netherlands Basic web application development with Apache Cocoon
  2. 2. Are you using Cocoon? Basic web application development with Apache Cocoon
  3. 3. Agenda • What is Cocoon? • A bit of history • Cocoon basics • Demo • Why Cocoon? • Future of Cocoon • Q&A Basic web application development with Apache Cocoon
  4. 4. What is Cocoon all about? • Web development framework • Java & XML • Separation of Concerns (SoC) • Content transformation • Dynamic multi-channel publishing • Inter-operability with other Java projects (Lucene, FOP, Spring, Hibernate, etc.) Basic web application development with Apache Cocoon
  5. 5. History • Cocoon 1 – Started in Jan. 1999 by Stefano Mazzocchi – Simple servlet for XSL styling of XML • Cocoon 2 – Rewrite for performance and scalability – More than just XSL transformations Basic web application development with Apache Cocoon
  6. 6. Connectivity Collect data from multiple resources • Filesystem • SOAP webservice • LDAP • Databases (XML, SQL, Object) • WebDAV • XML feed If that's not enough, use your current code in Cocoon from • JSF • JSP Basic web application development with Apache Cocoon
  7. 7. Connectivity Basic web application development with Apache Cocoon
  8. 8. Cocoon basics • Sitemap • Forms framework • Flow • Caching Basic web application development with Apache Cocoon
  9. 9. Sitemap • XML configuration file • Request handling • Where everything comes together Basic web application development with Apache Cocoon
  10. 10. Sitemap components • Pipelines <map:sitemap> <map:components> • Matchers <map:pipes/> • Generators <map:matchers/> <map:generators/> <map:transformers/> • Transformers <map:serializers/> <map:readers/> • Serializers </map:components> • Readers </map:sitemap> Basic web application development with Apache Cocoon
  11. 11. Pipelines • Contain matchers for (requested) URI Example Basic web application development with Apache Cocoon
  12. 12. Pipeline example <map:pipeline> <map:match pattern="body-**.html"> <map:generate type="file" src="{1}.xml"/> <map:transform type="xslt" src="doc2html.xsl"/> <map:serialize type="html"/> </map:match> </map:pipeline> Basic web application development with Apache Cocoon
  13. 13. Cocoon Forms framework • Create forms • Ajax / Dojo • Model • Template • Binding (bean or xml) Basic web application development with Apache Cocoon
  14. 14. Go with the flow • Continuations • Rhino (Javascript) • JavaFlow Basic web application development with Apache Cocoon
  15. 15. Caching • Think about how you design your web application. • Four kinds of caching • Apache mod_cache Basic web application development with Apache Cocoon
  16. 16. Demo • Let’s show some stuff! Basic web application development with Apache Cocoon
  17. 17. Why Cocoon? • Powerful multi-channel publishing • Inter-operability • Active community – 20+ active committers (60+ overall) – 5500 mails on userlist in 2006 – Annual GetTogether (100+ people) Basic web application development with Apache Cocoon
  18. 18. Future • Cocoon 2.2 – Dependency management (M2) – Spring-based framework – Modularity • Cocoon 3? Basic web application development with Apache Cocoon
  19. 19. Resources • Website: – http://cocoon.apache.org/ • Mailinglists: – users@cocoon.apache.org – dev@cocoon.apache.org • Wiki: – http://wiki.apache.org/cocoon/ Basic web application development with Apache Cocoon
  20. 20. Q&A? • Any questions? Basic web application development with Apache Cocoon
  21. 21. Latest version http://people.apache.org/~jreijn/apachecon.html • Presentation • Demo sources Basic web application development with Apache Cocoon

Editor's Notes

  • Cocoon has not always been this way, but has increased in the number of features over the years.
  • {1} represents the value of the ** in the match pattern
  • Model: The form model is defined by a form definition. This is an XML file describing the structure of the form. Template: The presentation of the form is (usually) handled by a form template. The form template is an XML file (e.g. an XHTML file, but this could be any markup). Binding: To fill the form with data from a bean or XML document, a binding framework is available.
  • Picture taken from: http://www.flickr.com/photos/mell242/46500577/ A continuation is a representation of some of the execution state of a program at a certain time.
  • A very cool demonstration of the power of Cocoon
  • Cocoon 2.1: Ant, Avalon-based

×