Enterprise Java (605.784.31) Fall 2009

Course Description

This course focuses on enterprise computing technologies using Java Enterprise Edition (Java EE). The course focuses on how to build multi-tier distributed applications, specifically addressing the following areas: web access, business logic, data access, and applications supporting Enterprise Service technologies. The web access tier will focus on development using Servlets and JSP with an emphasis on integrating the web tier with enterprise applications. For the Business Logic Tier, session beans for synchronous business processing and message-driven beans and timers for asynchronous business processing will be described. The Data Access tier discussion will focus on Java Database Connectivity (JDBC), data access patterns, and the Java Persistence API. Finally, enterprise services will be described, including the Java Naming and Directory Interface (JNDI), Remote Method Invocation (RMI), Java Transaction API (JTA), Java EE Security, and Java Message Service (JMS).

Using modern development tools, commercial persistence providers, and application servers, students will design and implement several significant programming projects using the above mentioned technologies and deploy them to a Java EE environment that they will manage.

Student Background
Student Commitment
Required Course Texts
Recommended Course Texts
Required Software

This course will make heavy use of development tools (Subversion client, Maven 2, JUnit, Log4j, and Eclipse), databases (Hypersonic; comes with JBoss), persistence providers (Hibernate; comes with JBoss), and application servers (JBoss). Students are strongly encouraged to establish a local development environment. Detailed instructions for setup are part of the first exercise (Development Environment Setup).

References

The core of the EJB3 content is covered in the primary text for the course (and competing texts as well as online). Associated topics (database schema, JDBC, Web Tier, JMS, and tools) are not covered in the course text, but documentation will be provided through course slides, examples, and tutorials. A list of online references can be found on this site. Each lecture will supply a list of references for that technical area.

Grading

Assessment % of Semester Grade
Project 1 35%
Project 2 35%
Project 3 30%

Grading Policy

Academic Integrity

Instructor Availability

I am available 20min before class, breaks, and most times after class for interactive discussion. I provide detailed answers to general/technical questions through the course newsgroup. You can get individual/non-technical questions answered via e-mail. I usually have all questions posted by 10pm answered by COB that evening. Students needing further assistance are also welcome to visit my office in Columbia when necessary.