RKCP Information Technology




EJB & JMS
Home » Courses   » EJB & JMS

EJB & JMS

Overview

The fundamentals of EJB session and message-driven bean development, as well as how to build data-driven entities using JPA.


Objective

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


Prerequisites

  • Must have substantial prior Java development and relational database experience.


Syllabus

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. Aditional Capabilities
    • Resources and Dependency Injection
    • Session Bean Lifecycle 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