JBoss Application Server v5.x Administration and Clustering (Linux) - JBS200
This course teaches the deployment and administration of web applications to a JBoss Application Server v5.x 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.
Course ID: JBS200
Duration: 5 days
Audience: Webmasters,System administrators
Prerequisites: Familiarity with basic Linux operational skills
Topics:
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
What is 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
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
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
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
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
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
JNDI and 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
JBoss Internal Architecture
- JMX Intro
- JBoss Microcontainer
- POJO Services
- Defining Custom JBoss Services
- JBoss "Bootstrapping"
- Deployers
- Invokers and Remoting
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
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
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
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
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
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
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
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
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
Clustered Deployment
- Deployment Options
- Regular Deployment
- HA-Singleton Deployment
- Farming Deployment
- Farming Deployment
- Issues of Farm Deployment
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
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
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
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
Rolling Out JBoss to Production
- Securing Management Functions
- Removing Hypersonic
- Configuring JBoss with Firewalls
- Configuring JBoss with Firewalls
- Setting a Root Web Application
JBoss Operations Network
- JBoss Operations Network
- JBoss ON Features
- JBoss ON Architecture
- JBoss ON Server
- JBoss ON Agent
- Supported Platforms
- JBoss ON Console
- Dashboard
- Browse Resources
- Resource Detail
- Monitoring
- Metric Summary
- Metric Detail Chart
- Inventory
- Control
- Configuration
- Alerts
- Console Users
- Command Line
- Summary
- Reference



