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

  1. Introduction to J2EE and EJB3
  2. 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.
  3. Servlets
  4. 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.
  5. Java Server Pages
  6. 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.
  7. Naming Services and JNDI
  8. 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.
  9. Introduction to EJB3
  10. 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.
  11. EJB3: Stateless Session Beans
  12. 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.
  13. EJB3: Stateful Session Beans
  14. 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.
  15. EJB3: Entity Beans
  16. 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.
  17. Transaction Assembly
  18. 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.
  19. J2EE Security and JBoss
  20. 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.
  21. EJB3: Message Driven Beans (MDB) and the Java Message Service (JMS)
  22. 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.
  23. EJB3 Interceptors
  24. 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.
  25. Web Services with EJB3
  26. 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.