WA1175
EJB Programming with WebSphere Studio Application Developer v5.1.1
Course Outline
1. Introduction
  • Quick introduction to WSAD v5.1.1.
  • What's new in Eclipse 2.1 compared to 1.0?
    • Refactoring
    • Line numbers
    • Exception stack trace hyperlink
    • More productivity tips�
  • What's new JDK 1.4.
    • XML parserz
    • Logging API
    • Security
    • Preferences API
    • Assertions
    • Hot code reloading by Java Profiling and Debugging Architecture
    • Nested exception (getCause/initCause)
  • UML Class
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 . Exceptions
  • Use of Exception
  • Exception types
  • System Exception
  • Application Exception
  • Bean class
  • Container
  • Client
  • Standard Exceptions
7 . 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
8 . Security
  • Goals of the EJB Security specification
  • Declarative EJB security
  • EJB Delegation Policy
  • Programmatic EJB security
9 . 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
10 . 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
  • WebSphere Best Practices
11 WebSphere 5 Administration for Programmers
  • Application administration tasks
  • Installing an enterprise application
  • Configuring WebSphere
  • Managing applications
  • Automating WebSphere administration
12 . 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. EJB Inheritance
  • EJB Inheritance
  • Characteristics of a child EJB
  • Single and root-leaf table mapping
  • Guidelines and limitations
  • EJB Inheritance features in WSAD