UMBC Training Centers logo

EJB 3.0 Programming with Oracle WebLogic Server 11g

 

Course Description | Outline | WebLogic | IT Home

1. Java Enterprise Edition (EE) Overview

 
  • Objectives
  • Introduction to Java Platform
  • Java Community Process (JCP)
  • Introduction to Java EE
  • Why Move to Java EE
  • Java EE - New and Enhanced Features
  • Java EE Software Packaging
  • Java EE Technologies
  • Summary
 

2. Java EE Tools in Eclipse WTP

 
  • Objectives
  • Eclipse Platform
  • Eclipse Workspace
  • Perspectives, Views & Editors
  • Basic Operations with Eclipse Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Problems View
  • Eclipse Preferences
  • Build and Validation
  • Code Completion, Templates and Snippets
  • Searching
  • Configure Compiler Class Path
  • JRE Switching
  • Eclipse WTP
  • Java EE Perspectives
  • Project Explorer View
  • Servers View
  • JPA Tools
 

3. Enterprise JavaBeans (EJBs) Overview

 
  • Objectives
  • Need for EJBs
  • Distributed Computing
  • Distributed Transaction
  • Distributed Security
  • What are EJBs?
  • Main Characteristics of EJBs
  • EJB Remote Method Call
  • EJB Architecture Components
  • EJB Client
  • EJB JAR File
  • EJB Container
  • EJB Server
  • Enterprise JavaBeans
  • Session Beans
  • Entity Beans
  • Java Persistence API - Entities
  • Message-Driven Beans (MDBs)
  • EJB Specification
  • Summary
 

4. Stateless Session Beans

 
  • Objectives
  • Session Beans
  • Stateless Session Bean
  • Stateless Session Bean Pooling
  • Stateless Session Bean Examples
  • Stateful Session Bean
  • Stateful Session Bean Examples
  • Annotations
  • Stateless Session Bean Components
  • Example: Business Interface
  • Example: Bean Class
  • Alternative Example
  • JNDI - Overview
  • Example: The Client
  • Business Interface Details
  • Bean Class Details
  • Session Bean Lifecycle
  • Stateless Session Bean Lifecycle
  • Summary
 

5. Stateful Session Beans

 
  • Objectives
  • Stateful Session Bean
  • Stateful Session Beans
  • Session Bean Lifecycle
  • Stateful Session Bean Lifecycle
  • Stateful Session Bean Components
  • Stateful Session Bean Example
  • Stateful Session Bean Client
  • Removing the Bean
  • Summary
 

6. Entities and Java Persistence API

 
  • Objectives
  • Data Persistence
  • Java Persistence API
  • Entities
  • Session Beans Vs Entities
  • Entities
  • Persisting and Retrieving Data
  • Accessing Entities
  • EntityManager & Persistence Unit
  • Persistence Context
  • Entities - Example
  • persistence.xml Hibernate Provider
  • persistence.xml Open JPA Provider
  • persistence.xml - Toplink
  • Entity Instance Lifecycle
  • Creating EntityManager in Session EJB
  • Creating EntityManager in a Plain Java Class
  • Working With the EntityManager Interface
  • Transaction Basics
  • Summary
 

7. JPA Entity Lifecycle

 
  • Objectives
  • Entity Lifecycle
  • When is an Entity Managed or Detached?
  • Implementing the CRUD Pattern
  • Accessing Entities Using Stateless Session Beans
  • Inserting Data
  • Retrieving Data
  • Updating Data
  • Deleting Data
  • Merging Entities
  • Life-Cycle Callbacks
  • Example: Internal callback
  • External Callback Class
  • Listener Class - Example
  • Synchronizing with Databases
  • Entity Lookup
  • JPAQL (JPA Query Language)
  • Summary
 

8. References and Dependency Injection

 
  • Objectives
  • Role of References
  • EJB Reference Annotations
  • Resource Reference Annotations
  • Dependency Injection
  • Annotation Injection
  • Example: Field Level Injection
  • Example: Method Level Injection
  • Deployment Descriptor Injection
  • Example: Deployment Descriptor Injection
  • Class Level References
  • Multiple References
  • EJB References in Deployment Descriptors
  • Resource References in Deployment Descriptors
  • Reference Lookup
  • EJBContext
  • JNDI Lookup with EJBContext
  • Overriding Reference Annotations
  • Default Reference Name
  • Resolving References
  • mappedName Attribute
  • Overloaded Reference Names
  • Reference Best Practices
  • Summary
 

9. Java Persistence Query Language (JPA QL)

 
  • Objectives
  • JPA Query Language
  • Basic JPAQL Syntax
  • Simple SELECT Examples
  • Example of Using JPAQL
  • The SELECT clause
  • Reading Data from Code
  • The WHERE Clause
  • Example Using JPAQL from Session EJB
  • Named Query
  • Multiple Named Queries
  • Bulk Updates
  • Bulk Delete
  • Running Native SQL Query
  • Native SELECT Query
  • Native SQL Delete and Insert
  • Named Native Query
  • Summary
 

10. Entity Relationship Overview and One-to-One

 
  • Objectives
  • Relationship Between Entities
  • Anatomy of a Relationship
  • Foreign Key
  • Example Schema
  • One-to-One Unidirectional
  • Creating Entity Instances
  • Traversing the Relationship
  • The Cascade Behavior
  • One-to-One Bidirectional
  • Traversing the Relationship
  • Summary
 

11. Complex Entity Relationships

 
  • Objectives
  • One-To-Many and Many-To-One
  • Many-to-One Unidirectional
  • Creating Entity Instances
  • Traversing the Relationship
  • Modeling One-to-Many
  • Creating Entity Instances
  • Traversing the Relationship
  • Many-to-Many
  • Modeling Many-to-Many
  • Creating Entity Instances
  • Traversing Relationship
  • Unidirectional One-to-Many
  • Modeling Unidirectional One-to-Many
  • Creating Entity Instances
  • Traversing the Relationship
  • Relationship in JPA QL
  • Fetching Optimizations
  • Lazy vs. Eager Initialization
  • Lazy Initialization
  • Problems with Lazy Initialization
  • Fetch Join Query
  • Summary
 

12. Entity Inheritance

 
  • Objectives
  • Inheritance
  • Inheritance Example
  • Inheritance and Entities
  • Inheritance Strategies
  • Inheritance Strategy 1: Single Table Per Class Hierarchy
  • Single Table Per Class Hierarchy
  • Table Structure: Single Table Per Class Hierarchy
  • Pros and Cons
  • Strategy 2: Table Per Concrete Class
  • Table Per Concrete Class
  • Table Per Concrete Class: JBoss Warning
  • Table Per Concrete Class
  • Table Structure: Table Per Concrete Class
  • Table Per Concrete Class: Pros and Cons
  • Strategy 3: Joined Subclasses
  • Joined Subclasses
  • Table Structure: Joined Subclasses
  • Joined Subclasses: Pros and Cons
  • Which Approach To Use?
  • Summary
 

13. Message-Driven Beans

 
  • Objectives
  • The Trouble with RMI/IIOP
  • Messaging to the Rescue
  • Messaging Features
  • Message-Oriented Middleware
  • Messaging Domains
  • Publish/Subscribe
  • Point-to-Point
  • Java Message Service
  • JMS Programming: Overview
  • The JMS Interfaces
  • Integrating JMS and EJB
  • Message-Driven Beans Are Different From Other EJBs
  • Message-Driven Beans Cannot Talk to Their Clients
  • Message-Driven Beans are Stateless
  • Durable Subscription
  • Message-Driven Bean Interfaces
  • javax.jms.MessageListener
  • javax.jms.Message
  • Specialized Message Types
  • Lifecycle
  • Message Driven Bean - Example
  • Message Driven Bean - Client Example (JSP)
  • Transactions
  • Security
  • Load Balancing
  • Clustering and Topics
  • Clustering and Queues
  • A Few Tips
  • Poison Messages
  • How the Programmer Can Avoid Poison Messages
  • How the System Administrator Can Avoid Poison Messages
  • Building a Response
  • Potential Problems
  • A Simple Alternative
  • Type Checking and Messages
  • Testing Message-Driven Beans
  • Summary
  • References
 

14. EJB Security

 
  • Objectives
  • Introduction
  • How EJB Security Works
  • Protecting Web Resources
  • Setting Method Permission
  • Defining Roles
  • Defining Roles Using Annotations
  • Specify Methods Permission
  • Disable Security Check
  • Excludes List
  • RunAs Security Identity
  • RunAs Security Identity Configuration
  • Programmatic EJB Security
  • Security Role Reference
  • Summary
 

15. Web Service Access to EJBs

 
  • Objectives
  • Web Services
  • Operation and Implementation
  • WSDL
  • Typical Development Workflow
  • Advantages of Web Services
  • Web Services and EJB
  • Web Service Clients
  • JAX-WS Overview
  • JAX-WS Framework
  • Java to XML Data Conversion
  • Main Goals of JAX-WS
  • JAX-WS Server
  • WSDL Overview
  • WSDL Document Tags
  • Web Service EJBs
  • Annotate The Session Bean
  • Annotate the Methods
  • Service Endpoint Interface
  • Package and Deploy
  • Summary
 

16. EJB Timer Service

 
  • Objectives
  • Container Managed Timer Service
  • EJB Timer Service
  • Interaction between Timer Service and EJB
  • Timer Service API
  • The TimerService Interface
  • Obtaining the Timer Service
  • Creating a Timer
  • Getting All Timers
  • The Timeout Callback method
  • The Timer Interface
  • Example: TimerTestBean
  • Timer and Transaction
  • Limitations of EJB Timer Service
  • Summary
 

17. Transactions

 
  • Objectives
  • Need for Transactions
  • Transactions
  • ACID Properties
  • Transaction Components
  • Distributed Transactions
  • Distributed Transaction Components - Two Phase Commit
  • Java Transaction API (JTA)
  • Object Transaction
  • EJB Transaction Basics
  • Transaction Propagation
  • Transaction Outcome
  • Container Managed Transaction
  • Container Managed Transaction Settings
  • Interacting with Container Managed Transactions
  • Container Managed Transaction - Example
  • Transaction Attributes Support
  • Bean Managed Transaction
  • Bean Managed Transaction - Example
  • Client Managed Transaction
  • Transaction Isolation
  • Isolation Level
  • Summary
 

18. Interceptors

 
  • Objectives
  • Introduction
  • Interceptors
  • Internal Interceptor
  • Example: Internal Interceptor
  • External Interceptors
  • Default Interceptor - Example
  • Another Example
  • Class-Level Interceptor - Example
  • Setting Class Level Interceptors
  • Pre & Post Processing with Interceptors - Example
  • Excluding Default and Class Level Interceptors
  • Interceptors on Lifecycle Callbacks
  • Blocking Calls to Business Method Example
  • Summary
 

19. EJB Deployment

 
  • Packaging EJB JAR File
  • The Bean Classes
  • Dependent Classes
  • Business Interfaces
  • Client JAR File
  • The Deployment Descriptor
  • Basic Deployment Descriptor
  • Configuring a Session EJB
  • Configure Assembly Description
 

20. EJB 3 Design Patterns

 
  • Objectives
  • Introduction
  • Session Fa ade Pattern
  • JPA and Session Fa ade Pattern
  • Fa ade Example
  • Message Fa ade Pattern
  • Message Fa ade Using JMS
  • Message Fa ade Using Timer Service
  • Additional Notes About Message Fa ade
  • The Command Pattern
  • Implementing Command Pattern
  • Example Command Pattern
  • Data Transfer Object (DTO) Pattern
  • JPA Entity as DTO
  • Problem With JPA Entity as DTO
  • Version Number pattern
  • JPA and Version Number Pattern
  • Primary Key Generation
  • JPA and Primary Key Generation
  • Fast Lane Pattern
  • JPA and Fast Lane Pattern
  • Summary