Arkoa homepage
About Arkoa News & Events Contact Us Careers
  Course Catalog : Java :

Enterprise JavaBeans Development

4 days

Course # 02-2400


Description

This intensive, hands-on course addresses the design and development of Enterprise JavaBeans (EJBs). Through a series of lectures and lab exercises, course attendees will thoroughly explore designing and building EJBs and using them in multi-tier, distributed systems.

Audience
Java programmers or architects who plan to develop distributed, multi-tier Java applications. This course is particularly targeted to those developers writing server components for use in Web applications.

Prerequisites
Attendance at Arkoa’s 5-day Java Programming course or equivalent training/experience. Attendance at Arkoa’s 5-day Advanced Java Programming course is also recommended. Knowledge or experience in multi-tier application development to the level provided by Arkoa’s Multi-tier Client/Server Technical Overview is helpful.

Hardware and Software

  • Intel Pentium PCs with at least 128 MB of memory.
  • Windows NT version 4.0 SP5 or Windows 2000 Professional
  • Java 2 SDK, Standard Edition 1.2.2 or above
  • Java 2 SDK, Enterprise Edition 1.2.1 or above



 


Format

  • Presentation
  • Hands-on
  • Demonstration

Objectives
After completing this course, participants should be able to:

  • Explain the advantages of Enterprise JavaBeans over other platforms for server-side component development
  • Design Enterprise JavaBeans to implement the business tier of an n-tiered application
  • Develop scalable, robust server-side components using EJB
  • Build secure, transactional component-based applications using EJB



Topics


Multi-Tier Object-based Architectures

  • Introduction to Objects in Distributed Systems
    • Overview
    • Objects, Responsibilities, and Relationships
    • Responsibilities and Encapsulation
    • Objects Interact with Each Other
    • Remote Objects Typical in Enterprise Systems
    • Remote Object Interaction
    • Proxy Pattern
    • Proxies and Remote Objects
    • Components
    • Benefits of Components
    • Industry Components
    • Language Independence
  • Multi-Tier Architectures
    • Overview
    • Distributed Software Systems
    • Tier Components
    • Tier One Options
    • Tier Two Options
    • Tier Three Options
    • Web-based Architecture Is Multi-Tier
    • Web-based Tiers
    • A Four-Tier Architecture
    • Flexible Architecture
    • Enterprise Development Architectures
    • Microsoft Windows DNA
    • CORBA Architecture
    • Sun J2EE Architecture
  • J2EE Technologies

J2EE Platform

  • Java 2 Platform, Enterprise Edition
    • J2EE Specification
    • J2EE Application Model
    • J2EE Server Platform
    • J2SE—The Foundation
    • J2EE Presentation Components
    • Servlets
    • JavaServer Pages
    • Clients
    • J2EE Business Components
    • EJB Relationships
    • Containers
  • J2EE System Services
    • Overview
    • Database and Transaction Services
    • JTA
    • J2EE Security
    • JNDI
    • JavaMail
    • JMS
    • RMI-IIOP
    • Java IDL
    • Deployment
    • Example Application
  • J2EE Platform Standards
    • Overview
    • J2EE Compatibility Test Suite
    • Product Alternatives
    • J2EE Reference Implementation

EJB Architecture, Beginning EJBs

  • EJB Architecture
    • Overview
    • Types of EJBs
    • Inside the EJB Server
  • Introduction to Implementing EJBs
    • EJB Interfaces and Classes
    • RMI and EJB Interfaces
    • Example Session Bean—Echo
    • Deployment Descriptors
  • EJB Clients
    • JNDI Overview
    • EJB Clients and JNDI
    • Echo Bean Client

Entity Beans—Container-Managed Persistence

  • Container-Managed Persistence Entity Beans
    • Overview
    • Persistent Store Alternatives
    • Entity Bean Elements
    • Possible Conflicts with Entity Beans
    • Implementation Overview
    • Entity Bean Life Cycle
    • EntityContext
  • Designing Container-Managed Entity Beans
    • Overview
    • Bean Attributes—Data Fields
    • Implementing Primary Key
    • Defining the Home Interface
    • Defining the Remote Interface
    • Accessors/Modifiers
    • Engineer Remote Interface
    • Inquiry Remote Interface
  • Implementing the Bean Class
    • Implementing the Bean Class
    • Using Data Objects
    • Using Database Resources
    • General Tips/Rules for Bean Implementation
  • Deployment and Exception Handling
    • Deployment
    • J2EE RI—Deployment
    • Entity Bean Clients
    • Exception Handling

Entity Beans—Bean-Managed Persistence

  • Designing Bean-Managed Persistence
    • Bean-Managed Persistence Overview
    • Entity Bean Life Cycle
    • Implementation Overview
  • Implementation
    • Implementing the Bean Class
  • Customer Example
    • Customer Example Overview
    • setEntityContext(), unsetEntityContext()
    • ejbCreate()
    • ejbFindByPrimaryKey()
    • Collection ejbFindByEmailPattern()
    • ejbStore()
    • ejbLoad()
    • ejbRemove()
  • Deployment
    • Overview
    • J2EE RI Deployment

Stateless Session Beans

  • Session Beans
    • Session Beans Overview
    • Stateless v. Stateful Session Beans
    • Choosing Session Bean Type
  • Stateless Session Bean Architecture
    • Stateless Session Bean Architecture
    • Life Cycle
    • Container Working Set
    • Method Serialization
    • Stateless Session Bean Elements
  • Implementation
    • Implementation Overview
    • Interfaces and Classes
    • SessionContext
    • Transaction Management
    • Environment Properties
    • EJB References
  • Designing Stateless Session Beans
    • Overview
    • CustomerAccountManagement Example
    • Defining the Home Interface
    • Defining the Remote Interface
    • CustomerAccountManagement Remote Interface
  • Implementing the Bean Class
    • Implementing the Bean Class
    • Attributes in Stateless Session Beans
    • Implementing Remote Interface Methods
    • Implementing the Home Interface Create Method
    • Implementing SessionBean Callbacks
    • Performance Tuning
  • Deployment
    • Deployment
    • J2EE RI—Deployment
  • Stateless Session Bean Clients
    • Review

     

 


Transactions

  • EJB Architecture and Distributed Transactions
    • Transactions Overview
    • ACID
    • J2EE Support for Distributed Transactions
    • Distributed Transactions
    • Definitions
    • Container’s Role
    • Single EJB Server Example
    • Two EJB Servers and No Client Transaction Example
    • Two EJB Servers and Client Transaction Example
  • Client-Managed Transactions
    • Overview
    • Client-Managed Transaction Example
    • Non-Transactional Beans
  • Container-Managed Transactions
    • Container-Managed Transactions Overview
    • Container-Managed Transaction Context
    • Bean Methods and Transaction Contexts
    • EJBContext Methods
    • Stateful Session Beans and SessionSynchronization
    • Transaction Attributes and Transaction Propagation
    • Deployment Descriptor
  • Bean-Managed Transactions
    • Bean-Managed Transactions Overview
    • Session Beans and Transactions
    • Java Transaction API
    • UserTransaction Interface
    • Effect on Client Transactions
    • Deployment Descriptor
  • Transaction Isolation Issues and Exceptions
    • Transaction Isolation Control
    • Isolation Levels
    • Setting Isolation Levels with JDBC
    • Exceptions and Transactions

Stateful Session Beans

  • Stateful Session Beans Overview and Deployment
    • Overview
    • Stateful Session Bean Architecture
    • Life Cycle
    • Activating/Passivating Stateful Session Beans
    • Designing Stateful Session Beans
    • CustomerInquiries Example
    • State Machine for Bean
    • Defining the Home Interface
    • CustomerInquiries Remote Interface
    • Designing the Bean Class
  • Implementing and Deploying
    • Overview
    • Attributes in a Stateful Session Bean
    • Implementing Remote Interface Methods
    • Implementing the Home Interface Create Methods
    • Deployment
    • Stateful Session Bean Clients
  • Transactions and Stateful Beans
    • Overview
    • SessionSynchronization
    • Life Cycle with SessionSynchronization
    • SessionSynchronization Callbacks

Security

  • Security Overview
    • Introduction
    • Authentication
    • Authorization
    • Secure Communications
  • J2EE Security Support
    • J2EE Specification
    • Declarative Security
    • Programmatic Security Checks
  • J2EE RI Access Control Demonstration
    • Define Security Roles
    • Assign Users/Groups to Roles
    • Define Method Permissions
    • J2EE Client Applications

JavaMail and JMS

  • JavaMail Overview
    • JavaMail Overview
    • JavaMail Elements
    • Client Services
    • J2EE RI Support
    • JavaMail API Major Components
    • JavaMail Event Model
  • JavaMail Programming Overview
    • Implementation Outline
    • ConfirmOrder EJB
    • Mail Session Resource Factory
    • JNDI Settings
    • Using ConfirmOrder
  • JMS Overview
    • Messaging and JMS
    • Typical Messaging Services
    • Messaging Models
  • JMS Concepts
    • JMS Concepts
    • Messages
    • Destinations
    • Connections and Connection Factories
    • Sessions
    • Message Producers
    • Message Consumers
    • Other Issues
    • J2EE Requirements for JMS

What’s Coming in EJB 2.0?

  • EJB 2.0
    • EJB 2.0 Overview
    • Integration with JMS
    • Interoperability Between EJB Containers
    • Updated Container-Managed Persistence
  • J2EE 1.3
    • J2EE 1.3 Overview
    • JMS 1.0.2
    • J2EE Connector Technology 1.0
    • JAXP 1.1