Last updated 6/11/01
Project description
I've started working on a book to describe Java Application
Architectures. The book will take a very simple application
(the NFL lab activity described here)
and deploy it using a number of different architectures.
As the various implementations are completed, I'll be posting
the code to this page and asking for feedback.
If you're interested in participating more actively, you're
also welcome to help with the development of some of the
architectures. Contact me
(Mike Yawn) directly if you'd like to discuss this.
I'm also interested in getting feedback about the application
architectures I've chosen to demonstrate. Here's the current
list of architectures under consideration:
- Component Architecture
- Presentation Architecture
- Command-line, non-graphical interface
- HTML/XML user interface
- Java Foundation Classes
- Persistence Architecture
- Serialization
- Current serialization technology
- Future: XML-based serialization
- Flat-files
- JDBC
- Proprietary database via JNI
- Java Data Objects (JDO)
- Client-Server Architecture
- Sockets
- Remote Method Invocation
- CORBA
- Java Message Service
- Web Architecture
- Applets
- CGI
- Servlets
- Apache JServ
- Apache Tomcat
- Enhydra SuperServlet
- Enhydra XMLC
- Wireless
- Enterprise JavaBeans
- Legacy Integration Architecture
- Screen scrapers
- Intercept libraries
- Java Native Interface (JNI)
- Class Libraries
Code examples
The first version of the code has now been uploaded.
Download version one of the code. This
version is the starting point that will be used to demonstrate
the other architectures. Feedback on readability and
correctness of this program would be greatly appreciated!
Also, see the TODO file for ideas on enhancements to the
program functionality (not related at all to the architecture
project) that you can undertake as a programming challenge.
NOTE: the code downloadable from the link above is out-of-date
relative to the code in the book; until new code is updated,
I recommend using the book chapters below as the definitive
source for code. I'll try to get these back in sync shortly.
Sample chapters
- Chapter 01: Introduction.
First draft (MS-Word format)
Very incomplete draft of the introductory chapter
- Chapter 02: The Object Factory.
First draft (MS-Word format)
Introduces the ObjectFactory code used throughout.
- Chapter 03: The Example Application.
First draft (MS-Word format)
Introduces the example application. Lots of code!
- Chapter 04: JavaBeans. No draft ready yet.
- Chapter 05: Event Handling. No draft ready yet.
- Chapter 06: Java Foundation Classes. No draft ready yet.
- Chapter 07: HTML and CGI. No draft ready yet.
... remaining chapters not yet firmly assigned
|