| 
		
Overview
				 
				
	This course utilizes a combination of instructor-led discussions and interactive workshops to demonstrate the capabilities of your IDE for the development of enterprise applications using Enterprise JavaBeans 3.0 in an N-tier architecture. The implementation of these components and their access via various clients will be discussed. Each student will learn the following: creation of session, Message and entity EJBs, role of annotations, utilization of Callback handlers and listeners, use of the EJB Persistence API, role of Entity Manager, use the Universal Test Client, utilization of Web services, create container-managed and bean-managed entity beans, connect EJBs using transactions, understand the role of EJB containers, utilize activation and passivation, JNDI usage and the deployment of enterprise JAR and EAR components using your Application Server.
	
  All aspects of this class will incorporate the specific architecture of your Application Server and your development IDE to illustrate the implementation of these techniques.
	
  
Prerequisites
  
Each student should have a basic understanding of application development and design methodologies
  
Class Format
  
Lecture and Lab
  
Audience
  
Developers and other advanced Java professionals that will be designing, developing and creating enterprise-wide applications using EJB v3.0.
  
Learning Objectives
  
 After completing this course, the student should be able to:
   
                                  -  Understand the EJB 3.0 capabilities 
 
                                  -  Define the use of metadata annotations and
                                    examine usage of annotations
 
                                  -  Understand the role the session, entity and
                                    message EJBs for J2EE applications 
 
                                  -  Depict the use of the Entity Manager for
                                    Java Persistence API
 
                                  -  illustrate the role of JMS and message-driven
                                    beans 
 
                                  -  Create Bean-managed persistent EJBs (BMP)
                                  
 
                                  -  Create a Container-managed persistent EJB
                                    (CMP) 
 
                                  -  Illustrate the incorporation of Web services
                                    with EJB v3.0
 
                                  -  Creation of entity EJBs and defining container-managed
                                    relationships 
 
                                  -  Demonstrate the use of Universal Test Client
                                    for testing EJBs 
 
                                  -  Discuss the role of persistence concepts
                                  
 
                                  -  Illustrate the deployment of EJB 3.0 applications
                                  
 
                                  -  Demonstrate the usage of transactions with
                                    EJBs using Java Transaction API 
 
                                  -  Understand the use of EJB Timers 
 
                                     
                                   
                               
Course Duration
  
4 Days
  
Course outline
  
EJB v2.1 vs v3.0
                                    
                                      -  Depict overall differences
 
                                      -  Discuss major component changes
 
                                      - Role of POJOs
 
                                      -  Elimination of subclass hierarchy
 
                                      -  Annotations vs XML 
 
                                      -  New interface structures
 
                                      - • Packaging and deployment
 
                                        • Role of deployment descriptors 
                                        • EJB Container differences 
                                        • Client differences 
                                         
                                       
                                     
                                  
                                      EJB Session Beans
                                    
                                      -  Stateless vs Stateful
 
                                      -  Pooling concepts
 
                                      -  Conversational state
 
                                      -  Use of annotation
 
                                      -  Stateful Charateristics
                                        
                                          - Conversation state
 
                                          -  Callback methods
 
                                          -  Interceptors
 
                                          -  Activation and Passivation
 
                                         
                                       
                                      -  Session EJB lifecycle 
 
                                       
                                     
                                  Persistence
                                      API 
                                    
                                      -  Entities vs. Sessions
 
                                      -  Defining an Entity
                                        
                                          -  Persistence Provider
 
                                          -  Entity classes
 
                                          -  Use of persistence context
 
                                         
                                       
                                      -  Packaging and deployment
 
                                      -  Entity Manager API
                                        
                                          -  Lifecycle
 
                                          -  Database synchronization
 
                                          -  Concurrent access
 
                                          -  Data manipulation
 
                                          -  Lookup and Query
 
                                          -  Named Queries
 
                                           
                                         
                                       
                                     EJB
                                      Functionality 
                                    
                                      -  Role of JNDI
 
                                      -  EJB to EJB access
 
                                      -  Annotations
                                        
                                          -  Common annotations
 
                                          -  Business interface
 
                                          -  Stateful annotations
 
                                         
                                       
                                      -  Dependency Injection
 
                                       
                                     Advanced
                                      Persistence API
                                    
                                      -  Inheritance
                                        
                                          -  Single Table per Class
 
                                          -  Separate Table per Subclass
 
                                         
                                       
                                      -  Polymorphism
 
                                      -  Relationships
                                        
                                          -  One-to-One
 
                                          -  One-to-Many
 
                                          -  Many-to-Many
 
                                         
                                       
                                      -  EJB-QL
                                        
                                          -  Updates and Deletes
 
                                          -  JOIN
 
                                          -  GROUP BY and HAVING
 
                                          -  Projection
 
                                             
                                           
                                         
                                       
                                     Transactions
                                    
                                      -  Overview
                                        
                                          -  Atomic operations
 
                                          -  Failure issues
 
                                          -  Multi-user access
 
                                         
                                       
                                      -  Transactional models
                                        
                                      
 
                                      -  JTA and JTS
 
                                      -  EJB Transactions
                                        
                                      
 
                                      -  EJB Transaction attributes
 
                                      -  Transaction isolation
 
                                         
                                       
                                     EJB
                                      Security 
                                    
                                      -  Introduction
 
                                      -  Web Application Security
                                        
                                          -  Authentication
 
                                          -  Authorization
 
                                          -  Delegation
 
                                          -  Trust
 
                                         
                                       
                                      -  EJB Authentication
                                        
                                      
 
                                      -  EJB Authorization
                                        
                                          -  Security Roles
 
                                          -  Programmatic
 
                                          -  Declarative
 
                                         
                                       
                                      -  Security propogation
 
                                      -  IIOP/SSL
 
                                      -  CSIv2
 
                                      -  Web Services
                                        
                                          -  XML Digital Signature
 
                                          -  XML encryption
 
                                          -  SAML
 
                                          -  WS-Security
 
                                           
                                         
                                       
                                     EJB
                                      Timers 
                                    
                                      -  Scheduling
 
                                      - EJB and Scheduling
 
                                      - EJB Timer Service API
 
                                      - Interaction concepts
 
                                         
                                       
                                     
		
 
  |