Fall 2003, CMSC 838P: Enterprise Applications

Professor: Bill Pugh

MW, 2:00pm-3:15pm, CSIC 3120



  1. Due Sept 10th. Write a simple command-line application that connections to a database via JDBC
  2. Due Sept 24th. Use Servlets and/or JSP.


  1. Due Oct 6th. Use servlets/JSP and JDBC to provide a simple web interface to a database
  2. Due Nov 5th. A real web service for a real customer.
  3. Due Nov 8th. Entity and session EJBs.



Sept 3rdVirtual class (Prof traveling). Everyone enter data into the course snipsnap/wiki/weblog.
Sept 8thRelational databases (Slides) (Slides, 4/page)
Sept 10thJDBC
Sep 15thServlets and JSP
  • Slides
  • jGuru JSP short course
  • Sep 17thMore Servlets and JSP
    Model-1 vs. MVC/Model-2 architectures
  • Java world article
  • Architecting the Web Layer
  • Sep 22ndJSP 2.0 and JSTL
  • devx article
  • Sep 29thEclipseSlides
    Oct 1stAnt Ali's presentation on Ant
    Using the Apache Group's Ant Build Tool
    A gentle introduction to Ant
    Developing J2EE applications with Ant
    Ken Arnold on Ant
    Nov 3rdPersistence and JDO JavaOne talk on Persistence and JDO
    Che-Rung Lee's talk on JDO
    Nov 12thEJBEJB overview and session beans
    4-up format
    Nov 17thEJB entity beansJNDI, IIOP and Entity beans
    Entity Methods
    Nov 19thRUBiSDesign Review of RUBiS
    Dec 10thSun j2ee 1.4 RIEar file for configured cmp roster example from j2ee tutorial


    In this course, we will study the technologies used to build enterprise applications and look at the design, reliability and performance issues related to building enterprise applications.

    We will also learn some of the industrial strength tools used in building enterprise applications, including tools such as Ant and Eclipse.

    Primarily, this is a technology course, rather than a research course. I believe that there are many interesting research questions associated with enterprise applications. Before we can examine those research issues, we need to become familiar with the technologies and architectures used in enterprise applications.

    Some of the topics we will cover include:

    There will be substantial experimental/programming component to the course, much of it in teams. Students will be expected to:

    Because of the focus on technology rather than research topics, and the focus on projects rather than exams, this course will not count towards either the MS or PhD comprehensive requirements. The course grade will be primarily project based.

    The course will count towards the Ph.D. requirement for general seminar courses in item 3 of Section 8.4a of the revised graduate policy manual, and towards the MS requirement for graduate credits.

    Students will be expected to prepare and give class presentations both on the technologies being learned and their own work in the course.

    All students will be expected and required to be proficient Java programmers on the first day or class.

    Undergraduates may register with permission of the instructor.


    We will be doing a lot of reading from on-line sources. However, to give us a common reference point, we will use Enterprise JavaBeans, 3rd Edition by Richard Monson-Haefel, published by O'Reilly.

    Web Accessibility