WA1262 EJB Development using Eclipse and JBoss Training and Courseware Course Outline

1. Introduction to J2EE and JBoss AS
  • Java Web applications
  • Java Web application architecture
  • J2EE architecture
  • Web application programming model - MVC
  • A scenario of using MVC
  • Typical services provided by application servers
  • Web application development and deployment
  • EAR projects
  • EJB projects
2. Overview
  • Needs for EJB
  • Distributed computing
  • Distributed transaction
  • Distributed security
  • What are EJBs ?
  • Main characteristics of EJBs
  • Foundational technologies of EJBs
  • EJB architecture components
  • EJB client
  • EJB JAR file
  • EJB server
  • EJB container
  • Enterprise JavaBeans
  • Session beans
  • Entity beans
  • EJB classes and interfaces
  • Basic components of entity and session beans
  • EJB home interface
  • An EJB home interface example
  • EJB home object
  • EJB remote interfaces
  • Remote interface example
  • EJB objects
  • EJB implementation class
  • Deployment descriptors
  • How do EJBs work
  • EJB container services
  • EJB application development
  • Deploying enterprise beans
  • Major components of deployed EJBs
3. Session Beans
  • Session beans
  • Stateless session beans
  • Stateful session beans
  • Components of session beans
  • Home interface for session beans
  • Remote interfaces for session beans
  • The session bean class
  • The ejbCreate() method
  • Business methods
  • Deployment descriptors
  • ejb-jar.xml
  • ibm-ejb-jar-bnd.xmi
  • A simple stateless bean example
  • A simple stateful bean example
  • The session context
  • Session bean life cycle
  • Concurrency issues
  • Invoking session beans from a client application
  • Looking up a home object
  • Create an EJB object
  • Calling business methods
4. Entity Beans
  • Entity beans
  • Entity beans components
  • Container
  • Primary key class
  • Home interface
  • Local Home Interface
  • Remote interface
  • Entity bean class
  • Entity instance
  • Entity object life cycle
  • Bean instance life cycle
  • Persistence
  • Bean-managed persistence (BMP)
  • Writing a BMP bean
  • A BMP bean example
  • Container-managed persistence (CMP)
  • Writing a CMP bean
  • A CMP bean example
  • Finder helpers
  • EJB Query Language
  • EJBQL: SELECT, FROM and WHERE Clauses
  • Indicating persistent fields
  • Business methods
  • Entity context
  • Writing CMP beans
  • Object-relational mapping
  • Data mapping with BMP
  • Standard CMP field mapping
  • Defining and mapping CMP fields
5. Exceptions
  • Use of Exception
  • Exception types
  • System Exception
  • Application Exception
  • Bean class
  • Container
  • Client
  • Standard Exceptions
6. Transactions
  • Transaction management
  • Object transaction
  • EJB transaction basics
  • Transaction propagation
  • Client-managed transaction
  • Bean-managed transaction
  • Container-managed transaction
  • Transaction outcome
  • Vetoing transaction
  • Transaction isolation
  • Isolation level
7. Security
  • Goals of the EJB Security specification
  • Declarative EJB security
  • EJB Delegation Policy
  • Programmatic EJB security
8. Message-Driven Beans
  • The Need for Messaging
  • The Java Message Service
  • Queues and Topics
  • Integration JMS and EJB
  • Message-Driven Beans Concepts
  • Security, Transactions, Load Balancing
  • Poison Messages
  • Responding to the Sender
9. J2EE Best Practices
  • Using Session Beans Effectively
  • Dealing with Transactions
  • Optimizing Your Deployment
  • Pooling for Container-Managed Persistence Entity Beans
  • Using Access Beans
  • JDBC Best Practices
  • Java Best Practices
10. J2EE Design Patterns
  • What is a Design Pattern?
  • EJB Layer Design Patterns
  • Transaction and Persistence Patterns
  • Client-Side EJB Interaction Patterns
  • Generating Primary Keys
Appendix A Business Integration Tier Patterns
  • Business Delegate
    • Data Transfer Object pattern
  • Access Bean
  • Value Object
  • Session Facade
  • Composite Entity
  • Value Object Assembler
  • Value List Handler
  • Service Locator
  • Data Access Object
  • Service Activator
Appendix B. Introduction to the JBoss Application Server Platform JBoss Server 3.x Features
  • JBoss Directory Structure
Appendix C. Java Connector Architecture (JCA)
  • Resource Adapter
  • System Contracts
  • Outbound Contracts
  • Inbound Contracts
  • Lifecycle Contracts
  • Common Client Interface (CCI)
  • Advantages of JCA
  • Resource Adapter Packaging
  • Connection Management
  • Transaction Management
  • Transaction Scenario
  • Client Interaction