The course consists of six main units:
1. J2EE Platform Overview
2. Introduction to J2EE Development on Weblogic, WebSphere, JBoss, Tomcat, and Glassfish Application Servers
3. J2EE Core Technologies
4. Web Components
5. Server Components
6. New J2EE Technologies
Unit One: J2EE Platform Overview unit starts with an introduction to the J2EE platform followed by key concepts such as multi-tier applications, component-based development, container-based architecture, MVC design pattern, declarative development/deployment, J2EE components and roles in a typical J2EE project, and typical J2EE architecture and layers. Topics included are:
• Multi-tier architecture
• Component-based architecture
• Container-based runtime environments
• Simplified and standard development
• Scalability for demand growth and variations
• Integration with existing information systems
• Simplified, unified security model
• Choice of servers, tools, components
• Typical J2EE configurations
Unit Two: Introduction to J2EE Development on Weblogic, WebSphere, JBoss, Tomcat, and Glassfish Application Servers unit prepares you for the class labs and projects. Major topics covered are:
• Weblogic, WebSphere, JBoss, Tomcat, and Glassfish Application Servers' installation
• Domain configuration
• Administration of Weblogic, WebSphere, JBoss, Tomcat, and Glassfish Application Servers (startup script, property settings, component deployment modes)
• Weblogic, WebSphere, JBoss, Tomcat, and Glassfish Administrative Consoles
• Development with ANT (targets, tasks, dependency, properties)
• Relational database for the lab (DB server and DBA Console)
Unit Three: J2EE Core Technologies unit covers foundation set of J2EE technologies commonly used in the J2EE platform. Major technologies among these are JDBC, Connection Pool, Data Source, Transaction, Object Serialization, JNDI, JTA, RMI, JavaMail, XML, and JMS. Special emphases are placed in areas below:
• JDBC Programming
- What is JDBC?
- JDBC architecture
- Review of the four JDBC driver types
- JDBC packages
- JDBC Objects (such as Driver, Connection, Statements, Executions)
- JDBC URL
- Steps to access and manipulate the database
- Fetching and handle Data using ResultSet
- Connection Pool and Data Source
- Introduction to JTA
- Transactional JDBC connection
- JDBC features
- RowSet
• JNDI Programming
- What is JNDI?
- JNDI Architecture
- JNDI Naming and Directory Package
- Initial contexts, bindings, compound names, and composite names
- Schema and Exception Handling
- Steps to access and manipulate JNDI contents
- Create and destroy sub-contexts
- Bind, unbind, rebind, lookup, and list objects
- JNDI features
Unit Four: Web Components unit introduces students to Web applications development and deployment. Basic topics such as HTTP protocol, URL resolution, Cookies, web parameters, typical Web Application contents, Servlet API, Servlet Context, resource attributes and scopes, Servlet Container, JSP, JavaBean mapping, JSP scripting elements, JSP directive, JSP action, Custom Tag, and JSTL are provided. Advanced topics covered are MVC design pattern, Servlet Controller, Servlet Dispatcher, and Struts-based application development. In addition to in-class labs, this unit also contains various home-based projects. Major topics provided are:
• Servlet
- Web basics
- Web application directory structure
- Comparison of Web technologies (Server- vs. Client-side)
- What is Servlet?
- Servlet Lifecycle
- Basic Servlet and HTTP Servlet
- Multithreaded Servlet
- Designing Servlet Roles
- Session management
- Servlet deployment and Deployment Descriptor
- Running, hosting, and testing Servlets
• JSP
- What is JSP for?
- Dynamic content generation
- JSP lifecycle
- Basic JSP syntax
- Frequently used predefined variables
- Scripting elements
- Directive elements
- Action elements
- Utility Java classes
- JSP packaging and deployment
- JavaBean and JSP
- MVC model using JSP and Servlet combo
- MVC with JSP expression language
- Custom tag basics
- Components of a tag library
- Tags that use attributes
- Tags that use body content
- Tags that optionally use body content
- Manipulating the tag body
• Struts
- What is Struts?
- MVC and Struts
- Struts request flow
- Steps of Struts development
- Action
- ActionForm
- Web parameters handlings
- DynaActionForm
- Struts Tags
- Validator Plug-in
- Advanced ActionFormBean features
- Tiles
- Struts Internals
Unit Five: Server Components unit provides student with insights into EJB bean design and implementation. Topics covered are EJB concepts, EJB Container, types of EJB, Deployment Descriptor, types of persistent management, types of transaction management, Container-managed relationship, Session Bean (Stateless and Stateful), Entity Bean (BMP and CMP), Message-Driven Bean (MDB).
• Enterprise JavaBeans
EJB Roles
When to Use EJB
Motivation For Enterprise JavaBeans (EJB and CORBA)
Distributed Object Primer (EJB, CORBA and RMI)
• EJB Architecture
The characteristics of EJBs
Sun’s Goals for EJB Architecture
The EJB Architecture
EJB Servers and Containers
Containers in an EJB Server and Container Services
EJB Class and Instances
Taxonomy: Enterprise JavaBeans
The types of EJBs and when to use them (stateless, stateful, entity)
Entity Bean and Persistence
The structure of EJBs (containers, stubs, skeletons, object pooling, object cacheing, activation, passivation, home interface, remote interface, etc.)
EJB Client, EJB Development Process and Deploying EJB
Programming Enterprise JavaBeans
An Enterprise JavaBeans’s Environment
Creating an Enterprise JavaBeans
Metadata, Handles and Exceptions
Security and Enterprise JavaBeans
• Session Beans
Write a home interface for an Session Beans
Write a remote interface for an Session Beans
Write an Session Beans with stateless and stateful behavior
Write a bean class that implements the SessionBean interface
Work with a SessionContext object
How to throw business exceptions from within an Session Beans
The lifecycle of an EJB object
• Entity Beans
Write a bean class that implements the EntityBean interface
The differences between ejbCreate(…) and ejbPostCreate(…)
Work with an EntityContext object
Mapping Between Object and relational models
Mapping Entity Beans attributes to JDBC database fields
Write an Entity Beans that does Bean-Managed Persistence (CMP)
Write custom finder methods
Write an Entity Beans that does Bean-Managed Persistence (BMP)
Understanding the transactional context of an EJB
How EJBs participate in transactions
Unit Six: New J2EE Technologies unit introduces student the latest J2EE technologies in design and development of Web applications and e-Commerce projects. Topics includes Spring, Hibernate, JavaServer Faces (JSF), and Asynchronous JavaScript and XML (AJAX).
• Spring
What is Spring?
Spring Framework
Crosscutting Concern
Aspect-Oriented Programming (AOP)
Spring Application
Web Application Layering
Inversion of Control (IoC)
Spring Modules
Spring Beans
Sprint Transaction
Spring DAO Templates
Spring Components
• Hibernate
What is Hibernate?
Object Relational Mapping (ORM)
Hibernate Features
Hibernate Query Language (HQL)
Hibernate Development
Hibernate Tools
Hibernate Mapping (HBM) File
Hibernate Template
Spring/Hibernate Integration
Hibernate 3
• JavaServer Faces (JSF)
What is JSF?
JSF Architecture
JSF Framework
UI Components
JSF Page Navigation
JSF MVC Model
JSF Request Life Cycle
JSF Technology
JSF Application
• Asynchronous JavaScript and XML (AJAX)
What is AJAX?
AJAX Architecture
Classic MVC vs AJAX
Synchronous vs Asynchronous
AJAX Sequence of Request
Pros and Cons of AJAX
AJAX Tools