JB161 JBoss and EJB3 for Java Developers
This course provides an introduction to JBoss, Java EE and
EJB3, and is ideal for students with existing Java programming
experience wishing to enter Java Enterprise Edition (Java EE)
development.
Course Description
JBoss and EJB3 for Java Developers is targeted toward
Java developers who wish to extend their knowledge to EJB3 and
Java EE middleware programming using the JBoss Application Server.
This class is an introduction to Java EE web-tier and EJB3 development
using the JBoss Application Server. It provides a hands-on approach
to Java Servlet, JSP, JSF and EJB3 development, deployment and the tools
necessary to facilitate both processes.
What you will learn:
Course content
- Servlets
This module provides the background and motivation that
led to the creation of the Java Servlet specification as
well as an overview of the servlet architecture. It covers
basic HTTP request and parameter handling, HTTP Sessions,
filters and web application lifecycle events. It also
covers the Web Archive (WAR) packaging, how to use JBoss
specific deployment descriptors for servlet configuration,
and how to configure Tomcat connectors.Here we describe the servlet container (in this case
Apache Tomcat). It includes a description of how and why
it provides the services it does as well as how to
configure your web application to properly take advantage
of its services.To properly make use of Servlet technology, an
understanding of the HyperText Transfer Protocol is
required. One must know the difference between GET and
POST and be able to indicate MIME types properly to
effectively receive input from web forms and provide
content in response. Additionally, we will discuss how
Cookies allow websites to maintain a relationship with its
users by remembering them. - HTTP Session
Here students will learn what the powerful HTTP Session
can be used for and how it can save time for your users by
increasing the performance of your application.This module extends your understanding of the Servlet by
detailing it´s lifecycle and further showing how one might
tap into this by listening for lifecycle events and covers
how to implement a servlet filter to process incoming and
outgoing data. - JSPs
Here we go into depth on the power of JSPs. We will
discusse Expression Language (or EL) which enables
developers to make calls into their JavaBeans directly
from their web pages and output the results in a very
readable fashion.We will also look at Tag Libraries and why one might use
them? This module demonstrates some of the functions
available in the Java Standard Tab Library (JSTL) and how
to use them. We will write our own custom tags such that
you will be able to extend the JSP programming model to
meet your needs. - Web Security
Building your web presence is important, but it can be
dangerous as well. In this module we will visit some of
the security pitfalls and show you how to avoid them in
your own deployment. This includes discussion of locking
down your system and protecting it with passwords as well
as implementing HTTPS using your own security certificate. - Building Applications Using JSF
This module will discuss the use of Java Server Faces
(JSF). How and why would a developer use such a framework?
What advantages does it offer in designing and building a
clean, modular application? How will JSF technology help
you reach broader, worldwide audiences? How does JSF yield
more maintainable code and how can you extend its
functionality to meet the needs of your business? These
questions and more comprise are addressed here. - The Java Persistence API (JPA)
This module introduces the Java Persistence API (JPA), its
value and how developers can take advantage of this leap
forward in object-relational mapping (ORM). We will see
why this technology is so exciting to the industry and
what it can offer you. We will learn about how to properly
map objects, what options are available for complex
relationships (including inheritance - a strength of
object-oriented programming) and will gain insight into
how to make these decisions.Entity lifecycle, query language, proper packaging and
optimizations such as lazy fetch will also be discussed
here. Additionally, developers will see how annotations,
the modern and powerful Java language feature, helps to
make developers more efficient as they do the same for
their applications. However, XML overrides will not be
ignored as they retain significant value even in this
annotated world. - Enterprise JavaBeans (EJB3)
This module provides a basic introduction to Enterprise
Java Beans. It explains the case for server-side
components and the different types of Beans available:
session, entity and message-driven beans. It presents how
to author each of these in an EJB3 world. The student
will learn how to specify a local and/ or remote POJI
(plain old Java interface) for the simple POJO-based
component.It will introduce stateless session beans and stateful
session beans, the relevant Java annotations to create
EJB3 components, EJB3 packaging and deployment. - Web Services with EJB3
This section will provide an overview of the architecture
and implementation of Java EE web services. The student
will learn how to expose EJB3 and Servlet components 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.
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 flow control - 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.
Prepares for:
Hardware Requirements
Computer with the following configuration:
- A minimum of 1GHz CPU with 1 GB of RAM. A 2 GHz CPU with 2 GB RAM is recommended for IDE users
- Operating systems: Linux or Windows XP. Windows 95/98/2000 is not supported. Windows Vista could work but not supported yet.
- 40 GB hard disk space (for product and lab installs)
- CD/DVD player
- Video card capable of 1024x768 resolution or better
- Optional: Your favorite IDE (Integrated Development Environment) loaded. The instructor will support a command prompt (shell) environment. If an IDE is used, student is responsible for its proper configuration for the labs.
- The JDK 1.4.2_0x or JDK 1.5
- Additional JEMS components, if required, will be provided by the instructor.