-
Learning by doing
-
Trainers with practical experience
-
Classroom training
-
Detailed course material
-
Clear content description
-
Tailormade content possible
-
Training that proceeds
-
Small groups
In the course Tomcat Administration, participants learn to manage and control the Apache Tomcat web server. Tomcat is an open source web server that is available on Windows, Linux and Mac systems. Tomcat is used to host Java-based web applications and web services.
The course Tomcat Administration starts with discussing the different installation options. Next it is shown how Java web applications using servlets and JSP's can be deployed on the server. The web application structure and configuration options with the deployment descriptor are also covered.
Participants will become familiar with the internal architecture of the server, with JMX (Java Management Extensions) and the use of JMX to manage and monitor the server.
Attention is also payed to the setup of virtual hosting and the different ways to secure web applications using authentication and SSL.
It is further discussed how to integrate with the Apache Web Server which may serve the static pages or which may have the role of load balancer. The way Tomcat can be configured to enable Web applications to connect to databases is also a course subject.
Finally it is discussed how to configure a cluster to ensure the failover in cases of server crashes and to enable the scalability of applications.
The JMeter tool will be used to test the performance of Web applications.
The course Tomcat Administration is intended for System Administrators and Web Developers who need to administer and control the Tomcat Server and who need to deploy applications onto it.
Participants should be familiar basic computing skills like browsing the Web and accessing the directory structure. Knowledge of Web Applications and other Web Servers is beneficial.
The theory is covered using presentation slides. The concepts are further explained using demos. The theory is alternated with exercises.
Attendants receive a certificate of participation in Tomcat Administration after successful completion of the course.
Module 1 : Tomcat Introduction |
Module 2 : Java Web Applications |
Module 3 : Tomcat Architecture |
What is Tomcat? What is the ASF? Apache Name and Market Share Java Overview Java EE Servers Tomcat and JDK versions Servlet and JSP versions Tomcat Binary Distributions Zip versus Exe Installation Tomcat Directories Server Configuration Files Other Configuration Files Webapps directory |
Servlets and JSP's Servlet Characteristics JSP Translation Time JSP Request Time Form Submissions POST and GET Data Sessions Web Application Structure WAR Files Deployment Descriptor Defining Custom URL's Preloading pages Error pages |
Structure server.xml The Server The Service Connectors Deployment Scenario's The Engine The Host The Context Resources The Realm The Valves Lifecycle Listeners Apache Portable Runtime |
Module 4 : Class Loading |
Module 5 : Tomcat and JMX |
Module 6 : Virtual Hosting |
Class Loading Process Class Loaders in JVM Delegation Model Custom Class Loaders Class Loader Behavior Class Loader Namespace Custom Class Loaders Tomcat Class Loaders System Class Loader Common Class Loader Web Application Class Loader Class Loader Order |
What is JMX? JMX API JMX Goal Where is JMX used? Managed Beans Standard Mbeans MBean Server Naming MBeans JMX Architecture JVM Instrumentation MBeans Accessing the JMX Agent JMX in Tomcat |
Virtual Hosting Name-based Virtual Hosts Virtual Host Configuration Engine with Virtual Hosts Directory Structure Virtual Hosts Virtual Host Element Host File Name-based Hosting IP-based Virtual Hosts Multiple IP addresses per NIC Separate JVM for Each Host Server Configuration more JVM's Host Configuration more JVM's |
Module 7 : Connecting to Databases |
Module 8 : Tomcat Security |
Module 9 : Logging |
Java Database Connectivity JDBC Overall Architecture JDBC Executing a Statement ClassNotFoundException Evolving JDBC versions JDBC Driver Types Tomcat and JDBC JNDI Emulation and Pooling Configuring JNDI Resources Context.xml in META-INF JDBC in Web Applications Connection Pooling Preventing Connection Leaks |
Verifying Download Integrity Remove Default Applications Change SHUTDOWN command Special Tomcat Account Securing JVM Securing Web Applications HTTP Authentication Declarative security Programmatic security Form-based Authentication Combined Security Mechanisms SSL Characteristics SSL Handshakes |
Logging in Java Java Util Logging Levels and Log Methods Tomcat Logging Logging Configuration log4j Configuration Loggers Logger Output Hierarchy Inheriting Logging Levels Logger Names Appenders and Layouts Log Analyzer Tools Commons Logging |
Module 10 : Stack Tracing |
Module 11 : Tomcat and Apache |
Module 12 : Clustering |
Exception Handling try, catch and finally Exception information Generated Stack Trace NullPointerExceptions ClassCastExceptions NumberFormat Exceptions Multiple catch clauses User Defined Exceptions Chained Exceptions Reading Stack Traces |
Communication with Apache Advantages Using Web Server Apache Directory Structure Configuring AJP Configuring mod_jk Connector Install mod_jk Create mod_jk.conf File Create a Worker Configure httpd.conf Proxying traffic to Tomcat Using mod_proxy |
Clustering Types Horizontal and Vertical Clustering Sticky Sessions Load Balancing Configuration Property File Load Balancing Session Sharing Backends In-Memory Session Replication SimplecpCluster Configuration Delta and BackupManager Persistent Session on File System Persistent Session in Database |