Usually scheduled to meet customer needs or run as a private course. Please email for details
This course is intended for staff who are new to Linux / Unix / Java
and will be responsible for the installation, support and maintenance of Web applications
using those technologies.
The first part of the course gives you an overview of Linux / Unix / OSX operating systems
(they're all similar) as a user, and also the administration functions. It then goes on to
cover the aspects of networks and the web you'll need to know about if you're responsible
for looking after web applications in Java on these platforms.
We have a brief look at the Java language, but this isn't a programming course - we concentrate
on explaining, installing and configuring Java and the various associated technologies. You'll
learn how to troubleshoot Java problems even if you're not deep into the coding itself.
Web applications in Java often run in the Tomcat container, which itself is often accessed from
within Apache. Both Apache and Tomcat are highly configurable pieces of software, and within
them each web application that you deploy can be individually configured. Our course studies
the sourcing, configuration and deployment of both Apache and Tomcat, the linking of them together,
and the deployment of application within them. Administration tasks such as monitoring logs,
and setting up and watching security issues are also covered.
The final part of the course introduces relational databases, and taking MySQL as an example
shows how it is added to the mix of technologies to provide a complete solution. Once again, we
have a brief overview of the language (SQL) and we concentrate on installation, configuration,
security, use in association with other technologies, data backup, and similar topics.
You must be a competent computer user. Further experience is helpful, but this
course is run for small groups and is tailored to fill in gaps in your knowledge.
For each Web Server you run, you'll have hundreds of thousands of visitors browsing your site. The software that these visitors browse through is kept simple - but that's at the cost of a complex array of technologies on the Web Server. If you are responsible for installing or looking after such a web server - running Linux, Apache httpd, Apache Tomcat and perhaps MySQL or another database to handle applications written as Java Servlets or JSPs, using HTML, CSS and perhaps CGI too, this is the course for you - it takes you through the steps of deploying and hen looking after the various technologies.
|The Components of a Web-Based Solution (module A100) Server System Components.
|Linux -An Introduction For Users (module A101) Logging in and accounts.
Copying and deleting files.
Packing and unpacking archives.
Transferring files with FTP.
Logging in to remote machines.
X Windows, KDE and Gnome.
|Linux Utilities (module A166) Introduction.
Piping and redirection of utilities.
Options and related commands.
Grep, sort, awk, sed cut and Perl.
Find, man and info.
|Shell Programming (bash) (module A167) What is shell programming?
Running a shell program from the command line.
Conditional statements and variables.
Shell comparisons and arithmentic.
Functions and other features.
Bourne Again Shell scripts on a web page.
|Compiler and development tools (module A168) Compiling and development tools for Linux.
The gcc Gnu Compiler Collection.
CVS - the Concurrent Version system.
|Users and Groups (module A161) What are users and groups.
The root account.
Real and effective id.
Adding and managing user accounts.
Ownership and permissions, files and processes.
|Backups and File System Management (module A162) Backup schemes and the need to backup.
Mounting file systems and monitoring usage.
|Network Configuration and Security (module A163) IP addressing and DNS naming.
Putting your Linux system on a network.
Using outgoing services.
Testing tools - ping, telnet, etc
|Services and Regular Jobs (module A164) Provision of services via Daemons.
Controlling the startup and shutdown of Daemons.
Regular jobs via crontab.
|Installing Software (module A165) Installation via RPM packages.
configure, make, cc and others.
Installation from tar or tgz files.
|Linux Server Admin - Exercise (module A171) Create a new user account.
Download and Install Analog (a web access log analyser).
Set up Analog to run regularly from that account.
Take a backup on conclusion of the install and test.
|HTTP (module A207) HTTP Headers, Heads and bodies.
GET, POST and other methods.
MIME Types, Cache Controls and other headers.
Hidden fields and Cookies.
|Web Application Design and Deployment (module A211) Choosing the right technologies.
Server side and client side elements.
Design principles - design for the customer.
Development server, test server, live server.
How on line payment applications work.
|Introduction to SQL and MySQL (module S151) Information organisations.
What is a relational database?
What are the parts of a relational database?
What relational databases are there?
MySQL, MySQL-Max and MySQL-GUI.
What is MySQL? Why choose it?
|SQL Primer as Used in MySQL (module S152) The structure of a database as seen by MySQL.
"Hello SQL World".
Databases, tables, fields, rows and columns.
Field types and modifiers.
Initial administration and error handling.
Commands to enter and edit rows of data - Insert, replace and load.
Enquiry (select) commands.
Conditional clauses and writing conditions.
Command to modify and delete rows.
DROP, SHOW and others.
|Sourcing, Running and Configuring MySQL (module S153) Sources of SQL.
The mysqld daemon process.
How MySQL fits into your scheme - stand-alone clients.
How MySQL fits into your scheme - Web users.
The mysqladmin and mysql client programs.
Managing user accounts and priviledges.
Backing up your database.
Table types MyIsam, Isam, Hash, InnoDb and BDB.
Accessing mysqld from around your network.
|XML, DTD, XSLT, XHTML and More (module A301) What is XML? When should it be used?
Structure of an XML document.
Alternatives to XML.
|Structured Code and Object Orientation (module A401) Simple applications.
Structured programming principles, code splitting and sharing.
The Object Oriented approach - objects, classes, encapsulation, inheritance etc.
Choosing the best approach for your requirement.
|Object Orientation: Design Techniques (module Q907) Overview - why design?
OOD, OOA, OOP.
Waterfall, spiral and Incremental models.
Micro, macro and specification.
Booch, Yourdon and the OO design wars.
Unified Modeling Language (UML).
Views, diagrams, model elements and general mechanisms.
Extending UML - stereotypes, tagged values and constraints.
Functions of tools such as Rational Rose.
Drawing support, model repository, navigation, code generation.
Configuration, version control and associated tools.
|Review of Java Basics (module J801) Structure of a Java program.
Compiling and virtual machines.
Statement sequencing and comments.
Variable - declaration and use.
Calculating and printing variables.
Booleans, loops and control statements.
Array definition, declaration and use.
|Java - Sourcing, Installing, Initial Testing (module A503) Selecting which Java download you need.
Installing Java on your development computer.
Testing your development installation.
Installing the Java runtime on a server.
Testing a runtime environment.
What do you need to run a Java Applet?
|Java Roadmap - Beyond the Fundamentals (module J606) Java releases.
Java Runtime Environments.
"Stand Alone" Java programs.
Java Server Pages.
Application Programmer Interfaces (APIs).
Useful "basic" classes.
The Java foundation classes.
The Threads API.
Serializable and transient.
|Java - Servlets and JSPs (module A507) What is a servlet?
Converting request objects to response objects.
What is a JSP?
Forms of embedding Java code in a web page.
Sessions in Java.
|Jakarta and Struts (module A508) Apache Projects and the Jakarta Framework.
Jakarta projects such as Ant and Tomcat.
|Threads (module J804) Overview of threading.
The Java Threading API.
Extending thread and implementing runnable.
Syncronization; deadlocking issues.
Thread coordination and reaping - wait and notify.
Thread groups, thread scheduling, thread pools.
|JDBC - Relational Database Access (module J811) The JDBC Interface.
Driver managers and drivers.
Type 1, 2, 3 and 4 drivers.
How odbc, jdbc and SQL relate.
Obtaining and installing JDBC drivers.
Example - a MySQL jdbc driver class.
Connection to a database in Java.
Running enquiries against a relational database.
|Combined Java Web Example: Servlets, JDBC and Graphics (module J953) Worked example combining various Java technologies.
Uses data held in an SQL database to generate graphs on a web server for display via a browser.
Uses JDBC for Database connection.
Uses Utility classes of java.util to hold data internally.
Uses Abstract Windowing Toolkit (AWT) to draw graphics.
Uses Image I/O classes of javax to output a .jpg.
Uses a servlet container to make our class web visible.
Class is deployed via Tomcat with Catalina and Coyote.
|Java Application - Deployment on the Web (module A099) Server System Components.
|HTML - An Overview (module Q624) Tags.
Structure of a page.
Special characters and new lines.
Some common tags.
Lists, tables, frames, forms, applets, images, etc.
Which HTML standard?
|Commercial and Legal Aspects (module A213) Why discuss this on a technical course?
Privacy and credit card security.
Unsolicited commercial emailing and mailing lists.
Marketing and visibility.
Elements of Java for Deployment
|Java - Basic Tools (module A502) .java files and .class files.
Compiling and running java with javac and java.
jar files and the jar utility.
|Introduction to Ant (module J910) Downloading and Installing Ant.
A first use of Ant.
The build file.
Further aspects of Ant.
The Apache httpd web server
|Apache httpd - an overview (module A601) What is "Apache" and what does it do?
Other web servers.
Versions of Apache.
|Apache httpd - Sourcing, Installation, Testing (module A602) Downloading Apache.
Selecting a user account under which to run Apache.
Initial mandatory configuration.
Testing your installation.
Running apache as a daemon.
|Further httpd Configuration (module A603) Available Modules and turning them on and off.
Assosciating file extensions with modules.
|Apache httpd - virtual hosts (module A604) Virtual Hosts.
Setting up so the browser can see multiple hosts.
Configuring virtual hosts.
|Apache httpd - log files and log tools (module A606) Configuring the access and error logs.
making logs available to the web site owner.
Tools to analyse log files.
The Apache Tomcat web server
|Tomcat Overview (module A651) What are Jakarta, Tomcat and Catalina and how do they fit together?
What does Tomcat do?
Tomcat versions - 3, 4, 5.
|Tomcat -Sourcing, Installing and Initial Testing (module A652) The JWSP (Java Web Server Package)
Installation of Tomcat.
Starting Tomcat and running the supplied test Web Applications.
|Tomcat - Configuring Web Applications (module A653) The web.xml file - configuring an individual Web Application.
The structure of Web Application directories.
Creating and deploying web applications in .war files.
Direct application configuration through the server.xml file.
Directing web application URLs away from the webapps directory.
|Configuring and Controlling Tomcat (module A654) Stopping, restarting and deleting web applications via the manager.
Installing new web applications via the manager.
Managing user and other resources
|Using Tomcat and Apache httpd Together (module A655) Other protocols supported by Tomcat.
Using Tomcat through Apache and IIS.
|More Tomcat Configuration (module A656) Configuration files in the conf directory.
Modifying your Jasper configuration.
Logging Tomcat Activity.
Adding and tailoring access logs.
Applications that log.
|Using httpd to front Tomcat (module A657) The Tomcat connector story.
Apache, Apache httpd and Apache Tomcat.
Do I need both servers?
How are the tasks divided?
jk connector and configuring jk.
A practical complete installation.
|Tomcat - Extra Features (module A900) Running a secure service through https.
Changes to server.xml.
A note on https.
Server testing through wget.
Clustering and load balancing.
Setting up a cluster.
The current state of clustering.
Load balancing - an alternative.
- our own
purpose fitted training centre and business hotel / conference centre in
|| 2 students
|| 3 students
|| For 4 or more students
from the same company,
please consider a private course.
| With hotel room
(£2280.00 inc VAT)
(£1860.00 inc VAT)
| With hotel rooms
(£4500.00 inc VAT)
(£3660.00 inc VAT)
| With hotel rooms
(£6720.00 inc VAT)
(£5460.00 inc VAT)
• Multiple discount applies to bookings for second and subsequent delegates on the same running of a course, and on same order.
• Hotel rooms are available for arrival the night before the course starts, for departure after the end of the course on the last day.
course will take you through from "first base" to the coding of Web Applications.
Upon completion of your course, you'll have online access to the source code of
all the examples from the course, and you'll have access to the
"Ask the Tutor" forum
where you can raise questions. We also encourage you to email the tutor, and
to visit us again to use our library as appropriate.
For more information about our public courses in general, such as class size, course times, materials provided, special requests, accommodation list, finding our centre, etc.
Covering topics such as delegate substitution, payment, cancellation policy and other matters.