JBOSS APPLICATION SERVER 5.1 ADMINISTRATION AND CLUSTERING LINUX – GTJB1

Course Description

This course teaches the deployment and administration of web applications to a JBoss Application Server 5.0 and 5.1 environment. This course concentrates on providing best-practice solutions to handle common problems that occur in a JBoss environment so students will have a high-level of skill with regard to JBoss administration. Configuring a cluster of multiple JBoss servers is also covered extensively.This class covers both the unsupported open source product (JBoss Application Server) and the supported platform available from JBoss/RedHat (JBoss Enterprise Application Platform). This class covers both so no matter which type of JBoss environment you have this course is right for you.Since JBoss is a product of RedHat, one of the most popular Linux distributions, we have found that most JBoss clients run JBoss on Linux. So learning how to administer JBoss in this environment just makes sense. We distribute the environment for the labs as a virtual machine so you DO NOT need to install Linux natively for the training classroom and to further simplify the setup for you. Our experience has shown that administering JBoss environments is more difficult than other application servers on the market.  This is mainly because most of the JBoss configuration is done by editing XML files and it is difficult to tell which configuration files have been customized and which files are the standard JBoss files.  This course will show you how to more effectively manage JBoss configurations using free tools like Ant and Eclipse. Since syntax errors in configuration files can prevent the JBoss Application Server from even starting you will use XML tools that are part of Eclipse to validate JBoss configuration files to prevent these types of errors. Even though you can administer JBoss with a simple text editor and manually copying files, our experience has shown that using Ant and Eclipse is one way to make administering complex JBoss environments easier and our course is designed to pass this knowledge on to you.

Topics
  • Installing and Configuring JBoss Application Server
  • Installing Java EE Enterprise Applications
  • Java EE Components and Services
  • JBoss Application Server Architecture
  • Using Ant and Eclipse to Simplify JBoss Administration
  • JBoss Logging Tools
  • Database Connectivity (JDBC)
  • JBoss Security Configuration
  • JBoss Messaging (JMS)
  • JBoss Web Services
  • Monitoring JBoss Performance
  • JBoss Clustering
  • Integrating JBoss with Apache Web Server
  • Impact of Clustering on Various Services
What you will learn
After completing this course students will be able to:

  • Install JBoss Application ServerInstall and configure Java EE applications
  • Use various tools to solve several types of problems
  • Establish best-practice procedures for maintaining JBoss configurations
  • Configure various application resources
  • Modify logging properties of JBoss Application Server
  • Configure JBoss SecurityAdminister the environment using the web-based Admin Console or command line tools
  • Monitor JBoss performanceUse various techniques to create a more robust environment and avoid common problems
  • Maintain a cluster of JBoss Application Servers

^^

Duration

5 days

^^

Target Audience

Webmasters and System Administrators who install, configure, and maintain Java EE Applications on JBoss Application Server v5.x.

^^

Course Prerequisites

The student should have a familiarity with basic Linux operational skills like running commands from a command prompt and networking. Although not required, familiarity with web-based applications, web servers, and Java is suggested

^^

Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please contact us for further details.

^^

Course Content

CHAPTER 1 – JBOSS INTRODUCTION
Goals of Enterprise Applications

What is Java?

What is Java EE?

The Java EE Specifications

Role of Application Server

What is a Servlet?

Servlet Execution

What is a JSP?

JSP Code Sample

What is an EJB?

EJB Types

EJB Examples

Model-View-Controller Architecture

MVC – An Example

JBoss Family

JBoss Application Server

Relation to JBoss Enterprise Application Platform

Differences Between JBoss AS and JBoss EAP

JBoss Support and Documentation

CHAPTER 2 – WHAT’S NEW IN JBOSS APPLICATION SERVER V5.X
JBoss History (or “What Took So Long?”)

Project Structure

Microcontainer

Deployers

Changes You Will Notice

JBoss Enterprise Application Platform

Java EE 5 Certification

New Administration Console

Using Java 6

Directory Structure Changes

New Configurations

JBoss Messaging

ServiceBindingManager

Using JBoss 5.x With Eclipse

JBoss Seam

Alternatives to JBoss

CHAPTER 3 – INSTALLING JBOSS
Installation Prerequisites

Java Version

JBoss Installation

JBoss Installer

JBoss Installer

Starting and Stopping JBoss

Network Binding Behavior

JBoss Admin Consoles – JMX

JBoss Admin Consoles – Web Console

JBoss Admin Consoles – Administration Console

JBoss Configurations

JBoss Configurations

Issues in Managing JBoss Configurations

Updating JBoss Version

Other Common Components

CHAPTER 4 – JAVA EE OVERVIEW FOR ADMINISTRATORS
Java EE Components

Java EE Vendor Specifications

Containers

Java EE Blueprint

Services

JDBC

Data Sources

Java Naming and Directory Interface

Java Message Service

JavaMail

Java EE Connector Architecture

Java Transaction API

Security

Lifecycle Management

Application Server Architecture

Java EE Application Structure

EAR File

What are Modules?

Java EE Deployment Descriptors

Web Module

EJB Module

Client Module

JBoss Deployment Descriptors

Code Annotations

JBoss Default EJB Deployment

JBoss Application Deployment

Updating an Application

Applications in Administration Console

CHAPTER 5 – USING ANT AND ECLIPSE TO SIMPLIFY JBOSS ADMINISTRATION
Ant

Sample Ant buildfile

Common Ant Tasks

Eclipse

Eclipse

Managing JBoss Configuration Files with Eclipse

XML in Eclipse

Ant Features in Eclipse

Exporting JBoss Configurations

File Versioning with Eclipse

Perspectives and Views

Eclipse Tips

Using Ant and Eclipse to Simplify JBoss Configuration

CHAPTER 6 – CONNECTING TO A DATABASE
What is JDBC?

JDBC Driver

Typical JDBC Use

Problems to Address

Data Source Architecture

JDBC Data Sources

Typical Use of Data Source

JPA and Data Source

Hypersonic Database

Examining the Hypersonic Database

Types of JBoss Data Sources

Adding JDBC Drivers

Adding JDBC Drivers

Configure Data Source

Configure Data Source

Common Data Source Properties

Common Data Source Properties

Connection Pool Properties

Connection Pool Properties

Monitor Connection Pool

Data Source Failover

Managing Datasources in the Administration Console

CHAPTER 7 – JBOSS LOGGING
Log4j

Configuring Log4j in JBoss

Log Output

Standard Appenders

Appender Example

Log Categories

Log Categories

Category Example

Appender References

Logging Code

Adjusting Log Threshold

Adjusting Log Threshold from the Consoles

Common Tasks for Log4j

Logging in JBoss EAP Production Configuration

HTTP Access Logs

JBoss HTTP Access Log

CHAPTER 8 – JNDI & NAMING SERVICES
Naming Service

Phone Number Example

Objects in Namespace

What is JNDI?

Using JNDI

NameNotFoundException

JNDI References

JNDI References

JNDI References

JNDI Binding in JBoss

JNDI Binding in JBoss

JNDIView MBean

JNDIView MBean

Binding JNDI References

Binding JNDI References

CHAPTER 9 – JBOSS INTERNAL ARCHITECTURE
JMX Intro

JBoss Microcontainer

POJO Services

Defining Custom JBoss Services

JBoss “Bootstrapping”

Deployers

Invokers and Remoting

CHAPTER 10 – JMS MESSAGING
Messaging Intro

Messaging Example

Messaging Components

Messaging Types

JMS (Java Messaging Service)

JMS Resources

Message Driven Beans (MDB)

JBoss Messaging

JBoss Messaging

Differences with JBossMQ

Configuring JMS

Configuring JMS

MDB Destinations

Sucker Password

CHAPTER 11 – MONITORING AND TUNING JBOSS
Monitoring Tools

JBoss Consoles

MBean Attributes

Live Graphs and Snapshots

Monitors

Monitor Configuration

Email Monitor Configuration

Command Line Queries

Common Performance Tuning

JBoss Web Thread Pools

CHAPTER 12 – JAVA MEMORY MANAGEMENT
Java Heap Space

Heap Size Limits

Default Size Limits

Garbage Collection Basics

Allocation Failure (AF)

Free Space Threshold

Garbage Collection Mechanism

GC Performance Improvements

Generational Garbage Collection

Thread Local Heap (TLH)

Memory Tuning Goals

Steady State Heap Size

Analyzing Steady State Behavior

Effect of Initial Heap Size on GC

Optimizing GC Duration

CHAPTER 13 – SUN HOTSPOT 6.0 JDK MEMORY MANAGEMENT
Generational GC

Sizing the Generations

Heap Growth and Shrinkage

Client and Server JVM Modes

GC Collector Option

GC Ergonomics

CHAPTER 14 – JAVA EE SECURITY IN JBOSS
Authentication and Authorization

Challenge Mechanism

Java EE Security Roles

Java EE Security Roles

JBoss Security Domain

JBoss Security Domain

Login Modules

Using a Database for Authentication

Using a Database for Authentication

Using an LDAP Server

Using an LDAP Server

Chaining Multiple Login Modules

Chaining Multiple Login Modules – Example

Stacking Login Modules

Stacking Login Modules

Stacking Login Modules – Example

Hashed Passwords

Testing Security

Testing Security

CHAPTER 15 – JBOSS SECURITY
Securing JBoss Configurations

Security of Administrative Applications

Securing the JMX Console

Securing the Administration Console

Securing the Web Console

Securing the JBoss Web Service Management Application

Securing JBoss Invokers

Security Differences with JBoss EAP

Providing Security for Binary Commands

Encrypting Data Source Passwords

Encrypting Data Source Passwords

Digital Certificates

Creating Self-Signed Certificate

SSL (Secure Sockets Layer)

Enabling SSL on JBoss Web Container

CHAPTER 16 – INTRODUCTION TO WEB SERVICES
A Conceptual Look at Services

Defining Services

Service Communication Analogy

Three Key Service Questions

Connecting the Dots

SOA – Runtime Implementation

What is a Web Service?

Enterprise Assets as Services

Advantages of Web Services

Web Service Business Models

Web Service Business Models

Binding via SOAP

SOAP in Protocol Stack

SOAP Structure

Interface via WSDL

WSDL Structure

Locating a Service

UDDI Overview

UDDI Terminology

UDDI Structure

WS-I Overview

WS-I Deliverables

JBoss Web Service Deployment

Routing Web Service Requests

Routing Web Service Requests

Writing Portable Web Service Clients for JBoss

JBoss @WebServiceRef Customization

JBoss @WebServiceRef Customization

JBoss Web Service Tools

JBoss Web Service Tools

CHAPTER 17 – OVERVIEW OF CLUSTERED ARCHITECTURE
Clusters

Horizontal Scaling

Horizontal Scaling

Vertical Scaling

Vertical Scaling

Clustering Terminology

Clustering in JBoss

Clustering in JBoss

Running Multiple Instances of JBoss on Single Machine

Running Multiple Instances of JBoss on Single Machine

Running Multiple Instances of JBoss on Single Machine

Running Multiple Instances of JBoss on Single Machine

Adding JBoss Instances to a Cluster

Adding JBoss Instances to a Cluster

Clusters on the Same Network

Viewing JBoss Cluster Information

CHAPTER 18 – JGROUPS NETWORK COMMUNICATION
Introduction to JGroups

Introduction to JGroups

Group Coordinator

Joining the Group

JGroups Layering

Sample JGroups Layers

Transport Protocols

Network Impact

Discovery Protocols

Discovery Protocols

Merging Groups

Failure Detection Protocols

Group Membership Service

State Transfer

CHAPTER 19 – CLUSTERED DEPLOYMENT
Deployment Options

Regular Deployment

HA-Singleton Deployment

Farming Deployment

Farming Deployment

Issues of Farm Deployment

CHAPTER 20 – LOAD BALANCING WITH APACHE AND MOD_JK
Role of Web Server

Role of Web Server

Supported Web Servers

Using Apache with JBoss

Configuring mod_jk

Adding mod_jk Module

Configure mod_jk

Configure mod_jk

Configure workers.properties

mod_jk Load Balancing

Example workers.properties

Configure uriworkermap.properties

Configure JBoss

Apache mod_jk Status

Enabling Apache mod_jk Status

CHAPTER 21 – DISTRIBUTED APPLICATIONS
Application State

Distributed Failover

HTTP Session State Replication

JBossCache

JBoss Cache Configuration

Utilizing Session Replication

Clustered Session EJBs

Clustering Stateless Session Beans (EJB 3.x)

Clustering Stateful Session Beans (EJB 3.x)

Clustering Stateless Session Beans (EJB 2.x)

Clustering Stateful Session Beans (EJB 2.x)

Problems Deploying to “default” Configuration

CHAPTER 22 – HIBERNATE JPA CACHING
Need for Caching

Factors Involved in Caching

Using Hibernate to Cache JPA Entities

Types of Hibernate JPA Cached Data

Steps to Configure Hibernate Second Level Cache

Decide JBoss Cache Configuration

Standard JBoss Cache Configurations

Configure JPA Persistence Caching Properties

Sample persistence.xml with Hibernate Caching

Configure JPA Entities to Allow Caching

Configure JPA Queries to Allow Caching

Tuning Cache Eviction

JBoss Cache EvictionRegionConfig

CHAPTER 23 – CLUSTERED SERVICES
Introduction

Clustered Services

Clustered JBoss Messaging

Assign a Unique ServerPeerID

Configure Clustered JBoss Messaging

Configure Clustered JBoss Messaging

Clustered JBoss Messaging Destinations

Clustered JNDI Services

Clustered JNDI Services

HA-JNDI Clients

Access HA-JNDI in Java Code

Access HA-JNDI in Java Code

Access HA-JNDI by Modifying jndi.properties File

Properties in jndi.properties File

Properties in jndi.properties File

HA-JNDI With EJBs

CHAPTER 24 – ROLLING OUT JBOSS TO PRODUCTION
Securing Management Functions

Removing Hypersonic

Configuring JBoss with Firewalls

Configuring JBoss with Firewalls

Setting a Root Web Application

CHAPTER 25 – JBOSS OPERATIONS NETWORK
JBoss Operations Network

JBoss ON Features

JBoss ON Architecture

JBoss ON Server

JBoss ON Server

JBoss ON Agent

JBoss ON Agent

Supported Platforms

JBoss ON Console

JBoss ON Console

Dashboard

Dashboard

Browse Resources

Browse Resources

Resource Detail

Monitoring

Monitoring

Metric

Metric Detail Chart

Inventory

Inventory

Control

Control

Configuration

Alerts

Alerts

Console Users

Command Line

^^

See more JBoss courses