RKCP Information Technology

Home » Courses   » EJB & JMS



Fundamentals of EJB session and message-driven bean development, and the process to build data-driven entities using JPA.


  • To understand the EJB 3.2 architecture and API, and how it fits into the overall Java EE architecture
  • To understand and use the EJB 3.2 annotations
  • To create, deploy & use stateful & stateless session beans
  • To use CDI (Contexts and Dependency Injection) for initializing resources
  • To understand and use Interceptors (Lifecycle and Business Method)
  • To use JNDI (Java Naming and Directory Interface) and be familiar with current portable naming conventions
  • Write EJB clients (remote and local)
  • To understand, deploy and use message-driven beans
  • To understand distributed transactions, the Java Transaction API, and the EJB transaction model
  • To understand and use the EJB security model
  • To understand practical architectural issues associated with EJB applications
  • To understand the new Java Persistence API (JPA)
  • To create, deploy and use JPA persistent Entities
  • Mapping relational schemas to persistent entities, including the use of primary keys
  • To understand and use the EntityManager
  • To understand and use Java Persistence Query Language
  • To use optimistic locking and versioning
  • To use advanced JPA capabilities such as entity relationships (1-1, 1-N, N-N, unidirectional, bidirectional), inheritance, and embeddable classes
  • To learn best practices associated with JPA applications


  • Prior Java development and relational database experience are a must.


Expand All
  • 1. Introduction
    • Overview of EJB and Java Persistence API (JPA)
    • EJB 3.2 Overview
    • Session Beans, Persistent Entities, Message Driven Beans
  • 2. Session Beans
    • Session Bean Overview
    • Packaging and Deployment
    • JNDI Overview
    • Writing an EJB 3.2 Client
  • 3. Additional Capabilities
    • Resources and Dependency Injection
    • Session Bean Life-cycle and Interceptors
    • Asynchronous Methods, Singleton Session Beans
    • Stateful Session Beans
    • Timer Service
  • 4. Message-Driven Beans
    • Overview of Messaging Systems
    • Overview of JMS API
    • Message-Driven Beans (MDB)
    • Message Driven Beans
  • 5. Transaction & Security
    • Overview of Transactions and Transactional Systems
    • Transactions in EJB 3
    • Working with Transactions
    • Security
    • Integrating EJB and Java EE Security
  • 6. Exceptions
    • Exception Overview
    • Exceptions in EJB 3.2
    • EJB 3.2 Best Practices
  • 7. Introduction to Java Persistence API V2 (JPA2)
    • Persistence Layers, Object-Relational Mapping (ORM), JDBC
    • JPA Overview
    • Mapping with JPA
    • Mapping an Entity Class
    • EntityManager and Persistence Context
    • Using the EnityManager to persist and find an Entity
    • More About Mappings
    • Refining your Mappings
  • 8. Updates & Queries
    • Inserting and Updating
    • Querying and JPQL
    • Criteria API
    • The Persistence Lifecycle - JPA Entity States, Lifecycle, and Persistence Context
    • Versioning and Optimistic Locking
  • 9. Entity Relationships
    • Relationships Overview
    • Object Relationships, Participants, Roles, Directionality, Cardinality
    • Relationship Mapping
    • Many-Many Relationships
    • Lazy and Eager Loading
    • Cascading
    • Queries Across Relationships (Inner Joins, Outer Joins, Fetch Joins)
  • 10. Inheritance Mapping
    • Entity Inheritance
    • Single Table, Joined (Table per Subclass), Table per Concrete Class
    • Pros and Cons
    • Additional JPA Capabilities