Skip Navigation Links

Course Length:
5 Days
Course Description:
This course is a comprehensive introduction to writing Enterprise JavaBeans (EJB) using IBM WebSphere and the Rational Application Developer (RAD) tool. An overview of J2EE technology is provided, followed by hands-on experience with JNDI, JDBC, JMS, session beans, entity beans, and message-driven beans. The EJB 2.x specification is covered, with emphasis on container-managed persistence (CMP) and container-managed relationships (CMR).
Who Should Attend:
This course is for experienced Java programmers and software engineers preparing to write Enterprise JavaBeans for J2EE applications hosted on IBM WebSphere Application Server.
Benefits of Attendance:
Upon completion of this course, students will be able to:
  • Start, stop, and configure IBM WebSphere Application Server
  • Use JNDI to access database and EJB resources
  • Create JDBC data sources
  • Write stateless and stateful session beans
  • Use bean-managed and container-managed persistence
  • Understand and write XML-based deployment descriptors
  • Configure and deploy EJBs using the Rational Application Developer tool
  • Assemble J2EE-compliant enterprise applications
  • Use the Session Facade pattern
  • Implement container-managed relationships
  • Create JMS destinations
  • Write message-driven beans
Prerequisites:
Students should be comfortable with Java programming and object-oriented concepts. A minimum of six months coding experience is suggested. In addition, students should have prior experience using JDBC and SQL.
Course Outline:
  • Chapter 1: Overview of Java EE
    1. Java Platforms
    2. Characteristics of "Enterprise" Computing
    3. Java EE Technologies
    4. Multi-Tier Architectures
    5. Advantages of Multi-Tier Architectures
    6. Container-Based Approach
    7. Parties Involved in Java EE Deployment
    8. Java EE-Compliant Application Servers
    9. Java EE Application Models
    10. HTTP Services Application Model
    11. N-Tiered Application Model
  • Chapter 2: Introduction to RAD
    1. What is WebSphere®?
    2. What is Rational® Application Developer?
    3. Starting RAD
    4. Creating a Java Project
    5. Importing Existing Java Code
    6. Creating a New Java Program
  • Chapter 3: Java Naming and Directory Interface
    1. What is JNDI?
    2. Benefits of JNDI
    3. Naming Services
    4. Directory Services
    5. Using JNDI
    6. Context Operations
    7. JNDI Utility Class
    8. JNDI Example
    9. Naming Exceptions
    10. Creating a Server Instance
    11. Starting and Stopping WebSphere
    12. Running the JNDI Example
  • Chapter 4: Using JDBC Data Sources
    1. A Simple JDBC Program
    2. JDBC Driver Types
    3. Using the Derby Database
    4. JDBC Data Sources
    5. Data Source Example
    6. Configuring a JDBC Provider
    7. Configuring a Data Source
    8. Running the JDBC Examples
    9. Executing a Query
    10. Using the Database Explorer
  • Chapter 5: RMI and IIOP
    1. Object Serialization
    2. Remote Method Invocation
    3. RMI Architecture
    4. The Remote Interface
    5. CORBA
  • Chapter 6: Enterprise JavaBeans
    1. Enterprise JavaBeans Component Model
    2. Types of Enterprise Beans
    3. EJB Wrapper Interfaces
    4. Deployment Descriptors
    5. Context and Environment Objects
    6. EJB Runtime Environment
    7. The Remote Interface
    8. The Home Interface
    9. The Enterprise Bean Class
    10. The Client Test Program
    11. The ejb-jar.xml File
    12. The ibm-ejb-jar-bnd.xmi File
    13. Creating an Enterprise Application Project
    14. Deploying the Enterprise Application
    15. Testing with the IBM Universal Client
  • Chapter 7: Session Beans
    1. Session Bean Lifetime
    2. Session Bean Interface
    3. Session Bean Lifecycles
    4. Stateless Session Bean Example
    5. Accessing Environment Entries
    6. Stateful Session Bean Example
    7. EJB Exceptions - Examples
    8. Testing the Session Beans
    9. Creating a New Session Bean
  • Chapter 8: BMP Entity Beans
    1. Entity Beans
    2. Entity Bean Interface
    3. Lifecycle of an Entity Bean
    4. Bean-Managed Persistence Example
    5. Deploying Entity Beans
    6. Deployment Settings for BMP Entity Beans
  • Chapter 9: CMP Entity Beans
    1. Container-Managed Persistence
    2. Primary Key Class
    3. Implementing CMP Entity Bean Methods
    4. Container-Managed Persistence Example
    5. Deployment Settings for CMP Entity Beans
    6. Deployment Settings for Custom Finders
    7. EJB Query Language
    8. Mapping Container-Managed Fields
    9. Testing the Product Bean
  • Chapter 10: Session Facade Pattern
    1. J2EE Design Patterns
    2. Session Facade Pattern
    3. Local Interfaces
    4. Example - ItemOrderer Bean
    5. Deployment Settings for ItemOrderer Bean
    6. Testing the Session Bean
    7. Bottom-Up Mapping
    8. Configuring the Application Client Project
  • Chapter 11: Container-Managed Relationships
    1. Container-Managed Relationships
    2. Container-Managed Relationship (CMR) Example
    3. CMR Example - Local Interfaces
    4. CMR Example - Local Home Interfaces
    5. CMR Example - Entity Bean Classes
    6. Transfer Object Pattern
    7. CMR Example - Session Bean
    8. CMR Example - Deployment Descriptors
    9. Creating New CMP Entity Beans
    10. Creating a Relationship
    11. Generating a Top-Down Mapping
    12. Creating the Tables
    13. Adding an Existing Session Bean
    14. Running the Client Program
  • Chapter 12: Java Message Service
    1. Introduction
    2. JMS and the J2EE Platform
    3. Basic JMS Concepts
    4. The JMS Programming Model
    5. Point-to-Point Example - Sender
    6. Point-to-Point Example – Receiver
    7. Configuring JMS for WebSphere
    8. Running the Point-to-Point Example
    9. Publish/Subscribe Example - Publisher
    10. Publish/Subscribe Example - Subscriber
    11. Running the Publish/Subscribe Example
    12. Reliable Message Delivery
  • Chapter 13: Message-Driven Beans
    1. Message-Driven Beans
    2. Message-Driven Bean Lifecycle
    3. Message-Driven Bean Example
    4. Configuring an Activation Specification
    5. Deploying Message-Driven Beans
    6. Creating a New Message-Driven Bean
  • Appendix A: Web Resources
    1. Java Technology
    2. WebSphere
    3. Derby Database
  • Appendix B: Using EJBs in a Web Application
    1. Using Web Components as EJB Clients
    2. Servlet Code for the Survey Application
    3. Session Bean for the Survey Application
    4. Deploying the Survey Application
  • Appendix C: EJB Transactions
    1. Transactions
    2. Container-Managed Transactions
    3. Transaction Attributes
    4. System vs. Application Exceptions
    5. Rolling Back a Container-Managed Transaction
    6. Configuring a Transactional Data Source
  • Appendix D: EJB Security
    1. Java EE Security
    2. Specifying Permissions for EJBs
    3. Enabling Security for WebSphere
  • Appendix E: EJB Timer Service
    1. Overview of the Timer Service
    2. Timer Service API
    3. Creating Timers
    4. Canceling and Saving Timers
    5. Example
    6. Running the Example
  • Appendix F: Introduction to EJB 3
    1. Limitations of EJB 2
    2. EJB 3 Feature Overview
    3. Comparing EJB 2 and 3
    4. The EJB 3 Business Interface
    5. The Annotated EJB Class
    6. Dependency Injection
    7. Container Callback Methods
    8. Stateless Session Beans
    9. Stateful Session Beans
    10. Entity Beans