Advanced J2EE and Enterprise Java Bean - J2420 (Duration 5 days)

While J2EE is a now a vastly accepted technology, one aspect of it, more than others has been at the center of extensive scrutiny relative to ease of use and performance - Enterprise Java Beans. Debates still rage about "to EJB or not to EJB", "to CMP or not to CMP", etc.

This course aims to provide the foundation based upon which sound decisions may be made regarding when to and when not to use EJBs. While the primary objective is to teach attendees how to code EJBs, insights gained from working with the internals of Application Servers and working on large enterprise applications are captured in the form of best practices.

The course is heavily hands on and provides attendees the opportunity to reinforce knowledge gained in ectures by coding appropriate exercises. The labs focus on end-to-end application development to ensure that the attendees understand all aspects of a J2EE application.

Who Can Benefit
  • Java developers who want to build distributed object-oriented multi-tier systems
  • Java developers who want to use EJB
  • Architects who are considering using J2EE and EJB in projects
  • Technical Project Managers and Technical Sales Consultants who have hands on Java experience
Prerequisites
  • Experienced programmers with strong Java background.
  • One year of Java programming experience (or equivalent).
  • Trans-World Resources, LLC's J2410 (JSPs , Servlets, JDBC and JNDI) or equivalent
  • Basic knowledge of distributed computing, and some aspects of J2EE (including JSPs, Servlets and JDBC)
  • Multi-tier application and database experience helpful.
Topics Covered/Skills Gained
  • Introduction to J2EE application servers
  • Enterprise Java Beans:
    • Coding the various types of EJBs
    • Deployment of EJBs
    • EJB's role in MVC architecture
  • J2EE Security and JAAS
  • Enterprise Applications
  • JTA and Distributed Transactions
  • JMS and MDBs
  • CMP 2.0 relationship (CMR)
  • Local Interfaces and Local Homes
  • Home Methods
  • Resources references
  • EJB Environment Variables

Course Content
Module 1: Getting Started
  • Java Application Servers
  • Multi-tier Applications
Module 2: J2EE Architecture and the MVC Pattern
Module 3: Introduction to EJBs and EJB Clients
  • What are EJBs
  • Types of EJBs
  • Writing EJB Clients
Module 4: Developing and Deploying Stateless Session EJBs
  • Writing Stateless EJBs
    • Remote and Home Interfaces, Bean Implementation
  • Writing Deployment descriptors
  • Packaging and deploying into Application Server
  • Lifecycle of Stateless EJBs
Module 5: Developing and Deploying Stateless Session EJBs
  • Writing Stateless EJBs
    • Remote and Home Interfaces, Bean Implementation
  • Writing Deployment descriptors
  • Packaging and deploying into Application Server
  • Lifecycle of Stateless EJBs
Module 6: Developing and Deploying BMP EJBs
  • Writing BMP EJBs
    • Remote and Home Interfaces, Bean Implementation
    • JDBC revisited - Prepared Statements, Connection Pools and Data Sources
  • Writing Deployment descriptors
  • Packaging and deploying into Application Servere
Module 7: Developing and Deploying CMP EJBs (2.x)
  • Writing CMP EJBs
    • Remote and Home Interfaces, Bean Implementation
  • Writing Deployment descriptors
  • Packaging and deploying into Application Server
Module 8: J2EE Security and JAAS
  • Web Application Security
    • Programmatic security
    • Declarative security
    • login-config, security-constraint, etc.
  • EJB Security
    • Programmatic security
    • Declarative security
Module 9: Enterprise Applications
  • Packaging and deploying WARs and JARS as EARs
Module 10: Introduction to Transactions
  • JTA/JTS
  • Distributed Transactions and XA
  • Transaction isolation levels
  • Container Managed Transactions
    • Transaction attributes and implications
Module 11: Miscellaneous EJB topics
  • Local Interfaces and Local Homes
  • Home Methods
  • Environment Entries
  • Resource References
  • Timer Service (EJB 2.1)
Module 12: JMS and MDBs
  • Asynchronous programming and MOMs
  • JMS introduced
  • Message Driven Beans
Module 13: CMP Relationships (CMR)
  • One-to-One
  • One-to-Many
  • Many-to-Many

 

 

 
J2EE Part 1

J2EE Part 2