WA1048 EJB Programming with WebSphere Studio Application Developer V4
Course Outline
1. Introduction to WSAD
  • WSAD Family
  • Perspectives and Views
    • Java perspective
    • Web perspective
    • J2EE perspective
    • XML perspective
    • Data perspective
    • Server perspective
    • Debug perspective
    • Help perspective
  • J2EE and Web Tooling
  • XML Tooling
  • Data Tooling
2. Introduction to Web Applications
  • 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
  • IBM WebSphere product family
    • WebSphere Studio Application Developer (WSAD)
    • WebSphere Application Server
    • WebSphere editions
  • Web application development and deployment using WSAD
    • EAR projects
    • EJB projects
  • WSAD testing environment
    • Server perspective
    • Resources configuration
    • Debug mode
    • JNDI explorer
    • J2EE, data, Web and XML tooling
    • Performance and trace tooling
    • Team development
3. 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
  • WebSphere EJB server architecture overview
  • WebSphere EJB server environment
4. 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
  • WSAD J2EE development environment
  • Developing a session bean using WSAD
    • Adding an EJB project
    • Adding a session EJB
    • Adding fields to the bean
    • Adding methods to the bean
    • Adding business methods to the bean
  • Writing life cycle methods
  • Promoting methods to remote and home interface
  • Deploying EJBs
    • Setting deployment descriptor
    • Generating deployed Code
    • WebSphere Test Environment
    • Run on the server
  • Testing EJBs with the EJB test client in WSAD
5. Entity Beans
  • Entity beans
  • Entity beans components
    • Container
    • Primary key class
    • 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
    • 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
  • Mapping design in WSAD
  • Meet-in-the-middle
  • A CMP entity bean example
    • Adding CMP fields in the bean
  • Creating a top-down database mapping
  • Adding a BMP entity EJB
  • Setting deployment descriptors
    • EJB editor (ejb-jar.xml)
  • EJB extension editor (ibm-ejb-jar-bnd.xmi, ibm-ejb-jar-ext.xmi)
  • Map editor (Map.mapxmi)
6. EJB Exception
  • Use of Exception
  • Exception types
    • System Exception
    • Application Exception
  • Bean class
  • Container
  • Client
  • Standard Exceptions
7. EJB Transaction
  • 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
8. Security
  • Goals of the EJB Security specification
  • Declarative EJB security
  • EJB Delegation Policy
  • Programmatic EJB security
9. Advanced Concepts
  • Session beans
  • Stateful session beans
  • Session bean from servlet
  • Session bean pooling
  • Entity beans
  • CMP custom finder
  • Select custom finder
  • Where custom finder
  • Method custom finder
  • CMP EJB maintenance
  • Meet-in-the-middle CMP
  • CMP pooling
  • Using access beans
  • Access beans
  • Access bean constructor
  • Generating access beans
  • Access bean examples
  • Connection pooling with EJBs
  • Best practices for EJB development
10. EJB Deployment
  • WebSphere Environment
    • WebSphere HTTP Server plug-in
    • WebSphere Administrative Server
    • User interface
    • WebSphere troubleshooting
    • Workload management and scaling
  • Enterprise JavaBean
  • Overview
  • Deployment descriptors
  • Bean developer entries
  • Application assembler entries
  • EAR file
  • JAR file
  • Install applications
  • Configure applications
  • Update applications
11. J2EE Design Patterns
  • What is a design pattern?
  • Types of design patterns
  • J2EE design patterns and their applicability
    • Session facade
    • Value object
    • Data access object
  • Examples
Appendix A. Team Development and Performance Tooling
Appendix B. Managing multi-server environments
Appendix C. Application tracing and trouble-shooting