Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영."— Presentation transcript:

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

2 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 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 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 5 What problem does Cocoon solve? (2/2) Data mapping

6 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 7 Basic Mechanisms (2/4)

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

9 9 Pipeline Basic Mechanisms (4/4)

10 10 Architecture (1/3)

11 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 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 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 14 eXtensible Server Pages(XSPs) (1/2)

15 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 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 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 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 19 Generators (3/3)

20 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 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 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 23 Pipeline Processing (2/2)

24 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 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


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

Similar presentations


Ads by Google