|
|
JBoss for Advanced J2EE Developers
This is our advanced training targeted at advanced developers, consultants
wanting to become JBoss Certified Consultants and team leads/architects
who want to base their applications on JBoss. Divided into 70% theory
and 30% labs, this course is intensive, high-level, theoretical and in-depth.
A good deal of lecture time is spent understanding the fundamental design
choices behind JBoss, the Aspect Oriented Programming nature, the detyped
invocation flow the abstract interceptor on the client and server side,
and how easily you can apply all this to build your own strand of JBoss
optimized for your needs. This is a 4 day course.
Note: this course is not recommended for beginner Java programmers.
Course Modules
-
JBoss State of the Union
In this brief introduction we present JBoss the Open Source project
and JBoss Inc. the provider of Professional Open Source services.
We establish the current status of the project and cover the product
roadmaps planned for the next JBoss product releases. We will tell
you where we are today, and where we plan to go tomorrow.
-
Architecture Overview
The JBoss architectural overview paints the full picture of the app-server
microkernel design -- the JMX invocation bus, MBeans as services and
containers. We briefly focus on the containers and then back some
more to the unified classloader architecture, before getting to the
multiple detached invoker layer and the client proxy tricks. This
module is a must requirement for any systems architect looking to
understand the modular nature of the application server, how to take
advantage of customized solutions with JBoss and where to find the
extensions point to mold the server to fit your application's needs.
-
JMX in JBoss
In this module we go in depth into the JMX specification, standard/dynamic
and model MBeans covering the XMBeans implementation of JBoss. This
focuses on the usage of JMX and where we apply it in the application
server. You will learn how to create management interfaces for your
service implementations, how to decouple your services running in
the application server and how to externalize the service definitions.
We will show how to take advantage of additional JMX service such
as persistence in this section. Core and fundamental knowledge to
any developer looking to build customization and extensions to the
application server.
-
JMX Microkernel
Creating extensions and new modules is easy with the JMX based service
definition in the JBoss application server. This module explains how
you integrate your own custom modules into the JBoss microkernel.
We cover the deployer architecture and implementation, classloader
architecture and how to integrate your custom classloaders into the
JBoss classloading domains. We will show you how we bootstrap the
application server with practical tips on how to use the JMX API and
most importantly, how to implement your own service implementations
and have them participate as first class application server modules
in the kernel lifecycle. Anyone wishing to extend the application
server to fit their specific application requirements must understand
how to take advantage of the kernel integration.
-
JBoss Smart Proxies
Fully understand how the dynamic proxy approach of JBoss application
server works. Learn how to customize the proxy implementations executed
by the client applications, how to take advantage of the location
dependent information inside the proxy and how to customize the on-the-wire
payload sent by the client to the application server. For developers
looking to extend the transparent wire protocol of the proxy with
additional security or identity context, understanding the smart proxy
architecture is vital.
-
EJB Container
In this module we walk you through the EJB container implementation.
We will show how the interceptor based middleware design allows your
server to be configured as an EJB container, how each of the individual
interceptors implements a specific aspect of the EJB specification,
and how an EJB invocation travels through the interceptor stack to
execute the bean logic. Essential information to anyone who needs
to understand how to interact with the abstracted invocation object,
how to implement interceptors on the server side, how to integrate
with different server side services such as transaction manager or
security manager and how to customize or optimize the EJB container
itself.
-
Aspect-Oriented Middleware
This brand new module takes you to the future of Java middleware development.
Expanding on the topics covered with earlier sections, we generalize
the interception architecture and define JBoss AOP framework, and
show you how to build your custom containers from scratch in a robust
and predictable manner. We explain basic AOP concepts such as aspects,
pointcuts and bindings and show how to use those in practice to implement
a POJO based middleware applications. We will also cover how to apply
existing EJB related services (security, transactions, locking, etc)
on plain old Java objects, and how to turn your existing domain objects
into fully blown containers without imposing disruptive component
contracts to the implementation.
-
JBoss Cache
Learn how to use and take advantage of industrial strength distributed
cache implementation from JBoss. JBoss Cache is a replicated and transactional
cache that allows you to cache data from Enterprise Applications in
order to dramatically improve performance. The caching data is replicated
automatically allowing you to easily cluster data across a grid of
JBoss servers. JBoss Cache can run as an MBean service within JBoss
Application Server or other J2EE containers. We cover both the TreeCache
implementation and the AOP enhanced cache implementation - features
and automatic object mapping (with AOP TreeCache) on the cache tree
structure. How eviction policies work and how the cache interacts
with persistent storage. This is important knowledge for anyone looking
to provide highly scalable and responsive systems with high availability
and full transactional support.
-
EJB Clustering
In this module we cover the current clustering implementation for
EJB implementations, from replicated JNDI tree implementation to load
balancing and failover features of EJBs. We will show you how we take
advantage of the JBoss smart proxies with pluggable load balancing
implementations and how the proxies are dynamically updated with cluster
topology changes.
-
Fine-Tuning JBoss Application Server
Learn the tricks and skills to fine tune your JBoss application server
for production usage. Find out what to do to minimize serialization,
how to increase your server's concurrency and throughput with correct
locking policies and how to make an effective use of caching for your
EJB's. We cover the differences between default pessimistic, instance
per transaction and optimistic concurrency. Cache invalidation strategies
and commit options, fine tuning the virtual machine and read-mostly
clustering strategies. This is critical knowledge before going to
production with your JBoss application server.
-
CMP 2.0
This module covers the EJB CMP2.0 implementation with JBoss. We cover
the 2.0 specification, object to relation mapping using CMP in JBoss
and how CMP 2.0 allows for advanced designs and optimized performance.
You will learn the different options you have for specifying queries,
from EJB-QL to JBossQL down to native SQL execution and how to optimize
loading for finder methods and EJB instance to avoid N+1 problems.
-
Security in JBoss
Learn how to secure your EJB applications with JBoss. For most practical
needs, the J2EE specification does not go far enough for you to build
satisfactory security integration into your applications. This module
explains the nuts and bolts of JBoss' security implementation, how
you can configure it to integrate with your existing security infrastructure
and how to extend it to do your own custom security implementations.
We will discuss how to use JAAS to integrate with existing databases
and LDAP authentication systems, how to do per-instance security based
on EJB state and invocation context, and how the security context
propagates between components in the application server.
-
JMS
This module covers our messaging implementation. We will see an architecture
overview into JBossMQ implementation, the different parts of the messaging
infrastructure and how they interact with each other. We will show
you how the message passes through the system, what the different
invocation layers are, how to create your own server side interceptors
for messaging, how to secure your JMS destinations and how to configure
your message persistence and cache. Learn all about the high availability
features of JBoss messaging implementation and how to use and configure
it. For anyone using messaging in their application, this module provides
all the essentials.
|
|