Enterprise Computing with Java (605.784)
Spring 2006
Home Page
(Published: 2006-02-07 22:11:05)
605.784.31 - Wednesdays, 4:30 - 7:10
Jan
26 - May 03 (APL, K1
)
Whats
New!!! , Class
Newsgroup , Directories , TOC
Instructor: Jim Stafford ( jcstaff@apl.jhu.edu )
http://apl.jhu.edu/~jcstaff
JHU Computer System Hotline (240)228-5197 OR (443)778-5197
- Course Description
This course focuses on the Java 2 Platform Enterprise Edition (J2EE)
for the development of multi-tier applications.
Topics include building J2EE Applications (EARs), Java Database
Connectivity (JDBC) for portable access to databases, Servlets and Java
Server Pages(JSPs) for building human accessible web interfaces, Web
Services
for building highly integratable software interfaces, Java Naming and
Directory Interface (JNDI) for locating system resources, and Remote
Method
Invocation (RMI) for the distributed invocation of services.
The later half of the course focuses on the Enterprise Java Beans (EJB)
model for transaction-aware business components, Java Messaging Service
(JMS) for building asychronous interfaces between components,
Transactions, and Security.
Using commercial application servers, students will design and
implement a serveral significant programming project using the above
mentioned technologies and deploy them in a J2EE application server
that they manage.
- Student Background:
- Prerequisite: 605.481 Distributed Development on the World
Wide Web or equivalent.
- Strong Java programming skills are assumed.
- Student Commitment
- Students should be prepared to spend between 10-16 hours a
week outside of class.
- Required Course Texts:
- An EJB 2.1 Text
- Enterprise Java Beans 4th
Edition ISBN 0-596-00530-X ; Richard
Monson-Haefel
- Recommended Texts
- A Servlet/JSP Text
- Core Servlets and JavaServer Pages (JSP), 2nd Edition,
Marty Hall,
2003, Prentice Hall PTR; ISBN: 0130092290
- Required Software:
This course will make heavy use of J2EE Application Servers. Although
most concepts are generic across compliant servers, solutions will be
posted primarily using the JBoss Application Server and HyperSonic
Database (comes with JBoss). See "
Setting up a Development Environment for Enterprise Java 605.784
" for more details. Students may make a special request to use
an alternative J2EE 1.4-compiant application server (e.g.,
WebLogic),
however, those will not be supported by the instructor as a part of
normal class discussion.
- References:
Much of the material in this course is new, changing, and available
on-line. Some of the referenced texts or the material they cover can be
obtained on-line as well as through book stores. The form in which you
access this material is up to you. A more detailed list of references
and resources is located
off the individual lecture pages.
- Handouts - class lectures will be made available from this web
site. Check individual topic pages, linked from the syllibus, to locate
material that may be covered
in class.
- Grading: 100 >= A >= 90 > B >= 80
> C >= 70 > F
- Submitted Assignments: 10%
- Graded Projects: 40% (mid term) & 50% (final)
Students will be assigned two graded "projects" and several
"assignments". Assignments are graded 100 or 0 ("done" or "not done")
with limited comment on content. They are meant to assure that the
student is keeping up
with the material covered in class. Graded Projects are graded 100
through
0 and will be examined for content. Assignments must be submitted
individually. Graded Projects must be submitted in groups of 1-3
people. There will be exams in this class.
- Grading Policy:
- Late projects, assignments, or exams will result in a 0
grade unless receiving prior approval, with one exception. A
student may submit a single assignment up to one week late
without receiving approval and still receive complete credit. This
exception does not extend to projects.
- Assignment/project source code must be submitted in project.zip
formats (defined in class); containing both source and built
components. All downloadable examples will follow that format and the
build system used in class will handle the low-level details of
building these files for you.
- Assignments/projects will be e-mailed to the graders by the
assigned date/time. Try to avoid using large screen snapshots where
smaller text copy/paste will suffice. Do not use proprietary file
formats for projects submitted via e-mail.
- Class attendance is highly recommended but not mandatory. The
student is responsible for obtaining any written or oral information
covered during an absence.
- All work must be completed by the project due date. No
incomplete
grades will be assigned except in severe emergencies.
- Instructor Availability:
I am available during breaks and before/after class for discussion. I
am available quite often over the internet. To cut down on the
duplication of e-mail exchanges, you are required to
forward any and all technical/project questions you may have to me
through the class
newsgroup. This allows the same information to be available to the
rest
of the class. I will try to get questions answered back to you by late
evening. However, you are also encouraged hold exchanges between
students on problems/solutions when I am not available. This is the
same newsgroup that was used in previous
semester(s), so previous questions/answers can be searched. We
will be making heavy use of the internet to exchange information.
- Academic Integrity:
- You are encouraged to openly discuss all assignments/projects
between members of the class and outside resources. However work
submitted must be either the collective work of the group (for graded
projects) or the individual (for submitted assignments).
- You may include work by outside sources as a minor part of
your assignments/projects. This work must be specifically identified
and proper credit assigned.
There will be a more detailed list of links supplied with each
topic. The links below are general to the overall course.
- Related Links
- java.sun - contains links to
the versious APIs and articles
- theserverside.com - a
web site devoted to discussing Enterprise Java Topics.
- BEA - contains downloadable
WebLogic Application Server and many reference documents
- JBoss - contains
downloadable JBoss Application Server and many reference documents
- cygwin - contains
many pre-compiled "free" unix tools for the PC, including the bash
shell.
- gvim vi-style editor (Free-ware)
- provides a "free" PC version of the vi editor, both terminal and
graphical versions
- Eclipse IDE - a powerful
"free" IDE with many specialized plug-in s available
- PKZIP
(shareware version) - provides file archive and compression
capabilities.
- Information Links
- School Links