108. Overview of J2EE Development
Version 1.4

Book cover

This course provides a coherent, high-level explanation of the Java 2 Platform, Enterprise Edition (J2EE): what sorts of software are created with J2EE; how software is developed for this platform; how it is deployed and put into production; how it can be administered. The course is designed specifically for non-programmers -- analysts, managers, technical writers, and anyone who desires a good conceptual understanding of J2EE while not needing to drill down into the details of particular APIs or runtime specifications. Developers may also find this course quite useful as a starting point for one or more of our courses in specific J2EE technology -- it gives a great sense of the big picture before one dives into the details of Servlets, JSP, EJB, or Java Web services.

The course is presented seminar-style, with no hands-on exercises for students and no need for lab equipment. The instructor demonstrates several sample J2EE applications, including Web applications, EJBs, and Web services, and can go into source code and other details to suit the interests of the audience. But the focus is on architecture, and on boiling down a very complex system to its essential features: code portability, components and containers, declarative development. Students come to understand the roles that various J2EE technologies play in a multi-tier, enterprise application, and acquire the terminology and basic workings of each.

Although the course treats J2EE at a high level, the instructor-operated demonstrations are fully-functioning Web applications, EJB applications, Web services, and so on. It is important that the presenter be well versed in J2EE implementation; that is, instructors for this course should be comfortable with teaching any of our other J2EE courses.


  • Some prior experience with business software is assumed, but there are no formal prerequisites for this course.

Learning Objectives

  • Understand the role of J2EE in the development of enterprise software in the Java language.
  • Understand how J2EE facilitates integration of Java components with non-Java systems including relational databases, the World Wide Web, message queues, CORBA objects, and Web services.
  • Appreciate the importance of the container/component architecture, which gives J2EE servers the ability to take a great deal of grunt-work off of the shoulders of the application.
  • Describe how containers are able to provide enterprise features to compliant application components, such as remote connectivity, scalability, availability, security, and transaction support.
  • Explain the use of XML for deployment descriptors as a way of reducing programming workload and communicating with the J2EE application server.
  • Understand the deployment process and know the general structure of Web, EJB, and enterprise archive files.

Timeline: 1 day.

  • A ½-day timeline when presenting as a lead-in to other J2EE training for developers is also possible.

Chapter 1. History and Overview

  • Structured Programming
  • Object-Oriented Programming
  • 4GLs and RAD
  • Java
  • J2EE and the Outside World
  • Versions Upon Versions

Chapter 2. Concepts

  • The Virtual Machine and Runtime
  • How Does It Work?
  • Containers and Components
  • Three Containers
  • Declarative Development
  • Deployment Descriptors
  • Remote Connectivity
  • Scalability
  • Availability
  • Security
  • Transactionality

Chapter 3. Technology

  • JDBC
  • Servlets and JSP
  • JNDI
  • The Component Environment
  • Multi-Tier Applications
  • EJB
  • JMS
  • Web Services

Chapter 4. Tools, Standards, and Portability

  • Java IDEs
  • Web Servers and Containers
  • Application Servers
  • Web-Service Engines
  • Standards and Portability
  • What Is and Isn't Standardized
  • Beyond J2EE

Chapter 5. Development and Administration

  • Case Study Application
  • Requirements
  • Analysis
  • EJB Analysis
  • Design
  • Development Process
  • Assembling WARs and EJB JARs
  • Assembling EARs
  • Verifiers
  • Deploying an EAR
  • Code Generation
  • External Resources
  • Administrative Tools
  • Administrative Tasks
  • Remote Administration and Domains

Appendix A. Learning Resources

System Requirements

Hardware Requirements (Minimum) 500 MHz, 256 meg RAM, 500 meg disk space.
Hardware Requirements (Recommended) 1.5 GHz, 512 meg RAM, 1 gig disk space.
Operating System Tested on Windows XP Professional. Course software should be viable on all systems which support the J2EE 1.4 reference implementation.
Network and Security Limited privileges required -- please see our standard security requirements.
Software Requirements All free downloadable tools.