English French German Italian Portuguese Russian Spanish


  • Java Training

    javaInterSource offers live instructor-led courses on all important Java-related technologies, including Apache Struts, Enterprise Java Beans (EJB), J2SE Desktop Java Enterprise Edition (Java EE), Java Fundamentals, Java Web Services, JavaServer Faces, JBoss, Java Server Pages (JSP), and Spring.

    Please refer to our detailed course outlines below.

  • About Java

    Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities. Java applications are typically compiled to bytecode (class file) that can run on any Java Virtual Machine (JVM) regardless of computer architecture

    Java is general-purpose, concurrent, class-based, and object-oriented, and is specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere". Java is considered by many as one of the most influential programming languages of the 20th century, and widely used from application software to web application.

    Read More

  • Course Details Java

    Classes are offered at client sites, at our Geneva training center, and via a live web conference. For detailed course outlines and scheduled classes, please see below.

    To book training, navigate to the course you need, then:

    • For scheduled online classes, register from the choices indicated.
    • If you need an alternative date, time or location, or if you want a live classroom course, click on “request an offer for this course,” to complete the form.

Enterprise JavaBeans (EJB) Training with GlassFish

 PDF PrintEmail

Course duration

  • 5 Days

Course Outline

This 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.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 study entities and the Java Persistence API in depth, and get a look at message-driven beans as well. The latter phase of the course covers advanced topics including transactions, security, and interceptors.

This version of the course is designed to work with the Java EE 5 SDK, Update 7, which includes the GlassFish application server, version 2.1, and TopLink as the JPA provider.

  • 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.
  • Solid Java programming skills and understanding of OO Java and Java-5 language features is essential.
  • Experience with developing Java web applications is very helpful for this course, but not strictly required.
  • Some knowledge of XML will be useful for writing the occasional deployment descriptor, but is not required.
  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. The GlassFish Application Server
    8. The Administration Console
    9. Deploying EJB Applications
    10. Configuring Data Sources
    11. 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
    1. Asynchronous Messaging
    2. The Java Message Service
    3. Message-Driven Beans
    4. Message Types
    5. Injecting JMS Queues
    6. JMS Configuration in GlassFish
  9. Transactions
    1. ACID Transactions
    2. The EntityTransaction Interface
    3. EJB Transaction Attributes
    4. Persistence Contexts
    5. Extended Persistence Contexts
    6. Isolation Levels
    7. Application-Managed Persistence
    8. The SessionSynchronization Interface
    9. Impact on JMS and MDBs
  10. Exception Handling
    1. Java Exceptions
    2. Remote Exceptions
    3. EJB Exception Handling
    4. System Exceptions
    5. Application Exceptions
    6. Transaction Control
  11. Security
    1. Authentication and Authorization
    2. Declarative Authorization
    3. Abstract Roles
    4. Concrete Realms
    5. Configuring User Realms in GlassFish
    6. Programmatic Authorization
    7. Run-As Identity
  12. Interceptors
    1. EJB and AOP
    2. The Intercepting Filter Pattern
    3. EJB Interceptors
    4. Annotating Interceptor Classes
    5. The InvocationContext Interface
    6. Binding Interceptors to Targets
    7. Shared Lifecycle and Context
    8. Interceptors and MDBs
  13. Timers
    1. The EJB Timer Service
    2. The TimerService Interface
    3. The Timer Interface
    4. Timeout Methods
    5. Timer Handles
    6. Transactions and Timers

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.