A Match Made In (Ethereal) Heaven

Slides:



Advertisements
Similar presentations
WEB SERVICES. FIRST AND FOREMOST - LINKS Tomcat AXIS2 -
Advertisements

Adding Dynamic Content to your Web Site
XSL XSLT and XPath 11-Apr-17.
Servlets Enterprise Systems Programming. Servlets  Servlets: server-side Java programs that enable dynamic processing of web-based requests  Web-based.
DT228/3 Web Development WWW and Client server model.
Introduction to Web Application Architectures Web Application Architectures 18 th March 2005 Bogdan L. Vrusias
DT211/3 Internet Development Application Internet Development Application.
WHAT IS AJAX? Zack Sheppard [zts2101] WHIM April 19, 2011.
Portal Technologies An overview of portal products and other software.
Implementation of One Stop Search by XSLT By Dave Low University of Hong Kong 9-Dec-2003.
Website Development with PHP and MySQL Introduction.
WWW and Internet The Internet Creation of the Web Languages for document description Active web pages.
1 CS428 Web Engineering Lecture 18 Introduction (PHP - I)
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
Web server and web browser It’s a take and give policy in between client and server through HTTP(Hyper Text Transport Protocol) Server takes a request.
Cocoon and Digital Libraries in the Humanities Hugh A. Cayless UNC Chapel Hill.
INTRODUCTION TO WEB DATABASE PROGRAMMING
J2EE Web Fundamentals Lesson 1 Introduction and Overview
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
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.
CPS120: Introduction to Computer Science The World Wide Web Nell Dale John Lewis.
XML and XSL Institutional Web Management 2001: Organising Chaos.
SDPL 2002Notes 7: Apache Cocoon1 7 XML Web Site Architecture Example: Apache Cocoon, a Web publishing architecture based on XML technology
CS441 CURRENT TOPICS IN PROGRAMMING LANGUAGES LECTURE 5_1 George Koutsogiannakis/ Summer
Functionality of a web server What does the web server do? Let a user request a resource Find the resource Return something to the user The resource can.
Curation Editor Flexible web based editor for non gene model data. FlyBase – Harvard University Frank Smutniak.
By Mircea Jivoin. Objectives Achieving the warehouse management over the internet using the SOAP Web Services Achieving the warehouse management over.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
Presentation Topic: XML and ASP Presented by Yanzhi Zhang.
SDPL 2001Notes 7.2: Apache Cocoon1 7.2 Apache Cocoon An example of a Web publishing architecture based on XML technology An.
Apache Cocoon Part I 2/27/06 Kevin Davis. Learning Objectives Understand the function of Cocoon Create a working sitemap Make available a stylesheet-
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
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.
RUBRIC IP1 Ruben Botero Web Design III. The different approaches to accessing data in a database through client-side scripting languages. – On the client.
World Wide Web “WWW”, "Web" or "W3". World Wide Web “WWW”, "Web" or "W3"
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
©2001 Priority Technologies, Inc. All Rights Reserved Meteor Status Miami Face to Face Meeting January 16 – 18, 2002.
Cocoon An XML Web Publishing Framework From the Apache Project Roland Schweitzer.
Database application development 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall OBJECTIVES  Define terms  Explain three components.
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 학기 이 세영.
Kynn Bartlett 11 April 2001 STC San Diego The HTML Writers Guild Copyright © 2001 XML, XHTML, XSLT, and other X-named specifications.
CS299: Web Programming and Design Instructor: Dr. Fang (Daisy) Tang
Web Programming Language
Tonga Institute of Higher Education IT 141: Information Systems
Top 8 Best Programming Languages To Learn
WWW and HTTP King Fahd University of Petroleum & Minerals
JSP (Java Server Page) JSP is server side technology which is used to create dynamic web pages just like Servlet technology. This is mainly used for implementing.
Active Server Pages Computer Science 40S.
Introduction and Principles
Creating Novell Portal Services Gadgets: An Architectural Overview
Web Engineering.
Jekyll Documentation Theme
XSLT 1.0.
PHP / MySQL Introduction
Web page a hypertext document connected to the World Wide Web.
Workshop on XML-Based Library Applications 5
eSciDoc Report definition interfaces
Prepared for Md. Zakir Hossain Lecturer, CSE, DUET Prepared by Miton Chandra Datta
MSIS 655 Advanced Business Applications Programming
How the VIAF Magic Happens
Chapter 27 WWW and HTTP.
Tonga Institute of Higher Education IT 141: Information Systems
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Web Page Concept and Design :
Tonga Institute of Higher Education IT 141: Information Systems
Client-Server Model: Requesting a Web Page
Web Application Development Using PHP
Presentation transcript:

A Match Made In (Ethereal) Heaven CCEL & XML A Match Made In (Ethereal) Heaven

The CCEL The Christian Classics Ethereal Library Online library of electronic texts

The CCEL The Christian Classics Ethereal Library Online library of electronic texts Different applications require different formats

The CCEL The Christian Classics Ethereal Library Online library of electronic texts Different applications require different formats Which format is authoritative?

The CCEL The Christian Classics Ethereal Library Online library of electronic texts Different applications require different formats Which format is authoritative? ThML (Theological Markup Language) XML application Master version of most (someday all) texts on ccel.org

ThML Defined as an XML application several years ago Perl scripts and other “hacks” used to transform ThML into HTML (and other formats) for presentation on site Static transformation Error prone Difficult to maintain

ThML Defined as an XML application several years ago Perl scripts and other “hacks” used to transform ThML into HTML (and other formats) for presentation on site Static transformation Error prone Difficult to maintain Isn’t there a better way?

XSLT XML Stylesheet Language Transformations Stylesheets written in XML that “explain” to a piece of software called a “transformer” how to change an XML document into a different format (XML or other) Example: Client-side transformations with Internet Explorer 6

XSLT on the CCEL Summer of 2001 Two students (myself and Jimmy Osborn) wrote XSLT stylesheets that duplicated the functionality of the Perl script transformations From user’s perspective, the XSLT-transformed docs look no different from the Perl-transformed docs From developer’s perspective, there is now only one file for every text in the library (the ThML file), all other formats are generated on-the-fly at the user’s request

XSLT on the CCEL Summer of 2001 How does this work? Two students (myself and Jimmy Osborn) wrote XSLT stylesheets that duplicated the functionality of the Perl script transformations From user’s perspective, the XSLT-transformed docs look no different from the Perl-transformed docs From developer’s perspective, there is now only one file for every text in the library (the ThML file), all other formats are generated on-the-fly at the user’s request How does this work? Client-side transformations are not powerful enough for our purposes We needed a more powerful, server-side transformer

Apache Cocoon Java webapp (webapps are servlets with an attitude) Runs inside a Java servlet engine (e.g. Apache Tomcat), which is then connected to a web server Not just a transformer, but an “XML Publishing Framework” Brings together of host of different XML technologies for the purpose of publishing XML docs online Does XSLT transformations, XSL-FO to PDF conversion, renders SVG graphics, executes eXtensible Server Pages (XSP), integrates with databases, washes your dog and more

Sitemap The sitemap is where Cocoon really shows that it is more than just a kludge of XML-processing programs Using regexp matching (or simple wildcard, if you’re into that sort of thing…), it maps URLs to an XML document, a stylesheet, and a transformer (and a few other things I won’t get into here) Based on the URL, you can match any XML source doc with any XSLT stylesheet and then send the result through any transformer you like!

CCEL Sitemap

CCEL Sitemap New Problem: People browsing online don’t want the whole text in one big HTML file Cocoon’s sitemap helps us here too…

CCEL Sitemap New Problem: People browsing online don’t want the whole text in one big HTML file Cocoon’s sitemap helps us here too…

Current Status Still in “beta” stage This new system still has a few bugs, but it will be going online in a preliminary form very soon

Current Status Still in “beta” stage This new system still has a few bugs, but it will be going online in a preliminary form very soon As more and more documents are converted to well-formed ThML, they can be used by Cocoon and we will hopefully phase out the old system over time There are SO many documents on the CCEL, this may take some time

Current Status New Server Our new Dell PowerEdge 2500 server runs Cocoon (being a Java app, its not the most efficient user of system resources)

Current Status New Server Our new Dell PowerEdge 2500 server runs Cocoon (being a Java app, its not the most efficient user of system resources) We are currently in the process of moving the entire site over to the PowerEdge When this is complete, the new XML-based system will be available for people to try out

Current Status New Server Our new Dell PowerEdge 2500 server runs Cocoon (being a Java app, its not the most efficient user of system resources) We are currently in the process of moving the entire site over to the PowerEdge When this is complete, the new XML-based system will be available for people to try out Some examples from the new site…