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 cutting-edge.
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
-
Introduction
Objectives and philosophy
-
Overview of Java 2 Enterprise Edition 1.4
-
Development Methodologies
Extreme Programming (XP)
Why Unit Testing is important
Why using a Source code control systems is good for you
-
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
-
Application modeling
Understanding the Enterprise
Simple Entity-Relationship Modeling
Just enough UML
Writing a requirements specification
-
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
-
Servlets
The JSP/Servlet connection
Improving our Blog with Servlets
-
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
-
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
-
Java Database Connectivity
A practical guide to JDBC
Using JDBC - Storing our Blog data in a Relational Database
-
Extensible Markup Language (XML)
The Lingua Franca of the Internet
Entities, Attributes, Schemas and DTDs
-
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
-
Authentication, Authorization and Accounting
Java Authentication and Authorization Service (JAAS)
Making our Blog private – Using JAAS to secure our Blog.
-
Enterprise-class Applications
What makes an Enterprise-class application special?
n-Tier applications
Implementing business logic
-
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
-
Applying EJB Technology
Simplifying EJB development with Xdoclet
-
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.
The J2EE reference JSP/Servlet container implementation
-
The JBoss J2EE server – Sometimes, there is a free lunch
-
JUnit for the testing-challenged
-
Everything you ever wanted to know about Design Patterns
-
The Linux/Java Student Development Environment Technical Reference Guide
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?
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:
-
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
Share with your friends: |