Course Title and
Description
- Title: J2EE Programming (with Passion!)
- Description: In its short history of
existence, J2EE
became the architecture and platform of choice for building and
deploying n-tier, web-based, transactional, and component-based
enterprise applications. This course starts with discussing
high-level overview of J2EE architecture. It then covers in
detail individual Java programming API's and technologies that
constitute J2EE platform including Servlet and JavaServer Pages (JSP)
at Web tier and
Enterprise Java Beans (EJB) and Java Message Service (JMS) at business
tier. Important features of J2EE such as
security,
persistence, transaction are also discussed in detail. Also how
to develop and
deploy Web services over J2EE platform is discussed.
Throughout the course, relevant Java programming
APIs and their usage are also studied. Students are expected to
do "hands-on programming" homework's and final project designing and
programming J2EE applications using the J2EE Programming APIs and
technologies.
Course Objectives
- By the end of the course, students are expected
to
- Understand J2EE as an architecture and
platform for building
and deploying web-based, n-tier, transactional, component-based
enterprise applications
- Understand the concept of Servlet and JSP as
dynamic content
generation technologies at web-tier and acquire relevant Java
programming experience
- Understand the EJB architecture and have a
good grasp on when
to use and how to use various EJB bean types and acquire relevant Java
programming experience
- Understand the concept of other relevant J2EE
APIs and
technologies and
aquire relevant Java programming experience
- Acquire knowledge on how various J2EE
technologies are used
together to build enterprise applications
- Students are also expected to experience the
following during
the course.
- Having extreme fun!
- Being passionate!
- Appreciating what you've got!
- Appreciating your fellow human beings!
- Enjoying little things in life!
Syllabus
(and Presentation slides) for
10-week J2EE Programming with Passion! Class
Syallbus (and
Presentation
slides) for 10-week for "Advanced J2EE Programming (with
Passion!)" Course
- The syllabus for "Advanced J2EE Programming (with
Passion!)"
course is moved to here.
Other Presentations
Background Topics (We might or
might not cover these topics depending on students' familiarity on the
subjects)
Articles
published by Sang
Shin
Opportunities to
participate in contents (presentation slides) creation and delivery
I
would like to offer an opportunity to anybody in this class to
create (and/or deliver) presentation slides for a certain subject of
your choice. The ground rules I am thinking about are
- You can choose any subject of your choice from
the list of
- The contents should be 1 slide per minute range
(or 2 slides for
3 minutes) with relatively detailed speaker note (please see example in
what myself and Sameer created.)
- Your name will be on the first page of the
presentation as
primary author while Sameer or myself will be co-author of the contents
- Your suggestion/ideas on new contents or
comments on existing
contents are always welcome. Please send me (sang.shin@sun.com) an email.
Things we are NOT
going
to cover
- Java programming - If you are learning Java
programming language
first time, please go to this tutorial site.
- XML basics - If your XML basics knowledge has
been rusted a bit,
please go to the
XML class website and take a look at XML Fundamental
slides and read other introductory materials
- HTML basics
Software we are
going to use for
homework's and class projects
- Download and install J2EE
1.4 SDK.
- It contains the following. You can
download these software individually from here.
- Sun Java System Application Server Platform
Edition 8.2
- J2SE 5.0
- J2EE 1.4 SDK
- J2EE 1.4 API Documentation
- Download and install NetBeans
IDE
5.0
- Choose an Operating
System and a Localization
Language, and click next button.
- Download and install NetBeans IDE 5.0 Installer.
- Download and install NetBeans Profiler 5.0 Installer
after you finished the installation of the NetBeans IDE.
- For those of you who do not have high-speed
internet connection,
Sun Microsystem sends you a CD that contains NetBeans IDE 5.0 software
for free including free shipping (international shipping included).
Please order one from the following link. (You have to be a member of
Sun Developer Network first.)
- Download and unzip J2EE
1.4
Tutorial Update 7 (for Sun Java System Application Server Platform
Edition 8.2)
NetBeans
related resources
Windows tools that might help you do homework's
- cygwin
(download setup.exe and then double-click on it)
- Freely downloable utility programs that
allows you to use most Unix commands within DOS terminal
- Examples
- grep Hello */* */*/* (to find all
references of "Hello" string among any files under */* and */*/*
case-sensitive)
- grep -i hello */* */*/* (to find all
references of "hello" string among any files
under */* and */*/* case insensitive)
- diff file1.java file2.java
- InfoRapid search
and replace utility program
- Freely downloadable utility program that lets
you search and/or replace any string in a directory and its
subdirectories
A few words on using an App Server or IDE that
are
not chosen for the class
- Even though you are welcome to use whatever App
server or IDE of your
choice in taking this class, I would recommend that you use
the app server we choose (Sun Java System App Server, that comes with
J2EE 1.4 SDK or NetBeans IDE 4.1) for the class and NetBeans IDE 4.1 if
possible due to
the following
reasons:
- The class instructions on how to build J2EE
application will be based on Sun Java System App Server (and using
NetBeans IDE 4.1).
- If you are experiencing a problem in building
and deploying your application using an App server that is not Sun Java
System App Server or NetBeans IDE 4.1, you are basically
on your own in figuring
out what went wrong. You are welcome to post your questions to
the class alias, however.
- Sun Java System App Server and NetBeans IDE
should prefectly coexist with other App servers and other IDE's in your
system. (Of course you do not run two app servers at the same time due
to possible port conflict.)
- If you decide to use NetBeans IDE 4.1, yet if you
want to deploy the apps over other App server platform (JBoss,
WebSphere, WebLogic), NetBeans community has been working to build
plug-in's for those app servers. They are now early preview stage
(as of May 18th, 2005) and available from the following website.
Please feel free to use modules.
Prerequisites
- 6 months of Java programming experience. (If you
have some
object-programming experience like in C++ but no Java programming
experience, you can easily pick up
Java programming knowledge by following Basic Java tutorials
found in java.sun.com.)
- Basic understanding on XML
- Understanding on basic security schemes and Java
Cryptography
will be helpful but not required
- Understanding on general network programming
(i.e. socket
programming) will be helpful but not required
Textbooks &
Reference books &
Reading Materials
- There is no designated textbook for this
course. Instead,
we are going to use publicly available online materials.
- Of course, you are welcome to use any
J2EE/EJB/Servlet/JSP/JMS
book of your choice as pre-class or after-class reading materials
- Once we start using J2EE 1.4 SDK, we will use
extensive
documentation and sample
codes that come with it (J2EE 1.4 is based on Sun Java System App
Server)
- If you want my recommendation on Servlet/JSP
books, I would
recommend the following:
- Core
Servlets and
JavaServer Pages (Sun Microsystems Press and Prentice
Hall, 05/2000) written by Marty Hall (PDF file is freely downloadable)
- More Servlets and JavaServer Pages (2002)
written by Marty Hall
(This is a sequel to Core Servlets and JavaServer Pages from
Mary. There is *no* publicly downloadable PDF file for this
book. But this is very well-written book with lots of example
code.)
- If you want my recommendation on J2EE/EJB books,
I would
recommend the following:
- Applied
Enterprise JavaBeans Technology written by Kevin Boone, 2003,
Prentice Hall (There is *no* publicly downloadable PDF file for this
book. But I would claim this book is worth your
money. I know it because I am one of the two technical reviewers
of this book.)
- Mastering
Enterprise JavaBeans written by Ed Roman, 2002, 2nd Edition (PDF
file is freely downloadable)
- Bitter
EJB written by Bruce Tate, Mike Clark, Bob Lee, and Patrick
Linskey, 2003, Manning (You have to buy the book.)