Java Platform, Enterprise Edition 5 (Java EE 5) Training

Training Description:

Java Platform, Enterprise Edition proposes a robust architecture to develop enterprise applications in Java programming language. It is also an umbrella under which a large number of technologies and standards coordinate with each other in robust, multi-tier, server-centric applications.

The present version - Java EE 5 - brings a host of new features that supersedes what was in Java 2 Enterprise Edition (J2EE) 1.4 for performance, latest technological advancements in the field and more than anything else, ease of development. They include Enterprise Java Beans 3.0, Java Persistence API (JPA), new XML based technologies for Web services, JavaServer Faces and Annotations support.

The training starts with a comparison of different distributed computing architectures. It then goes into client-server application building with Enterprise Java Beans and extends to web application development with JSP, Servlets and JavaServer Faces in multi-tier environments.

Training Objectives:

At the end of the training, participants will be able to
  1. Develop moderately complex and secure web applications with using JavaBeans, JavaServer Pages, Servlets and JavaServer Faces.
  2. Use, configure and manage JBoss and Tomcat application servers.
  3. Implement Web services using JAX-WS.
  4. Develop secure and transaction aware business tier components with Enterprise Java Beans.
  5. Apply best practices used in multi-tier application development.

Target Groups:

  1. Fresh graduates (or undergraduates close to completion of their degree programs) in related fields willing to persuade their careers as Java (Enterprise Edition) Developers.
  2. Software Developers in other fields (like PHP or Microsoft .NET) willing to learn Java Enterprise Edition.

Prerequisites:

  1. Participants should be familiar with writing simple programs in Java programming language (Java Standard Edition) or significantly exposed to one or more object oriented programming languages to grasp Java easily. This training does not teach basics of Java programming language but uses it.
  2. General theories behind relational databases should be known. But a participant may not have prior experience in using specific database software.
  3. Optionally, it is preferred that the participants are familiar with HTML and CSS. If not, participants will be directed to on-line tutorials which are not difficult to self study.

Communication Language:

English (With Sinhala explanations if requested)

Duration:

10 Days

Facilitator:

Kamal Wickramanayake (Profile)

Notes:

  1. Participants will write a mini application of their own taken into consideration all what they learn.
  2. Delivery of the training will be learner centric. Multiple delivery techniques will be used - not just lectures.
  3. Participants will go through an MCQ based quiz at the end of the program.
  4. To facilitate easy understanding, delivery of the training may not cover the content shown below in the exact order.
  5. NetBeans IDE, Sun Java System Application Server, Tomcat and JBoss will be utilized for exercises.

Training Content:

  1. Introduction To Java Enterprise Edition (Java EE)
    • Overview of distributed computing (Centralized, Client-Server, n-Tier)
    • Java EE Architecture, advantages, disadvantages
    • Java EE Technologies
  2. Introduction To Web Application Development
    • Model 1 and Model 2 architectures
    • Patterns in the web tier
    • Request processing in a multi-tier application
  3. JSP/Servlet Basics
    • Life cycle of a Servlet
    • Life cycle of a JavaServer Page
    • Servlet API
    • Chaining and Filtering
    • JSP Syntax
  4. Writing Basic Web Applications
    • HTTP requests and responses
    • HTTP status codes
    • Cookies
    • URL parameters
    • Form handling
    • Error handling
  5. Session Tracking
    • Scoped objects
    • REST Architecture
    • Session tracking with URL rewriting
    • Session tracking with persistent cookies
    • Session tracking with user authentication credentials
    • The Session Tracking API
  6. Security In Web Tier
    • Programmatic and declarative security
    • Authentication (HTTP Basic, Form Based)
    • Authorization
    • HTTPS
  7. Writing Complex Web Applications
    • Using JavaBeans
    • Java Persistence API and web-tier persistence
    • Custom Tag Libraries (Jakarta Taglibs)
    • Java Standard Tag Library (JSTL)
    • Internationalization and localization
  8. JavaServer Faces
    • JSF UI component model and navigation model
    • Life cycle of a JSF page
    • JSF and JSP
    • JSF based development
    • Custom UI components
  9. XML Technologies And Web Services
    • Introduction to XML technologies in Java EE
    • Java API for XML-based Web Services (JAX-WS)
    • Java API for XML Binding (JAXB)
    • Java API for XML Registries (JAXR)
  10. Introduction To Enterprise Java Beans Technology
    • Overview of distributed computing with Enterprise Beans
    • Advantages of EJB Technology
    • Types of Enterprise Beans
    • Life cycle of Enterprise Beans
    • Client types
    • Differences between EJB 2.x and EJB 3.0 specifications
  11. Session Beans
    • Writing stateless/stateful session beans
    • Packaging
    • Deployment
    • Writing a client
  12. More Java EE Patterns
    • Session Facade
    • Service Locator
    • Data Access Object
    • Transfer Object
  13. Persistence In The EJB Tier
    • Defining entity classes
    • Managing entities and their relationships
    • Java Persistence Query Language
  14. Message-Driven Beans (MDB)
    • Role of middleware in enterprise application integration
    • Purpose of JMS and MDBs
    • Point-to-Point and Publisher-Subscriber Messaging
    • Coding an MDB (Unified Domains)
    • JMS client coding (Unified Domains)
  15. Transaction Management
    • ACID properties of a transaction
    • Transaction participants
    • Isolation levels
    • Bean Managed Transactions (BMT)
    • Container Managed Transactions (CMT)
    • Client Managed Transactions
    • Distributed transaction management with 2-phase committing
  16. Security in EJB Tier
    • Terminology
    • Programmatic and declarative security
    • Responsibilities of Bean Developer/Application Assembler/Deployer
    • Scope of methods
  17. Resource Connections
    • JNDI
    • Database (DataSource)
    • Introduction to Java Connector Architecture

Trainings over the Internet