Part-Time Programs in Engineering and Applied Science, Johns Hopkins University  
Enterprise Computing with Java
605.784

Course Description
The course focuses on the Java 2 Platform, Enterprise Edition (J2EE) for developing multi-tier distributed applications. The course initially explores the Java APIs used by server-side applications. Topics include Java Database Connectivity (JDBC) for portable access to corporate databases, Java Naming and Directory Interface (JNDI) for location of system resources, and Remote Method Invocation (RMI) for distributed invocation of services. CORBA in Java 2 is briefly explored as an alternative to RMI. The course then focuses on the Enterprise Java Beans (EJB) model for transaction-aware business components. Using a commercial application server, students will design and implement a significant programming project using session and entity beans, the Java Transaction API, and the APIs covered in the first half of the semester. Additional topics covered may include the Java Message Service (JMS) for publish-subscribe applications and security issues for distributed Java systems. 

Syllabus

  1. Intro to Enterprise Computing. JDBC
  2. JDBC
  3. Proxy, Factory Patterns. RMI
  4. RMI, JNDI
  5. Servlets and JSP
  6. Scalability. Flyweight Pattern, High-value Interfaces
  7. CORBA. Legacy System and Language Integration
  8. Enterprise Java Beans. Containers, Session Beans
  9. EJB. Entity Beans
  10. EJB. Transactions and Security
  11. Java Messaging Service (JMS)
  12. EAI. Workflow, Resources, Service-based Architecture
  13. Additional Topics. XML, JINI, JavaSpaces
  14. Final Exam
Prerequisite
605.481 Distributed Development on the WWW or equivalent

Instructor
Daniel Weimer is a Principal Consultant with Innovative Software Products, Inc. (ISPi). Mr. Weimer holds a M.S. in Computer Science from Johns Hopkins University and a B.S. in Computer Science from the University of MD, College Park. Mr. Weimer works primarily as a distributed system designer using technologies such as CORBA and Enterprise Java Beans. His primary focus is the pragmatic use of new technology to solve difficult problems.

Computer Lab Requirements
Students will perform programming assignments either on the University UNIX system or their own personal computer.

Textbook
Developing Java Enterprise Applications by Asbury, Weiner.


Return to Computer Science Courses | Computer Science  | Part-Time Engineering

Spring 1999-2000