Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
An introduction to network programming with Java : Java 7 compatible (3rd ed.)
Graba J., Springer Publishing Company, Incorporated, London, UK, 2013. 407 pp. Type: Book (978-1-447152-53-8)
Date Reviewed: Nov 22 2013

Book titles do not always accurately reflect the content and highlights of a book. That is not the case with this book. The order of the words in the title accurately expresses their relative importance in the text. Network programming has priority over Java. The book uses Java to illustrate network programming, and the version of Java used is compatible with, but not limited to, Java 7, the most recent revision of the language. The author treats both the network and Java with clarity, sensitivity to readers’ needs, and completeness. Network programmers and students learning either network programming or Java applications will find the content useful and the presentation genial and thorough.

One of the hallmarks of this book is that the author has gone to some length to guide the reader, in terms of both overall principles and significant details. For example, each chapter begins with an enumeration of clearly defined learning objectives and an overview of the topics treated. The inclusion of material on basic network concepts, such as packets, is especially useful for those learning network programming. The author is also sensitive to the difficulty that some computer science terms can present. For instance, an “atomic operation” is carefully defined as one that does not have component parts, and “modal” is defined as a state in which the window must be dismissed before anything else can occur, when used in the context of a dialogue box. This sensitivity extends to explicitly explaining the difference between an array and a vector.

The author creates an environment of gentle guidance with the first chapter, “Basic Concepts, Protocols and Terminology,” which covers such fundamental concepts as client, server, peer, ports, and sockets. The next chapter illustrates the use of these terms in Java with a number of very readable and well-documented Java programs that use sockets and graphical user interfaces (GUIs). The step-by-step explanation of each of the actions needed to set up a server process is an example of the book’s careful, incremental presentation of programming concepts and their implementation.

The chapters on multithreading, multiplexing, and file handling are especially good examples of how the author introduces a technical subject without making too many assumptions about the knowledge of the reader. He takes the time to place each topic in the history of programming and Java, and teaches readers how to implement the topics by immersing them in the details of programs. That the author is attentive to details and to the nature of Java is illustrated by his notes to the reader, such as a tip that, because Java is based on Unicode, two bytes must be allocated for each character rather than one.

Chapters on remote method invocation and common object request broker architecture (CORBA) complement a chapter on file handling by treating other flat, unstructured files for persistent storage. The stage is then set for a chapter on the structured files associated with Java database connectivity (JDBC). The learning objectives regarding JDBC are longer than for most chapters because the topics have many layers, such as distinguishing between differing versions of JDBC and Java, and deploying various Java interfaces and classes. The material can be daunting for readers approaching it for the first time, but the author eases the learning curve by concentrating on the essentials and constructing small, illustrative programs.

The book concludes with succinctly developed chapters on servlets, JavaServer Pages (JSP), JavaBeans, multimedia, and applets. These topics provide readers with practical tools that extend the capabilities of web pages and other networking elements. The book concludes with an appendix on SQL that complements the chapter on JDBC.

This book is an ideal introduction to network programming for readers who are familiar with Java and want to extend their knowledge and capacity, programmers who want a fundamental understanding of how Java can be deployed in network contexts, and students who want to extend their knowledge of Java into the realm of network programming.

Reviewer:  Marlin Thomas Review #: CR141758 (1401-0002)
Bookmark and Share
  Featured Reviewer  
 
Data Communications (C.2.0 ... )
 
 
Java (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Data Communications": Date
Communications formulas & algorithms for systems analysis and design
Rorabaugh C., McGraw-Hill, Inc., New York, NY, 1990. Type: Book (9780070536449)
Feb 1 1992
Telecommunications for management
Meadow C. (ed), Tedesco A., McGraw-Hill, Inc., New York, NY, 1984. Type: Book (9780070411982)
Jan 1 1985
After the breakup
Crandall R., The Brookings Institution, Washington, DC, 1991. Type: Book (9780815716068)
Jun 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy