"The class absolutely met my expectations, I really learned a lot in just one week." More Testimonials »

EJB 3.0 Programming with JBoss Training (5 days)

Upcoming EJB 3.0 Programming with JBoss Training

This EJB class is delivered for private groups onsite at your offices or a location of your choice. It can also be delivered via the Internet for geographically distributed staff.

EJB 3.0 Programming with JBoss Training Class Overview

Reference Library

This EJB 3.0 on JBoss training course is an introduction to the Enterprise Java Beans (EJB 3) technology. It starts by introducing the concepts and is ideal for someone who has never programmed using EJB. The course rapidly picks up and ends with advanced concepts that students can use in real life to complete large scale EJB based projects. The labs are done using Eclipse 3.0 and JBoss IDE 1.6. JBoss 4 application server is used as the server runtime.

EJB 3.0 Programming with JBoss Training Class Goals

  • Understand the need for EJB
  • Understand the EJB 3.0 specification at an expert level
  • Understand how to develop, test, and deploy EJBs
  • Gain knowledge of EJB Design Patterns
  • Learn the industry secrets in EJB scalability
  • Learn how to develop all types of EJB beans using JBoss IDE

EJB 3.0 Programming with JBoss Training Class Outline

  1. Java Enterprise Edition (EE) Overview
    1. Introduction to Java Platform
    2. Java Community Process (JCP)
    3. Introduction to Java EE
    4. Why Move to Java EE
    5. Java EE - New and Enhanced Features
    6. Java EE Software Packaging
    7. Java EE Technologies
  2. Introduction to JBoss Eclipse IDE
    1. The Eclipse Platform
    2. JBoss Eclipse IDE 1.6.0
    3. Views, Perspective and Editor Areas
    4. Basic Operations with JBoss Eclipse Views and Perspectives
    5. The Java Perspective
    6. The Debug Perspective
    7. Navigator View
    8. Package Explorer
    9. Outline View
    10. Problems View
    11. Tasks View
    12. Build and Validation
    13. Import and Export Project
    14. Templates and Code Completion
    15. Searching
    16. Setup Compiler Class Path
    17. JRE Switching
  3. Enterprise JavaBeans (EJBs) Overview
    1. Need for EJBs
    2. Distributed Computing
    3. Distributed Transaction
    4. Distributed Security
    5. What are EJBs?
    6. Main Characteristics of EJBs
    7. EJB Remote Method Call
    8. EJB Architecture Components
    9. EJB Client
    10. EJB JAR File
    11. EJB Container
    12. EJB Server
    13. Enterprise JavaBeans
    14. Session Beans
    15. Entity Beans
    16. Java Persistence API - Entities
    17. Message-Driven Beans (MDBs)
    18. EJB Specification
  4. Stateless Session Beans
    1. Session Beans
    2. Stateless Session Bean
    3. Stateless Session Bean Pooling
    4. Stateless Session Bean Examples
    5. Stateful Session Bean
    6. Stateful Session Bean Examples
    7. Annotations
    8. Stateless Session Bean Components
    9. Example: Business Interface
    10. Example: Bean Class
    11. Alternative Example
    12. Example: The Client
    13. Business Interface Details
    14. Bean Class Details
    15. JNDI - Overview
    16. Dependency Injection
    17. Dependency Annotations
    18. Injecting EJB References (@EJB)
    19. Example: @EJB Field Level Injection
    20. Injecting EJB References (@EJB) - Method Level Injection
    21. The @Resource Annotation
    22. Injecting Resources (@Resource) - Field Level Injection
    23. Injecting Resources (@Resource) - Method Level Injection
    24. A Full Example
    25. Session Bean Lifecycle
    26. Stateless Session Bean Lifecycle
  5. Stateful Session Beans
    1. Stateful Session Bean
    2. Stateful Session Bean Examples
    3. Stateful Session Bean Components
    4. Stateful Session Bean Example
    5. Stateful Session Beans
    6. Session Bean Lifecycle
    7. Stateful Session Bean Lifecycle
  6. Entities and Java Persistence API
    1. Data Persistence
    2. Java Persistence API
    3. Entities
    4. Session Beans Vs Entities
    5. Entities
    6. Persisting and Retrieving Data
    7. Entities - Example
    8. Descriptor File META-INF/persistence.xml
    9. Accessing Entities
    10. Persistence Context
    11. Working With the EntityManager Interface
    12. Accessing Entities Using Stateless Session Beans
    13. Updating Data
    14. Entity Lifecycle
    15. Life-Cycle Callbacks
    16. Example: Internal callback
    17. External Callback Class
    18. Listener Class - Example
    19. Synchronizing with Databases
    20. Entity Lookup
    21. EJBQL (EJB Query Language)
    22. EJB Query Language
    23. EJBQL: Simple examples
    24. EJBQL: SELECT clause
    25. EJBQL: SELECT clause
    26. EJBQL: FROM clause
    27. EJBQL: WHERE clause
    28. EJBQL: WHERE clause
    29. EJBQL: WHERE clause
    30. EJBQL: WHERE clause
    31. Using EJBQL - Dynamic Query
    32. Using EJBQL - Named Query
  7. Entity Relationships
    1. Persistent Data
    2. Singleton Mappings
    3. Relationships
    4. Relationship Usage (Java Side)
    5. Cardinality And Direction
    6. Entities and Relationships
    7. Annotating the Entity: 1-1
    8. Inserting A Relationship
    9. Table Relationship
    10. Cascading
    11. Cascade Attributes
    12. Bi-directional Relationships
    13. Bi-directional Tables
    14. Other Relationship Cardinalities
    15. 1:M - Java Collections
    16. One-to-Many: Java Side
    17. Annotating the 1:M
    18. Table Relationship
    19. Many-To-Many Relationships
    20. Annotate the Relationship
    21. Many to Many: Java Side
    22. Table Relationship
    23. Relationships and Queries
    24. Fetching Optimizations
    25. Lazy vs. Eager Initialization
    26. Lazy Initialization
  8. Entity Inheritance
    1. Inheritance
    2. Inheritance Example
    3. Inheritance and Entities
    4. Inheritance Strategies
    5. Inheritance Strategy 1: Single Table Per Class Hierarchy
    6. Single Table Per Class Hierarchy
    7. Table Structure: Single Table Per Class Hierarchy
    8. Pros and Cons
    9. Strategy 2: Table Per Concrete Class
    10. Table Per Concrete Class
    11. Table Per Concrete Class: JBoss Warning
    12. Table Per Concrete Class
    13. Table Structure: Table Per Concrete Class
    14. Table Per Concrete Class: Pros and Cons
    15. Strategy 3: Joined Subclasses
    16. Joined Subclasses
    17. Table Structure: Joined Subclasses
    18. Joined Subclasses: Pros and Cons
    19. Which Approach To Use?
  9. Message-Driven Beans
    1. The Trouble with RMI/IIOP
    2. Messaging to the Rescue
    3. Messaging Features
    4. Message-Oriented Middleware
    5. Messaging Domains
    6. Publish/Subscribe
    7. Point-to-Point
    8. Java Message Service
    9. JMS Programming: Overview
    10. JMS Programming: Overview
    11. The JMS Interfaces
    12. Integrating JMS and EJB
    13. Message-Driven Beans Are Different From Other EJBs
    14. Message-Driven Beans Cannot Talk to Their Clients
    15. Message-Driven Beans are Stateless
    16. Durable Subscription
    17. Message-Driven Bean Interfaces
    18. javax.jms.MessageListener
    19. javax.jms.Message
    20. Specialized Message Types
    21. Lifecycle
    22. Message Driven Bean - Example
    23. Message Driven Bean - Client Example (JSP)
    24. Transactions
    25. Security
    26. Load Balancing
    27. Clustering and Topics
    28. Clustering and Queues
    29. A Few Tips
    30. Poison Messages
    31. How the Programmer Can Avoid Poison Messages
    32. How the System Administrator Can Avoid Poison Messages
    33. Building a Response
    34. Potential Problems
    35. A Simple Alternative
    36. Type Checking and Messages
    37. Testing Message-Driven Beans
    38. References
  10. EJB Timer Service
    1. Container Managed Timer Service
    2. EJB Timer Service
    3. Interaction between Timer Service and EJB
    4. Timer Service API
    5. The TimerService Interface
    6. Obtaining the Timer Service
    7. Creating a Timer
    8. Getting All Timers
    9. The Timeout Callback method
    10. The Timer Interface
    11. Example: TimerTestBean
    12. Timer and Transaction
    13. Limitations of EJB Timer Service
  11. Transactions
    1. Need for Transactions
    2. Transactions
    3. ACID Properties
    4. Transaction Components
    5. Distributed Transactions
    6. Distributed Transaction Components - Two Phase Commit
    7. Java Transaction API (JTA)
    8. Object Transaction
    9. EJB Transaction Basics
    10. Transaction Propagation
    11. Transaction Outcome
    12. Container Managed Transaction
    13. Container Managed Transaction - Example
    14. Transaction Attributes Support
    15. Bean Managed Transaction
    16. Bean Managed Transaction - Example
    17. Client Managed Transaction
    18. Transaction Isolation
    19. Isolation Level
  12. EJB Security
    1. Introduction
    2. How EJB Security Works
    3. Protecting Web Resources
    4. Setting Method Permission
    5. Defining Roles
    6. Specify Methods Permission
    7. Disable Security Check
    8. Excludes List
    9. Security Identity (Delegation Policy)
    10. Programmatic EJB Security
    11. Declaring Roles Using Annotations
    12. Declaring Roles Using Deployment Descriptor
  13. Interceptors
    1. Introduction
    2. Interceptors
    3. Internal Interceptor
    4. Example: Internal Interceptor
    5. External Interceptors
    6. Default Interceptor - Example
    7. Another Example
    8. Class-Level Interceptor - Example
    9. Setting Class Level Interceptors
    10. Pre & Post Processing with Interceptors - Example
    11. Excluding Default and Class Level Interceptors
    12. Interceptors on Lifecycle Callbacks
    13. Blocking Calls to Business Method Example
  14. Web Service Access to EJBs
    1. Web Service and EJBs
    2. Operation and Implementation
    3. WSDL
    4. Typical Development Workflow
    5. Advantages of Web Services
    6. Web Services and EJB
    7. Web Service Clients
    8. JAX-RPC Overview
    9. JAX-RPC Framework
    10. Java to XML Data Conversion
    11. Main Goals of JAX-RPC
    12. JAX-RPC Server
    13. WSDL Overview
    14. WSDL Document Tags
    15. Web Service EJBs
    16. Annotate The Session Bean
    17. Annotate the Methods
    18. Service Endpoint Interface
    19. Package and Deploy
  15. EJB Deployment
    1. Packaging EJB JAR File
    2. The Bean Classes
    3. Dependent Classes
    4. Business Interfaces
    5. Client JAR File
    6. The Deployment Descriptor
    7. Basic Deployment Descriptor
    8. Configuring a Session EJB
    9. Configure Assembly Description
    10. JBoss EJB Deployment
    11. Specify JNDI Name of a EJB
    12. Specify Instance Pooling
    13. Configure Resources
    14. Deploying to JBoss
  16. Introduction to EJB Design Patterns
    1. Patterns Overview
    2. EJB Design Patterns
    3. EJB Design Pattern
    4. EJB Layer Patterns
    5. Session Façade Pattern
    6. Common Issues and Mistakes
    7. Message Façade Pattern
    8. Command Pattern
    9. Common Issues and Mistakes
  17. More EJB Design Patterns
    1. Inter-Tier Data Transfer Patterns
    2. Data Transfer Object Pattern
    3. Custom Data Transfer Object Pattern
    4. Cached RowSet Pattern
    5. Common Mistakes and Issues
    6. Transaction and Persistence Patterns
    7. Version Number pattern
    8. Version Number Pattern
    9. Fast Lane Pattern
    10. Read for Update Pattern

EJB 3.0 Programming with JBoss Training Class Prerequisites

Experience in the following areas is required:

  • Java
  • Servlets and JSP

EJB 3.0 Programming with JBoss Training Class Materials

Each student will receive a comprehensive set of materials, including course notes and all the class examples.

Class Technical Requirements

Our computer technical requirements and setup process is easy, with support just a click away:


  • Java ®, all Java-based marks, Hibernate ®, and all Hibernate-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries.
  • JBoss ® is a registered trademark of Red Hat, Inc. Webucator has no affiliation with Red Hat, Inc.
Client Success
  1. Independent Survey
  2. Client List
  3. Testimonials
Join The Team
  1. Learn how you can become a Webucator Trainer

  2. Career Opportunities
Training Classes
Locations
Live eLearning
Webucator offers live instructor-led online classes. It's like having an expert trainer at your desk.
  1. Class Schedule
  2. Class Benefits
  3. Delivery
  4. Setup
  5. Cancellation Policy
  6. Vouchers
Self-Paced eLearning
Reference Library
Partner Programs
Resources
Class Vouchers
Microsoft Partner
© Webucator, Inc. All rights reserved. | Toll Free: 877-932-8228 | UK: 0808-101-3484 | From outside the USA: 315-849-2724| Fax: 315-849-2723