mod_perl Sessions

Wednesday | Thursday | Friday

Wednesday, July 25

Will the Next Generation Internet Still Depend on Open Source?
Fred†Baker, Cisco Systems
Track: Keynote
Date: Wednesday, July 25
Time:†9:00am - 9:30am
Location:†Grande Ballrooms ABC in the East Tower

Sponsored by
IBM
How important is open source to the future of the Internet? The Internet evolved as it did because of open source software and open standards. The spirit of open source is best expressed by the Internet Engineering Task Force, which operates on the basis of "rough consensus and running code." However, today's Internet is not the playground it was a decade ago. While some applications, like Napster and AIM, use the open Internet effectively, the sacrifice of the end-to-end model makes deployment of innovative applications challenging. The introduction of so-called "middle boxes" - firewalls, translators, caches, and application layer gateways - means that the new applications must actively circumvent these, or must gain their cooperation.

In a highly competitive market, with a lot at stake, developing consensus as well as running code can be difficult. Industry consortia and business models may determine how the future of the Internet gets decided - and who makes those decisions. Cisco Fellow Fred Baker will talk about the challenges that will shape the Internet, and whether Open Source will play as big a role as it has in the past.


An Open Source Success Story on Wall Street
W. Phillip†Moore, Open Source Advocate
Track: Keynote
Date: Wednesday, July 25
Time:†9:45am - 10:15am
Location:†Grande Ballrooms ABC in the East Tower

Sponsored by
IBM
Morgan Stanley has what is widely recognized as one of the best IT departments in the financial industry, and has built one of the worlds largest integrated and truly "Enterprise-wide" technology platforms for application deployment.

This infrastructure was architected with a combination of Open Source and proprietary software. This presentation will discuss the challenges faced, both technical and political, when deploying OSS on such a large scale and the problems managed as the environment changes and grows.

The discussion covers the contrast between the OSS experience with that of proprietary closed source products in the same environment, the lessons learned from this experience, and how the OSS community can help make OSS a continued success.


Choosing a Templating System
Perrin†Harkins, Plus Three
Track: mod_perl
Date: Wednesday, July 25
Time:†10:45am - 11:30am
Location:†Harbor Island I in the East Tower

Search for the word "template" on CPAN and you'll get more results than you probably wanted. How can you tell which one is right for you? What sort of programming models do they allow? Can they be used for non-HTML output? Will they work with plain CGI? Will your HTML coders understand them? How fast are they? All these questions and more will be covered in this talk, as we survey the available options from bare bones SSI to full-blown development tools like Mason.


Exception Handling in mod_perl
Matt†Sergeant, MessageLabs Inc.
Track: mod_perl
Date: Wednesday, July 25
Time:†11:30am - 12:15pm
Location:†Harbor Island I in the East Tower

Audience:
mod_perl hackers

What you will learn:
How to cleanly handle exceptions in mod_perl

Outline:

Every time I hear someone suggest using:

use CGI::Carp qw/fatalsToBrowser/;

I cry out in pain! There are reasonably clean ways to handle when a script dies in Perl, and trapping $SIG{__DIE__} is not one of them. In this talk we will explain why $SIG{__DIE__} is considered harmful if not used carefully, and how to more cleanly handle exceptions. We will talk about some of the modules available on CPAN for increasing the flexibility of Perl's exception handling, such as Error.pm and Exception::Class, and cover how these modules can give you a full backtrace when exceptions occur. A lot of this is a concept generally useful in Perl, but we will talk about how it applies to mod_perl and our use cases will focus on mod_perl.


Real World Performance Tuning
Ask†Bjørn Hansen, Develooper.com
Track: mod_perl
Date: Wednesday, July 25
Time:†1:45pm - 2:15pm
Location:†Harbor Island I in the East Tower

This talk will give a quick tour of different techniques used to tune mod_perl servers and saving tens (or hundreds) of megabytes by running fewer processes and using them more efficiently. Also discussed is caching, persistent database connections, using separate servers and setting the right http headers.


Reference Implementation of an Open Micropayment System Using Apache and Perl
Jeffrey W.†Baker
Track: mod_perl
Date: Wednesday, July 25
Time:†2:15pm - 2:45pm
Location:†Harbor Island I in the East Tower

This talk discusses The Information is not Scarce (IINS) micropayment system that enables users to pay content providers for online content on a fine-grained basis. The goal of the project is to completely replace online advertising with an open, free, and secure micropayment system. The protocol for this system is openly specified, and the reference implementation uses Apache, Perl, mod_perl, and OpenSSL.


Building a Cleaner SOAP with mod_perl
Matt†Sergeant, MessageLabs Inc.
Track: mod_perl
Date: Wednesday, July 25
Time:†2:45pm - 3:15pm
Location:†Harbor Island I in the East Tower

HTTP 1.1 is more than just a protocol for downloading files over the Internet, or for retrieving the results of a CGI script as HTML. It just happens to be used for HTML (or text) more often than not. HTTP 1.1 defines a rich API for doing exactly the sort of thing these new XML RPC mechanisms are being designed for, yet raw HTTP offers more features and more guarantees to the user than the current crops of XML-RPC.

In this talk we will introduce code to do RPCs via raw HTTP 1.1, and talk about why you really don't need SOAP or XML-RPC for the majority of applications, even ones where you think you need RPC.


Writing Multilingual Sites with mod_perl and Template Toolkit
Eric†Cholet
Track: mod_perl
Date: Wednesday, July 25
Time:†3:45pm - 5:15pm
Location:†Harbor Island I in the East Tower

This session presents an overview of the many issues involved in writing a multilingual site. These include: using multilingual templates; correct handling of language-dependent data such as dates; sorting; character sets; dealing with accented characters. A specialized parser for Template Toolkit is presented that allows compile-time parsing and caching of multilingual templates, as well as a database schema for storing multilingual data.


Thursday, July 26

Shared Source vs. Open Source: Debate and Panel Discussion
Craig†Mundie, Microsoft, Michael†Tiemann, RedHat, Inc.
Track: Keynote
Date: Thursday, July 26
Time:†8:45am - 10:15am
Location:†Grande Ballrooms ABC in the East Tower

Sponsored by
Sun Microsystems
Microsoft Senior Vice President Craig Mundie and Red Hat CTO Michael Tiemann set the stage for a wide-open panel discussion about Microsoft's Shared Source program and the response from the open source community, when they square off in this shared source vs. open source debate.

Mundie set off a far-reaching discussion recently when he introduced Microsoft's Shared Source program, which blends access to source code with the preservation of strong intellectual property rights by software developers, and contrasted Shared Source to Open Source and the GNU General Public License.

There's been a strong response from the open source and free software communities, accusing Microsoft of trying to co-opt the momentum of open source with a program that offers superficial similarities, but few of the real benefits. Microsoft counters that they are trying to find a balance between the needs of commercial developers and the lessons learned from the open source movement.

Mundie will discuss ways in which Shared Source differs from Open Source, and why Microsoft believes that the Shared Source Philosophy supports a strong software business case for commercial software developers and their customers.

Red Hat CTO Michael Tiemann will then discuss the industry's experience with open source vs. pseudo-open licensing, and why he believes that the future will favor stronger (rather than weaker) licenses to protect choice for users and freedom for developers.

His speech will be followed by a panel discussion with Tiemann, Mundie, and other experts on intellectual property and the software industry including,

Tim O'Reilly will moderate the panel.


Wombat: Servlets For Perl
brian†moseley, OSAF
Track: mod_perl
Date: Thursday, July 26
Time:†10:45am - 11:15am
Location:†Harbor Island I in the East Tower

Wombat is two things: a formulation of the Java Servlet API in Perl, and a servlet engine written in Perl. The API provides application developers with access to common web infrastructure services (such as security, session management, and logging) in a manner independent of the deployment environment. The engine, which is an extensible container into which custom implementations of web infrastructure services are plugged. The Wombat engine executes and then deploys Servlet applications in any web server environment (mod_perl, SpeedyCGI, in-process web server, etc).

The session explores the motivation behind Wombat, its architecture, how to develop and deploy a Wombat application, and how to extend the functionality of the engine itself.


Developing a B2B Commerce Site Using Perl/Mason
Jaron†Rubenstein, Logicept, Edward†Zborowski, Logicept Corporation
Track: mod_perl
Date: Thursday, July 26
Time:†10:45am - 11:15am
Location:†Harbor Island I in the East Tower

This presentation will begin with a discussion of the overall features and benefits of Perl/Mason and the challenges encountered in developing a large-scale B2B site in Perl. Following this introduction, the project requirements will be discussed and the rationale behind the choice of Perl/Mason as the implementation language described. We will discuss the high-level technical design of the site and the integration of the various technologies necessary to build a site of this magnitude. Our experiences in porting an existing Web-based application from PHP to Perl/Mason will be presented, paying particular attention to the reasons for doing so and the obstacles encountered in the process.


Authentication and Authorization with mod_perl
James G.†Smith, Texas A&M University CIS
Track: mod_perl
Date: Thursday, July 26
Time:†11:15am - 12:15pm
Location:†Harbor Island I in the East Tower

This session surveys the various modules available on CPAN, the strengths and weaknesses of the various modules, as well as some of the basic concepts behind writing authentication and authorization modules in Perl.


Bridging mod_Perl to Other Persistent Perl Environments
Gunther†Birznieks, eXtropia
Track: mod_perl
Date: Thursday, July 26
Time:†1:45pm - 2:15pm
Location:†Harbor Island I in the East Tower

This lecture covers issues and solutions to writing a fast mod_perl application compatible with other environments, and is used to speed up a Perl application. Topics include how to deal with database connection caching, registering cleanup handlers, as well as general coding techniques across many persistent Perl interpreters.

Mod_perl is one of the most popular engines for producing fast web apps. But there are other players out there including SpeedyCGI, FastCGI, Velocigen, and PerlEx. Unfortunately, they all have differences in how they handle issues of executing a persistent Perl program compared to mod_perl.


Building Web Sites with PageKit
Thomas J.†Mather, AnIdea Coporation
Track: mod_perl
Date: Thursday, July 26
Time:†2:15pm - 2:45pm
Location:†Harbor Island I in the East Tower

Apache::PageKit is a mod_perl based application framework that uses HTML::Template and XML to separate the programming, content, and presentation. This talk will demonstrate how it solves many of the common problems of a web programmer, and allows for rapid development of dynamic web applications with reusable components. Many of the built-in features of Pagekit will be covered, including language localization, authentication, form validation, co-branding, and session management.


Embperl: Building Dynamic Web Sites with Perl, mod_perl, and Apache
Neil†Gunton
Track: mod_perl
Date: Thursday, July 26
Time:†2:45pm - 3:15pm
Location:†Harbor Island I in the East Tower

Embperl has grown over the last 4 years from a Perl module for embedding Perl into HTML to a full featured system to build dynamic content under mod_perl. After a short introduction covering the basics like syntax, session handling, form field processing etc. this talk focuses on more advanced topics and shows how Embperl helps create a Website out of small reusable objects, how to use different syntaxes (e.g. SSI, ASP and Embperl in the same document) and how to create a pipeline out of multiple processing steps.

This leads to the new XML capabilities, which lets you transform XML in multiple steps towards the desired result format. For this purpose Embperl integrates the Apache XERCES C++ XML Parser and XALAN C++ XSLT processor and provides processors to dynamically alter the content, along with techniques to plug in custom transformations.

The end of the talk will cover performance issues like caching and gives a preview what's coming next.


mod_perl 2.0
Doug†MacEachern, Hyperic, Inc.
Track: mod_perl
Date: Thursday, July 26
Time:†3:45pm - 5:15pm
Location:†Harbor Island I in the East Tower

Using mod_perl in Apache 2.0


Friday, July 27

Big Hairy Problems: Open Source Challenges in the Enterprise
Michael†Tiemann, RedHat, Inc.
Track: Keynote
Date: Friday, July 27
Time:†8:45am - 10:15am
Location:†Grande Ballrooms ABC in the East Tower

Sponsored by
ActiveState
If you talk to CTOs, their biggest concerns arenít whether to use commercial software or open source software but a set of large-scale problems that donít yet have obvious solutions. Oracle may not have solutions for them, but neither does Open Source. Our panel of top CTOs will tell us about enterprise-class problems that they are worried about solving into the future.