United States flagCanada flag1 877 849 1850 International flag +1 678 648 311
Please contact us
for GSA pricing.
GSA
Contract #
GS-35F-0307T

Enterprise JavaBeans 3 (EJB3) Training: Beginning and Advanced EJB3

Course Number: EJB-105
Duration: 5 days
view course outline

Enterprise JavaBeans 3 (EJB3) Training Overview

This EJB3 training course gives the experienced Java developer a thorough grounding in Enterprise JavaBeans -- the Java EE standard for scalable, secure, and transactional business components. EJB 3.1 has reinvigorated this area of Java enterprise development, with dramatic improvements in ease of use and smooth integration with servlet-based or JSF web applications. This EJB3 training course treats the 3.1 specification, with a few notes on 2.1 compatibility but an emphasis on doing things the 3.1 way.Students get an overview of the EJB rationale and architecture, and then dive right into creating session beans and entities. The new dependency-injection features of EJB3 cause perhaps the most confusion, so we work through a chapter devoted explicitly to DI and JNDI, and basically how components find each other to make an application. We study entities and the Java Persistence API in depth, and get a look at message-driven beans as well. The latter phase of this EJB3 training course covers advanced topics including transactions, security, and interceptors.

Location and Pricing

Most Accelebrate courses are delivered as private, customized, on-site training at our clients' locations worldwide for groups of 3 or more attendees and are custom tailored to their specific needs. Please visit our client list to see organizations for whom we have delivered private in-house training. These courses can also be delivered as live, private online classes for groups that are geographically dispersed or wish to save on the instructor's or students' travel expenses. To receive a customized proposal and price quote for private training at your site or online, please contact us.

In addition, some courses are available as live, online classes for individuals. See a schedule of online courses.

Enterprise JavaBeans 3 (EJB3) Training Prerequisites

All EJB3 training students should have solid Java programming skills and an understanding object-oriented Java and Java 5/6 language features. Experience with developing Java web applications is very helpful for this course, but not strictly required.

Hands-on/Lecture Ratio

This EJB3 training class is 70% hands-on, 30% lecture, with the longest lecture segments lasting for 20 minutes.

Enterprise JavaBeans 3 (EJB3) Training Materials

All EJB3 training students receive a copy of EJB 3 in Action, related courseware, and copies of all files developed during the class.

Software Needed on Each Student PC

  • Windows XP, Vista, 7, or 8, or Mac OS X 10.6 or later; Linux or Solaris accommodated upon request
  • JDK 1.6 or later (1.5 can be accommodated upon request)
  • JBoss 5.1.x or Glassfish 3 or later; WebLogic, WebSphere, and other containers can be accommodated upon request
  • Development IDE of your choice; Eclipse recommended

Enterprise JavaBeans 3 (EJB3) Training Objectives

  • Understand the role of EJB in the broader Java EE platform.
  • Describe the features that are implemented by an EJB container on behalf of application components.
  • Build stateless session beans as part of a service layer or SOA.
  • Build JPA entities to represent persistent data records within the Java application.
  • Develop systems of entities to manage complex data models including 1:1, 1:N, and N:N associations.
  • Manage transactional behavior of the application through declarative and programmatic techniques.
  • Invoke EJB sessions from Java web applications.
  • Use dependency injection and JNDI names to assemble complex web/EJB systems with minimal fuss and maximal flexibility.
  • Implement message-driven beans to process queued messages asynchronously.
  • Declare and/or program transaction boundaries, persistence contexts, and exception handling to properly control persistence logic.
  • Apply role-based authorization policies to EJBs
  • Build interceptors to perform generic processing before, after, or around EJB business-method invocations
  • Use EJB timers to defer processing or establish regularly scheduled tasks

Enterprise JavaBeans 3 (EJB3) Training Outline

  • Overview
    • Enterprise Applications
    • Containers and Objects
    • Three Containers
    • Remote Connectivity
    • Scalability and Availability
    • Security
    • Transaction Control
  • Architecture
    • What is an EJB?
    • Types of Beans
    • Inversion of Control
    • The Bean-Type Annotations
    • Dependency Injection
    • The @EJB Annotation
    • The GlassFish Application Server
    • The Administration Console
    • Deploying EJB Applications
    • Configuring Data Sources
    • Development Cycle and Roles
  • Session Beans
    • Interface/Implementation Split
    • Stateful vs. Stateless
    • The @Stateless Annotation
    • Lifecycle and State Transitions
    • Session Context
    • The @Stateful Annotation
    • State Transitions
    • Singletons and Pools
  • Entities
    • The Java Persistence API
    • Persistence Annotations
    • Configuration by Exception
    • ORM Annotations
    • The EntityManager
    • Acquiring and Using the EntityManager
    • persistence.xml
    • @Enumerated and @Temporal Types
  • Associations
    • Associations, Cardinality, and Ownership
    • Annotations
    • Unidirectional vs. Bidirectional
    • The @Embedded Annotation
  • Java Persistence Query Language
    • OO Query Languages
    • The FROM Clause and Directionality
    • The WHERE Clause
    • The SELECT Clause
    • Joins
    • Aggregates and Grouping
    • Ordering
  • Dependency Injection
    • Interdependent Systems
    • The Factory Pattern
    • The Service Locator Pattern
    • Dependency Injection
    • Injection by Magic?
    • Injection by Type
    • Injection by Name
    • The Component Environment
    • Deployment Descriptors
    • Impact on Stateful Session Beans
    • JNDI
    • Connecting to a Remote Bean
    • Using mappedName
    • Who Can Declare Dependencies
  • Message-Driven Beans
    • Asynchronous Messaging
    • The Java Message Service
    • Message-Driven Beans
    • Message Types
    • Injecting JMS Queues
    • JMS Configuration in GlassFish
  • Transactions
    • ACID Transactions
    • The EntityTransaction Interface
    • EJB Transaction Attributes
    • Persistence Contexts
    • Extended Persistence Contexts
    • Isolation Levels
    • Application-Managed Persistence
    • The SessionSynchronization Interface
    • Impact on JMS and MDBs
  • Exception Handling
    • Java Exceptions
    • Remote Exceptions
    • EJB Exception Handling
    • System Exceptions
    • Application Exceptions
    • Transaction Control
  • Security
    • Authentication and Authorization
    • Declarative Authorization
    • Abstract Roles
    • Concrete Realms
    • Configuring User Realms in GlassFish
    • Programmatic Authorization
    • Run-As Identity
  • Interceptors
    • EJB and AOP
    • The Intercepting Filter Pattern
    • EJB Interceptors
    • Annotating Interceptor Classes
    • The InvocationContext Interface
    • Binding Interceptors to Targets
    • Shared Lifecycle and Context
    • Interceptors and MDBs
  • Timers
    • The EJB Timer Service
    • The TimerService Interface
    • The Timer Interface
    • Timeout Methods
    • Timer Handles
    • Transactions and Timers
  • Conclusion