Advanced Java: Internet Applications

advertisement
Thanks for agreeing to review this proposal. Our review questions are at the
bottom of this document. If you wish to insert comments right on this
document, please add them in 2nd color.
Advanced Java: Internet Applications
Third Edition
Book Development Proposal
Art Gittleman
California State University, Long Beach
Introduction
The authors propose to draft an all-new third edition of the book: Advanced Java:
Internet Applications with a new look, philosophical bent, and completely updated
coverage of the latest Java APIs.
Philosophy / Approach
Extreme Programming (XP), Test-centered-design, and practical software development
techniques using professional development tools will be strongly stressed in the book.
Read the source, Luke.
There are literally MILLIONS of lines of well-documented, open-source Java software
available on the Internet. It seems prudent to leverage this trove of riches and encourage
our students early on to download, read, and learn from well-written application software.
To facilitate what might be a very unfamiliar process to many prospective consumers of
this book; we have taken the liberty to include full source code for the Open-source Jetty
JSP/Servlet web container along with a chapter in the Appendix that gives an
architectural overview of the application.
LJade
One of the most frequently cited frustrations with the previous editions of Advanced
Java: Internet Applications was the difficulty in obtaining and successfully installing the
correct versions of the Sun Java SDK and other tools. We propose a novel solution to this
problem. Our Linux Java Application Development Environment (LJADE) is a complete,
stand-alone, CD-ROM-based software development environment. A student can insert
the LJADE CD into any modern IBM-compatible PC and boot into a RAM-based
software development environment (no local installation required) that contains all of the
tools and utilities described in the text. The distribution is designed to permit students to
save their work on a floppy diskette, a USB Flash device, NFS file server, or CVS
repository. We plan to provide a web site dedicated to providing peer support to students
using LJADE and lab technicians tasked with supporting the environment.
The LJade CD ROM is really a revolutionary tool for teaching software development. To
the best of our knowledge, there has never been a completely pre-configured, ready-to-
run, software development environment provided with ANY text or trade programming
book. The benefits to the instructor and students are substantial, for example:
a) LJade greatly reduces (or eliminates) the amount work necessary by an instructor
or technical staff to configure a lab to support a class based upon the book.
b) Student productivity is enhanced by providing a set of high-quality, professional
software development tools and detailed instruction in their use.
c) Students can work at home (or virtually anywhere else) with the same tool set
they use in the lab on their homework assignments.
d) Eclipse is hot. It has become the industry standard in Java development in just a
few years. Any text that incorporates its use would be perceived as being on the cuttingedge.

The elevator pitch
AJIE 3rd Edition will be focused on practical development Internet techniques using the
Java 2 Enterprise Edition 1.4 platform, combining current commercial practice with
appropriately sized doses of Computer Science theory.
We will use the Java 2 Standard Edition 1.5, or 5, or Tiger, or whatever it is called, for
the basic underlying Java.
We intend to make AJIE 3rd edition as accessible to the working professional as the
Computer Science student. It is our desire that AJIE 3rd edition be offered to trade in
conventional bookstores.
Target Audience
We expect this book to be used in Junior / Senior level courses in advanced programming
technology. Highly-motivated individuals will also find the book to be an excellent guide
for self-paced learning in Internet-related Java technologies. In any case, a successful
reader of the book should have a minimum of 1-2 years of programming experience in
Java and be comfortable writing 100-200 line programs.
Chapter Outline for the Third Edition
1. Introduction
Objectives and philosophy
2. Overview of Java 2 Enterprise Edition 1.4
3. Development Methodologies
Extreme Programming (XP)
Why Unit Testing is important
Why using a Source code control systems is good for you
4. Tools
Linux/Java development environment CD (LJava)
Eclipse Java Integrated Development Environment
Ant Java build tool
Concurrent Version System (CVS) revision control system
,JavaDoc – Documenting your classes
jUnit – Unit testing tool/fixture
5. Application modeling
Understanding the Enterprise
Simple Entity-Relationship Modeling
Just enough UML
Writing a requirements specification
6. Java Server Pages & Web applications
A Web page construction refresher
Using the Tomcat JSP / Servlet container
Adding dynamism to Web pages with JSP
JSP Applied – Building a Blog
7. Servlets
The JSP/Servlet connection
Improving our Blog with Servlets
8. Tag Libraries
What are they and why would you want to use them.
The Java Standard Tag Library (JSTL)
Writing your first Tag Library.
Blog revisited – Enhancing our Blog with Tag Libraries
9. Model-View-Controller Design pattern
A brief intro to design patterns and software engineering
Type 1 vs. Type 2 Web applications
Building a Type 2 Web application the hard way
Introducing Struts – Type 2 made a bit easier.
An Even Better Blog – Rewriting our Blog using Struts
10. Java Database Connectivity
A practical guide to JDBC
Using JDBC - Storing our Blog data in a Relational Database
11. Extensible Markup Language (XML)
The Lingua Franca of the Internet
Entities, Attributes, Schemas and DTDs
12. Web Services
What are Web Services and what can I do with them?
Simple Object Access Protocol (SOAP)
Introducing Apache Axis
Adding a Soap interface to our Blog
13. Authentication, Authorization and Accounting
Java Authentication and Authorization Service (JAAS)
Making our Blog private – Using JAAS to secure our Blog.
14. Enterprise-class Applications
What makes an Enterprise-class application special?
n-Tier applications
Implementing business logic
15. Enterprise Java Beans (EJBs)
Session, Entity, and Message Driven EJBs
When NOT to use EJBs
Writing a simple Session EJB
Persisting application data with Entity Beans
16. Applying EJB Technology
Simplifying EJB development with Xdoclet
17. Non-Browser application clients
Writing a Blog desktop application with Eclipse (SWT)
Appendices

An introduction to J2SDK 1.5
Generics, Enumerated Types, Meta Data, and More

Tom Jewett’s Database Primer
An overview of Enterprise-Relationship modeling, Structured Query Language
(SQL), and data normalization.

Using Tomcat
The J2EE reference JSP/Servlet container implementation

The JBoss J2EE server – Sometimes, there is a free lunch

The MySQL open-source SQL database engine

Ant command reference

JUnit for the testing-challenged

CVS command reference

JavaDoc revealed

UML in 30 minutes

Everything you ever wanted to know about Design Patterns

The Linux/Java Student Development Environment Technical Reference Guide

Exploring Jetty
GENERAL INFORMATION- Advanced Java
Name: (or business card)
Address you want your honoraria mailed to:
School you teach at:
Social Security Number:______________________
Tel:_____________________________ FAX:_______________________________
Email:________________________________
Please list the courses you usually teach. Circle those for which you’re willing to review
manuscripts:
1.
2.
3.
4.
Course number ______ /Title/______________________________ for Advanced Java
approx. annual enrollment:____
Pre-reqs for course: ___had an intro Java course ___had some other programming language
course ___none
What is the most recently-used textbook for this class?
_Author:____________________________________ Title: _____________________________
Who else teaches this course besides you, and how can we reach them to review this or similar
projects?
Name
Email or tel #
Are you considering any writing yourself?
If so, for what course?
=======================================================
Thanks for agreeing to review this material.
Please number your answers to correspond with these questions:
1. Overall, what (if anything) looks attractive and desirable about the
proposal?
2. Overall, what (if anything) looks UN-attractive and UN-desirable about the
proposal?
3.Coverage : What topics missing from the Table of Contents which would prevent you
from considering this text for adoption in your advanced Java course?(write them right on
the outline if you prefer)
4. The authors plan on using Java 1.5, or 5, or Tiger, or whatever it’s going to ultimately
be called. Do you see any places where they have neglected to use new terms or
nomenclature?
5. If you had to select one chapter to review to give you an idea of the overall quality of
this project, what chapter(s) would it be?
6. If you could have the author change one thing about this project, what would it be?
7 What (if anything) is/was your opinion of the previous edition of this title? (our
database indicates we sent you a copy in Spring 2002) Did you teach out of it and if not,
do you know why not?
8. Bottom Line: does this sound like it’s headed in a direction to be a text you adopt or
vote to adopt? Why or why not?
You can mail it to us at
Scott/Jones Publishing, attn: Richard Jones
P.O. Box 696, El Granada CA 94018; or email it to jmcoston@charter.net
Download