Course Summary
Marakana JBoss™ Training course covers the JBoss Administration. You will learn the details of setting up, configuring, and fine-tuning JBoss application server.
Participants in JBoss Training will learn the details of JBoss architecture, steps involved in setting up the application server, basic deployments, production installation and deployment issues, tuning and monitoring, securing the services and clustering.
This course is based on JBoss Application Server version 5.1, though it also covers differences from the previous versions of the server (specifically v4.x and v5.0).
Duration
4 days.
Objectives
Upon completion of Marakana JBoss Training course, you will be able to:
- Explain how JBoss relates to Java EE (J2EE) and compares to other application servers
- Install and setup JBoss on both Windows and UNIX-type environments
- Deploy, support, and troubleshoot applications on JBoss
- Navigate JBoss' directory structure
- Understand JBoss architecture, boot process, services, deployers, and configuration files
- Effectively monitor and manage JBoss via JMX
- Understand the structure and configuration of Java EE components and applications
- Secure JBoss and applications running on it
- Set up JBoss for SSL
- Tune JBoss's performance
- Explore different load-balancing and high-availability (HA) strategies with JBoss (clustering, sticky sessions, smart-proxies, etc.)
- Trouble-shoot deployment, classloading, security, performance, and scalability issues
Audience
Marakana JBoss Training course is for web and application server administrators who need to be able to install, configure, run, and tune the JBoss Application Server.
Often, Java EE developers attend this course to learn how to take advantage of JBoss' infrastructure and services.
To get the most benefit from Marakana JBoss Training course, you should be familiar with the basic principles of web/application server administration.
Additionally, prior exposure to any of these concepts can be helpful:
- Basic rules of XML (i.e., being able to edit XML files)
- HTTP protocol (i.e., the stateless nature of HTTP, the need for sessions, HTTP methods, SSL, etc.)
- Java environments (e.g., memory settings, automatic garbage collection, JDBC)
- Other Java EE (J2EE) application servers and basic concepts behind Java EE Applications
Please note that all these concepts are covered in the class.
Instructors
Aleksandar (Saša) Gargenta is the technology brains at Marakana. Always on top of the latest in software, Aleksandar is company's radar for technology that matters.
Aleksandar is the author of Marakana's Java, Advanced Java, Spring/Hibernate, JBoss, Apache, XML/XSL, and JUnit/TestNG training courses. Phew. And if that's not enough, he's also the chief architect of Marakana Spark, the on-demand software platform that powers marakana.com and a number of other training companies. As an instructor he's taught hundreds of classes for everyone from Apple to Disney, from NASA to the Department of Defense.
In his spare time Aleksandar runs the San Francisco Java and the San Francisco Android User Groups with over a thousand members between the two.
More about Aleksandar Gargenta...
Additionally Martin has been producing electronic music for the last few years using Ableton Live. He has released two albums and has been playing his music live around the US and at festivals such as the Coachella, Shambhala and Burning Man festivals. Martin is currently working on a revolutionary open source music standard, to produce a platform for musicians to share and contribute to their art using the principals of open source software. Martin also teaches digital music production with tools such as Ableton Live and Cubase.
Martin has several real estate projects in progress in the Nicoya Peninsula in Costa Rica where he purchased large tracts of land several years ago and has begun developing infrastructure and reselling subdivisions. The ultimate goal in this project is to develop a 50 acre nature preservation around a man made reservoir, for the protection and preservation of indigenous animal and bird species that live in these coastal regions. More about Martin Folb...
Additional Notes
About The Platform
Marakana JBoss Training course can be taught on both Windows and UNIX/Linux-type environments. The instructor covers both options during the training.
Trademarks
JBoss™ is a registered trademark of Red Hat, Inc. Marakana, Inc. may have no affiliation with Red Hat, Inc.
Java Meetup Organized by Marakana
Marakana team organizes and runs the San Francisco Java Meetup - an interactive group of Java developers. In our monthly meetings, we discuss Java landscape from both technology and business angles. We often have great presentations by industry experts, group discussions, as well as hands-on sessions. If you are in San Francisco Bay Area, we encourage you to join the group and meet other Java developers.
Outline
Java EE
- Overview of Java EE (a.k.a. J2EE)
- Java EE vs. other Web technologies
- Java EE standards/specifications/semantics
- Java EE and JBoss
JBoss
- JBoss Organization
- History of JBoss AS
- Features of JBoss AS
- JBoss AS Architecture
- JBoss AS Services
- JBoss AS Requirements
Installation
- Getting and Installing Java
- Configuring Java
- Getting JBoss AS
- Building JBoss AS from source
- Installing JBoss AS
- Unpacking
- Running Java Installer
- Understanding Differences
Directory Structure
- Explaining JBoss AS Directories
- bin, client, docs, lib, server, common
- Explaining JBoss AS Configuration Sets
- Difference between minimal, default, all
- Internal Directory Structure
- conf, lib, deploy, temp, work, data, log, etc.
- Logging on JBoss
Starting/Stopping
- Starting JBoss AS from command-line
- Starting JBoss AS as a service
- Verifying JBoss Startup
- Stopping JBoss (locally, remotely)
- Booting JBoss AS from network
Deployments
- J2EE Development/Deployment Lifecycle and Roles
- Deployment Descriptors (DTDs vs. Schemas)
- Deployment on JBoss AS
- JBoss Deployers (WAR, EAR, EJB, JAR, RAR, SAR, HAR, etc.)
- Deployment Dependencies
- Hot vs. Cold Deployment
- JBoss conf/jboss-service.xml file
- XMBeans
Services
- Tomcat Web Container
- Architecture and Configuration (server.xml)
- Concepts (Connectors, Engine, Host, Context, Valve, etc.)
- Understanding web.xml (Filters, Servlets, Mappings, etc.)
- Default web.xml
- Serving Static Content
- Virtual Hosting
- Web Access Logging
- JNDI
- Overview
- JNDI on JBoss
- JavaMail on JBoss
- Overview
- Configuration
- JMX
- Overview
- Architecture
- JMX on JBoss
- JMX Console
- Twiddle command-line tool
- Automation
- Deploying JMX Services
- Web Console
- JBoss Monitoring
- JBoss Scheduler
- JBoss Snapshots
- Admin Console
- JConsole
- JMS
- Overview
- Architecture
- Domains (Point-to-Point vs. Publish-Subscribe)
- JMS on JBoss
- Configuration
- EJB
- Overview (stateless/stateful session, entity, message-driven beans)
- Architecture
- Deployments (including EAR packaging)
- EJB on JBoss
- Remote Clients
- Turning
- Web Services
- Overview
- Architecture
- Web Services on JBoss
- Deployments
- Remote Clients
- Tooling
Class Loading
- Java Class Identity
- JavaEE Class Loading Requirements
- Class Loading on JBoss
- Default Class Search Order
- Scoped Class Search Order
- Log4j Issues
- Common Problems With Class Loading
Database Connectivity
- Installing/setting up MySQL
- Overview of JDBC
- Installing JDBC Drivers
- Defining Resource Requirements
- Describing Database Resources (Connection Pools)
- Resource Mapping
- Testing database access
- Embedded Hypersonic database
Security
- Securing Applications on JBoss AS
- Filtering clients by IP/Hostname
- Implementing JAAS-based declarative security
- Authentication and Authorization
- Plain-text
- Database-based
- Securing passwords
- Basic vs Form login
- Handling A&A failures
- Authentication and Authorization
- Data Transport Security (SSL)
- Generating SSL certificates
- Configuring embedded Tomcat for SSL
- Requiring SSL by applications
- Securing JMS Destinations (Queues and Topics)
- Securing EJBs
- Securing JBoss AS
- User and file system security
- Securing console applications/tools
- Securing other JBoss AS services
- Running with Java Security Manager
- Running behind a firewall
Performance
- JVM Tuning and GC Optimization
- Tomcat Tuning
- JMS Tuning
- RMI/EJB Tuning
- Log4J Tuning
- Tuning other JBoss services
- Slimming JBoss
High Availability and Scalability
- Defining Requirements
- Overview of clustering architectures
- Fronting JBoss with Apache Web Server
- Advantages
- Installing and Configuring mod_jk
- Load Balancing with mod_jk
- Enabling sticky sessions (server-affinity)
- Clustered Session Replication
- Clustered Single-Signon
- Clustering other JBoss AS Services
- HA-JNDI
- HA-JMS
- Cluster Farming Deployment
Course Testimonials
short version: Sasa is the man! long version: The instructor was well versed in every area of JBoss administration and JEE application development. Each question was answered in a clear and thourough manner. If you enjoy being trained by competent, seasoned professionals - try Marakana.
The instructor was well prepared and provided a great amount of detail regarding not only the core JBoss topics, but also a wealth of information about J2EE theory and standards.
First of all, I thought Sasa did an excellent job. He provided enough technical detail to fill in the gaps in my knowledge. I really enjoyed the way he was able to cover a topic in detail but at the same time provide a high level overview. Secondly, I thought that the pacing was good but we ran out of time towards the end where we were going to cover clustering. Finally, I would highly recommend the instructor and the course for Java programmers who are serious about learning the internals not just superficially but really in depth! Great job! Please keep up the great work.
Instructor was terrific. The Course outline is very nice. The best training class I ever attended. The instructor was able to answer all questions, very clear mind and clear answers. All topics are covered in detail. Great job.
The course was well put together. Some training courses don't plan out the Labs very well but this course did a great job of setting up clean well-defined labs that stayed on-point to the topic at hand. The instructor was extremely well prepared to teach the class as well as other parallel topics outside the scope of this course.
Excellent instructor.
Awesome Class would definitely attend another
The instructor was very knowledgeable and helpful. He also covered topics we requested beyond the scope of the class.
Very good class!
Overall, the instructor was really well-prepared and--best of all--customized the time allocations to our specific implementation and skillsets. He's great!
Great teacher and Great Class. Never had such detailed class in 4 days. Thanks a lot I learned a ton of basics as well. Lunch provisioning is very creative.
The instructor is very knowledgeable, and an excellent instructor. Course materials were very well organized and informative.