[HOME]

ApacheCon US 2003
Las Vegas, Nevada, US
16-19 November 2003

Log In!

Mailing Lists
Contact Info
Press Info

Diamond Sponsor
Sun Microsystems

Platinum Sponsor
Java Community Process


Other ApacheCon events:


Presented by:
The Apache
Software Foundation

Produced by:
Security
Travel

Travel and Lodging Registry Expo Sessions Speakers Sponsors Special Events

There is a floorplan image available to show where everything is.

ApacheCon US 2003 Agenda

This is the full form of the agenda. All session details appear on this page, which is generated dynamically to provide the most up-to-date information. To see the details of a particular session, click on it to jump to them.

There is also a printable version of this page available.

To see a briefer and faster display of this information, go to the brief display page.

Legend
     Intersession break (no food)
     Food break (coffee or meal)
     Keynote or other presentation for all delegates
     Presentation, panel, or other normal session
     Tutorial session
     BOF (ad hoc Birds of a Feather) session
     Vendor-sponsored session or briefing
     Expo floor open


Sunday, 16 November 2003 - Tutorials
09:00 - 12:00 T01
Generating beautiful PDF files with FOP
T02
PHP inside-out
T03
Apache 2 mod_ssl tutorial
T04
Introduction to the Apache Web Server
T05
Apache 2.0 modules: development and debugging
T06
TBD
12:00 - 13:00 Lunch Break
13:00 - 16:00 T07
Mangling data with XSLT
T08
mod_perl 2.0 By Example
T09
TBD
T10
Scalable Internet Architectures
T11
Writing a web application with Jakarta Turbine 2.3
T06
TBD
  • Lunch is only included for those who are attending both morning and afternoon tutorial sessions.

 

Monday, 17 November 2003
07:30  
E
x
p
o

O
p
e
n
08:30 - 09:00 Plenary
Opening plenary
09:00 - 10:00 Plenary
How the Apache Software Foundation works
10:00 - 11:00 Keynote
Looking Ahead: Challenges for Open Software
11:00 - 12:00 MO01
Parthenon 4
XML at the ASF: The XML, WS, and Cocoon projects
MO02
Parthenon 3
Tomcat Performance Tuning and Troubleshooting
MO03
Apollo 1
XML in PHP 5
MO04
Apollo 3
Beginning Tapestry: Java Web Components
12:00 - 13:30 Lunch Break
13:30 - 14:30 MO05
Parthenon 4
Everything you always wanted to know about XML parsing
MO06
Parthenon 3
JavaServer Pages 2.0 Technology: The Community Delivers!
MO07
Apollo 1
The State of Apache Geronimo
MO08
Apollo 3
Java Applications with Apache Batik
14:30 - 15:30 MO09
Parthenon 4
Inside Apache XMLBeans
MO10
Parthenon 3
Jasper, the JSP compiler in Tomcat 5
MO11
Apollo 1
Virtual Community Dynamics
MO12
Apollo 3
Shoehorning Apache Onto Your Box: System Sizing Tips
15:30 - 16:00 Coffee Break
16:00 - 17:00 MO13
Parthenon 4
Introducing Apache Cocoon
MO14
Parthenon 3
Tomcat 5 new features.
MO15
Apollo 1
Torque and OJB - the Apache persistence frameworks
MO16
Apollo 3
The Atom API
17:00 - 18:00 MO17
Parthenon 4
Past, present and future of the Apache Cocoon project
MO18
Parthenon 3
Using Tomcat to build Desktop Applications
MO19
Apollo 1
Apache XML Parser: Xerces2 and Xerces C++
MO20
Apollo 3
Extending HTTP Authentication
18:00 - 20:00 Welcoming Reception
20:00 - 21:00 BOF
TBD
BOF
TBD
BOF
TBD
BOF
TBD
 
21:00 - 22:00 BOF
TBD
BOF
TBD
BOF
TBD
BOF
TBD
  • Lunch is not included in conference registration.

 

Tuesday, 18 November 2003
07:30  
E
x
p
o

O
p
e
n
08:30 - 09:30 TU01
Parthenon 4
Apache authentication
TU02
Parthenon 3
Advanced Topics in Module Design: Threadsafety and Portability
TU03
Apollo 1
What's new in the Jakarta Turbine 2.3 Web application Framework
TU04
Apollo 3
Jakarta POI or "Maybe we shouldn't ingore the 10,000 lb Gorilla"
09:30 - 10:00 Coffee Break
10:00 - 11:00 TU05
Parthenon 4
Apache performance
TU06
Parthenon 3
Content Management with Apache Lenya
TU07
Apollo 1
What is new in log4j version 1.3?
TU08
Apollo 3
MySQL Clustering and Replication for the Web
11:00 - 12:00 Keynote
The Death of Email Marketing
12:00 - 13:30 Lunch Break
13:30 - 14:30 TU09
Parthenon 4
Securing Apache
TU10
Parthenon 3
Apache and Zeroconf Networking
TU11
Apollo 1
Using Xalan to achieve application interoperability.
TU12
Apollo 3
Cocoon control flow
14:30 - 15:30 TU13
Parthenon 4
Apache Security Secrets Revealed
TU14
Parthenon 3
Building smart markup-aware applications with Apache modules
TU15
Apollo 1
Building a Web service from SOAP to Nuts
TU16
Apollo 3
Porting CMS applications to WebDAV and Cocoon
15:30 - 16:00 Coffee Break
16:00 - 17:00 TU17
Parthenon 4
WebDAV and Apache
TU18
Parthenon 3
Scalable Apache for Beginners
TU19
Apollo 1
The Cocoon Portal: More than the Portlet API (JSR 168)
TU20
Apollo 3
Open Source Web Single Sign On
17:00 - 18:00 TU21
Parthenon 4
URL Mapping
TU22
Parthenon 3
ASP.NET on Unix with mod_mono
TU23
Apollo 1
Building Web Applications with the Struts Framework
TU24
Apollo 3
WebDAV server implementation with Apache and PHP
18:00 - 19:00 BOF
TBD
BOF
TBD
BOF
TBD
BOF
TBD
 
19:00 - 20:00 BOF
TBD
BOF
TBD
BOF
TBD
BOF
TBD
20:00 - 21:00 BOF
TBD
BOF
TBD
BOF
TBD
BOF
TBD
21:00 - 22:00 BOF
TBD
BOF
TBD
BOF
TBD
BOF
TBD
  • Lunch is not included in conference registration.

 

Wednesday, 19 November 2003
07:30  
E
x
p
o

O
p
e
n
08:30 - 09:30 WE01
Parthenon 4
Creating Dynamic PDFs using PHP
WE02
Parthenon 3
Writing Tests with Apache-Test
WE03
Apollo 1
Troubleshooting Apache configurations
WE04
Apollo 3
Parallel Development and Hosting using Apache, Tomcat, and MySQL
09:30 - 10:00 Coffee Break
10:00 - 11:00 WE05
Parthenon 4
Do you PHP?
WE06
Parthenon 3
Why mod_perl 2.0 Sucks, Why mod_perl 2.0 Rocks
WE07
Apollo 1
HTML manipulation and data mining with Tidy
WE08
Apollo 3
ObjectWeb/JOnAS J2EE Application Server and Apache projects
11:00 - 12:00 Keynote
Apache and Do-It-Yourself IT (DIY-IT)
12:00 - 13:30 Lunch Break
13:30 - 14:30 WE09
Parthenon 4
PHP Attacks and Defense
WE10
Parthenon 3
Apache handlers with mod_perl
WE11
Apollo 1
Apache mod_rewrite, the Swiss Army Knife of URL manipulation
WE12
Apollo 3
Mod_pubsub: asynchronous publish and subscribe messaging with httpd
14:30 - 15:30 WE13
Parthenon 4
Making the most of PEAR and PECL
WE14
Parthenon 3
Developing Web Applications with CGI::Application
WE15
Apollo 1
RSS Elements and Versions
WE16
Apollo 3
Localising BBC News for a Global Audience
15:30 - 16:00 Coffee Break
16:00 - 17:00 WE17
Parthenon 4
PHP 5 and databases
WE18
Parthenon 3
Advanced Apache Administration with Perl
WE19
Apollo 1
Writing a PHP Extension
WE20
Apollo 3
Subversion: Version Control Rethought
17:00 - 18:00 Plenary
Closing/Wrapup Session
  • Lunch is not included in conference registration.

 



Keynotes

KN01: Looking Ahead: Challenges for Open Software

Day: Mon
Time: 10h00
Duration: 60 minutes
Speaker: John Fowler

Abstract:

As the rôle of the network grows larger and larger in the lives of individuals and businesses, it doesn't come without cost. Costs associated with the growth include the scaling of the infrastructure -- the hardware and software that actually make up the network -- and intangibles like privacy and assurance (and security) of one's identity, among others. What impact will these costs have on how we do business, or even live our lives?

Similar growth challenges face the field of open software development. As open software comes more and more into the mainstream of business consciousness, hard looks are being taken at the costs and risks of using and supporting it. Nothing is entirely free, so if the software itself can be obtained without payment, where are the costs of use now located -- and what are they?

KN02: The Death of Email Marketing

Day: Tue
Time: 11h00
Duration: 60 minutes
Speaker: Chris Pirillo

Abstract:
I sit here, in my comfy chair, surfing on a wireless Internet connection, grooming my inbox and deleting 90% of what's sitting in there. Why? It's junk. It's useless. This used to be my playground, and it was once the avenue through which I could deliver my thoughts to hundreds of thousands of people from all over the world. I'm not the only one who has to put up with unsolicited advertisements for sending money to a country that doesn't exist on any world map. Worse yet, my wife is getting e-mails that promise to increase the size of a part of her body that she doesn't have. We've been looking for a solution that will enable us to get back on track with our audience. Well, it's already out there - and it's free for anybody to use. The key? The bridge? The solution? The Rosetta Stone of online data. RSS. Really Simple Syndication.

KN03: Apache and Do-It-Yourself IT (DIY-IT)

Day: Wed
Time: 11h00
Duration: 60 minutes
Speaker: Doc Searls

Abstract:
The standard vendor story is about how they develop "solutions" that can be solved in no other way than with the vendor's products. But what is the customer story? What about the solutions customers create and improve for themselves? Apache, for example. That's a story that's not being told very much, and Linux Journal Senior Editor (and Cluetrain Manifesto co-author) Doc Searls will describe what he's found out about the underside of this iceberg. He'll present his own findings about the "great disconnect" between vendor and customer stories, and will be listening eagerly around the conference to tales of customer stories that are not yet being told, but should be.

Birds-of-a-Feather (BOF) Sessions

A 'birds-of-a-feather' session is a somewhat impromptu and informal get-together of people who are interested in a particular topic that isn't on the conference schedule, or who want to discuss a session topic in more detail. BOFs are commonly scheduled on-site, and take place in the session rooms during mealtimes.

BOFs are one hour long, and may be attended by anyone, whether registered for the conference itself or only for the exhibit floor. Registered conference delegates can request BOFs.

No BOFs currently scheduled


Sessions

Here are the details about all of the sessions in the programme that have been finalised. Some sessions may be scheduled but don't appear here yet because their titles or abstracts are being corrected.

Sessions by Category

Each session may appear in one or more topical categories. Each of the categories is listed below, and under it all of the sessions that are in that category.

Note that some sessions may appear in more than one category, such as one that compares Java servlets to PHP, or discusses using XML with Java.

Apache HTTP Server

Case Study

E-Commerce

Java

New Technologies

PHP

Performance

Perl

Python

Ruby

Security

Windows

XML


WE18: Advanced Apache Administration with Perl

Day: Wed
Time: 16h00
Room: Parthenon 3
Session chair: Geoffrey Young
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Perl
Speaker: Casey West

Abstract:
Configuring Apache using a file based configuration can be found to scale poorly. Using mod_perl you can harness the power of runtime configuration. Dynamic configuration with Perl is simple and wildly powerful. In this session I'll show you how to administrate thousands of differing web servers, or dozens of mirrors, with little pain or effort using a variety of data stores. Perl is your key to high-availability web serving laziness.

TU02: Advanced Topics in Module Design: Threadsafety and Portability

Day: Tue
Time: 08h30
Room: Parthenon 3
Session chair: Glenn Nielsen
Duration: 60 minutes
Style:
Level: Experienced
Audience: Developer
Categories: Apache HTTP Server, New Technologies, Performance, Windows
Speaker: Aaron Bannert

Abstract:

With the release of Apache 2.0 it is now possible to write modules that work under both Windows and Unix, in both multithreaded and multiprocess configurations. To achieve source portability while maintaining threadsafety and efficiency, a number of primitives can be utilized. In this session we will discover how modules can use primitives, including threads, mutexes, condition variables, read-write locks, and shared memory and explore multithreaded/multiprocess MPM considerations and techniques for avoiding race conditions and deadlocks. We will examine a sample module that demonstrates resource allocation, initialization and synchronization in the context of the Apache 2 hooks.

Participants should have some basic experience with multithreaded programming.

T03: Apache 2 mod_ssl tutorial

Day: Sun
Time: 09h00
Session chair: None assigned
Duration: 180 minutes
Style: Tutorial
Level: Novice
Audience: Technical
Categories: Apache HTTP Server, Security
Speaker: Mads Toftum

Abstract:

An in-depth tutorial teaching the necessary background and details helping you to make the most of mod_ssl.

  1. Introduction to SSL
  2. Creating certificates with openssl
  3. Configuring mod_ssl
  4. Practical examples

T05: Apache 2.0 modules: development and debugging

Day: Sun
Time: 09h00
Session chair: None assigned
Duration: 180 minutes
Style: Tutorial
Level: Experienced
Audience: Developer
Categories: Apache HTTP Server
Speaker: Cliff Woolley
Speaker: Sander Striker

Abstract:
Apache module developers who have recently started to port their modules to Apache 2.0 or are considering doing so will likely find the new module API both familiar and not, at the same time. This tutorial will give a short overview of the layout of a simple module and then go on to cover the new features with which modules must contend. In particular, APR, the new hooks system, and the filter chain will be examined in detail. The attendee will learn the tricks and tools of the trade in answering the questions, "How do I get the most out of my Apache 2.0 module," and "Why doesn't my filter work?", which has become all too common a concern.

TU10: Apache and Zeroconf Networking

Day: Tue
Time: 13h30
Room: Parthenon 3
Session chair: Lars Eilebrecht
Duration: 60 minutes
Style:
Level: Experienced
Audience: Developer
Categories: Apache HTTP Server, Java, New Technologies
Speaker: Sander Temme

Abstract:
This session will discuss the possibilities for interaction between Apache servers and the Zero Configuration networking standard being developed by the IETF. After a brief introduction to Zeroconf, a module will be discussed and demonstrated that registers Apache httpd 2.0 services with a Multicast DNS Responder. Additionally, we will examine how Tomcat can register its deployed web applications. To conclude, we will discuss some applications and situations where making webservers and applications servers Zeroconf-aware might be useful.

TU01: Apache authentication

Day: Tue
Time: 08h30
Room: Parthenon 4
Session chair: Geoffrey Young
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: Apache HTTP Server, Security
Speaker: Rich Bowen

Abstract:
Authentication and Authorization are the process of finding out who is visiting your Web site, and determining whether they should be permitted to see content. Apache ships with two authentication methods, and there are dozens of others available from the module repository. This talk covers Basic and Digest authentication, several alternate authentication methods, and will delve into what's involved in writing your own access control module using mod_perl.

WE10: Apache handlers with mod_perl

Day: Wed
Time: 13h30
Room: Parthenon 3
Session chair: Dirk-Willem van Gulik
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, Performance, Perl
Speaker: Rich Bowen

Abstract:
Most of the online tutorials about mod_perl focus on its use as a CGI performance enhancer (Apache::Registry and Apache::PerlRun). Using this technique, good programmers are able to gain many-times improvement in speed, and extend the life of their CGI programs. Unfortunately, most of these tutorials stop here, and don't go on to talk about what mod_perl is really good at. The real power of mod_perl is in writing Apache handlers in Perl. Although this is a fairly simple concept, it is downplayed a little, primarily because people already understand CGI, and it is usually simpler to show people how to use the code that they already have, and just make it faster. However, writing Apache handlers using mod_perl is easier than writing CGI programs, and by directly calling methods out of the Apache API, gives much better performance. Additionally, taking the opportunity to rewrite your CGI programs as mod_perl handlers will force you to write better code, and give you a better-designed system into the bargain. This talk will cover the aspects of Perl OO programming and Apache configuration that will be necessary for the core of the talk. We'll then dive into writing mod_perl handlers, configuring them for use with your mod_perl server, and get some simple ones running. Then, once we have some simple handlers running, we'll move on to slightly more in-depth topics, such as persistent database connections, template-driven content, and rapid development by factoring out common tasks. All concepts will be reinforced by examples and actual code, which will be distributed to attendees. Attendees are recommended to bring with them a laptop with Apache/mod_perl installed in order that they might follow along with the talk.

WE11: Apache mod_rewrite, the Swiss Army Knife of URL manipulation

Day: Wed
Time: 13h30
Room: Apollo 1
Session chair: Cliff Woolley
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: Apache HTTP Server
Speaker: Mads Toftum

Abstract:
mod_rewrite is a module which has intimidated and confused many Apache users over the years. This session will show how simple mod_rewrite can be, by breaking it down into manageable bits and by giving examples of everyday use. The session will also discuss when to use mod_rewrite, and when other modules might as well be used.

TU05: Apache performance

Day: Tue
Time: 10h00
Room: Parthenon 4
Session chair: Daniel Lopez Ridruejo
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, Performance
Speaker: Rich Bowen

Abstract:
There's a variety of things that you can do to make your Apache server run faster, and things that you need to avoid which can make it slower. This is an overview of some of these things, and gives you an idea of how to test your apache server to see what helps.

TU13: Apache Security Secrets Revealed

Day: Tue
Time: 14h30
Room: Parthenon 4
Session chair: Cliff Woolley
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, Security
Speaker: Mark Cox

Abstract:
Some of the the press say that the Apache Web server is more secure than IIS, others that it has had as many incidents as competitive Web servers, but are either of these statements true? In this session we take a look through the security vulnerabilities that have affected Apache to date, looking at which are relevant and categorising their severity and exploitability. We then take a look at some of the things an administrator can do to protect themselves against these vulnerabilities through configuration changes and other tools on their platform.

MO19: Apache XML Parser: Xerces2 and Xerces C++

Day: Mon
Time: 17h00
Room: Apollo 1
Session chair: Shane Curcuru
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Java, XML
Speaker: Elena Litani

Abstract:

This session gives a quick overview of the Apache XML Parsers for Java and C++, known as Xerces2-J and Xerces C++ respectively. The session describes the latest developments in Xerces2-J's support of open standards such as DOM Level 3, XML 1.1, JAXP and the post schema validation infoset. It also reviews the Xerces2 XNI framework, which the community recently finalized. The session wraps up with a discussion of on-going improvements to Xerces-C's completeness, robustness and usability in highly customized environments.

TU22: ASP.NET on Unix with mod_mono

Day: Tue
Time: 17h00
Room: Parthenon 3
Session chair: Ted Leung
Duration: 60 minutes
Style:
Level: Novice
Audience: Developer
Categories: Apache HTTP Server, New Technologies, Windows
Speaker: Daniel Lopez Ridruejo

Abstract:
This presentation will introduce the mod_mono Apache module, that integrates the Apache Web server and the Mono project and allows running server-side .NET applications on Linux. Mono is an open source clone of the Microsoft .NET framework and provides a viable alternative to J2EE on the server side.

MO04: Beginning Tapestry: Java Web Components

Day: Mon
Time: 11h00
Room: Apollo 3
Session chair: Brian Fitzpatrick
Duration: 60 minutes
Style:
Level: Novice
Audience: Developer
Categories: Java
Speaker: Howard Lewis Ship

Abstract:
An introduction to using the Tapestry web application framework by the creator of the framework. An overview of the framework will focus on the advantages of a component-based approach vs. the more typical operation-centric approaches. A simple application will be developed, making use of the Spindle plugin for Eclipse.

TU15: Building a Web service from SOAP to Nuts

Day: Tue
Time: 14h30
Room: Apollo 1
Session chair: Ceki Gülcü
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: New Technologies, Security, XML
Speaker: Sam Ruby
Speaker: Doug Tidwell

Abstract:

In this session, we'll look at all the issues involved in creating a Web service. We'll start with a simple piece of Java code, then we'll use the Axis toolkit to deploy it as a SOAP service. Next, we'll look at client applications written with Axis, Soap:Lite, .Net, PHP, SOAP.py, and other languages, illustrating how to access a SOAP service from a variety of languages and platforms. We'll take a look at some of the advanced features of the Axis toolkit, including serialization and messages with attachments. We'll look at using the relatively new security standards for Web services as well. The final topic we'll consider is service discovery. The service discovery portion will cover using WSDL files with UDDI registries to discover and invoke a Web service. We'll look at the Web Services Invocation Framework also. You'll leave with a complete understanding of the technologies in the Web services landscape, and see how software from the ASF plays a key role.

TU14: Building smart markup-aware applications with Apache modules

Day: Tue
Time: 14h30
Room: Parthenon 3
Session chair: William A. Rowe Jr.
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, Case Study, XML
Speaker: Nick Kew

Abstract:

The Apache 2 Filter Chain provides an excellent foundation for smart markup-aware applications. The talk will discuss several modules developed by the author, including:

  • Application tools such as HTML and XML validation
  • High-performance XSLT filter
  • Transformation of outgoing HTML (mod_accessibility and mod_proxy_html)

as well as supporting modules for the above. In introducing this work, I will describe in some detail how I have harnessed the Apache Filter chain, and I would expect the talk to be of interest to module developers, particularly those on the learning curve to working with filters.

I will discuss markup processing in Apache, including how to work efficiently with XML and SGML libraries, and how smart, modular markup processing is used to empower users. I will also demonstrate profiling the performance of a filter module.

TU23: Building Web Applications with the Struts Framework

Day: Tue
Time: 17h00
Room: Apollo 1
Session chair: Craig McClanahan
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Java, New Technologies
Speaker: Craig McClanahan

Abstract:
Apache Struts, an open-source framework for building Web applications and Web services, provides a basis for building maintainable, scalable applications based on Model-View-Controller design principles. This session will describe the essential features of the MVC architecture, and illustrate their use in Struts. We will also briefly review roadmaps and ideas for future development, including support for emerging standard APIs such as Portlets (JSR-168) and JavaServer Faces (JSR-127).

PL03: Closing/Wrapup Session

Day: Wed
Time: 17h00
Session chair: None assigned
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories:
Speaker: Ken Coar

Abstract:
The closing plenary session wraps up the conference. Announcements about attendance, future conferences, and any software releases squeezed out during the week are made at this time. In addition, this is a chance for delegates to stand up and give feedback about the conference to the planners and the ASF.

TU12: Cocoon control flow

Day: Tue
Time: 13h30
Room: Apollo 3
Session chair: Craig McClanahan
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Java, XML
Speaker: Ovidiu Predescu

Abstract:

This is an introduction to Cocoon's control flow layer based on continuations, a concept from high level functional languages. The control flow layer allows complex interactions in Web-based applications to be described in an easy way, using a normal procedural language like JavaScript. With the control flow a developer doesn't have to model the application state and the user interactions as a finite state machine. The talk describes the architecture of the control flow, and how it can be used for developing complex Cocoon-based Web applications.

TU06: Content Management with Apache Lenya

Day: Tue
Time: 10h00
Room: Parthenon 3
Session chair: Brian Behlendorf
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: Java, New Technologies, XML
Speaker: Michael Wechner

Abstract:

Apache Lenya is a Java-based Open-Source Content Management System. It is based on open standards such as XML and XSLT. One of its core components is the web-publishing and web-application framework Apache Cocoon. The presentation will cover:

  • demonstration of a sample publication
  • architecture and core features of Lenya
  • how to to build your own Lenya publication

WE01: Creating Dynamic PDFs using PHP

Day: Wed
Time: 08h30
Room: Parthenon 4
Session chair: Ben Hyde
Duration: 60 minutes
Style:
Level: Experienced
Audience: Developer
Categories: PHP
Speaker: John Coggeshall

Abstract:
Contrary to popular belief, PHP is much more than an HTML embedded scripting language. Although creating dynamic HTML files is generally the primary use of PHP, it can also be used to dynamically generate other document formats such as PDF files. In this session you can expect to learn how to create both PDF documents from scratch or from a pre-made template.

WE14: Developing Web Applications with CGI::Application

Day: Wed
Time: 14h30
Room: Parthenon 3
Session chair: Ben Hyde
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: Apache HTTP Server, Perl
Speaker: Jason Purdy

Abstract:
This session will introduce you to a powerful and flexible methodology of developing Web applications in Perl, following the MVC model. Using this system, developers will enjoy code-reuse, design separation and less re-invention of the wheel. We will cover how to get into the CGI::Application mindset, its benefits (& tradeoffs), best practices and future aspects to dig even deeper upon its adoption.

WE05: Do you PHP?

Day: Wed
Time: 10h00
Room: Parthenon 4
Session chair: None assigned
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: PHP
Speaker: Rasmus Lerdorf

Abstract:
PHP is many things to many people. Today, little is left of the first version written almost 10 years ago, yet somehow the original ideas and concepts are very much alive and being used to drive everything from the tiniest personal sites to the largest web companies in the world. This talk will discuss the various ways people use PHP to solve the web problem. It will also present a systematic approach to designing, securing, tuning, benchmarking, and profiling your PHP-based web applications.

MO05: Everything you always wanted to know about XML parsing

Day: Mon
Time: 13h30
Room: Parthenon 4
Session chair: Lars Eilebrecht
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: Java, XML
Speaker: Ted Leung

Abstract:
Parsing XML is conceptually simple, but the devil is in the details. This session steps you through development of your first simple XML application, including basic use of the industry-standard SAX and DOM APIs provided by the Apache XML parser. We'll show you how to design XML grammars using both DTD and W3C XML Schema syntax. By the end of this session, you'll know where the landmines are (and how to avoid them in your XML application).

MO20: Extending HTTP Authentication

Day: Mon
Time: 17h00
Room: Apollo 3
Session chair: Cliff Woolley
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, Security
Speaker: Joe Gregorio

Abstract:
In the course of designing the AtomAPI it became apparent there was a need for an additional security mechanism to be used along with Basic and Digest authentication. This talk will cover the requirements that led to our creating a new HTTP autentication scheme, the mechanics of the Atom authentication scheme, the lessons we learned from initially doing it wrong, and how the Apache web server's proper handling of unknown authentication schemes makes it all possible.

T01: Generating beautiful PDF files with FOP

Day: Sun
Time: 09h00
Session chair: None assigned
Duration: 180 minutes
Style: Tutorial
Level: Novice
Audience: Technical
Categories: XML
Speaker: Doug Tidwell
Speaker: Gianugo Rabellino

Abstract:
This session covers the Formatting Objects to PDF translator (FOP), a wonderful tool from the Apache XML project. In this session, we'll look at the basics of the XSL Formatting Objects standard, then we'll see how the standard is implemented by FOP. We'll start by creating basic PDF documents, then we'll add more sophisticated techniques such as cross-references, Web links, running headers and footers, tables of contents, and "Page x of y" style page numbering. Using FOP with basic XML tools (or more advanced tools like Coocon2), you can generate beautiful PDF files from text documents. In a stunning conclusion, we'll look at combining FOP with databases and other tools that can generate documents on the fly. Learn how to use FOP, and let someone else buy a license for Microsoft Office!

PL02: How the Apache Software Foundation works

Day: Mon
Time: 09h00
Session chair: None assigned
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: Apache HTTP Server, Java, New Technologies, PHP, Perl, Python, Security, Windows, XML
Speaker: Stefano Mazzocchi

Abstract:
This session will give you everything you always wanted to know about the foundation but were afraid to ask. The difference between membership and committership, who decides what, how elections take place, how is our infrastructure setup, what is the board, what is a PMC, what's the philosophy behind the incubator, why is the foundation moving away from project containment. Come and see behind the scenes of the ASF.

WE07: HTML manipulation and data mining with Tidy

Day: Wed
Time: 10h00
Room: Apollo 1
Session chair: Ben Hyde
Duration: 60 minutes
Style:
Level: Experienced
Audience: Developer
Categories: New Technologies, PHP
Speaker: John Coggeshall

Abstract:

This talk will focus on introducing the new tidy extension for PHP5 and how it can be used to make working with and generating properly-formed HTML in a fast and effective manner.

Specifically this session will focus on:

  • How to use tidy to diagnose existing HTML for errors
  • Using tidy to clean and repair HTML documents
  • An overview of the most useful tidy options
  • Using the tidy OO interface to navigate the HTML doc tree
  • Examples of how to navigate HTML effectively using tidy

With the introduction of the Tidy extension, users will no longer need to rely on messy regular expressions to mine data such as URLs, e-mail addresses, or entire tables from HTML documents. Furthermore, thanks to the diagnosing technologies provided by Tidy, HTML documents can be diagnosed and even corrected on the fly to ensure complete HTML or XHTML compliance before being sent to the end user. This talk assumes users are familiar with basic PHP object-oriented and procedural constructs.

MO09: Inside Apache XMLBeans

Day: Mon
Time: 14h30
Room: Parthenon 4
Session chair: Ted Leung
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Java, New Technologies, XML
Speaker: David Bau

Abstract:
XMLBeans provides XML types in Java. In other words, it is a W3C XML schema compiler and a Java library that turns the full XML Schema spec into an XML programming language for Java. Its novel approach of binding full-fidelity XML to compiled Java APIs makes XML manipulation in Java simultaneously easy, fast, robust, interoperable, and complete. This session is an in-depth examination of the XMLBeans project. It is currently in incubation in Apache, and available as a standalone compiler and library. We will compare the XMLBeans approach to other XML APIs, and also explain how XMLBeans works with core XML data type challenges such as wildcards, substitution, restriction, and complex content models. We will briefly overview of how to use XMLBeans as well as survey some of the XMLBeans internals.

MO13: Introducing Apache Cocoon

Day: Mon
Time: 16h00
Room: Parthenon 4
Session chair: Pier Paolo Fumagalli
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: Java, XML
Speaker: Steven Noels

Abstract:
Apache Cocoon is an XML-centric framework for building web sites and web applications, making sure many people can collaborate on the management, flow, style, logic and content of a web project without any conflicts between the different collaborators. Cocoon can integrate with your existing J2EE environment, and connects to a wide variety of external datasources. It embeds a portal engine, several form handling frameworks and is also the foundation of Lenya, an incubating CMS framework. This introductory talk will bring you up to speed with the Cocoon framework.

T04: Introduction to the Apache Web Server

Day: Sun
Time: 09h00
Session chair: None assigned
Duration: 180 minutes
Style: Tutorial
Level: Novice
Audience: Technical
Categories: Apache HTTP Server
Speaker: Rich Bowen

Abstract:
Geared to to Apache Web server administrator who is just getting started, or the admin that has been doing this for a while but needs to step back and get a comprehensive overview of everything there is to know. This tutorial starts at acquiring and installing Apache, and goes through configuration, security, dynamic content, authentication, and performance. Covers Apache 1.3 and 2.0.

TU04: Jakarta POI or "Maybe we shouldn't ingore the 10,000 lb Gorilla"

Day: Tue
Time: 08h30
Room: Apollo 3
Session chair: Scott Sanders
Duration: 60 minutes
Style:
Level: Experienced
Audience: Developer
Categories: Java, New Technologies
Speaker: Andrew Oliver

Abstract:
Since its inception the Jakarta POI project has been making waves. The project broke new ground by porting Microsoft's Excel file format to Java as well as the underlying OLE 2 Compound Document Format. This session gives an overview of the project, its use, its future direction,and discusses the methods used to port complex binary file formats.

MO10: Jasper, the JSP compiler in Tomcat 5

Day: Mon
Time: 14h30
Room: Parthenon 3
Session chair: Craig McClanahan
Duration: 60 minutes
Style:
Level: Experienced
Audience: Developer
Categories: Apache HTTP Server
Speaker: Kin-man Chung

Abstract:
This talk provides an overview of the architecture of Jasper, JSP-to-Servlet compiler in Tomcat 5, including the internal representation of a JSP page and the various compilation phases. This talk also covers some of Jasper's performance improvements, as well as implementation details of some of the features introduced in JSP 2.0, such as tag files, simple tag handlers, JSP fragments, and EL expressions.

MO08: Java Applications with Apache Batik

Day: Mon
Time: 13h30
Room: Apollo 3
Session chair: Ceki Gülcü
Duration: 60 minutes
Style:
Level: Novice
Audience: Developer
Categories: Java, XML
Speaker: Thomas DeWeese

Abstract:

The Apache Batik SVG Toolkit includes a Java-based viewing component for Scalable Vector Graphics (SVG). This talk will discuss how Java applications can leverage the Batik Toolkit to utilize SVG for complex graphics presentation and user interaction.

The presentation will cover topics such as:

  • presenting SVG from URLs or pre-parsed XML documents in the user interface.
  • Using Batik to rasterize SVG for use as icons or buttons.
  • How to ensure a document is treated as a static or dynamic document.
  • Accessing and using the Update Manager to make modifications to the displayed document.

How to add event handlers through the DOM to track user events and/or DOM mutation events will be presented. Finally custom interactors, what they are, the reasons for using them, and how they may be added to the viewing component will be discussed.

MO06: JavaServer Pages 2.0 Technology: The Community Delivers!

Day: Mon
Time: 13h30
Room: Parthenon 3
Session chair: Glenn Nielsen
Duration: 60 minutes
Style:
Level: Novice
Audience: Developer
Categories: Java, New Technologies, XML
Speaker: Mark Roth

Abstract:

Over four years ago, JavaServer Pages(TM) (JSP(TM)) technology was created as a powerful way to dynamically generate HTML on the server side. Java(TM) 2 Enterprise Edition (J2EE) 1.4 will include the next generation of JSP technology, JSP 2.0, which represents an easy-to-use, robust, and extensible technology for building Web applications. JSP 2.0 is well-suited for generating dynamic Web content in such formats as HTML, DHTML, XHTML, SVG and XML. The JSP 2.0 specification is backwards compatible with JSP 1.2 and introduces many new features, including a simple yet flexible integrated expression language, an encapsulation mechanism called tag files, a simplified tag extension API, and a substantially improved XML syntax. These features were directly inspired by feedback from the community, and they help lower the bar by opening this presentation-tier language to non-programmers. This presentation will explore the new JSP 2.0 features in detail, with lots of examples, Q&A, and even a live demo!

WE16: Localising BBC News for a Global Audience

Day: Wed
Time: 14h30
Room: Apollo 3
Session chair: Sally Khudairi
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: Apache HTTP Server, Case Study
Speaker: Stephen Betts

Abstract:
BBC News is amongst the most well-respected and popular news providers in the world. Its website serves 14 million pages per day, with about half of the requests originating from outside the UK. In 2002 an international edition of the website was launched, with the same content, but with the presentation focussed on world events. The exacting editorial requirements led to many technical challenges in serving the two editions. Giving users a seamless experience regardless of their chosen edition requires a complex interaction within request and response phases, for every page served. This interaction is handled by an Apache module written in-house over several months; its primary purpose is to ensure that users get the content that they want, not necessarily the content they ask for. This talk describes the development of the module; its implementation in a highly editorially-led environment; its evolution from having very specific functionality when it was launched, to becoming more modular and generic; and planned future developments, including utilisation of the advanced functionality of Apache 2, integration with IP Geography systems and the possibility of releasing it under an Open Source license.

WE13: Making the most of PEAR and PECL

Day: Wed
Time: 14h30
Room: Parthenon 4
Session chair: Roy Fielding
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: PHP
Speaker: John Coggeshall

Abstract:
This session is focused on the promotion of PEAR and PECL by useful example. It will introduce some of the more useful PEAR and PECL modules and show them in action. Topics will include unit testing, interesting PECL modules, and a general use of the entire PEAR system.

T07: Mangling data with XSLT

Day: Sun
Time: 13h30
Session chair: None assigned
Duration: 180 minutes
Style: Tutorial
Level: Experienced
Audience: Developer
Categories: New Technologies, XML
Speaker: Doug Tidwell
Speaker: Cliff Schmidt

Abstract:
This tutorial will run the gamut of all the things you can do with XSLT, including basic transformations, sorting, grouping, generating cross-references, combining multiple documents, and writing extension functions. We'll have lots of practical examples that illustrate the full power of XSLT, and we'll spend a significant amount of time looking at the changes coming for XSLT 2.0. Throughout these topics, we'll look at Xalan, the ASF's XSLT processor, and Cocoon, Apache's server-side XML publishing framework. XSLT is a key technology for manipulating XML data; in this tutorial, you'll get a good look at all the things it can do.

T08: mod_perl 2.0 By Example

Day: Sun
Time: 13h30
Session chair: None assigned
Duration: 180 minutes
Style: Tutorial
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, Perl
Speaker: Stas Bekman

Abstract:

This tutorial will cover aspects of mod_perl 2.0, as well as describe the new features this next generation of mod_perl brings to us, using concrete examples and demonstrations. Detailed coverage will be given of:

  • Getting started fast
  • A quick introduction to mod_perl 2.0
  • Migrating from mod_perl 1.0 to 2.0
  • Protocol handlers
  • Request and response I/O filtering with Bucket Brigades and Streaming
  • HTTP request handlers

WE12: Mod_pubsub: asynchronous publish and subscribe messaging with httpd

Day: Wed
Time: 13h30
Room: Apollo 3
Session chair: Manoj Kasichainula
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, Java, New Technologies, PHP, Perl, Python, Ruby, Windows, XML
Speaker: Joyce Park

Abstract:

Turn your Apache http server into a pub/sub server using mod_perl and/or Python. Get real-time data updates to the browser with no plugins or polling. Plus, exchange data over the Internet between applications written in Perl, Python, PHP, C, C++, .NET, Java, or Ruby. Mod_pubsub is especially valuable for monitoring tools, real-time data dashboards, and integration between social software apps such as email, IM, blogs, and wikis -- all crucial parts of the intertwingly future architecture of the web.

TU08: MySQL Clustering and Replication for the Web

Day: Tue
Time: 10h00
Room: Apollo 3
Session chair: Brian Fitzpatrick
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: E-Commerce
Speaker: Brian Aker

Abstract:

This talk will walk you through the steps you need to perform in order to set up clustering and replication with the MySQL database for web environments. Design patterns for clustering databases for Apache written web applications will be shown, and a general discussion on how you can optimize your resources for a web environment. Like most things with MySQL, clustering and replication are quite easy to manage and with just a little help you can have your own solutions up and running in little time.

WE08: ObjectWeb/JOnAS J2EE Application Server and Apache projects

Day: Wed
Time: 10h00
Room: Apollo 3
Session chair: Dirk-Willem van Gulik
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Java
Speaker: Trent Shue

Abstract:

This session highlights the use of Apache components within the JOnAS J2EE Application Server including a brief introduction to JOnAS and the ObjectWeb Open Source Consortium. The presentation focuses on how Tomcat is packaged with JOnAS to provide a web container and servlet/JSP engine creating a true J2EE platform. We will review how the JOnAS-Tomcat integration has inspired changes to JOnAS in areas of configuration, management console and EAR deployment. Also included will be a discussions of:

  • J2EE Context support for uniform naming
  • Security realm enhancements for EJB context support
  • The use of Apache/Tomcat/mod_jk for providing HTTP clustering
  • How the Jakarta Commons Digester for XML parsing is being applied within JOnAS
  • The ObjectWeb middleware component approach

TU20: Open Source Web Single Sign On

Day: Tue
Time: 16h00
Room: Apollo 3
Session chair: Lars Eilebrecht
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: Apache HTTP Server, Security
Speaker: Kevin McGowan
Speaker: Wesley D. Craig

Abstract:
We explore the various open source, single sign-on web technologies available today for infrastructure managers and application authors. You will learn what SSO is, common techniques used for SSO implementation, and how to design applications for deployment in both infrastructure rich and infrastructure poor environments. We will discuss: Shibboleth, Yale's CAS system, Brown's WebAuth, UIUC's BlueStem, PubCookie, the University of Michigan's Cosign, and other Internet 2 WebISO solutions.

PL01: Opening plenary

Day: Mon
Time: 08h30
Session chair: None assigned
Duration: 30 minutes
Style:
Level: Novice
Audience: Technical
Categories:
Speaker: Ken Coar

Abstract:
This is the opening session of the conference, providing a roadmap for the next three days and mentioning last-minute changes to the programme.

WE04: Parallel Development and Hosting using Apache, Tomcat, and MySQL

Day: Wed
Time: 08h30
Room: Apollo 3
Session chair: Glenn Nielsen
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, Case Study, Java, Performance, Security
Speaker: Garrel Renick

Abstract:

This session examines parallel desktop/server environments for web site and application server hosting. Both environments are built from Apache, mod_jk, Tomcat, and MySQL, but are OS-independent. Configuration choices were guided by security concerns, developer usability, and the need for applications to function without modification in both environments. Topics include the following:

  • Creating a virtual host file structure that isolates customer content
  • Sharing the web site docBase and webapp appBase without exposing web application source files
  • Providing restricted access to virtual host server logs
  • Leveraging mod_jk to improve performance of Apache and Tomcat
  • Securing the database with MySQL grant tables and permissions
  • Using JNDI for efficient access to database and mail services
  • Securing your application server with the Tomcat SecurityManager
  • Using the Tomcat Manager to delegate web application support

MO17: Past, present and future of the Apache Cocoon project

Day: Mon
Time: 17h00
Room: Parthenon 4
Session chair: Carsten Ziegeler
Duration: 60 minutes
Style:
Level: Novice
Audience: Technical
Categories: XML
Speaker: Stefano Mazzocchi

Abstract:
The Apache Cocoon project is often presented as a big, complex and hyperfunctional piece of software. In this session, we'll follow a totally different view and present Cocoon from an historical perspective, from its beginning to present day, and outline the possible evolutionary future. Even if Cocoon is heavily based on several XML technologies, the presentation will keep a high level overview where no XML knowledge will be required.

WE17: PHP 5 and databases

Day: Wed
Time: 16h00
Room: Parthenon 4
Session chair: Sally Khudairi
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: PHP
Speaker: Marcus Börger

Abstract:
  • What's new in PHP 5
  • mysqli, The new PHP 5 extension to connect to mysql v4 databases. Explain what`s new compared to the old interface apart from the obvious version changes.
  • sqlite, The new integrated single file database. This one could simplify ISP life and hence would allow to give anybody a database who can use PHP.
  • PEAR mdb 2/3, The PEAR abstraction to databases. (- maybe we'll have an initial version of pdo/PHP Data Objects by then)
  • Analyzing differences between data storages when used by PHP A comparison of dba, mysql, oracle, postgres, sqlite.

WE09: PHP Attacks and Defense

Day: Wed
Time: 13h30
Room: Parthenon 4
Session chair: Geoffrey Young
Duration: 60 minutes
Style:
Level: Experienced
Audience: Developer
Categories: Apache HTTP Server, PHP, Security
Speaker: Chris Shiflett

Abstract:

PHP is quickly becoming the world's most popular programming language for creating Web applications. As more and more applications are being built for the Web, application security is becoming a crucial topic. One of the best methods you can use to educate yourself about Web application security is to study the various types of attacks that you must defend against. Shiflett's session introduces two common types of attacks that current Web developers face, Cross-Site Scripting (XSS) and Cross-Site Request Forgeries (CSRF). Because XSS involves exploiting the trust granted to a particular Web site and CSRF involves exploiting the trust granted to a particular user, these attacks represent a wide range of application-based attacks. By using examples that illustrate exactly how these types of attacks are achieved, you are shown simple and effective techniques that you can use to help prevent similar vulnerabilities in your own PHP applications.

T02: PHP inside-out

Day: Sun
Time: 09h00
Session chair: None assigned
Duration: 180 minutes
Style: Tutorial
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, New Technologies, PHP
Speaker: Sterling Hughes
Speaker: Thies Arntzen

Abstract:

This session will walk the audience step-by-step through the inner workings of php and its connection to apache. It will explain what the apache/php couple are actually doing when serving requests. We will also have a deep look at the guts of php and explain how to optimize your setup and application for best performance. We might also present a set of patches which can speedup the execution of php by a measurable amount. (See http://www.edwardbear.org/thieso/archives/000226.html)

TU16: Porting CMS applications to WebDAV and Cocoon

Day: Tue
Time: 14h30
Room: Apollo 3
Session chair: Justin Erenkrantz
Duration: 60 minutes
Style:
Level: Experienced
Audience: Technical
Categories: Apache HTTP Server, Case Study, Java, XML
Speaker: Gianugo Rabellino

Abstract:
This session will show how a commercial, mainstream CMS has been replaced by a portable, pluggable and Open Source based XML Content Management System. Advanced use of WebDAV techniques and Cocoon will help the audience understand the value of both WebDAV native interoperability and XML based publishing, built on top of Apache Cocoon. Extensive reverse proxies technologies (using the newest ESI