ApacheCon US 2005

Travel link Registration link Expo link Sessions list Speakers list Sponsors list Special Events

Sessions


Half- and Full-Day Tutorials
Saturday, 10 December 2005
10:00 T01
How to Unit Test the User Interface of Web Applications
Dissection Lab 1
T02 T03 T04
Scalable Internet Architectures
T05
Portlet Development using JSR-168
T06
13:00 Lunch
14:30 T07
Introduction to the Apache Web Server
T08
Embedding Apache Directory Server into Applications
T03 T10 T05 (continued)
Portlet Development using JSR-168
T12
Struts on Steroids: Leveraging Bolt-On Components

Half- and Full-Day Tutorials
Sunday, 11 December 2005
10:00 T13
Power PHP Testing
T14
Deep Comprehension of XPath and XSLT
T15
Building Projects with Maven
T16
Taming Apache Cocoon
T17
Building an Enterprise Portal with Apache Portals and Jetspeed-2
T18
Practical mod_perl
T19
Accelerating Web Services Development with Axis2
13:00 Lunch
14:30 T20 T21
Apache Geronimo for Developers
T22
Rapid application development with Maven and Turbine
T23 T24
SpamAssassin Tutorial
T18 (continued)
Practical mod_perl
T26
Subversion Tutorial

Conference Sessions
Monday, 12 December 2005
08:45 PL01
Opening Plenary
09:00 KN01
Keynote by Cory Doctorow
09:45 PL02
Panel: Inside Apache
10:30 MO01
What's new in Apache HTTP Server 2.2
Seabreeze
MO02
Apache Harmony
Harbor Island I
MO03
Apache Containers
Harbor Island II
MO04
The Zen of Free: Deriving a General Model for Open Source
Harbor Island III
11:30 MO05
Intro to WebDAV
Seabreeze
MO06
Introducing Apache Gump 3
Harbor Island I
MO07
Portals@Apache: Standards and the Portals Projects
Harbor Island II
MO08
Open Source for Business and Profit
Harbor Island III
12:30 Lunch
14:00 MO09
Clustered logging with mod_log_spread
Seabreeze
MO10
Roller: An Open Source Blogging Platform
Harbor Island I
MO11
Embedding Apache Pluto
Harbor Island II
MO12
Behind the Scenes of the Apache Software Foundation (Part 1)
Harbor Island III
15:00 MO13
URL Mapping
Seabreeze
MO14
Advanced Lucene
Harbor Island I
MO15
Apache James - The Java Mail Server
Harbor Island II
MO12 (continued)
Behind the Scenes of the Apache Software Foundation (Part 1)
Harbor Island III
16:00 Break
16:30 MO17
Introduction to mod_rewrite
Seabreeze
MO18
State of the Web Services Union
Harbor Island I
MO19
Apache MyFaces - Open Source JavaServer Faces
Harbor Island II
MO20
Your Open Source Strategy Sucks!
Harbor Island III
17:30 MO21
Power Regular Expressions
Seabreeze
MO22
Introduction to Mod_Python
Harbor Island I
MO23
AJAX in Apache MyFaces
Harbor Island II
MO24
Business Tips for the Open Source Consultant
Harbor Island III

Conference Sessions
Tuesday, 13 December 2005
09:00 TU01
Single Source Publishing with Apache Forrest
Seabreeze
TU02
Why Axis2: The Future of Web Services
Harbor Island I
TU03
New (and old) Trends in Web Application Security
Harbor Island II
TU04
XML at the ASF: The XML, WS, and Cocoon Projects
Harbor Island III
10:00 Break
10:30 TU05
Lenya and Jackrabbit Make a Fine Couple
Seabreeze
TU06
Apache Synapse and the Open Service Bus
Harbor Island I
TU07
Apache 2 mod_ssl by example
Harbor Island II
TU08
Intro to XSLT
Harbor Island III
11:30 KN02
Keynote by Tim Bray
12:30 Lunch
14:00 TU09
Cosmo and CalDAV: Open Source, Standards-based Calendar Sharing
Seabreeze
TU10
Dealing with Enterprise Database Challenges In OO Applications
Harbor Island I
TU11
Secure Web Gateway with mod_security and mod_proxy
Harbor Island II
TU12
Pragmatic XML Security
Harbor Island III
15:00 TU13
Cocoon - One Hour Portal
Seabreeze
TU14
Introduction to MINA
Harbor Island I
TU15
Apache authentication
Harbor Island II
TU16
Java-XML Binding Approaches at Apache
Harbor Island III
16:00 Break
16:30 TU17
Cocoon Blocks
Seabreeze
TU18
(A) Maven is Your Friend
Harbor Island I
TU19
New Modular Authentication Architecture in Apache 2.2
Harbor Island II
TU20
Struts 2006: An Embarrassment of Riches
Harbor Island III
17:30 TU21
Slicing and dicing REST with Apache Cocoon
Seabreeze
TU22
Extending Apache SpamAssassin using Plugins
Harbor Island I
TU23
Secure Single-Sign-On with Apache Directory and Apache Kerberos
Harbor Island II
TU24
Shale: The Next Struts?
Harbor Island III
18:30 PL99
19:30 PL03
ApacheCon Lightning Lottery Talks and a Movie

Conference Sessions
Wednesday, 14 December 2005
09:00 WE01
Scalable Apache for Beginners
Harbor Island I
WE02
PHP and Unicode: A Love at Fifth Sight
Harbor Island I
WE03
J2EE Development with Apache Geronimo
Harbor Island III
WE04
From CGI to mod_perl 2.0, Fast!
Seabreeze
10:00 Break
10:30 WE05
HTTP Caching and Cache-busting for Content Publishers
Harbor Island I
WE06
Large-Scale PHP
Harbor Island III
WE07
Building Highly Available Applications with Geronimo and Derby
Harbor Island III
WE08
mod_perl for Speed Freaks!
Seabreeze
11:30 KN03
Open Forum with Dr. Wenn-Hann Wang - Open Source Development - A Platform Perspective
12:30 Lunch
14:00 WE09
Hacking Apache HTTP Server at Yahoo!
Harbor Island I
WE10
Consuming Web Services Using PHP 5
Harbor Island III
WE11
Performance Analysis of Apache Derby
Harbor Island III
WE12
The Future of Open-Source OSGi
Seabreeze
15:00 WE13
Building Scalable Web Architectures
Harbor Island I
WE14
Ruby for Java Developers
Harbor Island III
WE15
Apache Derby Security
Harbor Island III
WE16
Java Modularity Support in OSGi R4
Seabreeze
16:00 Break
16:30 WE17
Advanced Topics in Module Design: Threadsafety and Portability
Harbor Island I
WE18
Cheap, Fast, and Good: You can have it all with Ruby on Rails
Harbor Island III
WE19
From CVS to SVN: Case studies in migrating your team to a new tool
Harbor Island III
WE20
Declarative Services in OSGi R4
Seabreeze
17:30 KN04
Keynote by Jaron Lanier
18:30 PL04
Closing Session


T01: How to Unit Test the User Interface of Web Applications

Speaker: Thomas Dudziak
Categories: Case Study, Database, Java, Web Services
Intended Audience: Developer - Experienced

Web applications are of ever increasing complexity both on the server and the client side. The latter is especially true with the incorporation of new technologies such as AJAX which move certain parts of the flow logic to the client. However testing web applications is usually limited to the server side and to testing with libraries that mimic a client, but not using a real browser. In this session we will show how the user interface of a Java based web application can be tested in a real web browser (Mozilla) in normal JUnit tests. For this purpose, we will examine a sample webapp that uses common web application technologies (spring, spring-webflow, struts, OJB) and also incorporates some AJAX functionality. For this web application, we will showhow to programatically setup the database for each of these tests using the DdlUtils project, how to capture the behaviour of the user interface in simple unit tests that use a real browser and how these tests are performed using normal web servers/servlet containers (Jetty, Tomcat).

T04: Scalable Internet Architectures

Speaker: Theo Schlossnagle
Categories: E-Commerce, Performance
Intended Audience: Technical - Experienced

We will discuss both good and bad design methodologies for building new sites, scaling growing sites up and scaling shrinking sites down. Primarily example-based, the presentation will show the progression from anecdotal conclusions to real-world practical results and often how the two are askew. We will discuss in detail three distinct and related problems in clustered web architectures: 1. high availability and load balancing 2. caching static and dynamic content 3. distributed logging and troubleshooting

T05: Portlet Development using JSR-168

Speaker: Noel Bergman
Categories: Java, New Technologies, Web Services
Intended Audience: Developer - Experienced

Portals provide standardized delivery of personalized and aggregated content. Portlets are the key to developing portals, and JSR-168 provides the first standard Portlet API for Java developers. This specification gives developers the same ability to build a common marketplace that the Servlet Specification provided for server-side web components. Presentation will include coverage of the standard API, examples of Portals to inspire attendees, use of Pluto/JetSpeed2, and some vendor extensions as permitted by JSR-168. Note: This tutorial will be an interactive tutorial. Attendees should bring a laptop with either USB or CD-ROM support, preferably with a current version of Apache Jetspeed-2 pre-installed, and be prepared to develop Portlet code throughout the course of the workshop.

T07: Introduction to the Apache Web Server

Speaker: Rich Bowen
Category: Apache httpd
Intended Audience: Technical - Novice

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.

T08: Embedding Apache Directory Server into Applications

Speaker: Alex Karasulu
Categories: Database, Java
Intended Audience: Technical - Expert

The Apache Directory Server (ApacheDS) is embeddable within applications and application servers to provide directory and security services out of the box. This session with describe and step through the process required to embed ApacheDS within an application. The configuration of the server for embedded operation as well as the API’s will be discussed. If time permits an embedded application will be built and demonstrated during this session.

T05: Portlet Development using JSR-168

Speaker: Noel Bergman
Categories: Java, New Technologies, Web Services
Intended Audience: Developer - Experienced

Portals provide standardized delivery of personalized and aggregated content. Portlets are the key to developing portals, and JSR-168 provides the first standard Portlet API for Java developers. This specification gives developers the same ability to build a common marketplace that the Servlet Specification provided for server-side web components. Presentation will include coverage of the standard API, examples of Portals to inspire attendees, use of Pluto/JetSpeed2, and some vendor extensions as permitted by JSR-168. Note: This tutorial will be an interactive tutorial. Attendees should bring a laptop with either USB or CD-ROM support, preferably with a current version of Apache Jetspeed-2 pre-installed, and be prepared to develop Portlet code throughout the course of the workshop.

T12: Struts on Steroids: Leveraging Bolt-On Components

Speaker: Jonathan Lehr
Categories: Case Study, New Technologies, Web Services
Intended Audience: Developer - Experienced

Learn how to design, build, and use powerful, coarse-grained components using the Struts framework in this intensive, hands-on tutorial. We'll integrate an available ListView component into an example application and then learn how to build a TreeView component from scratch. The ListView component will provide fully implemented pagination, sorting, filtering, selection management, styling, and drill-down for arbitrary columns defined in an XML config file. The TreeView will allow recursive nesting, and will support a config setting allowing it to switch between an AJAX update mode, and an update mode relying on the standard form submission/browser refresh cycle.

T13: Power PHP Testing

Speakers: Chris Shiflett, Geoffrey Young
Categories: Apache httpd, PHP
Intended Audience: Developer - Experienced

Admit it - deep down inside, you know you should be testing your PHP applications. With all of the different PHP test environments and the daunting documentation, sometimes it is difficult to know where to start. This tutorial will help. The first step in testing is deciding what to test, so we will begin by offering a very simple (but not contrived) PHP application with identifying elements that lend themselves to testing - both unit tests and functional tests. Next, we will write some real tests using several of the existing PHP testing frameworks, including PHPUnit, Simple Test, phpt, and Apache-Test. In all fairness, we are biased - we think Apache-Test is hands down the best testing environment for PHP applications, offering a rich set of test writing tools while also providing a pristine, self-contained, and automated testing environment. So, the bulk of the tutorial will be spent learning how to write tests using Apache-Test and exactly what it means to have such a powerful tool at your fingertips. Along the way, you will be learning standard, insightful testing idioms that are universally helpful, regardless of the framework or even the language being used. Not using PHP for web applications? Never fear - most of the techniques you will be learning apply to the command-line PHP interface as well. But, for the unconvinced, we will be showing how to apply what you have learned to stand-alone scripts as well. All in all, you will leave this tutorial with some real-world testing skills that you will find immediately applicable to your day-to-day PHP work. And, you'll have some fun, too.

T14: Deep Comprehension of XPath and XSLT

Speaker: Cliff Schmidt
Category: XML
Intended Audience: Developer - Experienced

This tutorial starts by ensuring students really understand how XPath works. Combining a thorough look at the XPath data model with lots of illustrative examples, the instructor will arm students with the skills to design and debug the most complex XPath expressions. The tutorial then takes the same approach with XSLT by emphasizing the fundamental process model of XSLT with more examples. Finally, the remainder of the tutorial will describe most of the features of XSLT, including recursive use of named templates, sorting, grouping, combining multiple documents, and extension functions. This tutorial has been taught at several past conferences and never fails to leave students with a much deeper understanding of how XPath and XSLT work, drastically reducing future debugging time. During the three hours we will start with a simple, but insightful, Hello, World! example, followed by reviews of both the XPath and XSLT specifications. Numerous exercises and example will be provided throughout the talk to ensure students are able to apply concepts mentioned in the specs to the real world. We will also briefly discuss upcoming features in XSLT 2.0.

T15: Building Projects with Maven

Speaker: Eric Pugh
Categories: Build Tools, Java
Intended Audience: Developer - Novice

Maven is the first real competition to Ant in the Java build tools market, and Maven2 builds on that foundation. But Maven, with the concept of a Project Object Model, is much much more then just a build tool. Learn how Maven can provide a structure to drive the rest of your development environment. Learn how Maven compares to Ant. We'll dissect some different usages of Maven in some popular open source projects including Maven itself, XDoclet, and Geronimo. You'll leave knowing how to build ANY maven project, and how to confidently setup both basic projects as well as large multi project based builds.

T16: Taming Apache Cocoon

Speaker: Gianugo Rabellino
Categories: Java, New Technologies, XML
Intended Audience: Technical - Novice

Apache Cocoon is a very powerful framework providing solid solutions for a wealth of different scenarios, ranging from traditional web publishing to EAI. It has however a tendency to scare people away due to the impressive amount of code, components and configurations. This tutorial aims to dissipate any fear about Cocoon's daily use. By covering almost every aspect of Cocoon in a "teaching to fish" way, it will tell users how to: install, maintain and debug Cocoon; write efficient sitemaps; perform multi-channel publishing; use the Cocoon form framework; master the next web revolution: continuations and flowscript; extend Cocoon with custom components

T17: Building an Enterprise Portal with Apache Portals and Jetspeed-2

Speaker: David Taylor
Categories: E-Commerce, Java, New Technologies
Intended Audience: Developer - Experienced

This session is an introduction to standardized JSR-168 portlet development using open source projects from Apache Portals. Starting with an overview of the Apache Portals project, the top level projects at Apache Portals are briefly introduced (Jetspeed 1, Jetspeed 2, Pluto, Bridges, WSRP4J, Graffito). Next, we present a tutorial on developing several portlet applications compliant to the Java Portlet Standard. The portlet applications will be based on technology found at Apache Portals including the Struts, PHP and Perl Bridges, SSO (Single Sign on) and Graffito (the CMS/Portal integration project). After deploying the portlets, we give a tour of the portlets running inside of the Jetspeed 2 enterprise portal, as well as an overview of the Jetspeed 2 features. In closing, we discuss the component architecture and integration possibilities of Jetspeed 2. (Roger Ruttimann and Ate Douma will be presenting the sections on bridges and SSO development.)

T18: Practical mod_perl

Speaker: Philip Gollucci
Categories: Apache httpd, New Technologies, Perl
Intended Audience: Developer - Novice

mod_perl 2.0 supports all the mod_perl 1.0 features and brings a whole lot of new functionality such as protocol and filter handlers, improved configuration access, threads support and much more. This tutorial will get you up to speed with the new features, in addition to reviewing the old ones.

T19: Accelerating Web Services Development with Axis2

Speaker: Deepal Jayasinghe
Category: Web Services
Intended Audience: Technical - Experienced

The first 10 people to register for this tutorial will receive a 50% scholarship courtesy of WSO2, making the cost of this tutorial $175 for the first 10 registrants. Please email delia@apachecon.com to ask about receiving a scholarship.

WSO2 will be awarding an iPod Nano to one randomly selected tutorial attendee. WS02 will also be holding a contest for the best patch and best code sample relating to Axis 2. An iPod Nano will be awarded at the end of the ApacheCon to each of the contest winners.


The Axis2 project is the successor of the Axis SOAP project. Going forward from the highly influential Axis project, Axis2 aims to become the new gold standard for SOAP stacks.The architecture of Axis2 is highly flexible and supports much additional functionality compared to Axis. Axis2 is build around an XML object model called AXIOM. AXIOM provides a JDOM like simple API with the underlying structures build on a deferred model via a StAX-based pull parsing API. Additionally AXIOM allows one to stop building the object model and to directly access the underlying parse stream. The architecture of Axis2 supports convenient integration of Web services protocol implementations such as Apache WSS4J and Sandesha. It also features a highly flexible model to support for MTOM.While Axis2 attempts to preserve as many concepts of Axis as possible, due to the radical architecture of Axis2, there are many changes. In this tutorial we will briefly discuss the architecture and then discuss how services can be implemented or invoked using Axis2.Examples of handlers and modules will also be given to explain the pluggable architecture of Axis2.

T21: Apache Geronimo for Developers

Speakers: Jeff Genender, Bruce Snyder
Categories: ASF, Database, Java
Intended Audience: Developer - Experienced

Apache Geronimo is the newest certified J2EE implementation on the market and developers need a jumpstart guide to ramp up as quickly as possible. Understanding how to exploit the features of Geronimo is key in becoming productive. Some of the most common issues for developers surround the configuration of services within the application server. A few of the most common services include JDBC pools, JMS topics and queues, logging and security. In addition to configuration, the deployment of enterprise applications, web applications is also critical and somewhat different in Geronimo. This session will demonstrate how to configure some common services in Geronimo as well as how to deploy applications in Geronimo. After attending this session, developers should be able to begin using Geronimo for application development and become part of the Geronimo community.

T22: Rapid application development with Maven and Turbine

Speaker: Henning Schmiedehausen
Categories: Build Tools, Java, Web Services
Intended Audience: Developer - Experienced

As foundation of the Apache Jetspeed project, Jakarta Turbine has a long proven track record as the base of successful portal and content management applications. The current version of Turbine is well suited for rapid prototyping of web applications and deploying them in a servlet container. This talk gives an overview of the features and the facilities that Turbine offers to web application developers, demonstrates the usage of Jakarta Maven as an integrated build tool to rapid prototype a small web application and shows the integration with other Jakarta projects like Velocity and Torque.

T24: SpamAssassin Tutorial

Speaker: Daniel Quinlan
Categories: Perl, Spam
Intended Audience: Technical - Experienced

SpamAssassin is perhaps the most widely deployed anti-spam tool in the world and has long been the gold standard for spam filters. It's open source, extensible, flexible, and very effective. This tutorial will give you the tools you need to make SpamAssassin work well for your site and your users. Topics covered will include: how SpamAssassin works and the SpamAssassin filtering model, SpamAssassin installation and set-up, writing your own rules, debugging problems, analysis and diagnostics, optimizing SpamAssassin performance, the development process, and how to get involved. Also discussed will be current anti-spam best practices that are important for both senders and receivers of email.

T18: Practical mod_perl

Speaker: Philip Gollucci
Categories: Apache httpd, New Technologies, Perl
Intended Audience: Developer - Novice

mod_perl 2.0 supports all the mod_perl 1.0 features and brings a whole lot of new functionality such as protocol and filter handlers, improved configuration access, threads support and much more. This tutorial will get you up to speed with the new features, in addition to reviewing the old ones.

T26: Subversion Tutorial

Speaker: Brian Fitzpatrick
Category: New Technologies
Intended Audience: Technical - Novice

This tutorial will cover the details of using Subversion in open source development, including making the transition from CVS, Subversion's differences from CVS, and finally, using Subversion features not found in CVS. The latter part of the tutorial will focus on more advanced features such as branching and merging as well as how to leverage these capabilities in a collaborative environment. The ASF is in the process of converting its CVS repositories to Subversion, so be sure to come and get a jump on this excellent new tool!

PL01: Opening Plenary

Speaker: Ken Coar
Intended Audience: Business - Novice

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

KN01: Keynote by Cory Doctorow

Speaker: Cory Doctorow
Category: New Technologies
Intended Audience: Business - Novice

The entertainment industry has conceived of a plan: it will protect its business model by making devices and code that obey music and film companies, instead of their owners. Naturally, all of these tools need to be designed to be "tamper resistant" and backed up with laws that prohibit lifting the hood and tinkering with what's on the inside. Between Trusted Computing, the Broadcast Flag, the Broadcast Treaty and global initiatives like DVB CPCM, we're steaming towards a world where writing code that's intended to be modified by its users will turn into a felony. Get mad, get active and get results: we can kill this now, if we wake up and take action.

PL02: Panel: Inside Apache

Speaker: Lars Eilebrecht
Categories: ASF, Community
Intended Audience: Business - Novice

A panel discussion among various officers and directors of the Apache Software Foundation. Topics discussed will include the current status of the Apache Software Foundation, recent news about the ASF and its many projects.

The panel will start with a short presentation by Greg Stein, the chairman of the Apache Software Foundation.

Panellists:

MO01: What's new in Apache HTTP Server 2.2

Speaker: Paul Querna
Categories: Apache httpd, New Technologies
Intended Audience: Technical - Novice

Apache HTTP Server 2.2 is an incremental improvement over 2.0, focusing on new features. Authentication and Authorization has been refactored, allowing combinations that were previously impossible. Improvements in HTTP Caching and the new Event MPM can provide even better performance. The Proxy modules have been revamped, and now support Load Balancing and native Tomcat/AJP Proxying. mod_ssl added support for TLS Upgrade within HTTP and a builtin distributed SSL Session Cache.

MO02: Apache Harmony

Speaker: Geir Magnusson Jr.
Categories: ASF, Community, Java
Intended Audience: Technical - Experienced

Apache Harmony is an incubating Apache project with two goals: first, to create an open source, compatible implementation of J2SE 5 under the Apache License, and second, to create a broad community around open source J2SE to create a modular implementation architecture. This talk will focus on the state of the project, and near and long term project roadmaps.

MO03: Apache Containers

Speaker: Henning Schmiedehausen
Categories: Java, New Technologies, Web Services
Intended Audience: Technical - Experienced

Containers and component based architectures are the most recent trend in Software development. The Apache Software Foundation offers various containers which differ in maturity, feature sets and fields of application. This talk gives an overview featuring Excalibur (mature, IoC, Avalon based), Oscar (in incubation, OSGi R4 spec) and YAAFI (stable, IoC from the Jakarta Fulcrum project).

MO04: The Zen of Free: Deriving a General Model for Open Source

Speaker: Simon Phipps
Categories: ASF, Community, E-Commerce
Intended Audience: Business - Novice

When people say "open source is fine but how do you make money?" you know they haven't grokked the Zen of Open. This keynote describes the 'virtuous cycle' model of open source. It explores which licenses and business models work and which don't, what the 'signature triangle' of an open source community looks like and why open source advocates aren't communists.

MO05: Intro to WebDAV

Speaker: Rich Bowen
Category: Apache httpd
Intended Audience: Technical - Novice

WebDAV allows for file transfer on top of HTTP. This can be used to manage web content, as a replacement for FTP, or even as a network file system. We will talk about how to install and configure mod_dav on Apache HTTPd, and what tools are available for managing content over DAV.

MO06: Introducing Apache Gump 3

Speaker: Leo Simons
Categories: Build Tools, Java, Python
Intended Audience: Technical - Novice

An introduction to Apache's continuous integration server. Apache Gump is a python-based program that is responsible for nightly compilation of the majority of the ASF source code, linking the very latest development versions against each other. This talk starts with a review of continuous integration concepts and then provides an overview of Gump's unique features and architecture. We'll take a look at how to set up a gump installation. After that we'll focus on what you need to know to get your project (whether its build system is based on make, Apache Ant, Apache Maven or something else) built by gump, guided by plenty of examples. No specific programming experience is required besides familiarity with one or more build management tools such as Ant.

MO07: Portals@Apache: Standards and the Portals Projects

Speaker: Carsten Ziegeler
Categories: E-Commerce, Java, New Technologies
Intended Audience: Technical - Novice

In the last years the interest for portals has increased. Two standards for developing portals are a key factor: the JSR 168 (Java portlet API) and WSRP (Web Services for remote portlets). This session introduces these standards and shows their potential. The second part of this session presents an overview over several portal related projects at Apache: the Apache Portals Project is hosting most portal related projects like Jetspeed, Pluto, WSRP4J, Bridges - but of course other projects like Cocoon or Struts are included as well. You will get an overview helping you in choosing the best Apache open source solution for your portal project.

MO08: Open Source for Business and Profit

Speaker: Jim Driscoll
Categories: Case Study, E-Commerce
Intended Audience: Business - Experienced

Jim Driscoll, manager of Sun's GlassFish Project, will discuss the process of Open Sourcing existing projects for a major corporation. Topics include selling the concept, determining ROI, and when to go FOSS and when not to go FOSS. Additional topics will include external marketing of a newly FOSS'd project, creating and selling the new FOSS processes to internal engineering, and setting up credible governance structures. We'll also briefly touch on license choices. Specific choices that Sun has made for it's Open Source projects will be used for examples.

MO09: Clustered logging with mod_log_spread

Speaker: Theo Schlossnagle
Category: New Technologies
Intended Audience: Technical - Novice

Logging is one of the most commonly overlooked aspects of managing web architectures. Logs provide crucial information on traffic, trends, visitors and, most importantly, unexpected behaviour. Troubleshooting malfunctions and understanding trends in real-time is much more difficult in a clustered environment. A concise, unified logging infrastructure is crucial. This session will introduce mod_log_spread and the glorious things that can be done with it.

MO10: Roller: An Open Source Blogging Platform

Speaker: David Johnson
Categories: Community, Java, New Technologies, Web Services
Intended Audience: Technical - Experienced

Roller is the open source Java blog server that drives the popular blogs.sun.com, jroller.com and numerous other blog sites. Currently making its way through the Apache incubation process, Roller is built on a host of Apache technologies including Struts, Velocity, Lucene, Jakarta Commons, XML-RPC and more. This overview, a primer for Roller users and contributors, covers the Roller feature set, architecture, lessons learned, project status and future plans.

MO11: Embedding Apache Pluto

Speaker: David DeWolf
Categories: ASF, Java, New Technologies
Intended Audience: Developer - Experienced

Apache Pluto is the reference implementation of the java portlet specification (JSR-168). This session introduces Pluto's container architecture and discusses how to embed pluto into a web or enterprise portal in order to provide support for JSR-168 compliant portlets. The session will explore projects such as Geronimo and Jetspeed as examples of applications which embed pluto in order to provide portlet support.

MO12: Behind the Scenes of the Apache Software Foundation (Part 1)

Speakers: Lars Eilebrecht, Cliff Schmidt
Categories: ASF, Community
Intended Audience: Business - Novice

This presentation will give you everything you always wanted to know about the Apache Software Foundation (ASF), but were afraid to ask. It will show you that there is more than just the Apache web server, and provide you with information on how the ASF works. The difference between membership and committership, who decides what, how elections take place, the technical infrastructure, project management committees, and the philosophy behind the incubator. Come and see behind the scenes of the Apache Software Foundation and its many projects.

MO13: URL Mapping

Speaker: Rich Bowen
Category: Apache httpd
Intended Audience: Technical - Novice

When a request is made to your Apache Web server, Apache goes through several steps to figure out what content it is going to give you in response. This talk focuses on three aspects of this process: Directory indexing, which is the process of Apache delivering a default document from a directory, or a listing of the files in that directory; Content negotiation, which is a grossly underused feature that allows you to serve different content to different users, depending on their preferences; and URL rewriting, implemented by mod_rewrite, which is the process of modifying a URL as it comes in. Other aspects of URL mapping include Alias, ScriptAlias, Location, ErrorDocuments, and Redirect directives, which will be covered in passing on our way to the other topics.

MO14: Advanced Lucene

Speaker: Grant Ingersoll
Categories: Case Study, Java
Intended Audience: Technical - Experienced

Lucene is a high performance, scalable, cross-platform search engine that contains many advanced features that often go untapped by the majority of users. In this session, designed for those familiar with Lucene, we will examine some of Lucene's more advanced topics and their application, including:

  1. Term Vectors: Manual and Pseudo relevance feedback; Advanced document collection analysis for domain specialization
  2. Span Queries: Better phrase matching; Candidate Identification for Question Answering
  3. Tying it all Together: Building a search framework for experimentation and rapid deployment
  4. Case Studies from CNLP: Crosslingual/multilingual retrieval in Arabic, English and Dutch; Sublanguage specialization for commercial trouble ticket analysis; Passage retrieval and analysis for Question Answering application

    Topics 1 through 3 will provide technical details on implementing the advanced Lucene features, while the fourth topic will provide a broader context for understanding when and where to use these features.

MO15: Apache James - The Java Mail Server

Speaker: Henning Schmiedehausen
Category: Java
Intended Audience: Technical - Experienced

The Java Apache Mail Enterprise Server (a.k.a. Apache James) is a 100% pure Java SMTP and POP3 Mail server. This talk introduces the James Server and shows its unique Mailet API which can be used to build custom mail processing pipelines in pure Java. Based on Apache Avalon technology, James can be configured and extended to match different project and product requirements.

MO12: Behind the Scenes of the Apache Software Foundation (Part 1)

Speakers: Lars Eilebrecht, Cliff Schmidt
Categories: ASF, Community
Intended Audience: Business - Novice

This presentation will give you everything you always wanted to know about the Apache Software Foundation (ASF), but were afraid to ask. It will show you that there is more than just the Apache web server, and provide you with information on how the ASF works. The difference between membership and committership, who decides what, how elections take place, the technical infrastructure, project management committees, and the philosophy behind the incubator. Come and see behind the scenes of the Apache Software Foundation and its many projects.

MO17: Introduction to mod_rewrite

Speaker: Rich Bowen
Category: Apache httpd
Intended Audience: Technical - Novice

mod_rewrite is one of the most powerful, and least understood, modules that come with Apache. This talk will introduce you to the process of crafting a rewrite rule, using many examples and common problems. After this session, rewrite rules will be scientific formulae, rather than magical incantations.

MO18: State of the Web Services Union

Speaker: Davanum Srinivas
Category: Web Services
Intended Audience: Technical - Experienced

Web services are moving from the disruptive technologies category to the main stream IT must-have category. So the challenge is how to keep up with traditional vendors and offer a cutting-edge platform at the same time for various scenarios. We will look at the evolution of the projects at ws.apache.org, their currrent status, future plans. Discuss decisions that led to where we are. Talk about paths that lay ahead and how to get there. We will also cover topics like how we try to keep the community together, how we allow room for experiments, how to band together and cut releases etc as well.

MO19: Apache MyFaces - Open Source JavaServer Faces

Speaker: Matthias Wessendorf
Categories: Java, New Technologies
Intended Audience: Developer - Novice

JSF (JavaServer Faces) is now a well-known and widely accepted standard in the J2EE landscape. If you are still wondering what JSF is and how it can be used to build robust and easy to maintain applications for the web this presentation is for you. JSF is introduced with a discussion of what it is and how it works. You will understand why we have JSF as well as how it works. Next up we cover the Apache MyFaces implementation of JSF and some of the really cool extras you get from using MyFaces. These extras are fileupload, tree, calendar, scrollable and sortable table, ajax components and custom validators, to name only some. Also there is built in support for Tiles, which allows you to compose web pages niftily. Another big plus is support for Cell Phones through its WML RenderKit. Since JSF is not bound to the servlet world, you’ll see how to use MyFaces applications inside of a JSR 168 portlet container. This session is supported with lot’s of examples to demo the cool things you can do with JSF and MyFaces. Attendees will discover JSF and how to use it practically to build web applications.

MO20: Your Open Source Strategy Sucks!

Speaker: Gianugo Rabellino
Categories: ASF, Case Study, Community, New Technologies
Intended Audience: Business - Novice

Open Source in corporate environments is much more than grabbing a package and installing it. Even in Open Source, "failing to plan is planning to fail": learn how you can make the most out of your Open Source experience by finding out how to persuade your boss that Open Source is a good thing, how to identify the right Open Source solutions to your needs and how to participate in online communities and get all the support you need. This talk will try to give the audience an overview of the most used Open Source business models and provide a few hints to avoid pitfalls.

MO21: Power Regular Expressions

Speaker: Neal Ford
Categories: Java, New Technologies, PHP, Perl, Python, Ruby
Intended Audience: Developer - Experienced

Regular expressions should be an integral part of every developer’s toolbox, and have existed for decades, but many developers don't understand how important regular expressions are, or how to take full advantage of this powerful mechanism, either through command line tools, editors, or in their development. This session shows how to fully exploit regular expressions. The session covers regular expressions from the beginning through to advanced usage, both in Java and in tools that support regular expressions. We will begin with the basic premise of how regular expressions work, then show how to take advantage of the RegEx libraries built into Java and other platforms. Along the way, we will cover how to use wildcards, escape characters, meta-tags, character class operators, look-aheads/look-behinds, and how to use the "greedy operators" effectively. This session is packed with real examples of regular expressions (including a game show with no fabulous prizes).

MO22: Introduction to Mod_Python

Speaker: Gregory Trubetskoy
Category: Python
Intended Audience: Developer - Experienced

Mod_python is an Apache module that embeds the Python interpreter within the server. Mod_python provides a highly scalable and powerful Python-based foundation for developing web-based applications. This talk will discuss the mod_python project and provide simple examples of using mod_python's essential features. Having attended this presentation you should be well on your way to understanding and being able to use mod_python.

MO23: AJAX in Apache MyFaces

Speaker: Gerald Müllan
Categories: ASF, Java, New Technologies, Web Services, XML
Intended Audience: Developer - Experienced

AJAX (Asynchronous JavaScript and XML) is a new, very interactive and dynamic techonology to build web applications. With AJAX, you load only parts of a page upon a request, and leave the other parts of the page unchanged. This session covers the basics of AJAX and its inclusion in JavaServer Faces. It goes on demonstrating the AJAX components Apache MyFaces brings along and how to use them in highly interactive web-applications. Finally, it outlines the technology to build your own AJAX components for JSF and Apache MyFaces.

MO24: Business Tips for the Open Source Consultant

Speaker: Will Glass-Husain
Categories: Case Study, Community
Intended Audience: Business - Novice

Many open source gurus fund their work by opening a one person consulting shop. They quickly find out that technical expertise is important but only one piece of the puzzle. This session will provide a whirlwind tour of how to build a successful consulting business. First - the philosophy. We will discuss the essentials: how to provide top-notch service, get repeat business, and keep costs low. Second - tips and techniques. This includes how to bid and price a project, what to include in a contract, how to communicate with a client and how to handle disputes. Third - when to expand. Namely, the pros and cons of hiring or partnering with other people. As a whole, you will gain insights in how to use your expertise to make customers happy and earn a great living.

TU01: Single Source Publishing with Apache Forrest

Speaker: Ferdinand Soethe
Category: XML
Intended Audience: Business - Novice

Apache Forrest harnesses the power of Apache Cocoon to build a single source publishing framework, based on common standards (xml). It is easy to use and extend to suit a wide variety of publishing needs. Learn how to get started with Forrest in few easy steps. A closer look at the design concepts behind Forrest. See that it can be easy to publish a single document to very different target media (Web, print, speech, presentation slides) and in a consistent and uniform way. Find out about 'smart' slide presentions you can create with Forrest. Take a tour of input-plugins for MS-Office, OpenOffice and other common formats learning how to integrate different document- and data sources in a common corporate design. Discover Forrest's potential to quickly embed dynamic data from local and remote systems.

TU02: Why Axis2: The Future of Web Services

Speakers: Saminda Abeyruwan, Eran Chinthaka
Category: Web Services
Intended Audience: Technical - Novice

The Axis2 project, the successor of the Axis SOAP project, started with the goal of developing a next generation SOAP stack to serve as the core of the next generation Web services platform. The project released 0.92 version in August 2005, and the team is working hard towards a stable v1.0. Axis2 is centered around a high performance object model called AXIOM and is designed to be a very flexible SOAP engine supporting document-oriented, asynchronous communications as well as traditional RPC-style interactions. Axis2 has been carefully designed to allow other modules, such as Apache WSS4J (implementation of WS-Security, Secure Conversation and Trust) and Apache Sandesha (implementation of WS-Reliable Messaging) to be built on top of it and very easily integrated. This session will present the key concepts of the Axis2 architecture and provide insight into the next generation of Apache SOAP stacks.

TU03: New (and old) Trends in Web Application Security

Speaker: Christian Wenz
Category: Security
Intended Audience: Developer - Novice

There is material (articles, books, talks) about security everywhere, however this does not seem to help; new vulnerabilities in web applications are found every week. One possible explanation for this: most of us have been through boring presentations about web application security, including lame demos that do not frighten anyone. So this presentation uses a different approach: Old hacking attempts with demos that really hurt, and new innovative attempts to attack sloppy code. If you have been to this session, you really want to do that overdue security audit of your website.

TU04: XML at the ASF: The XML, WS, and Cocoon Projects

Speaker: Ted Leung
Categories: Java, XML
Intended Audience: Technical - Novice

This session is an introduction to the ASF projects available for working with XML. Each project will be covered with an overview and example application areas. For applicable projects, a brief demonstrations of the project will be included. Most of these projects are Java related.

TU05: Lenya and Jackrabbit Make a Fine Couple

Speaker: Michael Wechner
Categories: Database, Java, XML
Intended Audience: Technical - Novice

Despite the fact that Lenya offers various methods through Cocoon to connect to all kind of repositories, the data abstraction isn't as unified as would be desired. Here comes JSR-170 to the rescue. Jackrabbit is the reference implementation of JSR-170 and has been started as an incubation project in 2004. This session explains how Jackrabbit is and will further be integrated into Lenya. Examples will be given and hands-on experience described.

TU06: Apache Synapse and the Open Service Bus

Speaker: Paul Fremantle
Categories: Java, Web Services, XML
Intended Audience: Technical - Experienced

The Enterprise Service Bus - or ESB - is an approach for integrating different systems across a network. This session will cover an ESB based on pure open source and Apache code. It will cover how to acheive the three major aspects of an ESB: connectivity, mediation, and management. The session will explore the use of Apache code including Axis2 and AXIOM as the core of a high-performance, lightweight, integration framework. We will cover: how to integrate disparate systems; how to mediate messages, including using XSLT, XPath, scripting, and Java; how to manage and monitor ESBs; how to support security, reliability, and transactions; and how to create an ESB.

TU07: Apache 2 mod_ssl by example

Speaker: Mads Toftum
Categories: Apache httpd, Security
Intended Audience: Technical - Experienced

A series of practical examples aiming to teach the basics of securing a website with modssl. Topics include creating certificates, configuring Apache httpd, and a full blown example of using client certificates to create a secure extranet. Prior knowledge of setting up Apache httpd is necessary.

TU08: Intro to XSLT

Speaker: Chris J. Davis
Category: XML
Intended Audience: Technical - Novice

XSLT -Extensible Stylesheet Language Transformations, give you the ability to style and convert XML to any number of human readable formats including PDF, XHTML, et al. In this session we will cover XSLT syntax, CSS incorporation as well as take a look at some of the tools available for converting XML using XSLT.

KN02: Keynote by Tim Bray

Speaker: Tim Bray
Category: New Technologies
Intended Audience: Business - Novice

Apache sits at the center of the Web ecosystem, and the Web increasingly occupies a central position in society's technology and communication repertoire. So, the world affects Apache, and Apache affects the world, in a large number of ways. This year, on the technology side we're seeing action around new kinds of hardware and software, and on society's side, the hot action is around the explosion of the blogosphere and its long tail. This talk will pick out a few of these strands and identify some key things in the world that Apache should focus on, and some things around the Web that society should focus on.

TU09: Cosmo and CalDAV: Open Source, Standards-based Calendar Sharing

Speaker: Lisa Dusseault
Categories: Case Study, Java, New Technologies
Intended Audience: Technical - Novice

CalDAV is the latest attempt to standardize the communication between calendar clients and servers. Based on Apache's Tomcat and Jackrabbit projects, Cosmo (OSAF's calendar and sharing server) allows people to interoperably read and write each others' calendars with applications such as OSAF's Chandler, Apple's iCal and Mozilla's Lightning and Sunbird. Join us to learn more about CalDAV and how you can operate and even contribute to the development of an open source, standards-based calendar server for your family, community, workgroup or enterprise.

TU10: Dealing with Enterprise Database Challenges In OO Applications

Speaker: Clinton Begin
Category: Database
Intended Audience: Technical - Experienced

This presentation will focus on database challenges that object oriented developers often face in an enterprise environment. Object Relational Mapping (ORM) tools are not ideal for all databases, and therefore alternatives must be sought. In this discussion, we’ll focus on using the iBATIS Data Mapper to achieve similar advantages as provided by an ORM tool, but without some of the complications that can arise from an object relational mapping approach. The iBATIS Data Mapping framework is a popular alternative to ORM tools, while being a complementary addition to any architecture.

TU11: Secure Web Gateway with mod_security and mod_proxy

Speaker: Kiran Mendonce
Categories: Apache httpd, Security
Intended Audience: Technical - Experienced

With the growing attacks on the servers, especially web servers, there is a need for a secure web gateway for a site hosting multiple web servers. Application gateways provide more control and flexibility as they understand the application protocol. This session describes how a secure software gateway can be built with Apache using modules mod_security and mod_proxy. This also discusses the future work that could be done to enhance the features to provide more robust features such as handling other protocols like FTP and SMTP.

TU12: Pragmatic XML Security

Speaker: Hans Granqvist
Categories: Security, Web Services, XML
Intended Audience: Developer - Experienced

This session discusses various aspects of XML security. From the origins of XML, encryption, and signing, it goes on to cover WS-Security and how it is used in practice. For each complexity introduced, real-world code solutions will be shown. The session will use Apache TSIK, a Java toolkit currently in ASF incubation, for all examples. The emphasis is on giving practical information to solving real-world problems with XML security.

TU13: Cocoon - One Hour Portal

Speaker: Carsten Ziegeler
Categories: Java, New Technologies, XML
Intended Audience: Technical - Novice

Apache Cocoon is the ideal solution for integrating different data sources, while, at the same time, providing the information to different devices in different formats. You will get an overview of building portal applications with Cocoon and get an insight on the portal architecture. The Cocoon portal supports the standards, JSR 168 and WSRP, and provides more functionality like portlet communication and integrating complete applications as a portlet.

TU14: Introduction to MINA

Speaker: Trustin Lee
Category: Java
Intended Audience: Developer - Experienced

Apache MINA (A Multipurpose Infrastructure for Network Applications) is a Java network application framework that enables users to develop stable and high-performance network applications rapidly. MINA is ideal for developing protocol servers such as LDAP, SMTP, HTTP, Kerberos, and many more. In this session, the lead developer of the project explains what MINA is and how MINA can help you to implement simple and complex protocols. An overview of MINA patterns and constructs will be discussed to kick-start attendees so they can begin to use MINA.

TU15: Apache authentication

Speaker: Rich Bowen
Categories: Apache httpd, Perl
Intended Audience: Technical - Novice

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.

TU16: Java-XML Binding Approaches at Apache

Speaker: Thomas Dudziak
Categories: Java, XML
Intended Audience: Developer - Experienced

In this session, we will give an introduction into the possible approaches to binding Java objects and XML documents in general, when they are applicable and what are their pros and cons. Additionally, the Java-XML binding projects in Apache (commons-betwixt (with commons-digester), JaxMe, and XMLBeans) will be presented including short, concise samples of how they are used.

TU17: Cocoon Blocks

Speaker: Daniel Fagerstrom
Categories: New Technologies, Web Services, XML
Intended Audience: Developer - Experienced

The Cocoon community is working hard on the next generation of Cocoon. The most important improvement is that most of the functionality will be packaged in so called blocks. The blocks architecture is built on the application framework OSGi, which also is used as the basis for the plugin architecture in Eclipse 3. A block can contain libraries and resources. At a higher level, blocks can contain reusable components. It will be possible to choose what component framework to use for each block, so that one block can contain e.g. Spring managed components and another Pico managed ones, that can cooperate seamlessly. What is maybe most exciting is that a block can contain a whole extensible web application. This will lead to a new level of application reuse. An application can be built by extending an application block and by just overriding the resources that needs to be modified. This is analogous to extension in object oriented languages. The blocks based Cocoon will put an end of todays huge download, you just download a small Cocoon core and use a deployment tool to download, configure and install the blocks that your application happens to need. In the talk the new architecture will be described and examples will be given on how applications can be devloped with the new tools.

TU18: (A) Maven is Your Friend

Speaker: Carsten Ziegeler
Categories: Build Tools, Java, XML
Intended Audience: Technical - Novice

A main task in software development is building and managing your project. Maven is a very powerful tool that takes care of many reoccuring tasks. Instead of writing a build script for your project, you simply describe the project (location of sources, documentation and unit tests; library dependencies etc). Based on this description Maven provides a variety of tasks - including web site generation with metrics about your source and results of unit tests. This session gives an introduction into Maven and it's possibilites. At the end of the session, you will know under which circumstances using Maven increases your productivity and when other build tools might be better suited.

TU19: New Modular Authentication Architecture in Apache 2.2

Speaker: Brad Nicholes
Categories: Apache httpd, New Technologies, Security
Intended Audience: Technical - Experienced

If you have taken a look at Apache 2.2 lately, you have probably noticed the addition of a number of new authentication modules. In reality the number of authentication methods haven't changed, they have just been rearchitected to provide much more power and flexibility. What used to be a single authentication module in Apache 2.0 has been broken down into authentication types, providers and authorization methods. Now rather than being stuck with a single authentication module, you can mix and match the type of authentication with various providers and authorization methods. In fact with the new mod_authn_alias module you can create your own custom providers and reuse them anywhere within your configuration. This presentation will show you what you need to know about the new authentication module architecture and how to configure it in ways that were previously not possible.

TU20: Struts 2006: An Embarrassment of Riches

Speakers: Don Brown, Ted Husted, Patrick Lightbody
Category: Java
Intended Audience: Developer - Novice

Apache Struts is a hotbed of activity. Struts Classic 1.3, Struts Shale, Struts Ti, Struts OverDrive. Why so many frameworks? How are they different? Why are they all called Struts? Which is the best choice for my next project? In this session, we step back and look at Struts through a wide-angle lense.

TU21: Slicing and dicing REST with Apache Cocoon

Speaker: Gianugo Rabellino
Categories: Java, New Technologies, Web Services, XML
Intended Audience: Technical - Experienced

REST is becoming more and more important as the down-to-earth web services alternative that "just works". The REST world is generally built upon web based infrastructures that produce and consume XML, and Cocoon is a top notch web application leveraging all the latest and greatest in XML technologies. As a result, REST and Cocoon fit like hand in glove. This talk will guide the audience through theory and practice in using REST technology, including a number of real life examples showing how powerful the Cocoon/REST combination can be.

TU22: Extending Apache SpamAssassin using Plugins

Speaker: Michael Parker
Categories: New Technologies, Perl, Spam
Intended Audience: Technical - Experienced

The plugin architecture in Apache SpamAssassin allows for near unlimited growth in SpamAssassin's capabilities. This session will discuss some of the common plugin hooks and how to create and use plugins with Apache SpamAssassin. In addition, we'll cover some example plugins to tackle existing problems or feature requests people are having today.

TU23: Secure Single-Sign-On with Apache Directory and Apache Kerberos

Speaker: Enrique Rodriguez
Categories: Case Study, Security, Unix, Windows
Intended Audience: Technical - Experienced

The lead developer of the Kerberos protocol provider for the Apache Directory will discuss the use of Apache Directory as a "realm controller" for Linux and Windows machines. This talk will provide an overview of the Kerberos and Change Password protocol workflow. Significant time will be spent on the configuration of trust relationships and the configuration of both Linux and Windows machines to use Apache Directory as a Key Distribution Center (KDC). Hint: those attending this session should be interested in network authentication ("single-sign-on") using Kerberos realms. Prior experience with Kerberos is recommended.

TU24: Shale: The Next Struts?

Speaker: Craig McClanahan
Categories: Java, New Technologies, Web Services
Intended Audience: Developer - Experienced

Come and get an early look at the next generation of web application frameworks. One that is based on the recenty standardized JavaServer Faces APIs, and focuses on adding value, rather than redundantly implementing features that JSF already provides. Shale will run on any compliant JSF implementation, including the one being developed by the Apache MyFaces project. It also includes many features that Struts users appreciate, such as supporting client side validation and the Tiles framework.

PL03: ApacheCon Lightning Lottery Talks and a Movie

Speakers: Brian Fitzpatrick, Wilfredo Sanchez, Omar Tazi
Categories: ASF, Apache httpd, Build Tools, Case Study, Community, Database, E-Commerce, Java, New Technologies, PHP, Performance, Perl, Python, Ruby, Security, Spam, Unix, Web Services, Windows, XML
Intended Audience: Technical - Experienced

Omar Tazi will begin the evening speaking about how to make sense of pragmatic SOA - beyond the buzzword - and share with the audience some fundamental challenges with respect to realizing SOA-based projects and best practices to address them.

The informal Lightning Talks will then give Speakers 30 seconds notice to give a 5 minute talk on a topic of their choice. Topics can be of any sort so long as there is a relation to the ASF or to ASF projects.

The evening will wrap up with the world premier screening of "FUD", the documentary filmed at OSCOM 4 and ApacheCon US 2004 and directed by Apache Lenya creator Michael Wechner.

WE01: Scalable Apache for Beginners

Speaker: Aaron Bannert
Categories: Apache httpd, Performance, Unix
Intended Audience: Technical - Novice

As computers become cheaper, websites are being deployed on increasingly powerful systems. Taking advantage of these high-powered systems is crucial to the success of any deployment. Since Apache is one of the most versatile web servers available, the default configuration rarely works well for a production environment right out of the box. However, minor configuration changes often result in huge performance benefits. In this session we will jump right into Apache configuration and identify performance-related directives. We will also look at how operating systems affect performance, discuss ways to monitor the health of your system and troubleshoot common problems, and look at some tools for measuring your site's performance. Benefits and tradeoffs of both Apache 1.3 and 2.0 (including the multithreaded "worker" MPM) will be presented, as well as some next-generation improvements that lie ahead. Strategies for dealing with static and dynamic site content will be discussed. Various load balancing strategies for improving reliability and site performance will also be explored. This session is applicable to the novice and intermediate website administrator.

WE02: PHP and Unicode: A Love at Fifth Sight

Speaker: Andrei Zmievski
Category: PHP
Intended Audience: Technical - Experienced

Historically, PHP has provided only marginal support for multilingual text processing and i18n. This session covers the work being done on the native Unicode support in PHP, based on the ICU library. We will cover language changes and enhancements, migration issues, examples, and future directions.

WE03: J2EE Development with Apache Geronimo

Speaker: Aaron Mulder
Categories: Database, Java, Web Services, XML
Intended Audience: Developer - Experienced

This session introduces Geronimo from the perspective of a J2EE developer. Do you have experience developing J2EE applications, but no idea how to get started with Geronimo? Or perhaps wondering whether you about the roles of Tomcat and Geronimo? We'll cover the Geronimo server's features, installation and management, deployment plan syntax, included tools, debugging options, and more. Specific development topics include configuring and deploying web applications, database connection pools, security realms, EJBs and CMP, JMS connections and destinations, and web services. We'll also look at the logs, the management console, how to hook Geronimo up to your build scripts and IDE for deployment and debugging, and how to hook Geronimo up to the Apache Web server to handle dynamic content.

WE04: From CGI to mod_perl 2.0, Fast!

Speaker: Philippe M. Chiasson
Category: Perl
Intended Audience: Developer - Novice

This session will give Perl CGI writers a crash course in porting existing CGI code to mod_perl-2.0 Learn about the benefits of mod_perl vs. plain CGI scripts. Discover the differences and peculiarities of Perl code running under mod_perl. See the various ways in which CGI scripts can be made to run under mod_perl as well as the multiple new kind of runtime-errors and common conversion pitfalls. Hear about ModPerl::Registry and ModPerl::PerlRun, 2 CGI accelerating modules. See how ab can be used to quickly measure speed improvements.

WE05: HTTP Caching and Cache-busting for Content Publishers

Speaker: Michael Radwin
Category: Apache httpd
Intended Audience: Technical - Experienced

Large web sites need to provide a personalized experience while keeping page-download times and bandwidth costs low. Radwin discusses when to use and when to avoid HTTP caching, and how to employ cache-busting techniques most effectively. Radwin also explains the top 5 caching ad cache-busting techniques for content publishers.

WE06: Large-Scale PHP

Speaker: Rasmus Lerdorf
Category: PHP
Intended Audience: Developer - Experienced

PHP has become amazingly popular due to its simple pragmatic approach to solving the web problem. The web problem has been changing and there is a lot of talk about Web 2.0 and the Programmable Web. PHP is more relevant than ever as people are combining web service components to build large-scale rich AJAX-driven web applications. In this talk Rasmus will cover the basic building blocks PHP 5 provides for building these rich applications and show plenty of interesting examples along the way.

WE07: Building Highly Available Applications with Geronimo and Derby

Speaker: Emmanuel Cecchet
Categories: Database, Java, Performance
Intended Audience: Technical - Experienced

In web application, the database usually becomes the performance bottleneck as well as a single point of failure. This talk will show you how to build end-to-end highly available web applications using Geronimo, Derby and Clustered JDBC (c-jdbc.objectweb.org). It will also discuss how to build highly available embedded Apache Derby applications and how to use C-JDBC as an open source driver to replace the IBM DB2 JDBC Universal Driver for Derby for a completely open source configuration. C-JDBC provides clustering techniques at the JDBC level and can be used in two different configurations with Apache Derby. Further, C-JDBC does not require changes to your existing database application. We will present different Geronimo, C-JDBC and Derby configurations offering various application usages with associated performance, fault tolerance and availability tradeoffs. The session will also feature a demonstration of C-JDBC’s administration tools using the xPetstore demo running with Geronimo. Involved technologies are Apache Geronimo, JDBC, C-JDBC, Apache Derby and JMX (for admin).

WE08: mod_perl for Speed Freaks!

Speaker: Philippe M. Chiasson
Categories: Apache httpd, Perl
Intended Audience: Developer - Experienced

This session will provide mod_perl users with various ways to identify and solve performance problems with mod_perl 2.0 application code. Covering a variety of tips and techniques including: persistent DB connections, cached DBI statements, reducing memory usage by deploying shared memory, module preloading techniques, avoiding importing of variables and global variables in general, forking and subprocess overhead, memory leakages detection and prevention, tuning Apache configuration directives for best performance by benchmarking the scripts, object method calls vs. functions, sending compressed HTML, performance of print calls and buffer flushing.

KN03: Open Forum with Dr. Wenn-Hann Wang - Open Source Development - A Platform Perspective

Speaker: Wen Wang
Category: Community
Intended Audience: Business - Experienced

Open Source development has enjoyed increasing popularity in the software community and has established credibility on multiple fronts. As open source increases its importance and technological coverage in main-stream software development, it has become common to look beyond the individual projects and towards aggregations, commonly referred to as 'the stack' or 'the platform'. Just as Apache communities are stronger than the sum of the individual contributors, open source platforms are stronger than the sum of their ingredient parts. This presentation reviews past successes and highlights important current projects and future opportunities, and challenges the Apache community to think about open source from the 'platform perspective'.

WE09: Hacking Apache HTTP Server at Yahoo!

Speaker: Michael Radwin
Categories: Apache httpd, Case Study, Performance
Intended Audience: Technical - Experienced

Since 1996, Yahoo has been running Apache HTTP Server on thousands of servers and serving billions of requests a day. This session reveals the secrets of how Yahoo gets maximum performance out of minimal hardware by tweaking configuration directives and hacking the source code. Radwin will cover topics such as reducing bandwidth costs, extensible logfile format and rotation schemes, dumping core gracefully, and how to avoid the dreaded MaxClients, Max/MinSpareServers, StartServers configuration nightmare.

WE10: Consuming Web Services Using PHP 5

Speaker: Adam Trachtenberg
Categories: PHP, Web Services
Intended Audience: Technical - Experienced

As we move into the world of Web 2.0, PHP developers must increasing include Web services in their toolkit of skills. This session covers how to implement REST and SOAP clients using the latest PHP 5 extensions, such as ext/soap, SimpleXML, and xsl. This is not an academic talk discussing theory and specifications. Examples show applications of popular Web services, including del.icio.us, eBay, and Google Maps. Don't be left behind. Come to this session and learn how to integrate Web services into your code.

WE11: Performance Analysis of Apache Derby

Speakers: Olav Sandstaa, Dyre Tjeldvoll
Categories: Database, Java, Performance
Intended Audience: Technical - Experienced

With Derby as an official Apache project, more people both within and outside of Apache will start using Derby as their database management system. In order to make Apache Derby a success it will be important that Derby provides the needed performance to the applications using it. This presentation gives a performance evaluation of Derby and discusses the following topics:

* Which factors determine the performance of Derby? An overview of the architecture of Derby and how it influences the performance is given.

* Tips & tricks for increasing the performance. An overview of some of the issues to consider when configuring the hardware, operating system, and the Derby database, as well as tips on how to program against Derby in order to maximize the performance will be presented.

* How does Derby compare to other Open-Source databases? We will present some performance data on how Derby compares to other open-source databases.

WE12: The Future of Open-Source OSGi

Speakers: Richard S. Hall, BJ Hargrave, Jeff McAffer, Enrique Rodriguez, Jason Van Zyl
Categories: Java, New Technologies
Intended Audience: Developer - Novice

The OSGi framework specification includes, amongst other things, a component model for Java. The specification has been around for a number of years and now in its fourth version. Recently the need for a modularity mechanism has come to the fore with JSR 277, the Apache Felix project, the Eclipse adoption of OSGi, etc. This panel explores the issues facing the Java community and open source implementations of OSGi by bringing together leaders from various open source projects (e.g., Maven, Apache Directory, Eclipse Equinox, Felix) and commercial adopter to expose their hopes, dreams and deepest fears.

WE13: Building Scalable Web Architectures

Speaker: Aaron Bannert
Categories: Apache httpd, Case Study, Performance, Unix, Web Services
Intended Audience: Developer - Experienced

Modern web architectures combine Open Source building blocks with increasingly powerful commodity hardware to achieve massive scalability. How do they do it? This talk will examine some common LAMP and LAMP-like architectures, cover performance tips and tricks, and discuss common pitfalls, all with real-world examples. Powerful troubleshooting tools and techniques will also be discussed. Building blocks discussed will include Linux/FreeBSD/OpenSolaris, Apache/Squid, PHP/Perl/Python/Java, Memcache/Spread, and MySQL/PostgreSQL. The discussion will cover a wide range of technical detail which should benefit both the beginner as well as the experienced LAMP architect.

WE14: Ruby for Java Developers

Speaker: Neal Ford
Categories: Java, Ruby
Intended Audience: Developer - Experienced

Why would any self-respecting Java developer care about Ruby? And why does everyone keep talking about it? This session answers these questions and more. Ruby is a very expressive, powerful general purpose language that keeps gathering raves from industry luminaries. This session introduces Ruby, aimed specifically at Java developers. It covers Ruby syntax and philosophy, showing lots of code along the way. See how a 200 line Java application equates to 20 lines of Ruby code. In addition to syntax, this session shows networking, file I/O, web services, threading, and a host of other topics. The goal of this session isn't to get you to switch from Java. It makes you think about expanding your toolbox and adding Ruby for things that don't need a full-blown Java application. Along the way, the Ruby philosophy will make you Java coding better too.

WE15: Apache Derby Security

Speaker: Jean Anderson
Categories: Database, Security
Intended Audience: Developer - Novice

You might find an Apache Derby java database anywhere you look -- on servers, workstations, notebooks, laptops, kiosks, CD ROMs, in your email, on a shelf, in your desk drawer. Unlike high-end enterprise databases that host machines in locked machine rooms, most Derby databases won't be behind locked doors. Derby provides security features that are specifically geared for this mobile environment, including user authorization, authentication using a variety of schemes, support for running with a Java 2 Security Manager, and database encryption. This session describes each feature and provides an example.

WE16: Java Modularity Support in OSGi R4

Speaker: Richard S. Hall
Categories: Java, New Technologies
Intended Audience: Technical - Experienced

The OSGi core Framework has undergone more changes in the new R4 release than in any other since its inception. Behind these changes is the new focus on viewing the Framework as providing a modularity layer for Java. This has resulted from a growing interest to use OSGi technology as an application Framework for building extensible systems, such as application servers or plug-in-based platforms. This presentation will discuss the modularity-related changes to the R4 core Framework that were introduced to support such new usage scenarios.

WE17: Advanced Topics in Module Design: Threadsafety and Portability

Speaker: Aaron Bannert
Categories: Apache HTTP Server, Performance, Unix
Intended Audience: Developer - Experienced

With the release of Apache 2.x it is 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.

WE18: Cheap, Fast, and Good: You can have it all with Ruby on Rails

Speaker: Brian McCallister
Categories: New Technologies, Ruby, Web Services
Intended Audience: Developer - Novice

Ruby on Rails is a new web application framework which provides tools for everything from object/relational mapping to componentized views. It provides the architectural soundness of the Java Model 2 action/view frameworks with the rapid development and expressiveness of PHP. This session will teach you how to build sophisticated, scalable applications quickly using Ruby on Rails, the Apache Web Server, and PostgreSQL.

WE19: From CVS to SVN: Case studies in migrating your team to a new tool

Speaker: Brian Fitzpatrick
Category: Case Study
Intended Audience: Developer - Novice

Even before Subversion reached 1.0 last year, a trickle of open source projects migrated from CVS to Subversion. Recently, that trickle has become a geyser as the Apache Software Foundation, Samba and many others have taken the Subversion plunge. Those leading the way in this migration have discovered that it's easy to get lost in the technical details of converting to a new tool, especially one as important as a version control system, while neglecting the needs of the team using the tool. Converting your repository itself is only a small part of the process of converting your team to Subversion. Without careful planning, preparation, education, and managing expectations, you could wind up losing productivity, your team's trust, or--if you really foul it up--your job. This talk will review best practices for migrating to Subversion based on case studies of teams that have already made the switch.

WE20: Declarative Services in OSGi R4

Speaker: BJ Hargrave
Categories: Java, New Technologies
Intended Audience: Developer - Experienced

The OSGi service platform defines a framework for Java for executing dynamically downloaded services. The OSGi framework's focus on dynamically available services results in a complex new programming model for most developers, since application components may appear or disappear at any time. As a result, programming OSGi-based applications is more challenging than typical application development. To alleviate this situation, the OSGi R4 specification introduces Declarative Services and the Service Component Runtime. Declarative Services allow developers to declare service components and their dependencies in an XML file and leave the complex handling of dynamics to the Service Component Runtime. This presentation will discuss the issues behind service dynamics and how service dependencies are now managed by the Service Component Runtime.

KN04: Keynote by Jaron Lanier

Speaker: Jaron Lanier
Category: New Technologies
Intended Audience: Business - Novice

Think actively. Envision creatively. Listen intelligently.

What would you want to hear from Jaron Lanier, musician, artist, and father of Virtual Reality? Get your thoughts ready. Inspired by the wildly popular ApacheCon Lightning Talks, Jaron will solicit ideas from the audience concerning his keynote topic. Catch his seat-of-the-pants reaction, on-the-fly presentation, and direct response to your suggestions.

Fun? Interactive? Boundless? You bet. Gotta participate? Go ahead, we double-dog dare you.

PL04: Closing Session

Speaker: Ken Coar
Intended Audience: Technical - Novice

As the last session of the conference, the closing plenary gives delegates an opportunity to give feedback to the planning committee and the Apache Software Foundation. All delegates are encouraged to attend and speak up!

Presented by: The Apache Software Foundation
Produced by: Full Circle Productions
Home | Site Map | About ApacheCon | Contact Us