Training

 

 

Popular Courses

Browse Our Free Resources

  • whitepapers
  • whitepapers
  • webinars
  • blogs

Our Locations

Training Centres

Vancouver, BC
Calgary, AB
Edmonton, AB
Toronto, ON
Ottawa, ON
Montreal, QC
Hunt Valley
Columbia

locations map

Calgary

550 6th Av SW
Suite 475
Calgary, AB
T2P 0S2

Toronto

821A Bloor Street West
Toronto, ON
M6G 1M1

Vancouver

409 Granville St
Suite 902
Vancouver, BC
V6C 1T2

U.S. Office

436 York Road
Suite 1
Jenkintown, PA
19046

Other Locations

Dallas, TX
Miami, FL

Home > Training > Rational Application Developer (RAD) 7.5 > EJB 3.0 Programming Using RAD 7.5 Training

EJB 3.0 Programming Using RAD 7.5 Training

Quick Enroll

Course#: WA1648

This 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 RAD 7.5 and WebSphere 7.0 runtime.

Topics

 
  • Introduction to Java EE 5 and WebSphere Application Server
  • EJB Overview
  • Session Beans
  • Java Persistene API (JPA)
  • Transactions
  • Security
  • Message-Driven Beans
  • EJB Design Patterns

What you will learn

  After completing this course, the student should be able to:
  • 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 RAD 7.5.

Audience

  This course is intended for intermediate to advanced Java programmers. System architects will find the advanced concepts especially beneficial in designing a framework.

Prerequisites

  Good Java programming knowledge. Be familiar with web application programming, including servlets and JSPs.

Duration

  Five days

Outline of WA1648 EJB 3.0 Programming Using RAD 7.5 Training

Chapter 1. Java Enterprise Edition (EE) Overview

 
  • 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
 

Chapter 2. Introduction to Rational Application Developer (RAD) v7.5

 
  • The RAD 7.5 Product
  • Eclipse Platform
  • Rational Web Developer
  • Rational Application Developer
  • Key Features in RAD v7.5
  • Views, Perspective, and Editor Areas
  • Basic Operations with RAD Views and Perspectives
  • The Java Perspective
  • The Debug Perspective
  • Navigator View
  • Package Explorer
  • Outline View
  • Task and Problems View
  • Build and Validation
  • Import and Export Project
  • Project Interchange Feature
  • Code Completion, Templates and Snippets
  • Searching
  • Setup Compiler Class Path
  • JRE Switching
  • Migrating Workspace from RAD v6.0 or RAD v7.0
  • Backward Compatibility with RAD v7.0
  • References
  • Summary
 

Chapter 3. Enterprise JavaBeans (EJBs) Overview

 
  • 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
 

Chapter 4. Stateless Session Beans

 
  • 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
  • Creating A Session Bean
  • Creating An EJB Project
  • The Client JAR
  • EJB Projects
  • Creating an EJB
  • Creating the EJB
  • Coding the Bean
  • Updating Interfaces
  • Dependencies
 

Chapter 5. Stateful Session Beans

 
  • 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
 

Chapter 6. References and Dependency Injection

 
  • 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
 

Chapter 7. Entities and Java Persistence API

 
  • 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
  • Creating Entities
  • JPA Project
  • Creating An Entity
  • Generated Entity Class
  • Code the Entity
  • JPA Tooling
  • Dependencies
 

Chapter 8. JPA Entity Lifecycle

 
  • 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
  • Merging Entities (example)
  • Life-Cycle Callbacks
  • Example: Internal callback
  • External Callback Class
  • Listener Class - Example
  • Synchronizing with Databases
  • Entity Lookup
  • JPAQL (JPA Query Language)
  • Summary
 

Chapter 9. Java Persistence Query Language (JPA QL)

 
  • 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
 

Chapter 10. Basic Entity Relationships

 
  • 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
  • Maintaining Bidirectional Links
  • Simplifying Bidirectional Links
  • Traversing the Relationship
  • Summary
 

Chapter 11. Complex Entity Relationships

 
  • One-To-Many and Many-To-One
  • Many-to-One Unidirectional
  • Creating Entity Instances
  • Traversing the Relationship
  • Modeling One-to-Many
  • Maintaining Bidirectional Links
  • Creating Entity Instances
  • Traversing the Relationship
  • Many-to-Many
  • Modeling Many-to-Many
  • Maintaining Bidirectional Links
  • 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
  • Various Problems with Lazy Initialization
  • Fetch Join Query
  • Summary
 

Chapter 12. Entity Inheritance

 
  • 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
 

Chapter 13. Message-Driven Beans

 
  • 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
  • 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 Bean
  • Summary
  • References
  • Configuring JMS
  • Creating an MDB In RAD
  • Coding the MDB
  • Specifying The Destination
  • Editing WebSphere Bindings
  • Set the Activation Spec
 

Chapter 14. EJB Security

 
  • Introduction
  • How EJB Security Works
  • Example Security
  • Protecting Web Resources
  • Setting EJB Method Permission
  • Defining Roles in DD
  • Defining Roles in Code
  • Specify Role Access in DD
  • Specify Role Access in Code
  • Disable Security Check
  • The Excludes List
  • Run As Identity
  • Setting Run As Role
  • Programmatic EJB Security
  • Example Security API
  • Role Reference
  • Summary
 

Chapter 15. Web Service Access to EJBs

 
  • 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
 

Chapter 16. EJB Timer Service

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

Chapter 17. Transactions in EJB

 
  • 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
  • Transaction Attributes
  • Container Managed Transaction Settings
  • Interacting with Container Managed Transactions
  • Container Managed Transaction – Example
  • Transaction Attributes Support
  • Bean Managed Transaction
  • Using the JTA API
  • Obtaining the UserTransaction
  • Fine Points of Bean Managed Transaction
  • Client Managed Transaction
  • Transaction Isolation
  • Summary
 

Chapter 18. EJB Interceptors

 
  • Introduction to 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
  • Blocking Calls to Business Method Example
  • Excluding Default and Class Level Interceptors
  • Interceptors on Lifecycle Callbacks
  • Summary
 

Chapter 19. EJB Deployment

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

Chapter 20. EJB 3 Design Patterns

 
  • Introduction
  • Impact of EJB Client Type
  • Session Façade Pattern
  • JPA and Session Façade Pattern
  • Façade Example
  • Message Façade Pattern
  • 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
 

Chapter 21. JEE Application Deployment

 
  • Overview
  • Generate Deployed Code
  • Export EAR
  • Separate Client side code
  • Export EJB Client JAR
  • Export Utility JAR
  • JEE Deployment
  • WebSphere Profiles
  • Creating Profiles for RAD
  • Administrative Console
  • Environment Variable
  • Security
  • Resources
  • Creating JDBC provider
  • Creating Data Source
  • WebSphere MQ JMS Configuration
  • WebSphere MQ JMS Provider
  • Connection Factory
  • Destination
  • Activation Specification
  • Installing Applications
  • Starting an Application
  • Scripting in RAD
  • Script Configuration
  • Command Assistance Notifications
  • Summary
Address Start Date End Date
Instructor Led Virtual 09/18/2017 09/22/2017
Instructor Led Virtual 10/23/2017 10/27/2017
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
*Your name:

*Your e-mail:

*Phone:

*Company name:

Additional notes:

We have received your message. A sales representative will contact you soon.

Thank you!.

more details
buy this course

09/18/2017 - Online Virtual
$2,695.00
Enroll

10/23/2017 - Online Virtual
$2,695.00
Enroll

Other Details

Register for a courseware sample

It's simple, and free.

 

Thank You!

You will receive an email shortly containing a link to download the requested sample of the labs for this course.