Stephen D. Huston, James CE Johnson, Umar Syyid
Amazon Price: $48.95
List Price: $59.99
Usually ships in 24 hours
By: Addison-Wesley Professional
Amazon Marketplace: 40
new & used starting at $38.87
|
Buy at Amazon.com
|
Browse similar items by category:
Subjects -> Computers & Internet -> Computer Science -> Software Engineering -> General AAS
Subjects -> Computers & Internet -> Networking -> Network Programming
Subjects -> Computers & Internet -> Programming -> Software Design, Testing & Engineering -> Object-Oriented Design
Customer Reviews:
Average rating: 0.0 of 5
Great way to learn the ACE Framework 5 out of 5 stars.
27 of 31 people found this review helpful.
This is probably the most practical book ever written on this topic. I have read the C++ Network Programming books, and I believe that this Programmer's Guide is even better. ACE, the ADAPTIVE Communication Environment, has been around since the early 90's and thanks to over 1700 contributors over the past decade or so, it has become a very powerful, reusable, Object Oriented, beautifully engineered, designed, and developed framework that is creeping its way to the hearts of developers, project leads, and managers all around the world and in many industry verticals.
ACE has made one of the hardest things to do as a developer, network programming much simpler, but that's not all. That's where this book comes into play. The other books focus on the network programming of ACE, and even though they cover the topic VERY well, they don't convey the other powerful features that ACE has:
ACE Logging Facility
ACE Runtime and configuration facility
ACE (STL like) containers, allocators, etc...
Right of the bat, this book covers those details and shows the reader concrete examples and ways to apply these examples in real life.
The author spends the next 4 chapters (6-9) going over the IPC facilities of ACE. It starts from basic SOCKET programming, to SIGNALS, to the use of TIMERS and it ends with the odds and ends of IPC. These topics were covered in the C++ network programming books before, but this book, instead of talking about it, SHOWS the reader how things are done. The Reactor and the Proactor frameworks are covered in chapters 7 and 8. As the author mentions in chap 7:
The ACE reactor framework was designed to implement a flexible event-handling mechanism is such a way that applications need never write the central, platform-dependent code for their event-handling needs.
Then the author goes into an extensive detail of how this is done, and in its closing remarks, he says the following:
With little ingenuity, your reactor-based application can turn on the foyer light when someone pulls into your driveway or mute the television when the phone rings.
The Proactor framework is covered in full detail in the following chapter. The author does a great job at telling and showing the differences between the two design patterns and when to use one vs. the other. When all said and done, the author explains how these two design patterns can make a killer combo.
The book is more like a personal notebook that you would create for yourself in that you write down notes, hints, do's and don'ts and few lines of code at a time telling yourself how you made something to work properly.
In Part III, Processes and Threads are covered. Even though the author has included these chapters after the IPC section, a great deal of detail was spent on showing the reader that these classes are not necessarily related to the IPC set of classes. The reader can literally read part III of this book, and gain a good understanding of how to use the thread and the process management classes - remind you that these two topics are difficult to grasp and programming is a bit difficult, but the author shows how cleanly these two topics were covered in ACE. The icing on the cake is the last chapter in Part III: Thread Pools. Two threading models are covered:
Half-sync/half-async model
Leader/follower model
I will leave the details of these two models to the reader.
Part IV covers the "advanced topics" such as shared memory, the configuration framework, timers, and the naming service. Again, for each section an extensive example is given, which makes the topic easy to understand and to follow. The configuration framework is a very well covered section, as it is something that any of us can benefit from in our next design.
Editorial Review:
The ADAPTIVE Communication Environment (ACE) is an open-source toolkit for building high-performance networked applications and next-generation middleware. ACE's power and flexibility arise from object-oriented frameworks, used to achieve the systematic reuse of networked application software. ACE frameworks handle common network programming tasks and can be customized using C++ language features to produce complete distributed applications. This book will teach developers how they can use the ACE framework to develop their software. It will also show real-world uses of design patterns and C++. Benefits: Reduces the ACE learning curve, gain a clear understanding of how to use ACE to produce high-performance software using less time and effort; Provides a cookbook for solutions to common software engineering problems.