Server Based Java Programming


Mikael Omma


Ted Neward,
Manning Publications Co, Greenwich, CT, 2000, 558 pp.
ISBN: 1-88477-771-6, $49.95

Target Audience

Building server based application for the future. The reader is supposed to have a good understanding of programming in Java and should also have a brief knowledge of database techniques and know the basis of communications with sockets. The author's goal is to tell the basics of application server development techniques, let you be inspired by the concepts introduced and to let you use the code that comes with the book. Another goal is to tell you how to prepare you for coming changes in technology as well. Server-Based Java Programming is a good reference book for your starting up project.

Organization and Content

In the forewords the author gives the background of Java and sets the language in its environment comparing it to other languages. Given this you read the book with the aim of learning on how to implement techniques and concepts presented with Java as a tool, more than from learning the Java language from scratch. Each chapter of the book is summarized in the end and the references are kept in each chapter.

Neward is starting with covering Java's class loading techniques in depth and how your programs could be upgraded and extended on the fly and anywhere when using these. The following parts covering different aspects of threading are well written and not only gives a description of how Java's interface for threading works but as well tells you some idioms usable, such as active objects and polling techniques. When having these concepts Neward is moving into control and configuration issues and then into socket-based communication. The basics and background are settled and then some source code is given, as example on a simple HTTP-server.

Servlets are introduced and a description how you could keep content and logic separated by using them in an n-tier application.

Middleware, the chapters are covering the wide spectrum of distributed object technologies existing today such as RPC remote procedure calling, RMI remote method invocation, CORBA, RMI/IIOP and some words about message-oriented middleware as Java Messaging Service.

JNI, using Java's Native Interface on the server and how you could use it is told in detail. Monitoring server application from remote application by heartbeat procedures and several simple and useful techniques notifying techniques that can be used are described in the last chapters of the book.


The author is also using a reference implementation GJAS to let the user understand the concepts better. This GJAS could be introduced better or would be left out I think. As with giving URL web addresses in a textbook they tend to get invalid with the time. For example the author's own website has moved.


The way this book is structured is excellent. The chapters come in a natural order. As the book is covering only server based programming techniques there are no page-consuming GUI pictures to be found here which makes the book compact and concise although it covers a lot. One drawback with the broad coverage of the book is that you may need some extra literature to get the job done. But if you are aware of that and need some inspiration for your startup project this is recommended.

Mikael Omma
UmeƄ University


Book review