Basic web application development with Apache Cocoon 2.1

Jeroen Reijn
Jeroen ReijnSoftware/Solution Architect at Luminis
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
Are you using Cocoon?




    Basic web application development
           with Apache Cocoon
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
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
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
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
Connectivity




Basic web application development
       with Apache Cocoon
Cocoon basics
•   Sitemap
•   Forms framework
•   Flow
•   Caching




             Basic web application development
                    with Apache Cocoon
Sitemap
• XML configuration file
• Request handling
• Where everything comes together




            Basic web application development
                   with Apache Cocoon
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
Pipelines
• Contain matchers for (requested) URI

Example




            Basic web application development
                   with Apache Cocoon
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
Cocoon Forms framework
• Create forms
• Ajax / Dojo

• Model
• Template
• Binding (bean or xml)



              Basic web application development
                     with Apache Cocoon
Go with the flow
• Continuations
• Rhino (Javascript)
• JavaFlow




            Basic web application development
                   with Apache Cocoon
Caching
• Think about how you design your web
  application.
• Four kinds of caching
• Apache mod_cache




            Basic web application development
                   with Apache Cocoon
Demo
• Let’s show some stuff!




            Basic web application development
                   with Apache Cocoon
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
Future
• Cocoon 2.2
  – Dependency
    management (M2)
  – Spring-based
    framework
  – Modularity
• Cocoon 3?

              Basic web application development
                     with Apache Cocoon
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
Q&A?
• Any questions?




            Basic web application development
                   with Apache Cocoon
Latest version
http://people.apache.org/~jreijn/apachecon.html

• Presentation
• Demo sources




              Basic web application development
                     with Apache Cocoon
1 of 21

Recommended

Merging two big Symfony based applications - SymfonyCon 2017 by
Merging two big Symfony based applications - SymfonyCon 2017Merging two big Symfony based applications - SymfonyCon 2017
Merging two big Symfony based applications - SymfonyCon 2017Ivo Lukac
1K views40 slides
Flexible Permissions Management with ACL Templates by
Flexible Permissions Management with ACL TemplatesFlexible Permissions Management with ACL Templates
Flexible Permissions Management with ACL TemplatesJeff Potts
661 views22 slides
Contentful with Netgen Layouts workshop by
Contentful with Netgen Layouts workshopContentful with Netgen Layouts workshop
Contentful with Netgen Layouts workshopIvo Lukac
519 views45 slides
Real World Rails Deployment by
Real World Rails DeploymentReal World Rails Deployment
Real World Rails DeploymentAlan Hecht
2K views21 slides
Merging two big Symfony based applications - PHPCE 2017 by
Merging two big Symfony based applications - PHPCE 2017Merging two big Symfony based applications - PHPCE 2017
Merging two big Symfony based applications - PHPCE 2017Ivo Lukac
1K views39 slides
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発 by
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発
Webアプリケーションフレームワークを利用した効率的なカスタムWeb開発Atsushi Matsuo
1.9K views46 slides

More Related Content

What's hot

Single page App by
Single page AppSingle page App
Single page AppGaurav Gawande
535 views24 slides
SymfonyCon Cluj 2017 - Symfony at OpenSky by
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSkyPablo Godel
634 views140 slides
Drupal 8 - Quick bites by
Drupal 8 - Quick  bitesDrupal 8 - Quick  bites
Drupal 8 - Quick bitesBrahampal Singh
71 views44 slides
RESTful Rails2 by
RESTful Rails2RESTful Rails2
RESTful Rails2Wen-Tien Chang
3.6K views154 slides
DSpace UI prototype dsember by
DSpace UI prototype dsemberDSpace UI prototype dsember
DSpace UI prototype dsemberBram Luyten
1.3K views22 slides
Polyglot Messaging with Apache ActiveMQ by
Polyglot Messaging with Apache ActiveMQPolyglot Messaging with Apache ActiveMQ
Polyglot Messaging with Apache ActiveMQChristian Posta
3.3K views50 slides

What's hot(20)

SymfonyCon Cluj 2017 - Symfony at OpenSky by Pablo Godel
SymfonyCon Cluj 2017 - Symfony at OpenSkySymfonyCon Cluj 2017 - Symfony at OpenSky
SymfonyCon Cluj 2017 - Symfony at OpenSky
Pablo Godel634 views
DSpace UI prototype dsember by Bram Luyten
DSpace UI prototype dsemberDSpace UI prototype dsember
DSpace UI prototype dsember
Bram Luyten1.3K views
Polyglot Messaging with Apache ActiveMQ by Christian Posta
Polyglot Messaging with Apache ActiveMQPolyglot Messaging with Apache ActiveMQ
Polyglot Messaging with Apache ActiveMQ
Christian Posta3.3K views
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino by Heiko Voigt
DEV117 - Unleash the Power of the AppDev Pack and Node.js in DominoDEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
Heiko Voigt183 views
Alfresco WebScript Connector for Apache ManifoldCF by Piergiorgio Lucidi
Alfresco WebScript Connector for Apache ManifoldCFAlfresco WebScript Connector for Apache ManifoldCF
Alfresco WebScript Connector for Apache ManifoldCF
Piergiorgio Lucidi3.7K views
Urbanesia - Development History by Batista Harahap
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development History
Batista Harahap1.5K views
Alfresco 5.0 Technology Review by Zia Consulting
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology Review
Zia Consulting2.3K views
Why real integration developers ride Camels by Christian Posta
Why real integration developers ride CamelsWhy real integration developers ride Camels
Why real integration developers ride Camels
Christian Posta1.5K views
DCPython: Architecture at PBS (Jun 7, 2011) by Drew Engelson
DCPython: Architecture at PBS (Jun 7, 2011)DCPython: Architecture at PBS (Jun 7, 2011)
DCPython: Architecture at PBS (Jun 7, 2011)
Drew Engelson1.2K views
Alfresco 5.2 REST API by J V
Alfresco 5.2 REST APIAlfresco 5.2 REST API
Alfresco 5.2 REST API
J V5.6K views
Camel oneactivemq posta-final by Christian Posta
Camel oneactivemq posta-finalCamel oneactivemq posta-final
Camel oneactivemq posta-final
Christian Posta1.9K views
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS by Mark Leusink
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJSICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
Mark Leusink1.3K views
Alfresco: What every developer should know by Jeff Potts
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should know
Jeff Potts5.3K views

Viewers also liked

Building a relevance platform with Couchbase and Elasticsearch by
Building a relevance platform with Couchbase and ElasticsearchBuilding a relevance platform with Couchbase and Elasticsearch
Building a relevance platform with Couchbase and ElasticsearchJeroen Reijn
2.5K views50 slides
Real-time visitor analysis with Couchbase and Elastichsearch by
Real-time visitor analysis with Couchbase and ElastichsearchReal-time visitor analysis with Couchbase and Elastichsearch
Real-time visitor analysis with Couchbase and ElastichsearchJeroen Reijn
3.7K views46 slides
Hippo GetTogether: The architecture behind Hippos relevance platform by
Hippo GetTogether: The architecture behind Hippos relevance platformHippo GetTogether: The architecture behind Hippos relevance platform
Hippo GetTogether: The architecture behind Hippos relevance platformJeroen Reijn
2.5K views53 slides
Continuous Delivery in a content centric world by
Continuous Delivery in a content centric worldContinuous Delivery in a content centric world
Continuous Delivery in a content centric worldJeroen Reijn
483 views39 slides
Hippo CMS Integration Patterns by
Hippo CMS Integration PatternsHippo CMS Integration Patterns
Hippo CMS Integration PatternsJeroen Reijn
2.8K views19 slides
Shootout! Template engines for the JVM by
Shootout! Template engines for the JVMShootout! Template engines for the JVM
Shootout! Template engines for the JVMJeroen Reijn
80.2K views44 slides

Viewers also liked(6)

Building a relevance platform with Couchbase and Elasticsearch by Jeroen Reijn
Building a relevance platform with Couchbase and ElasticsearchBuilding a relevance platform with Couchbase and Elasticsearch
Building a relevance platform with Couchbase and Elasticsearch
Jeroen Reijn2.5K views
Real-time visitor analysis with Couchbase and Elastichsearch by Jeroen Reijn
Real-time visitor analysis with Couchbase and ElastichsearchReal-time visitor analysis with Couchbase and Elastichsearch
Real-time visitor analysis with Couchbase and Elastichsearch
Jeroen Reijn3.7K views
Hippo GetTogether: The architecture behind Hippos relevance platform by Jeroen Reijn
Hippo GetTogether: The architecture behind Hippos relevance platformHippo GetTogether: The architecture behind Hippos relevance platform
Hippo GetTogether: The architecture behind Hippos relevance platform
Jeroen Reijn2.5K views
Continuous Delivery in a content centric world by Jeroen Reijn
Continuous Delivery in a content centric worldContinuous Delivery in a content centric world
Continuous Delivery in a content centric world
Jeroen Reijn483 views
Hippo CMS Integration Patterns by Jeroen Reijn
Hippo CMS Integration PatternsHippo CMS Integration Patterns
Hippo CMS Integration Patterns
Jeroen Reijn2.8K views
Shootout! Template engines for the JVM by Jeroen Reijn
Shootout! Template engines for the JVMShootout! Template engines for the JVM
Shootout! Template engines for the JVM
Jeroen Reijn80.2K views

Similar to Basic web application development with Apache Cocoon 2.1

Xamarin.Forms Bootcamp by
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms BootcampMike Melusky
588 views172 slides
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular by
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
5K views40 slides
Building Papers by
Building PapersBuilding Papers
Building PapersMahmoud
587 views24 slides
Build Web Applications by
Build Web ApplicationsBuild Web Applications
Build Web ApplicationsTom Crombez
594 views19 slides
Decoupled Architecture and WordPress by
Decoupled Architecture and WordPressDecoupled Architecture and WordPress
Decoupled Architecture and WordPressPantheon
3.6K views31 slides
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati... by
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...BIOVIA
620 views20 slides

Similar to Basic web application development with Apache Cocoon 2.1(20)

Xamarin.Forms Bootcamp by Mike Melusky
Xamarin.Forms BootcampXamarin.Forms Bootcamp
Xamarin.Forms Bootcamp
Mike Melusky588 views
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular by Mark Leusink
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Mark Leusink5K views
Building Papers by Mahmoud
Building PapersBuilding Papers
Building Papers
Mahmoud 587 views
Build Web Applications by Tom Crombez
Build Web ApplicationsBuild Web Applications
Build Web Applications
Tom Crombez594 views
Decoupled Architecture and WordPress by Pantheon
Decoupled Architecture and WordPressDecoupled Architecture and WordPress
Decoupled Architecture and WordPress
Pantheon3.6K views
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati... by BIOVIA
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
(ATS6-DEV04) Building Web MashUp applications that include Accelrys Applicati...
BIOVIA620 views
Melbourne User Group OAK and MongoDB by Yuval Ararat
Melbourne User Group OAK and MongoDBMelbourne User Group OAK and MongoDB
Melbourne User Group OAK and MongoDB
Yuval Ararat1.4K views
Introduction to ASP.NET 5 by mbaric
Introduction to ASP.NET 5Introduction to ASP.NET 5
Introduction to ASP.NET 5
mbaric2.4K views
Progressive Web Apps and React by Mike Melusky
Progressive Web Apps and ReactProgressive Web Apps and React
Progressive Web Apps and React
Mike Melusky813 views
RubyConf China 2015 - Rails off assets pipeline by Florian Dutey
RubyConf China 2015 - Rails off assets pipelineRubyConf China 2015 - Rails off assets pipeline
RubyConf China 2015 - Rails off assets pipeline
Florian Dutey199 views
End to-end W3C - JS.everywhere(2012) Europe by Alexandre Morgaut
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) Europe
Alexandre Morgaut1.6K views
Firefox OS Apps & APIs - Dutch Mobile Conference / Serbia & Montenegro App da... by Jan Jongboom
Firefox OS Apps & APIs - Dutch Mobile Conference / Serbia & Montenegro App da...Firefox OS Apps & APIs - Dutch Mobile Conference / Serbia & Montenegro App da...
Firefox OS Apps & APIs - Dutch Mobile Conference / Serbia & Montenegro App da...
Jan Jongboom1.6K views
Structured web apps by Sheng Tian
Structured web appsStructured web apps
Structured web apps
Sheng Tian660 views
Manage your external libraries with CocoaPods by Juan C Catalan
Manage your external libraries with CocoaPodsManage your external libraries with CocoaPods
Manage your external libraries with CocoaPods
Juan C Catalan296 views

Recently uploaded

Unit 1_Lecture 2_Physical Design of IoT.pdf by
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdfStephenTec
12 views36 slides
Vertical User Stories by
Vertical User StoriesVertical User Stories
Vertical User StoriesMoisés Armani Ramírez
14 views16 slides
Tunable Laser (1).pptx by
Tunable Laser (1).pptxTunable Laser (1).pptx
Tunable Laser (1).pptxHajira Mahmood
24 views37 slides
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
263 views86 slides
Democratising digital commerce in India-Report by
Democratising digital commerce in India-ReportDemocratising digital commerce in India-Report
Democratising digital commerce in India-ReportKapil Khandelwal (KK)
15 views161 slides
Info Session November 2023.pdf by
Info Session November 2023.pdfInfo Session November 2023.pdf
Info Session November 2023.pdfAleksandraKoprivica4
12 views15 slides

Recently uploaded(20)

Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec12 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software263 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri16 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely21 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi127 views
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada136 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson85 views
AMAZON PRODUCT RESEARCH.pdf by JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta26 views

Basic web application development with Apache Cocoon 2.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. Are you using Cocoon? Basic web application development with Apache Cocoon
  • 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. 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. 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. 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. Connectivity Basic web application development with Apache Cocoon
  • 8. Cocoon basics • Sitemap • Forms framework • Flow • Caching Basic web application development with Apache Cocoon
  • 9. Sitemap • XML configuration file • Request handling • Where everything comes together Basic web application development with Apache Cocoon
  • 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. Pipelines • Contain matchers for (requested) URI Example Basic web application development with Apache Cocoon
  • 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. Cocoon Forms framework • Create forms • Ajax / Dojo • Model • Template • Binding (bean or xml) Basic web application development with Apache Cocoon
  • 14. Go with the flow • Continuations • Rhino (Javascript) • JavaFlow Basic web application development with Apache Cocoon
  • 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. Demo • Let’s show some stuff! Basic web application development with Apache Cocoon
  • 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. Future • Cocoon 2.2 – Dependency management (M2) – Spring-based framework – Modularity • Cocoon 3? Basic web application development with Apache Cocoon
  • 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. Q&A? • Any questions? Basic web application development with Apache Cocoon
  • 21. Latest version http://people.apache.org/~jreijn/apachecon.html • Presentation • Demo sources Basic web application development with Apache Cocoon

Editor's Notes

  1. Cocoon has not always been this way, but has increased in the number of features over the years.
  2. {1} represents the value of the ** in the match pattern
  3. 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.
  4. 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.
  5. A very cool demonstration of the power of Cocoon
  6. Cocoon 2.1: Ant, Avalon-based