JBoss Application Server (AS) is one of the most popular open source Java application servers on the market. The JBoss 5 release is a Java EE 5 certified platform for developing and deploying enterprise Java applications and web applications.

While rich in functionality, administering JBoss AS can be somewhat challenging, as it often requires you to manipulate multiple XML configuration files located in multiple locations in a JBoss installation. JBoss AS 5 also differs in a number of ways from previous versions, so this course covers all the important administrative tasks required to administer this new version.

Training will begin with installation, architecture, basic configuration and monitoring, and then moves on to configuration of the many other services that JBoss AS supports, such as the Tomcat-based web container, JDBC and JMS. Coverage also includes the details of securing JBoss AS, as well as advanced topics such as tuning and clustering. This course is written to version 5.1.x of JBoss AS but is in large part consistent with all 5.x versions.

Focused and informative, this course was created by experts in the JBoss AS. It will demystify the many, sometimes obscure, details of running and maintaining the JBoss AS, and leave you well prepared to manage JBoss AS installations. Class time is 50 percent hands-on and 50 percent lecture.

Course Duration: 3 days
Prerequisites:

At least four to six months of Java experience is recommended.

Course Objectives:
  • Understand JBoss AS structure and architecture
  • Install and configure JBoss
  • Understand the Microcontainer and the legacy JMX MicroKernel
  • Assemble, deploy and manage Java EE application components such as EJB, Servlets and JMS
  • Configure JBoss services such as DataSources and Messaging
  • Configure the web container (Tomcat)
  • Understand and use JBoss security
  • Configure runtime security for JBoss services and server-side application components
  • Manage JBoss clusters
  • Tune JBoss performance
Course Outline:
  • JBoss Introduction and Installation
    • Java EE Overview and Architecture
    • JBoss Background and Overview
    • Basic JBoss AS Architecture
    • Downloading and Installing JBoss AS
    • Starting and Stopping JBoss
  • JBoss AS Structure and Architecture
    • JBoss AS Directory and File Structure
    • JBoss Standard Configurations and Custom Configurations
    • Configuration Directory and File Structure
    • The JBoss Microcontainer Overview and Architecture
    • Configuring Beans for the Microcontainer
    • JMX and the Legacy JBoss JMX Microkernel and MBean Server
    • JBoss AS JMX-based Services and Service Definitions
    • The Admin Consoles (JMX Console, Web Consoles, Jopr)
  • Deployment
    • Java EE Application Structure (Jars, Wars, Ears, Sars)
    • JBoss AS Deployers
    • Deploying and Redeploying Archives
    • Expanded Deployments and Nested Deployments
    • Deployment Dependencies and Deployment Ordering
    • JBoss Classloading, and Effect on Deployment
  • Web Container, Port Configuration, JNDI, and Datasources
    • Web Container Overview
    • The server.xml and other config file
    • Configuring the HTTP, HTTPS, and AJP Connectors
    • Port Configuratino and ServiceBindingManager
    • JNDI and Naming Overview
    • JBoss Naming Overview and Configuration
    • JNDI Client Configuration
    • DataSoruce and JCA Overview
    • DataSource Configuration and *-ds.xml Files
    • The Hypersonic Database and DefaultDS
  • Other Services
    • Remote Object Invokers and JBoss Remoting
    • Unified Invoker, and RMI Invoker
    • HTTP Invoker
    • JMS – Java Message Service
      • JMS Overview
      • JBossMessaging Overview
      • JBossMessaging Configuration
      • JBossMessaging Invokers
      • Configuring Queues and Topics
    • Web Services
    • Other Services – EJB, JMX Invoker Adapter, RMI Classloading
  • Security
    • Java EE Security Overview
      • Authentication, Authorization, Identity
      • Security Roles
      • Web App Security Constraints
    • JBoss AS Security Architecture
    • JBoss AS Security Domains
    • JBoss AS Login Modules
    • Using UsersRolesLoginModule
    • Using Password Hashing
    • Using DatabaseServerLoginModule
    • Other Login Modules (LDAP, etc)
    • Encypting Datasource Passwords
    • Enabling SSL
      • Setting Up HTTPS, keytool, configuration
      • RMI Over SSL (EJB usage)
      • Other Uses of SSL
    • Securing Other JBoss AS Services – Consoles, Invokers, DataSources, etc.
  • Tuning JBoss
    • JBoss AS and the Java Virtual Machine (JVM)
      • Tuning The Heap (Memory Usage)
      • Garbage Collection (GC) Overview and Generational GC
      • Tuning GC
    • Tuning the Web Tier (Tomcat)
      • Connector Tuning
      • Other Optimizations
    • Database Connection Tuning
    • RMI Invoker and Messaging Tuning
    • Other JBoss AS Optimizations
    • Creating Minimal Configurations
  • Clustering
    • JBoss AS Clustering and JGroups Overview
    • Cluster Configuration and Partitions
    • Troubleshooting Multicast Issues
    • Clustering Architecture (Client Interceptor, Load Balancing and Fault Tolerance, State Replication)
    • Clustered Services (HA-JNDI/High Availability JNDI, EJB, Messaging
    • Farm Service
    • Load Balancers and Clustered Http
    • Using Apache httpd as a Load Balancer