Introduction to EJB 3.0

Print

Request an offer for delivery of this course

Course duration

Course Outline

This course introduces the experienced Java developer to Enterprise JavaBeans -- the Java EE standard for scalable, secure, and transactional Java components. EJB 3.0 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 course treats the 3.0 specification, with a few notes on 2.1 compatibility but an emphasis on doing things the 3.0 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 then study entities and the Java Persistence API more deeply, and get a look at message-driven beans as well.

  1. Overview
    1. Enterprise Applications
    2. Containers and Objects
    3. Three Containers
    4. Remote Connectivity
    5. Scalability and Availability
    6. Security
    7. Transaction Control
  2. Architecture
    1. What is an EJB?
    2. Types of Beans
    3. Inversion of Control
    4. The Bean-Type Annotations
    5. Dependency Injection
    6. The @EJB Annotation
    7. Development Cycle and Roles
  3. Session Beans
    1. Interface/Implementation Split
    2. Stateful vs. Stateless
    3. The @Stateless Annotation
    4. Lifecycle and State Transitions
    5. Session Context
    6. The @Stateful Annotation
    7. State Transitions
    8. Singletons and Pools
  4. Entities
    1. The Java Persistence API
    2. Persistence Annotations
    3. Configuration by Exception
    4. ORM Annotations
    5. The EntityManager
    6. Acquiring and Using the EntityManager
    7. persistence.xml
    8. @Enumerated and @Temporal Types
  5. Associations
    1. Associations, Cardinality, and Ownership
    2. Annotations
    3. Unidirectional vs. Bidirectional
    4. The @Embedded Annotation
  6. Java Persistence Query Language
    1. OO Query Languages
    2. The FROM Clause and Directionality
    3. The WHERE Clause
    4. The SELECT Clause
    5. Joins
    6. Aggregates and Grouping
    7. Ordering
  7. Dependency Injection
    1. Interdependent Systems
    2. The Factory Pattern
    3. The Service Locator Pattern
    4. Dependency Injection
    5. Injection by Magic?
    6. Injection by Type
    7. Injection by Name
    8. The Component Environment
    9. Deployment Descriptors
    10. Impact on Stateful Session Beans
    11. JNDI
    12. Connecting to a Remote Bean
    13. Using mappedName
    14. Who Can Declare Dependencies
  8. Message-Driven Beans (Optional)
    1. Asynchronous Messaging
    2. The Java Message Service
    3. Message-Driven Beans
    4. Message Types
    5. Injecting JMS Queues

InterSource Geneva, a premier Information Technology training firm, offers over 400 different courses on server, database and programming technologies, as well as end-user classes for the most popular office, graphics and design applications. We serve clients in Switzerland (Geneva, Lausanne, Bern, Basel, Zurich) and throughout Europe (France, Germany, Austria, Finland, Sweden, England, Netherlands, Spain, etc.).


InterSource offers custom, private courses at client sites, standard public courses in our Geneva classroom, and online training via live Web conference. Training is offered in English and many other languages (Francais, Deutsch, Espanol, Italiano.)


For an overall view of our offerings, please visit us at www.intersource.ch.