JBoss Training Overview
JBoss Application Server (AS) is one of the most popular open source Java application server on the market. The latest release, JBoss 5, 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 that are located in multiple locations in a JBoss installation. JBoss AS 5 also differs in a number of ways from previous versions. This course covers all the important administrative tasks that are required to administer this new version of JBoss AS. It starts with installation, architecture, and basic configuration and monitoring, covers deployment and configuration of Web and Enterprise applications, 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. It also includes coverage of the many details of securing JBoss AS, as well as advanced topics such as tuning and clustering. It is written to version 5.1.x of JBoss AS, but is in large part consistent with all 5.x versions. The course is focused and informative, and 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.
JBoss Training Audience
Administrators and web masters who need to maintain applications on the JBoss Application Server.
JBoss Training Prerequisites
Familiarity with basic Windows operational skills is required. A basic knowledge of web-based applications, web server, Java, and XML is recommended.
JBoss Training Course duration
3 Days
JBoss Training Course outline
Introduction and Installation
Java EE Overview
Java has Multiple Platforms
What is Java EE?
Some Common Java EE APIs
What are Java EE Application Servers?
Multi-Tiered Architecture
Web-Based Architecture with EJB
Rich Client Architecture with EJB
Supporting Both Web Clients and Rich Clients
Playing Server Games
SOA Service Oriented Architecture
SOA Architecture
JBoss AS Overview
JBoss Application Server (JBoss AS)
JBoss AS History and JBoss the Company
JBoss the Company
JBoss 5 Application Server
Server Architecture - the Microcontainer
Legacy Server Architecture JMX Microkernel
Services Provided by the MC and MK
JBoss AS 5.x Architecture
JBoss AS 5.x Common Technologies
Installing and Running JBoss AS
System Requirements
Choosing your JVM
Operating System Considerations
Environment Variables
Installing JBoss AS
Server Configurations
Zip Installation
Graphical Installer
Starting JBoss AS
Starting JBoss AS The Microcontainer
Starting JBoss AS The Microkernel
The Server is Up
Stopping JBoss
More About Starting and Stopping JBoss AS
The <jboss>\bin Directory and its Files
The run Script
JBoss System Properties and run-D
System Properties and Directory Structure
Other run Options
Heap Allocation
The shutdown Script
Using the shutdown Script
Running JBoss AS as a Service
Documentation Overview
The <jboss>\docs Directory
JBoss AS Structure and Architecture
Server Configurations
Server Configuration Structure
Configuration Directory Structure
The conf Directory
bootstrap.xml and bootstrap\*.xml Files
The Legacy jboss-service.xml File
Services Deployed in jboss-service.xml
Microcontainer (MC) and Microkernel (MK)
The lib Directories
The Deploy Directory
Server Logging
The log Directories and Logging Configuration
log4j Overview
Appenders and Priority
JBoss Boot Logging
JBoss Server Logging
The jboss-log4j.xml File
Controlling Application Logging
Creating New Appenders
The JBoss Microcontainer
Overview of the Microcontainer (MC)
About Dependency Injection
MC Configuration File Structure (XML)
<bean>s Attributes & Sub-elements
How JBoss AS Boots Low Level Details
Core Services Started in the Bootstrap
A Complete Service Definition
Bean Definition jboss-beans.xml
Overview of JMX
JMX Architecture
JMX Object Names
About the JBoss Microkernel (MK)
Relation Between JBoss Microkernel and JMX
About MK Based JBoss Services
Service Definition jboss-service.xml
Providing JMX Access to MC Beans
The Admin Consoles
The JMX Console
Looking at MyDependentService
Things you can do with JMX-Console
JMX Console Logging Control
twiddle Command-Line JMX
The Web Console
The Admin Console
Jopr Overview
Jopr/JBoss Operations Network (JON)
Jopr Structure
Jopr Agent Structure
GUI Console The Dashboard
Console A Server Detail Page
Console A Service Detail Page
Deployment
Java EE and JBoss Archives
Java EE Archive Structure
WAR/EAR Structure
Deployers and Deployment
JBoss AS Deployment Architecture
Deploying into JBoss AS
Deployment Options
Working with Expanded Deployments
Deployment Ordering
Nested Deployments
Classloaders
Classloading
Classloading in Java EE Servers
Class Loader Hierarchy Normal Java EE
JBoss Class Loader Repository
Creating Isolated Deployments
Viewing the Loader Repository
Web Container, Port Configuration, JNDI, and Datasources
The Web Container
Web Container Overview
JBossWeb
Configuration Files
server.xml Structure
Configuring the HTTP Connector server.xml
Other Connectors server.xml
Access Logging server.xml
ROOT.war The Root Web Application
The Default web.xml File
Monitoring the Web Container
The Tomcat Status Servlet
Port Configuration / ServiceBindingManager
Overview
ServiceBindingManager Definition
Using ServiceBindingManager
Accessing Services on Different Ports
JNDI
Review JNDI Overview
JNDI Name Tree
JNDI Name Tree Diagram
Review JNDI in the Java EE Platform
Configuring JNDI Clients
How JNDI Works
Configuring Naming on JBoss AS
Tunneling JNDI through HTTP
Datasources
Java and Database Connectivity
Java EE and Datasources
Connection Pooling
Non-Pooled vs. Pooled
Getting a Pooled Connection Illustrated
Closing a Pooled Connection Illustrated
Datasources in JBoss AS
Configuring Datasources in JBoss AS
Datasource Configuration File
Hypersonic Datasource Configuration
Other Configuration Elements
Configuring Non-tx and XA Datasources
The Hypersonic Database and DefaultsDs
Changing the Hypersonic Database
Other Services
Remote Object Invokers
UnifiedInvoker JBoss Remoting
UnifiedInvoker Configuration
Connector Configuration
EJB3 Invoker Configuration
Older JBoss AS RMI Invokers
HTTP Invoker
HTTP Invoker http-invoker.sar
How the HTTP Invoker Works
Configuring HTTP Invoker
Using the HTTP Invoker
JMS (Java Message Service)
Note on JMS
Messaging Overview
Publish/Subscribe Illustrated
Point-to-Point Illustrated
What is JMS Java Message Service
JBoss Messaging
ServerPeer Configuration
Persistence: hsqldb-persistence-service.xml
Persistence Manager Configuration
Post Office / User Manager
ConnectionFactory Configuration
messaging-jboss-beans.xml / Security
Remoting Connector Configuration
Configuring Destinations
JBossMessaging and the JMX Console
Destinations and the JMX Console
SOA/Web Services
SOAP
WSDL
JBossWS Web Services
JBossWS Management Pages
JBossWS and JMX Console
Other Services
EJB Enterprise JavaBeans
JBossWS Web Services
JMX Invoker Adapter
RMI Classloading
Security in JBoss AS
Java EE Security Overview
Security Requirements
Java EE Security in JBoss AS
Transport Level Security with HTTP/SSL
Java EE Security Overview
Java EE Declarative Security
JMX Console Security Role Declaration
Specifying Security Constraints
Security Constraints Deployment Descriptor
JBoss AS Security
JBoss Security Mechanism Overview
Security Domains and Login Modules
JBoss Login Modules
UsersRolesLoginModule
Specifying Security Domains
Encrypting User Passwords
Configuring Password Hashing
Generating Hashed Passwords
DatabaseServerLoginModule DB Based
Security Domain DatabaseServerLoginModule
LdapLoginModule LDAP Based
Using the LdapLoginModule
JBoss Security MBeans
The JaasSecurityManager MBean
Encrypting Datasource Passwords
Encrypting Database Login Passwords
Using SecureIdentityLoginModule
TLS/SSL and HTTPS
TLS/SSL & HTTP Transport Level Security
TSL/SSL Meets Some Security Needs
TLS/SSL Requires Server Setup
The keytool Program
Using the keytool Program
Enabling Tomcat HTTPS
Testing if HTTPS Works
Requiring HTTPS on a Web App
Securing JBoss Services
Securing JBoss
Secure Access to Admin Console/HTTP Invoker
Secure Access to JMX RMI Invoker Adapter
Remove/Restrict Web Class Loading Service
Secure Transport EJB 3 over SSL
Setting Up SSL for EJB3
Secure Transport EJB 2 / RMI over SSL
Secure Access to JMS
Secure Transport JMS and SSL
Secure Transport RMI/JRMP and SSL
Secure Access to Datasource
Debugging Security
Tuning JBoss AS
Tuning Memory Usage
Tuning Overview
Memory, Memory, Memory
JVM Heap Size
JVM Perm Space
JVM Garbage Collection
JVM Generational Garbage Collection
JVM Minor vs. Full Collections
JVM Optimizing Generational GC
JVM Parallel Garbage Collectors
JVM Choosing Garbage Collectors
OS Memory and Threading
OS and Hardware Other Considerations
Resource Tuning
Database Tuning
Tomcat Tuning Connectors
Tomcat Tuning - JSP
Other Tomcat Tuning
Logging
Other Services
Removing Services
Architecture Issues
Playing Server Games
Topology Performance Ramifications
Clustering
Clustering Overview
Cluster Partitions
JGroups
Partition Configuration
JGroups Troubleshooting
Clustered Services
Architecture Client Side Interceptors
Architecture Load Balancer
Load Balancing Policies Client Interceptor
HA-JNDI High Availability JNDI
Cluster JNDI Architecture
HA-JNDI Server Side Configuration
HA-JNDI Client Side Configuration
HA-JNDI Client Side Autodiscovery
Clustered EJB
Clustered HTTP
The Farm Service
Clustered Singleton Services
Clustered JBoss Messaging
Load Balancers Clustered HTTP
Load Balancers
Configuration in the Java Web Container
Configuration in Apache HTTPD
Configuration of Workers (Tomcat Nodes)
Configuration for a Load Balancer
Load Balancer and Sticky Sessions
Mounting Applications in an External File
Configuration Considerations
|