Apache Tomcat Track

10:30 - 11:15, The State of the Cat

Mark Thomas, Senior Principal Software Engineer, Pivotal

A review of the last 12 months in the Apache Tomcat project covering notable security vulnerabilities, critical bugs and significant new features followed by a look-ahead to the next 12 months including plans for Tomcat 10, products reaching end-of-life and thoughts on the impact of the transfer of JavaEE to Eclipse.

This session is intended for anyone working with, or considering working with, Apache Tomcat and will provide an opportunity to learn more about the future roadmap.

11:25 - 12:10, Jakarta EE and the road ahead for the ASF

Mark Struberg, Lifelong Learner & Software Architect

The Java Enterprise world went through wild ups and downs lately. But where do we go from here? And what does the ASF have to do with all that? Let's find out!

This talk will give an overview of a bunch of 'Enterprise' projects at the ASF, what their current state is and when to use them. We'll then shed a light on Apache Meecrowave for MicroServices and MicroProfile appliations and finally move over to Apache TomEE 8 for serving classic enterprise applications while still aiming for simplicity and performance. This talk includes a basic setup and introduction to building apps with the platforms mentioned above.

12:20 - 13:05, HTTP/2 and SSL/TLS State of Art in Our Servers

Jean-Frederic Clere, Manager, Software Engineering, Red Hat

The new HTTP/2 protocol and the corresponding TLS/SSL are common to Traffic Server, HTTP Server and Tomcat. The presentation will briefly explain the new protocol and the ALPN extensions and look to the state of the those in our 3 servers and show the common parts and the specifics of each servers. A demo configuration of each server will be run.

14:20 - 15:05, Apache httpd Reverse Proxy and Tomcat

Jim Jagielski, Co-Founder, Apache Software Foundation

Although mostly known as a fast and reliable web server, Apache httpd also excels as a reverse proxy. In this session find out how to setup httpd as a reverse proxy, how to connect to Tomcat using HTTP and AJP, and the full feature list of Apache httpd proxying capability.

15:15 - 16:00, Reactive Applications on Apache Tomcat

Violeta Georgieva Georgieva, Principal Software Engineer, Pivotal

One of the most important application characteristics nowadays are scalability and resilience. To achieve this, applications can use non-blocking, event-driven manner that scale with a small number of threads and backpressure. In Spring Framework 5, a new reactive stack is introduced, which includes Servlet/Reactive Streams bridge. Using this new capability it is possible to create reactive applications that can be deployed on Apache Tomcat.

In this session the attendees will learn how to leverage this bridge in their applications deployed on Apache Tomcat. The presenter will share internal details about how the bridge is implemented supporting both HTTP and Websocket protocols. Also a performance comparison will be presented showing the benefits of the new approach.

16:35 - 17:20, Monitoring Production Webapps running in Apache Tomcat with MoSKito

Leon Rosenberg, Software Architect

Bringing a webapp into production is one thing, but ensuring it runs 24/7 is its own science. MoSKito is an open source application performance management tool, which provides you detailed information about application's behavior, thread, cpu and memory usage, execution time of every method in your class, errors in your application and many more.

The talk will give a brief 5 minute introduction into MoSKito's tools and concepts, rest of the time is used for a live demonstration on a living web-application with real glitches. Usage of apache tomcat and tomcat specific information usage in MoSKito are in focus of the talk.

17:30 - 18:15, Performance Troubleshooting using Java Thread Dumps

Rainer Jung, Co-Founder, Kippdata informationstechnologie GmbH

Some of the hardest to tackle production problems are performance problems. A very important but still widely unknown feature of the Java Virtual Machine is the ability to provide thread dumps. They show exactly where the application code currrently is executing. In case of performance problems, specific code areas typically show up prominently in thread dumps. Examples are waiting for remote services like databases or REST calls, waiting for local locking operations or waiting for exhausted pooled resources like connection pools. A big strength of thread dump is, that they are production safe and typically do not need any preparation before one can use them. To make efficient use if thread dumps, one needs to gain some experience in interpreting them and efficiently extracting the most important information. The speaker uses thread dumps for performance analysis a lot. The talk will give lots of real life examples.