Cocoon 2 Programming: Web Publishing with XML and Java"



Similar documents
Web Development with TIBCO General Interface

Beginning Smartphone Web Development

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Developing XML Solutions with JavaServer Pages Technology

Elgg 1.8 Social Networking

WEB DEVELOPMENT IA & IB (893 & 894)

Mastering Tomcat Development

Red Hat Enterprise Portal Server: Architecture and Features

Developing Web Services with Eclipse

4 Understanding. Web Applications IN THIS CHAPTER. 4.1 Understand Web page development. 4.2 Understand Microsoft ASP.NET Web application development

Open For Business in a Nutshell

NHS Education for Scotland Knowledge Services Design and Development Framework

IT6503 WEB PROGRAMMING. Unit-I

Overview Document Framework Version 1.0 December 12, 2005

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS

Net-WMS FP Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant

Oracle BI Publisher 10g Best Practices -- Session # 8633

ECOMMERCE SITE LIKE- GRAINGER.COM

Adobe ColdFusion 11 Enterprise Edition

Content Management Systems: Drupal Vs Jahia

Business Application Services Testing

Wiley Publishing, Inc.

Content Management Systems: Drupal Vs Jahia

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

Introduction to XML Applications

Expert One-on-One J2EE Design and Development

JAVA r VOLUME II-ADVANCED FEATURES. e^i v it;

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

An Oracle White Paper May Creating Custom PDF Reports with Oracle Application Express and the APEX Listener


BPMS BUYER S TOOL KIT. Sample Request for Proposal for a Business Process Management Suite. Part 1 of the complete BPMS Buyer s Tool Kit

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Web Development I & II*

4.2 Understand Microsoft ASP.NET Web Application Development

PROJECT MANAGEMENT SYSTEM

Agents and Web Services

Xtreeme Search Engine Studio Help Xtreeme

Standards, Tools and Web 2.0

ERIE COMMUNITY COLLEGE COURSE OUTLINE A. COURSE NUMBER CS WEB DEVELOPMENT & PROGRAMMING I AND TITLE:

How to Easily Integrate BIRT Reports into your Web Application

ActiveVOS Server Architecture. March 2009

JavaScript By: A. Mousavi & P. Broomhead SERG, School of Engineering Design, Brunel University, UK

Japan Communication India Skill Development Center

Web Development News, Tips and Tutorials

Windows 2000 / NT 4.0 / 95 / 98, MS-DOS, Suse Operating Systems

Japan Communication India Skill Development Center

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

IBM Rational Web Developer for WebSphere Software Version 6.0

Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC

How To Write A Web Framework In Java

Fast track to HTML & CSS 101 (Web Design)

DataDirect XQuery Technical Overview

Agenda. Summary of Previous Session. Application Servers G Session 3 - Main Theme Page-Based Application Servers (Part II)

JAVA/J2EE DEVELOPER RESUME

MVC pattern in java web programming

Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation

Release 1. ICAPRG604A Create cloud computing services

Kentico CMS 5 Developer Training Syllabus

BIRT: A Field Guide to Reporting

REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES. Jesse Wright Jet Propulsion Laboratory,

Macromedia Dreamweaver 8 Developer Certification Examination Specification

Actuate Business Intelligence and Reporting Tools (BIRT)

Introduction to BlackBerry Smartphone Web Development Widgets

Data XML and XQuery A language that can combine and transform data

Developer Tutorial Version 1. 0 February 2015

Programming in HTML5 with JavaScript and CSS3

2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led

Presentation / Interface 1.3

CSET 3100 Advanced Website Design (3 semester credit hours) IT Required

Advanced Web Application Development using Microsoft ASP.NET

Preface. Motivation for this Book

Modeling Web Applications Using Java And XML Related Technologies

JAVA ENTERPRISE IN A NUTSHELL. Jim Farley and William Crawford. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo.

ERIE COMMUNITY COLLEGE COURSE OUTLINE A. COURSE TITLE: CS WEB DEVELOPMENT AND PROGRAMMING FUNDAMENTALS

Annex 10 Standard Profile Specification and Request Form for Services

Features of The Grinder 3

Spring Security 3. rpafktl Pen source. intruders with this easy to follow practical guide. Secure your web applications against malicious

Adobe ColdFusion (2016 release) Enterprise Edition

10CS73:Web Programming

WebSphere Portal Server and Web Services Whitepaper

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

Consuming and Producing Web Services with Web Tools. Christopher M. Judd. President/Consultant Judd Solutions, LLC

Server-Side Scripting and Web Development. By Susan L. Miertschin

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

XML Processing and Web Services. Chapter 17

OIT 307/ OIT 218: Web Programming

Short notes on webpage programming languages

Architecture and Mode of Operation

Tuning Tips & Techniques

FileMaker Server 9. Custom Web Publishing with PHP

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

HPC Portal Development Platform with E-Business and HPC Portlets

Transcription:

Cocoon 2 Programming: Web Publishing with XML and Java" Bill Brogden Conrad D'Cruz Mark Gaither StfBEX San Francisco London

Introduction xv Chapter 1 The Cocoon 2 Architecture 1 The Challenges of Web Publishing 2 Dynamic Presentation and Browser Wars 3 Enterprise Applications and Dynamic Data 3 The Challenges of Web Content Management 4 Integrating and Formatting Data from Multiple Sources 4 Change Management and Content Management 5 Taming the Web Beast 5 Content Management Systems to the Rescue 6 Separation of Concerns 6 Web-Publishing Frameworks and CMSs 7 Defining CMS 7 Web Server Versus CMS 8 A Brief Review of Open-Source CMS Offerings 8 The Original Cocoon Project 9 Cocoon 1 a Simple Solution 9 The Cocoon 1 Architecture: Strengths and Drawbacks 10 Architecture of the Cocoon 2 Framework 11 An XML-Publishing Framework 11 Flexible Content Aggregation 11 Pipelines and Components 12 Introducing the Cocoon Sitemap 14 Matching the URI to a Pipeline 15 Processing the Requested URI 16 Integrating Business Services 18 Separation of Presentation, Content, and Logic 18 19

vii! Contents Chapter 2 Uses of Cocoon 21 Setting Up Cocoon for Application Development Two Simple Applications Hello Cocoon Business Card Interfacing with a Database Setting Up the JDBC Connection to the Database Accessing the Databases Site Serving Mobile Devices A Menu-Driven Site Rendering Scalable Vector Graphics A Simple Example Rendering Complex Graphics 22 26 26 29 32 32 33 38 42 48 48 50 52 Chapter 3 Chapter 4 A Review of the Essential Technologies Developing Content The Avalon Project The Document Object Model (DOM) Simple API for XML (SAX) Additional Resources for Content Technologies Developing Logic XSL Transformations (XSLT) Extensible Server Pages (XSP) Additional Resources for Logic Technologies Developing Presentation Cascading Style Sheets (CSS) Extensible Stylesheet Language (XSL) Extensible HTML (XHTML) Additional Resources for Presentation Technologies The Cocoon Serializers Simple Serializers The HTML Serializer Example Formatting for WML 55 57 57 64 67 71 71 71 75 75 75 76 79 84 87 87 91 92 94 95

ix More-Complex Serializers 98 Creating a PDF Page Using FOP 98 Output of MS Office Formats 103 How to Build a Serializer 105 The Avalon Project 106 The SAX Interface Hierarchy 107 The org.apache.cocoon.xml Package 107 The org.apache.cocoon.serialization Package 108 Looking at Serializer Examples 108 Internationalization 109 Language Encoding in Java 109 Defining Serializer Encoding 109 Language Resource Support 110 110 Chapter 5 Logic Control: The Sitemap 111 Sitemap Design Principles 112 The Contents of a Sitemap 113 Sitemap Variables 114 Subsitemap Operation 114 Compiled Versus Interpreted Sitemaps 115 The Components in Detail 115 Component Management 116 Actions 117 Generators 118 Readers 121 Serializers 122 Transformers 123 Matchers 127 Selectors 129 The Resources Element 132 The Views Element 133 The Action-Sets Element 133 Pipelines 134 Pipeline Error Handlers 135

Pipeline Elements 135 Pipeline Control 138 138 Chapter 6 Introducing XSP Usage 139 A Minimal XSP Page. 141 How XSP Works 142 Creating Dynamic Pages 143 Mixed Content and Logic 143 Managing User Sessions 147 User Session Management Example 148 A SQL Example 158 Setting Up the SQL Example 158 How the Example Works 159 165 Chapter 7 XSP Logicsheets 167 How a Logicsheet Works 169 Built-in XSP Logicsheets 170 Action Logicsheet 170 Capture Logicsheet 172 Cookie Logicsheet 173 ESQL Logicsheet 176 Formval 180 Log Logicsheet 182 Request Logicsheet 183 Response Logicsheet 187 Sel Logicsheet 188 Session Logicsheet 189 SOAP Logicsheet 191 Util Logicsheet 192 XScript Logicsheet 193 Building a Custom Logicsheet 194 myutil Logicsheet 195 Deploying the myutil Logicsheet 199 202

xi Chapter 8 Content Generators 205 Generators As Cocoon Components The Standard Generators The Generator for Error Handling Using Scripting Languages with BSF The JSPGenerator The Velocity Generator The Directory Generator Group The FileGenerator Utility Generators Debugging and Performance Tuning Creating a Custom Generator Sitemap Entries for the SurveyGenerator Requirements for a Generator The SurveyGenerator Code The XSLT Transformation for Surveys 206 206 208 209 217 217 217 220 222 224 227 228 229 231 238 239 Chapter 9 Configuration for Debugging and Optimization Tips for Debugging Logging in Cocoon Formatting the Output of a LogTarget Using the Logs to Debug a Problem Spying on the Pipeline Cleaning Out the Cache Optimizing the Cocoon 2 System Modifying the Tomcat Configuration File Modifying the cocoon.xconf File Modifying the sitemap.xmap File Modifying the logkit.xconf File Deciding What Gets Served from Cache Optimizing and Compiling XSPs General Recommendations for Application Design 241 242 243 244 250 251 256 258 259 260 260 261 264 265 265 267

xii Contents Chapter 10 Patterns of Presentation 269 Patterns in Web Programming Moving Simple Sites to Cocoon Separating Presentation from Content Conforming to Standards Usability Standards The Portal Pattern Portal Standardization The Forms Problem XForms: XML-Based Forms Cocoon's XmlForms Project The Wiki and Blog Phenomena A Blog in Cocoon A Wiki in Cocoon Client Capability 270 271 271 272 273 275 280 281 283 285 285 286 286 287 288 Chapter 11 Patterns of Content Generation Cocoon and J2EE Cocoon and the Model-View-Controller Pattern JBoss the Open-Source J2EE Server Cocoon and Loosely Coupled Systems Java Message Service JavaSpaces Web Services and SOAP Getting a SOAP Stock Quote Support for SOAP Programming Data Sources Relational Databases and JDBC Data from Stored Objects Business Logic The UML Design Tool 289 290 291 292 293 293 294 296 297 298 299 299 299 306 306 308

xiii Appendix A Resources 309 Standards XML Standards at W3C Related XML Standards Java Standards from Sun Java Standards from JCP Apache Projects Tutorials, FAQs, and Other Goodies 310 310 311 311 312 312 313 Appendix B Glossary Sitemap Tag References 315 321 Index 339