<< 1 >>
Rating:  Summary: Java Network Programming Review: Do you already program in Java? Do you want to go beyond building neat GUIs for applets or desktop applications? Java has two great strengths. It was built with graphical objects (widgets) being an inherent part of the language. This is an immense strategic advantage over earlier text-based languages like C and C++. For graphics, those needed special graphics libraries that were not part of the original languages, and which varied from vendor to vendor and between operating systems. The ease of use of Java widgets led to its rapid gain of programmers' mindshare. Indeed, if you look at a row of Java books in a bookstore, you will see most packed with attractive diagrams of cool graphics.But there is a second great advantage of Java. It was designed with Internet awareness from its inception. C and C++, due to their earlier vintage, have to use libraries that vary with the operating system. Java gives you a consistent interface to network programming, independent of the operating system. It is to this exposition that this book from Addison-Wesley is devoted. Written by two Queenslanders, it assumes that you already know the rudiments of Java. This is not a book for tyros. If you want to write a network client (for example, a specialised mail reader), or a multiplayer online game, or a software agent that trolls the Internet, then this book can be very useful. It describes how to use TCP sockets, UDP datagrams, multithreading, HTTP and other topics. It expands on CGI for building applets. For client-server applications, it devotes entire chapters to servlets and RMI (Remote Method Invocation). If you need to use CORBA, maybe because you have some legacy code that you want to write a Java program to interact with, then you will find a chapter expounding on it. If you have already been programming Java GUIs, then this book will expose you to a more abstract class of problems. There is no visual feedback from widget layouts here. What feedback you get is from text-based output. What you have to design against are problems based on data flow across a network. The authors have written clearly, and the code examples are well done, illustrating simply the desired concepts, without tangling you in the details. The only slight critique I have is that there is no comparative assessment of the network capabilities of Java vis-a-vis C#/.NET. The latter pair is an even newer language/programming environment that also has networking built in. But this may be unfair and straying from the book's scope. C# and .NET have just been released by Microsoft, and it is not certain if they will gain much traction. But if they do, you will undoubtedly see many books arguing the relative merits.
Rating:  Summary: One of the best instructional books I?ve read! Review: If not for its minor typo errors in the text and code, I would have given this book 5 stars. If you're a bedroom Java programmer like me, then you can repair the code easily. Also the code examples weren't "perfect" implementations of Object Oriented Programming concepts but I believe this was intentional considering the latter would have been an additional layer of complexity and would have detracted from the book's instructional value. The chapter on Servlets could have been longer by providing simulated web-based transaction (i.e. two-player tic-tac-toe or even against the server, or a simple business transaction using a non-database source -> text file). The bonus JavaMail chapter was superb! If you excel in AWT/SWING, then you could make a GUI-based e-mail client with this chapter! In my opinion, the RMI and CORBA chapters could have provided a little background on distributed computing theory. While the book overall is clear and well-organized, those without distributed computing theory background (like me) would have trouble understanding these chapters (i.e. where did the words stub and skeleton come from?) I bought this book for the networking and not the distributed computing chapters, anyway, so don't let my inexperience with distributed computing make this book any less worthwhile. I'm just being my own opinionated self but I found this book to be truly excellent and personally give it 4.5 stars!
Rating:  Summary: One of the best instructional books I¿ve read! Review: If not for its minor typo errors in the text and code, I would have given this book 5 stars. If you're a bedroom Java programmer like me, then you can repair the code easily. Also the code examples weren't "perfect" implementations of Object Oriented Programming concepts but I believe this was intentional considering the latter would have been an additional layer of complexity and would have detracted from the book's instructional value. The chapter on Servlets could have been longer by providing simulated web-based transaction (i.e. two-player tic-tac-toe or even against the server, or a simple business transaction using a non-database source -> text file). The bonus JavaMail chapter was superb! If you excel in AWT/SWING, then you could make a GUI-based e-mail client with this chapter! In my opinion, the RMI and CORBA chapters could have provided a little background on distributed computing theory. While the book overall is clear and well-organized, those without distributed computing theory background (like me) would have trouble understanding these chapters (i.e. where did the words stub and skeleton come from?) I bought this book for the networking and not the distributed computing chapters, anyway, so don't let my inexperience with distributed computing make this book any less worthwhile. I'm just being my own opinionated self but I found this book to be truly excellent and personally give it 4.5 stars!
Rating:  Summary: Simple to understand, but I prefer a bit of complexity. . . Review: Most of my experience in network programming comes from W. Richard Stevens' "UNIX Network Programming", where there's lots of detail in the TCP/IP protocol, and using C to implement it. At the time, the professor teaching the course tried to provide us with comparable programs in Java, but not having a good Java networking book to consult from was a drawback to those segues. This book serves as an excellent companion to Stevens' book, so that you can get the feel for how Java accomplishes networking capabilities. I still prefer the TCP/IP detail that Stevens' book provides, but that's mainly because I like the language independent concept of networking. I created a small client2client messaging applet, sent it to a couple of friends for testing, and enjoyed how quickly and easily it was to get it working. Java abstracts a lot of the detail away from the user, since it was designed from the get-go to include networking capabilities, and this book uses those abstractions to its advantage. I'll probably want to get my hands dirty and see how much hands-on control I can get with Java sometime later. (Reilly*2)'s book is a great way to just jump into network programming without getting your head too tangled with TCP/IP intricacies. This is not to say that the book doesn't cover those details, but it doesn't delve into them as deeply as Stevens' book does. In my view, that's a drawback to it being an absolute reference, but for many who just want to start developing client/server apps, this may be just what you're looking for.
Rating:  Summary: Very well written Review: One of the best books I've purchased. I bought "Java Network Programming and Distributed Computing" for Sun's Developer certification exam which requires knowledge of the information given in every chapter, for example RMI, sockets, serialization, and threading. The book progressively gives you information you need to understand how the different protocols work, when, where, why, and how to use them and gives good explanations of its source code examples. I feel I received more than my money's worth and will be looking for more titles by David Reilly and Michael Reilly.
Rating:  Summary: Very well written Review: One of the best books I've purchased. I bought "Java Network Programming and Distributed Computing" for Sun's Developer certification exam which requires knowledge of the information given in every chapter, for example RMI, sockets, serialization, and threading. The book progressively gives you information you need to understand how the different protocols work, when, where, why, and how to use them and gives good explanations of its source code examples. I feel I received more than my money's worth and will be looking for more titles by David Reilly and Michael Reilly.
Rating:  Summary: A good intro book Review: This book is an introduction to four major areas: networking, Java language, Java network programming, and Java distributed computing. Dozens of published books are specifically dedicated to each of these topics in detail, but this book is trying to give a reader a taste of all these technologies at the same time. The book is easy to read. Most of the material is clearly explained and illustrated. Code examples (demos) are clean and complete. The demos are not contrived, but present to the reader interesting implementations that may be reused and give a good idea of how programs that are commonly used may work (SMTP, POP clients, HTTP server, etc.). Each of the demos is followed by a detailed explanation that focuses on how the demo works. I like the book, although I think that the chapters covering Java language programming are extraneous: if you don't know Java, you should learn it from Java language specific books first, and only then venture into the advanced topics of Java network and distributed programming. The book reminds me somewhat of the classic "Unix Network Programming" by Richard Stevens, which was a must for any C/Unix programmer more than a decade ago.
<< 1 >>
|