Cocoon An XML Web Publishing Framework From the Apache Project Roland Schweitzer.

Slides:



Advertisements
Similar presentations
Copyright, UCL LEADERS: Linking EAD to Electronically Retrievable Sources Developing a Generic Toolkit: Architecture and technology issues ALLC/ACH Conference.
Advertisements

Building FHIR Servers on Existing Applications
XML: Extensible Markup Language
© Copyright 2012 STI INNSBRUCK Apache Lucene Ioan Toma based on slides from Aaron Bannert
1 XSLT – eXtensible Stylesheet Language Transformations Modified Slides from Dr. Sagiv.
Edoclite and Managing Client Engagements What is Edoclite? How is it used at IU? Development Process?
SPICE! An Ontology Based Web Application By Angela Maduko and Felicia Jones Final Presentation For CSCI8350: Enterprise Integration.
Manakin Workshop DSpace User Group, February 2006 Scott Phillips Texas A&M University
Glue Microarray Database System Using Struts Technology Chen Liu Bioinformatics Group Meeting May 13, 2002.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
CS 898N – Advanced World Wide Web Technologies Lecture 21: XML Chin-Chih Chang
DT211/3 Internet Application Development
UNIT-V The MVC architecture and Struts Framework.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
DAT602 Database Application Development Lecture 15 Java Server Pages Part 1.
Sheet 1XML Technology in E-Commerce 2001Lecture 6 XML Technology in E-Commerce Lecture 6 XPointer, XSLT.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
JSP Standard Tag Library
15 November 2005Linking Outside the Box1 Cross referencing between XML documents Bob Stayton Sagehill Enterprises
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Semantic Computing Research Group University of Helsinki 1 SemCocoon – A Semantic Cocoon OntoView – Portal System.
1 Understanding Cocoon2 Pankaj Kumar May 24, 2001 Web Services Organization HPMD, SSO, HP.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Jozef Stefan Institute Program Generators and Control System Software Development Klemen Žagar Anže.
From Creation to Dissemination A Case Study in the Library of Congress’s use Open Source Software DLF Spring Forum Corey Keith
Introduction to J2EE Architecture Portions by Kunal Mehta.
Copyright © Orbeon, Inc. All rights reserved. Erik Bruchez Applications of XML Pipelines XML Prague, June 16 th, 2007.
Building XML Portals with Cocoon M atthew Langham S&N AG
Curation Editor Flexible web based editor for non gene model data. FlyBase – Harvard University Frank Smutniak.
IUScholarWorks is a set of services to make the work of IU scholars freely available. Allows IU departments, institutes, centers and research units to.
M1G Introduction to Database Development 6. Building Applications.
JAVA SERVER PAGES. 2 SERVLETS The purpose of a servlet is to create a Web page in response to a client request Servlets are written in Java, with a little.
CITA 330 Section 6 XSLT. Transforming XML Documents to XHTML Documents XSLT is an XML dialect which is declared under namespace "
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
March 28, 2001XSP Session O’Reilly Enterprise Java Conference 1 XSP Session Sue Spielman President/Consulting Engineer President/Consulting Engineer
SDPL 2001Notes 7.2: Apache Cocoon1 7.2 Apache Cocoon An example of a Web publishing architecture based on XML technology An.
Nate Trail Network Development & MARC Standards Office 8/1/2006 With help from Sydney Olive How to Build, Display and Find METS Objects.
Variables and ConstantstMyn1 Variables and Constants PHP stands for: ”PHP: Hypertext Preprocessor”, and it is a server-side programming language. Special.
Embedded XML Documentation for Fortran 90 and C/C++ Brett N. DiFrischia RS Information Systems NOAA | GFDL.
2007. Software Engineering Laboratory, School of Computer Science S E Web-Harvest Web-Harvest: Open Source Web Data Extraction tool 이재정 Software Engineering.
METS Dissemination METS Opening Day Corey Keith
PatentScope - Electronic Publication World Intellectual Property Organization.
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
AxKit A member of the Apache XML project Ryan Maslyn Kyle Bechtel.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Java Web Server Presented by- Sapna Bansode-03 Nutan Mote-15 Poonam Mote-16.
©2001 Priority Technologies, Inc. All Rights Reserved Meteor Status Miami Face to Face Meeting January 16 – 18, 2002.
Basic web application development with Apache Cocoon Basic web application development with Apache Cocoon 2.1 Jasha Joachimsthal Jeroen.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
The 2007 Microsoft Office System Servers Enterprise Content Management, Workflow and Forms Martin Parry Developer and Platform Group, Microsoft Ltd
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Representing Web Data:
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Java and WebDAV Juergen Pill Team Leader Software AG Remy Maucherat Software Engineer.
Unit 4 Representing Web Data: XML
Software Design and Architecture
Web Engineering.
Searching Business Data with MOSS 2007 Enterprise Search
Chapter 7 Representing Web Data: XML
An XML Web Publishing Framework From the Apache Project
A Match Made In (Ethereal) Heaven
XML Problems and Solutions
CSE591: Data Mining by H. Liu
Presentation transcript:

Cocoon An XML Web Publishing Framework From the Apache Project Roland Schweitzer

26 August 2002OAR Web Shop Today’s Topics: Definitions Motivation Required Tools (Java, Apache Tomcat and Cocoon) Basic Cocoon Operation –Matchers, Generators, Transforms and Serializers. Oh My! –sitemap.xml glues it all together.

36 August 2002OAR Web Shop Cocoon An XML-based WWW publishing framework implemented as a Java Servlet. –Web site content stored in XML files (or RDBMS, LDAP Server or other source) is transformed (mostly via XSLT) into new XML files (to exclude certain info for example) and then serialized into human usable output (like an HTML or PDF file).

46 August 2002OAR Web Shop Reusable Content

56 August 2002OAR Web Shop Motivation for using Cocoon We distribute climate data Users (including scientists) find data via public search engines like google Public search engines index HTML content NOAA and other scientific organization use special purpose search engines that use FGDC (or DIF derived from FGDC)

66 August 2002OAR Web Shop Motivation continued These facts add up to maintaining separate “documents” for each purpose XML and Cocoon offers a (yet another potential) way out of the morass of many special purpose document collections

76 August 2002OAR Web Shop Suppose info was stored as XML Reynolds Sea Surface Temperature data.sst The optimum interpolation (OI) SST analysis… CDC Data Management Personel 325 Broadway (303) …

86 August 2002OAR Web Shop The Power of XML Content Can be parsed with standard XML tools –Can be easily used for another purpose besides the Web –Can be written with powerful XML GUI tools (e.g. XML spy) –(Might be) easier to maintain

96 August 2002OAR Web Shop Reusable Content

106 August 2002OAR Web Shop Schematic of the Solution Using Cocoon Cocoon Some other process

116 August 2002OAR Web Shop Required Tools On Solaris 7 and 8 I have used the binary distributions of: –Java 1.4.0(java.sun.com) –Tomcat ( –Cocoon 2.0.3(xml.apache.org) At this time, these are the latest releases. Follow the installation instructions for each package.

126 August 2002OAR Web Shop Basic Operation Cocoon is based on pipelines: A Bit of Software XML File New XML File A Bit of Software New XML File A Bit of Software Info to client (e.g HTML to browser)

136 August 2002OAR Web Shop Basic Operation Cocoon is based on pipelines. An XML document is pushed through a pipeline consisting of one Generator (read a file, create a file from an LDAP server, etc.), zero or more Transforms (for example, to leave out sensitive information for external users) and ends with a Serializer that transforms the XML to binary or character data for consumption by the client (Web browser). The entire site could use only one pipeline.

146 August 2002OAR Web Shop Basic Operation If you need more than one pipeline… Matchers (wildcard and regular expression) and Selectors (Boolean expressions) can be used to control the pipeline used to process the XML content.

156 August 2002OAR Web Shop Components Matchers, Generators, Transforms and Serializers are all Cocoon Components. Pipelines are build out of Components. Components are declared and pipelines are constructed in the sitemap.xmap file. The “Bit of Software” needed for each Component is provided by Cocoon or built by you.

166 August 2002OAR Web Shop Components (Matchers) Suppose you wanted these URI patterns to be handled by cocoon: –For example the wildcard patterns: – and – could result in two pipelines with two different outputs types.

176 August 2002OAR Web Shop Components (Matchers) Need a “bit of software” that looks at: – –Matches the the URL –And the extension “.html” –Extracts the wildcard part of the URL data.sst –Starts the pipeline to produce HTML output from the data.sst.xml file (the wildcard plus the.xml extension).

186 August 2002OAR Web Shop The WildCard Matcher We’re in luck! A Matcher Component already exists in Cocoon to do what we want. To use a Component we must declare it in the sitemap.xmap file that controls our Cocoon installation.

196 August 2002OAR Web Shop Declare the WildCard Matcher In sitemap.xmap configuration file: <map:matcher name=“wildcard” src= "org.apache.cocoon.matchingWildcardURIMatcher" /> …

206 August 2002OAR Web Shop Use the Matcher on a URI We’ve declared the Matcher Component Use the Matcher component in our pipeline to grab the * part of the pattern and use it to specify the source XML file that will be send through the pipeline.

216 August 2002OAR Web Shop Use the Matcher in a Pipeline This pipeline uses the default Matcher, which is the WildCard Matcher we declared in the previous slide

226 August 2002OAR Web Shop Now What? We have successfully declared and used a Matcher to decide which pipeline we will use to process the first of our two examples URIs. Now we need to declare and use a Generator, which is always the first step of the pipeline.

236 August 2002OAR Web Shop Components (Generators) Declare a generator in sitemap.xmap: <map:generator name=“file” src= “org.apache.cocoon.generationFileGenerator” /> …

246 August 2002OAR Web Shop Use the Generator in a Pipeline The File Generator was declared as the default. Its only job is to read the a file from the file system. …

256 August 2002OAR Web Shop Review: Matcher and Generator Components (Matchers) Need a “bit of software” that looks at: – –Matches the the URL –And the extension “.html” –Extracts the wildcard part of the URL data.sst –Starts the pipeline to produce HTML output from the data.sst.xml file (the wildcard plus the.xml extension).

266 August 2002OAR Web Shop Review: Pipeline Components Conditional use of pipeline via the Matcher One Generator (FileGenerator) Zero or more Transforms (?) Ends with a Serializer (?)

276 August 2002OAR Web Shop Components (Transforms) Declare a Transform: <map:transformer name="xslt“ src="org. apache.cocoon.transformation.TraxTransformer"> false false

286 August 2002OAR Web Shop Different from previous declarations we’ve seen. This declaration includes two additional configuration parameters. The XSLT Transformer

296 August 2002OAR Web Shop Add the Transformer to Pipeline <map:transform src=“datastyle/HTMLstyle.xsl"/>

306 August 2002OAR Web Shop The Stylesheet written in XSLT: … Abstract:

316 August 2002OAR Web Shop Components (Serializers) The last step of each Pipeline is a Serializer It consumes XML (in the form of SAX events) and generates a character stream for a client (Web browser, Acrobat Reader, etc.).

326 August 2002OAR Web Shop Declare the Serializer In sitemap.xmap: 1024

336 August 2002OAR Web Shop The Completed Pipeline <map:transform src=“datastyle/HTMLstyle.xsl"/>

346 August 2002OAR Web Shop Pipeline to make PDF output <map:transform src="stylesheets/FOstyle.xsl"/>

356 August 2002OAR Web Shop

366 August 2002OAR Web Shop

376 August 2002OAR Web Shop

386 August 2002OAR Web Shop The Dreaded Demo Demo Data Set Descriptions at CDC.Demo Data Set Descriptions at CDC

396 August 2002OAR Web Shop Cocoon is all this and more! Action Components to do complex initialization (e.g. get database connection pool) during pipeline setup. Resource Components are internal reusable pipeline fragments. XSP and Logic Sheets offer capabilities similar to JSP with further separation of the logic.

406 August 2002OAR Web Shop Resources Inside XSLT by Steven Holzner (New Riders) Java and XSLT by Eric M. Burke (O’Reilly)

416 August 2002OAR Web Shop Reality Check! We have not (yet) put this system in production. Still designing the XML representation. Still learning about using Cocoon with a relational database. Considering using XSP pages.

426 August 2002OAR Web Shop Conclusions Cocoon offers the potential to use and reuse one bit of XML content for many purposes. Most operations for Web hosting the XML content are built-in to Cocoon. Unlimited customization by writing your own Components. Content is easily maintained and separated from presentation.