Presentations
Hacking Tomcat
The Comet Technique

Table of Contents
Zero Latency Http - Using Comet with Apache Tomcat
Clustered Virtual Machines - Transparent Heap Replication
Hacking Tomcat - Secrets revealed
Scalable Group Communication for Heterogeneous Clusters

Title: Zero Latency Http - Using Comet with Apache Tomcat
Title Short: Zero Latency Http

Abstract

As browsers and web servers have become de facto standards, the need for instantaneous data exchange has grown. AJAX was one of the responses for a web client to efficiently communicate asynchronously in the background with a remote web server. Tomcat 6.0 has gone beyond AJAX and implemented a new feature called Comet, allowing for both asynchronous uni- and bi-directional communication between client and server while still leveraging the HTTP protocol and Java Servlets. The Comet technique has also been nicknamed "Zero Latency HTTP" as it circumvents the overhead by the traditional request/response methodology that the protocol implies.

Topics covered will be:

HTTP then and now, a brief history of the evolution of the HTTP protocol
AJAX, what it is, how it works and what it has allowed us to accomplish
Beyond AJAX, Comet - introduction to the Comet technique
Uni- vs bi-directional Comet, what’s the difference
Technical overview of the Comet technique, challenges and their solutions
Scalability discussions around Comet
Using Comet with Tomcat
Step by step code examples on how you implement a Comet server using Tomcat
Demo of a simple app and how "Zero Latency HTTP" reduce traffic while increasing response time

Notes:

A technical presentation, benefiting both technical and non-technical attendees
Explanation of real world use cases

Title: Clustered Virtual Machines - Transparent Heap Replication
Title Short: Clustered Virtual Machines

Abstract

Creating scalable fault tolerant Java applications has always been a very advanced challenge, so difficult that most organizations never entertain the idea. For those that do, existing API’s are complex and get tightly coupled into their applications’ code base.
We will introduce a newly open sourced product for distributed shared objects, Terracotta DSO.  Terracotta DSO goes beyond APIs and provides data replication at the heap level, transparent to the application. We will present this new technology and uncover some of the magic that makes this new clustering technology transparent to your applications.

Topics covered will be:

Introduction to Terracotta DSO
Introduction to byte code instrumentation
DSO configuration
POJO Replication
Fail over scenarios
Distributed locks and transactions

Notes:

Exciting presentation of a new emerging technology

Title: Hacking Tomcat - Secrets revealed
Alternative Title: Hacking Tomcat - Wanna Be a Tomcat Committer?
Title Short: Hacking Tomcat

Abstract

Tomcat quickly became one of the most popular Servlet/JSP containers and is widely used both stand alone and embedded in other software. With every new version of Tomcat performance and scalability was greatly improved, often at the cost of code complexity. We will open up the hood and take a deep look inside Tomcat’s core code base, go over the architecture and many of the decisions made to improve performance. If you ever plan to customize your Tomcat installation, or wish to join the Tomcat committer community or are just interested in how it all works, this session is for you!

Topics covered will be:

Tomcat history - how we got to where we are
Tomcat high level architecture and configuration
Component design, swap out anything you want!
Overview of the HTTP protocol
Tomcat Connectors - the core of Tomcat’s communication layer
Container design
Tomcat’s Servlet Engine - Where the magic happens
Jasper - Tomcat’s JSP compiler
AJP - Binary connector protocol
Developing/Customizing Tomcat
Debugging with Tomcat

Notes:

Extremely technical

Tomcat Committer Recruitment
Could work as a half day tutorial if interest was there

Title: Scalable Group Communication for Heterogeneous Clusters
Title Short: Heterogeneous Cluster Communication

Abstract

Many group communications modules are built for a uniform communication model. In many cluster implementations this is often not the best solution to achieve the performance and scalability that is needed in heterogeneous clusters.
This presentation will introduce a Tomcat module, nicknamed Apache Tribes, that has addressed the need to support messaging with different attributes per message and will be used in the next version of Tomcat Clustering.

Topics covered will be:

Challenges in group communication in heterogeneous clusters
Today’s uniform and non-uniform solutions
Uniform (appia, jgroups,spread and lots of academia products)
Non-uniform (tribes, jxta, and others)
Why the need for Tribes
Tribes architecture and design - detailed overview of the Tribes architecture, and the reason behind it.
Tribes configuration and usage
Tipis - Introducing the Apache Tribes building blocks. A detailed overview of how a developer can build on top of Tribes to fit the exact needs for their environments
Code examples and example implementations
Comparison to existing frameworks that exist today

Notes:

A extremely technical presentation
Plenty of good examples on problems and solutions that work and solutions that don’t work
Actual slides showing code of solutions