Excellent Coverage of Cutting-Edge Technologies

All the concepts in a single package, client/server, distributed, database applications for the web.


This is one of those rare books that bridges academia and practical application development. Stimulated by the CORBA/Java Masters degree program at the San Jose State University, this book pulls together some of the latest practical information on cutting-edge technologies. Presented in a clear, concise, well-explained sequence of unveiled concepts, this book provides great value to any programmer engaged in or contemplating distributed object application development. The book covers everything from SQL, JDBC, JavaBeans, ODBMS, ORBs (CORBA in particular) and XML. This is no trivial bag of tricks, but the book manages to pack all this between its covers without seeming cluttered or intimidating.

This book focusses on client/server applications and so Chapter 1 provides a nice high-level overview of the technologies to be applied. Subsequent chapters are divided into 6 major parts. Chapters 2 to 5 are included in Part 1, which is focussed on data access in a client/server environment. The coverage touches on HTTP, Java and databases, both relational and object oriented. Part 2 covers Java-based data access in particular, primarily JDBC, JSQL and object-oriented database bindings. Part 3 covers web data access, with coverage of dynamic web pages, applets, servlets and dynamic HTML.

Part 4 explores the bridge between the client and server, covering Java streams, serialization, RMI and ORB-based solutions. Each of these is driven by the need to move data to and from clients and servers. Part 5 takes a closer look at web data access. This is where the authors introduce XML. This information is particularly useful in its simple presentation, showing both the DOM (Document Object Model) and SAX (Simple API for XML) approaches to data manipulation and organization. XML is key to providing a neutral representation for everything from publishing to persistent storage or transient information. Chapter 19 looks at XML metadata interchange.

The last part of the book, Part 6, is all about component architecture. Chapter 20 looks at JavaBeans and Chapter 21 covers the more recent Enterprise JavaBeans. EJBs are still evolving, with few practical implementation in place at this time, but they are likely to influence future development and are well worth the coverage this book dedicates to them. The final chapter takes a look at the future and where all these technologies are likely to take us.

My own impression of this book was great. I was utterly impressed with relevance of the coverage and the clarity of presentation. I didn’t particularly like the API listings, which I though could have been put an an appendix, but this is so minor compared to the benefits that I only mention it in passing. The division of concepts, overall insights into the development process and the requirements of cutting-edge distributed client/server applications were invaluable. For anyone working on modern network-connected applications, this book is a must, worth every penny you pay for it.