Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.

Slides:



Advertisements
Similar presentations
1 XSLT – eXtensible Stylesheet Language Transformations Modified Slides from Dr. Sagiv.
Advertisements

Chapter 51 Scripting With JSP Elements JavaServer Pages By Xue Bai.
Languages for Dynamic Web Documents
XML Study-Session: Part IV Transforming XML Documents Copyright Quddus Chong 2001.
Java Server Pages Russell Beale. What are Java Server Pages? Separates content from presentation Good to use when lots of HTML to be presented to user,
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Overview of Search Engines
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Quick Tour of the Web Technologies: The BIG picture LECTURE A bird’s eye view of the different web technologies that we shall explore and study.
XML for E-commerce IV Helena Ahonen-Myka. In this part... n Some solutions for delivering dynamic content n Example of using XML.
INTRODUCTION TO WEB DATABASE PROGRAMMING
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
JSP Standard Tag Library
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
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.
Server-side Scripting Powering the webs favourite services.
CPS120: Introduction to Computer Science The World Wide Web Nell Dale John Lewis.
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
XP New Perspectives on XML Tutorial 6 1 TUTORIAL 6 XSLT Tutorial – Carey ISBN
XP 1 CREATING AN XML DOCUMENT. XP 2 INTRODUCING XML XML stands for Extensible Markup Language. A markup language specifies the structure and content of.
WORKING WITH XSLT AND XPATH
XP New Perspectives on XML, 2 nd Edition Tutorial 10 1 WORKING WITH THE DOCUMENT OBJECT MODEL TUTORIAL 10.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
From Creation to Dissemination A Case Study in the Library of Congress’s use Open Source Software DLF Spring Forum Corey Keith
Building XML Portals with Cocoon M atthew Langham S&N AG
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
DSpace UI Alexey Maslov. DSpace in general A digital library tool useful for storage, maintenance, and retrieval of digital documents Two types of interaction:
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
CITA 330 Section 6 XSLT. Transforming XML Documents to XHTML Documents XSLT is an XML dialect which is declared under namespace "
March 28, 2001XSP Session O’Reilly Enterprise Java Conference 1 XSP Session Sue Spielman President/Consulting Engineer President/Consulting Engineer
Webcommerce Computer Networks Webcommerce by Linnea Reppa Douglas Martindale Lev Shalevich.
SDPL 2001Notes 7.2: Apache Cocoon1 7.2 Apache Cocoon An example of a Web publishing architecture based on XML technology An.
Architecture of the web Client Server retrieved or generated web page.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
Session: 1. © Aptech Ltd. 2Introduction to the Web / Session 1  Explain the evolution of HTML  Explain the page structure used by HTML  List the drawbacks.
METS Dissemination METS Opening Day Corey Keith
Copyright © 2002 ProsoftTraining. All rights reserved. JavaServer Pages.
IT WEB TECHNOLOGY Prepared by, K.ABINAYA Lect/IT.
Mike Jackson EPCC OGSA-DAI Architecture + Extensibility OGSA-DAI Tutorial GGF17, Tokyo.
XML and Its Applications Ben Y. Zhao, CS294-7 Spring 1999.
AxKit A member of the Apache XML project Ryan Maslyn Kyle Bechtel.
Web Development Process The Site Development Process Site Construction is one of the last steps.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
 Previous lessons have focused on client-side scripts  Programs embedded in the page’s HTML code  Can also execute scripts on the server  Server-side.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
Cocoon An XML Web Publishing Framework From the Apache Project Roland Schweitzer.
Basic web application development with Apache Cocoon Basic web application development with Apache Cocoon 2.1 Jasha Joachimsthal Jeroen.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
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.
Lecture Transforming Data: Using Apache Xalan to apply XSLT transformations Marc Dumontier Blueprint Initiative Samuel Lunenfeld Research Institute.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
I Copyright © 2004, Oracle. All rights reserved. Introduction.
XML: Extensible Markup Language
Unit 4 Representing Web Data: XML
Knowledge Byte In this section, you will learn about:
Prepared for Md. Zakir Hossain Lecturer, CSE, DUET Prepared by Miton Chandra Datta
Chapter 7 Representing Web Data: XML
An XML Web Publishing Framework From the Apache Project
A Match Made In (Ethereal) Heaven
Architecture of the web
CSE591: Data Mining by H. Liu
Presentation transcript:

Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영

2 Contents Prerequisites What problem does Cocoon solve? Basic Mechanisms Architecture eXtensible Server Pages (XSPs) Sitemap Matchers Generators Transformers Serializers Pipeline Processing Logicsheets Apache Cocoon & Chamois

3 Prerequisites What You Should know: XML, XML Namespaces Basics of XPath, XSLT Java language Servlets, HTTP What You need not know: Cocoon 1

4 What problem does Cocoon solve? (1/2) Separation of content, style, logic and management functions in an XML content based web site (and web services).

5 What problem does Cocoon solve? (2/2) Data mapping

6 Basic Mechanisms (1/4) Dispatching based on Matchers. Generation of XML documents (from content, logic, Relation DB, objects or any combinati-on) through Generators Transformation (to another XML, objects or any combination) of XML documents through Transformers Aggregation of XML documents through Agg- regators Rendering XML through Serializers

7 Basic Mechanisms (2/4)

8 Pipeline Processing - Sequence of Interactions Basic Mechanisms (3/4)

9 Pipeline Basic Mechanisms (4/4)

10 Architecture (1/3)

11 Architecture (2/3) Core Cocoon Avalon framework for logging, configuration, threading, context etc. Caching mechanism Pipeline handling Program generation, compilation, loading and execution. Base classes for generation, transformation, serialization, components.

12 Architecture (3/3) Cocoon Components Specific generators, Specific transformers, Specific matchers, Specific serializers... Built-in Logicsheets sitemap.xsl, xsp.xsl, esql.xsl, request.xsl, response.xsl … Site specific configuration, components, logicsheets and content

13 eXtensible Server Pages(XSPs) (1/2) An XSP page is an XML page with following requirements: The document root must be It must have language declaration as an attribute in the element. It must have namespace declaration for xsp as an attribute in the element. For an XSP to be useful, it must also require at least an and an element. An XSP page is used by a generator to generate XML document.

14 eXtensible Server Pages(XSPs) (1/2)

15 Sitemap Sitemap contains configuration information for a Cocoon engine: list of matchers, list of generators, list of transformers list of readers, list of serializers, list of selectors list of processing pipelines with match patterns … Sitemap is an XML file corresponding to a sitemap DTD. Sitemap can be edited to add new elements. Sitemap is generated into a program and is compiled into an executable unit.

16 Matchers A Matcher attempts to match an URI with a specified pattern for dispatching the request to a specific processing pipeline. Different types of matchers: wildcard matcher regexp matcher More matchers can be added without modifying Cocoon. Matchers help in specifying a specific pipeline processing for a group of URIs.

17 Generators (1/3) A Generator is used to create an XML structure from an input source (file, directory, stream...) More generators can be added without modifying Cocoon. A Generator turns an XML document, after applying appropriate transformations, into a compiled program whose output is an XML document. An XSP generator applies all the logicsheets specified in the source XML file before generating the program. Generators cache the compiled programs for better runtime efficiency.

18 Generators (2/3) Different types of generators: File Generator (The default generator) HTML Generator (optional) Directory Generator, Image Directory Generator Fragment Extractor Generator, JSP Generator Script Generator, Server Pages Generator Velocity Generator, Request Generator Status Generator, Stream Generator Profile Generator, Error Generator, Search Generator Php Generator (optional) XML:DB Generator (optional) XML:DB Collection Generator (optional)

19 Generators (3/3)

20 Transformers A Transformer is used to map an input XML structure into another XML structure. Different types of transformers: XSLT Transformer (The default transformer) Fragment Extractor Transformer I18n Transformer, Log Transformer, SQL Transformer Filter Transformer, Read DOM Session Transformer Write DOM Session Transformer, XInclude Transformer Cinclude Transformer XT Transformer (optional) LDAP Transformer (optional) …

21 Serializers A Serializer is used to render an input XML structure into some other format (not necessarily XML) Different types of serializers : HTML Serializer (The default serializer) XML Serializer, Text Serializer, PDF Serializer (optional), PS Serializer (optional) PCL Serializer (optional), WAP/WML Serializer SVG Serializer, SVG/XML Serializer SVG/JEPG Serializer, SVG/PNG Serializer VRML Serializer, Link Serializer

22 Pipeline Processing (1/2) The sitemap configuration allows dynamic setup of processing pipelines consisting of a generator, multiple transformers and a serializer. Requests are dispatched to a pipeline based on request URI and the pipeline matching pattern (either with wildcards or as a regexp) The pipeline is setup in the generated file sitemap_xmap.java (This file gets generated [possibly asynchronously] everytime the sitemap.xmap is modified.

23 Pipeline Processing (2/2)

24 Logicsheets Logicsheets are XSL files with an associated name- space. Primary mechanism to add program logic (code) to XSPs. These need to be registered in configuration file cocoon.xconf. Logicsheets are used by the generator to transform XML structure before generating program. Cocoon comes with a no. of built-in logic sheets: request.xsl, response.xsl, session.xsl, cookie.xsl esql.xsl, log.xsl, …

25 Apache Cocoon & Chamois End Users `& Applications Client-Side Data Warehouse External Data Sources ETL MS-SQL Data Mining Stored data Metadata (XML Metadata converter) MS-SQL 2000 Oracle 9i OLAP sever Query optimization +materialized view +system table +… + spatial data mining (DBSCAN-W,COD-DBSCAN) +XML document mining(cluster) +… + 마케팅데이터분석 등 + 위의 범주에 들지 않는 각 연구실의 산출물 (Real time multimedia delivery, E-payment test bed…) Framework XML server(query+processing) hierarchy-based queries + IR-based queries + semantic-based queries + knowledge-based queries DTS(Designer+workflow+scheduler) Security +Network 보안 +… Server-Side Data Quality Measurement (DAQUM) API OLE DB provider + Provider 표준 + … Apache Cocoon