JB161 - JBoss and EJB3 for Java Developers
Course Summary
The JBoss and EJB3 for Java Developers course is recommended for
individuals who wish to become Certified JBoss Developers, or who wish
to progress to the JBoss for Advanced J2EE Developers course. This
course provides an in-depth introduction to JBoss, EJB3 and J2EE, and
is ideal for students with Java experience wishing to deepen their
knowledge. This class does not lead to a standalone certification;
however, to enter the Middleware Track, one must either have attended
the JBoss and EJB3 for Java Developers course OR successfully pass the
Placement exam.
RHD161 - JBoss and EJB3 for Java Developers Description
Description:
JBoss and EJB3 for Java Developers is targeted toward proficient
Java developers who wish to extend their knowledge to EJB3 and J2EE
middleware programming using the JBoss Application Server. This class
is an in-depth introduction to EJB3 and J2EE using the JBoss
Application Server. It provides a hands-on approach to EJB3 and J2EE
application development, deployment and the tools necessary to
facilitate both processes.
Prerequisites:
Basic Java programming skills and knowledge of OOAD concepts are
required. The student must have practical knowledge of, and/or
experience with, the following:
- The object-oriented concepts of inheritance, polymorphism and encapsulation
- Java syntax, specifically for data types, variables, operators, statements and control flow
- Writing Java classes as well as using Java interfaces and abstract classes
- Using Java collections
- Handling Java exceptions
- Using the JDK and creating the necessary environment for compilation and execution of a Java executable from the command line.
No prior knowledge of J2EE or the JBoss Application Server is required. This training is based on JBoss 3.2.x and 4.x series.
Duration:
4 days (32 Hrs.)
RHD161 Course Content
The following is an outline of the skills and knowledge represented
in the training elements of the RHD161 JBoss and EJB3 for Java
Developers Course.
Note: Technical content subject to change without
notice. Significant changes in course content will generally be
available in posted outlines at least two months prior to being
implemented in scheduled courses, to allow enrolled students adequate
prep time. Reload this page regularly to insure up-to-date information.
Course content
- Introduction to J2EE and EJB3
This
module provides an overview of the
J2EE platform architecture and EJB3
component model. It clearly defi nes
J2EE, the motivation behind the design
of the platform, the EJB3 components
that comprise the J2EE 1.4 platform and
provides an overview to the packaging and
description of roles in J2EE development
and management.
- Servlets
This module provides the
background and motivation that led to the
creation of the Java Servlet specifi cation
as well as an overview of the servlet
architecture. It covers basic HTTP request
and parameter handling, HTTP Sessions,
fi lters and web application lifecycle
events. It also covers the Web Archive
(WAR) packaging, how to use JBoss
specifi c deployment descriptors for servlet
confi guration, and how to confi gure Tomcat
connectors.
- Java Server Pages
This presentation
gives the background and motivation of the
Java Server Pages specifi cation and gives
a foundation for JSP implementation. It
covers JSP tags and directives, introduces
MVC architecture concepts with JSP and
EJB3 and how to make modifi cations to
applications currently deployed with JSP
pages with JBoss expanded directory
deployments.
- Naming Services and JNDI
This section
describes the J2EE Naming Service, its
role and how it is used. It explains the
basics of the Java Naming and Directory
Interface (JNDI) API and the confi guration
of the Naming Service. It also provides
foundational details of JBossNS, the naming
service implementation used by the JBoss
application server.
- Introduction to EJB3
This module
provides a basic introduction to Enterprise
Java Beans 3.0. It explains the case for
server-side components, the declarative
(via annotations and/or configuration files)
programming approach of EJB components.
It shows how EJB insulates "business code"
from system code. This section Introduces
the different kinds of EJB components:
session, entity and message-driven beans
and presents how to author with version
3.0 of this component specifi cation. The
student will learn how to specify a local and/
or remote POJI (plain old Java interface)
for the simple POJO-based (plain old Java
object) component. The module will show
how to author EJB3 life-cycle listeners
and listener classes and exception classes
that may be specifi ed to determine the
completion of a transaction. This section
will introduce the student to the completely
new persistence model for entity beans and
their embeddable classes. The module will
conclude with an explanation of several
architectural innovations found in the JBoss
Application Server EJB3 container such
as smart proxy technology. Smart Proxy
technology adds "ease-of-use" to EJB3
deployment and backward compatibility
to EJB2.x. It is integral to the highly
confi gurable, "interceptor-based" EJB3
container.
- EJB3: Stateless Session Beans
This
module covers the stateless session bean
in detail. EJB3 bean implementation,
packaging and deployment will be
addressed. Bean lifecycle and lifecycle
listener classes, pooling and concurrency
issues are covered as well as how to
confi gure session bean pool sizes and
author custom interceptor stacks. The
student will learn how to create custom
container confi gurations in JBoss and how
to use the interface class name or a global
JNDI mapping for bean location.
- EJB3: Stateful Session Beans
This
module covers the stateful session bean in
detail. Lifecycle listener classes, container
annotations and interceptor classes for
EJB3 stateful session beans are thoroughly
examined. This module will provide a
comparison between stateless and stateful
session beans and why one would be
chosen over the other. The student will learn
how to confi gure a Stateful Session Bean
cache and how to confi gure Stateless and
Stateful Session Beans for clustering in
JBoss.
- EJB3: Entity Beans
This section covers
the new persistence model for EJB3 (and
J2SE) POJO components in detail. This
includes addressing the interfaces, lifecycle
and lifecycle listener classes, interceptor
classes, simple and composite ids and
queries in EJB3. Issues of concurrency,
pooling and packaging and deployment
are covered. The student will learn how to
construct embeddable and composite id
classes. The student will be introduced
to the use of "dependency injection." The
student will learn how to confi gure different
commit options, mapping and fetching
strategies, and how to manage basic
datasource confi guration for entity objects
in EJB3.
- Transaction Assembly
This module
introduces the concept of transactional
boundaries and how the transactional
declarative tags (as annotations or tags in
the confi guration fi le) allow developers to
control atomic units of work. A foundational
overview of the two phase commit protocol
and the handling of exceptions and
rollbacks from within an EJB3 POJO is
provided.
- J2EE Security and JBoss
This section is
an overview to the J2EE security topics.
The student will be shown how to add
access control to web applications, how
to authenticate users and how to control
access to EJB components. This module
also shows how to setup and confi gure
the numerous security domains, or login
modules for a JBoss instance.
- EJB3: Message Driven Beans (MDB)
and the Java Message Service (JMS)
This module provides a comprehensive
introduction to the Java Messaging Service
and the JMS API. Point-to-point and
publish-subscribe messaging domains will
be covered as well as transactional JMS.
The student will be shown how to work
with an integrated JMS within the EJB3
component framework. An in-depth look
in to Message Driven Beans (MDB) (for
asynchronous communication with the EJB3
layer) will be provided. The student will learn
how to create message driven beans within
a transactional setting and how to deploy
JMS connection factories, JMS destinations
and message driven beans.
12. - EJB3 Interceptors
This section describes
the interceptors formalized in the EJB3
specifi cation. Interceptors are stateless
Java classes that work in the EJB3
container in a manner similar to the way
Servlet 2.3 fi lters work in the Web container.
EJB3 interceptors intercept the incoming
business method invocations and the
outgoing return message. This module
describes how to author both global and
class-specifi c interceptors and how the
invocation state and an arbitrary payload
can be shared among multiple interceptors
via the InvocationContext object.
13. - Web Services with EJB3
This section will
provide an overview of the architecture and
implementation of J2EE 1.4 web services.
The student will learn how to expose EJB3
and Servlet components via a Web Services
Defi nition Language (WSDL) document to
enable remote XML RPC invocations to
these components. The student will learn
the basic approach of integrating the JBoss
application server with legacy enterprise
middleware and .NET.