C++ Network Programming, Volume 2 and over one million other books are available for Amazon Kindle . Learn more


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime free trial required. Sign up when you check out. Learn more
More Buying Choices
Have one to sell? Sell yours here
C++ Network Programming: Systematic Reuse with ACE and Frameworks v. 2 (The C++ In-depth Series)
 
 
Start reading C++ Network Programming, Volume 2 on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

C++ Network Programming: Systematic Reuse with ACE and Frameworks v. 2 (The C++ In-depth Series) [Paperback]

Douglas C. Schmidt , Stephen D. Huston
5.0 out of 5 stars  See all reviews (2 customer reviews)
RRP: £36.99
Price: £31.44 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £5.55 (15%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In stock.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.
Only 1 left in stock--order soon (more on the way).
Want guaranteed delivery by Thursday, June 7? Choose Express delivery at checkout. See Details

Formats

Amazon Price New from Used from
Kindle Edition £23.58  
Paperback £31.44  
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Plus, get an extra £5 Gift Certificate when you trade in books worth £10 or more before June 30, 2012. Visit the Books Trade-In Store for more details.

Frequently Bought Together

C++ Network Programming: Systematic Reuse with ACE and Frameworks v. 2 (The C++ In-depth Series) + C++ Network Programming: Resolving Complexity Using ACE and Patterns v.1: Resolving Complexity Using ACE and Patterns Vol 1 (C++ in Depth) + The Ace Programmer's Guide: Practical Design Patterns for Network and Systems Programming
Price For All Three: £89.49

Show availability and delivery details

Buy the selected items together


Product details

  • Paperback: 384 pages
  • Publisher: Addison Wesley; 1 edition (29 Oct 2002)
  • Language English
  • ISBN-10: 0201795256
  • ISBN-13: 978-0201795257
  • Product Dimensions: 23.7 x 18.8 x 2.1 cm
  • Average Customer Review: 5.0 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Bestsellers Rank: 624,703 in Books (See Top 100 in Books)
  • See Complete Table of Contents

More About the Authors

Discover books, learn about writers, and more.

Product Description

Product Description

Do you need to develop flexible software that can be customized quickly? Do you need to add the power and efficiency of frameworks to your software? 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.

C++ Network Programming, Volume 2, focuses on ACE frameworks, providing thorough coverage of the concepts, patterns, and usage rules that form their structure. This book is a practical guide to designing object-oriented frameworks and shows developers how to apply frameworks to concurrent networked applications. C++ Networking, Volume 1, introduced ACE and the wrapper facades, which are basic network computing ingredients. Volume 2 explains how frameworks build on wrapper facades to provide higher-level communication services.

Written by two experts in the ACE community, this book contains:

  • An overview of ACE frameworks
  • Design dimensions for networked services
  • Descriptions of the key capabilities of the most important ACE frameworks
  • Numerous C++ code examples that demonstrate how to use ACE frameworks

C++ Network Programming, Volume 2, teaches how to use frameworks to write networked applications quickly, reducing development effort and overhead. It will be an invaluable asset to any C++ developer working on networked applications.

From the Back Cover

Do you need to develop flexible software that can be customized quickly? Do you need to add the power and efficiency of frameworks to your software? 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.

C++ Network Programming, Volume 2, focuses on ACE frameworks, providing thorough coverage of the concepts, patterns, and usage rules that form their structure. This book is a practical guide to designing object-oriented frameworks and shows developers how to apply frameworks to concurrent networked applications. C++ Networking, Volume 1, introduced ACE and the wrapper facades, which are basic network computing ingredients. Volume 2 explains how frameworks build on wrapper facades to provide higher-level communication services.

Written by two experts in the ACE community, this book contains:

  • An overview of ACE frameworks
  • Design dimensions for networked services
  • Descriptions of the key capabilities of the most important ACE frameworks
  • Numerous C++ code examples that demonstrate how to use ACE frameworks

C++ Network Programming, Volume 2, teaches how to use frameworks to write networked applications quickly, reducing development effort and overhead. It will be an invaluable asset to any C++ developer working on networked applications.


Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product)
 

Your tags: Add your first tag
 

What Other Items Do Customers Buy After Viewing This Item?


Customer Reviews

4 star
0
3 star
0
2 star
0
1 star
0
Most Helpful Customer Reviews
Format:Paperback
Outstanding stuff, indeed, the most interesting / useful / comprehensive cross-platform networking compedium ever written! D.Shmidt is able to clearly state the most relevant computing issues underlying modern middleware platforms with an uncomparable clarity, weaving generative template-based programming issues within advanced networking design patterns thus bridging two seemingly distant computing paradigms. The second volume of this series orchestrates a Logging server example (previously introduced in the first volume) using the ACE computing Frameworks with an astonishing clarity. By far, the best book ever written upon this very subject.
Comment | 
Was this review helpful to you?
1 of 2 people found the following review helpful
Order out of Chaos 25 Nov 2002
Format:Paperback
Beautifully written and well organized, Doug Schmidt's and Steve Huston's newest volume in the C++ Network Programming series literally brings order out of chaos. Trite as that may sound, it's exactly what Schmidt has been trying to do ever since he started the ACE project over 10 years ago. This volume as well as the success of ACE and its sister project, TAO, are testiments to the power pattern based frameworks have in bringing order to the complex and chaotic world of network programming.

Many of the patterns presented in this volume, e.g, Reactor & Proactor, Component Configurator, Acceptor-Connector, etc., originally appeared in POSA2. Although you don't need to fully understand the patterns in order to use them, a good understanding of POSA2 definitely helps, since this volume complements and greatly extends the depth of the discussions on patterns that appear there.

C++NPv2 builds on the first volume, C++NPv1, so it's important that the reader fully understand that material first. Although developers can use these wrapper facades from C++NPv1 directly, the frameworks Schmidt and Huston present in this volume are much more powerful.

Just as patterns aren't meant to be used in isolation, neither are frameworks. Frameworks are what ACE is all about and with the authors' expert guidance we are introduced one by one to the major frameworks in ACE and shown how they inter-operate. The Networked Logging Service from C++NPv1 is used as a vehicle for describing how to apply frameworks and use them together.

This is a very powerful technique. After reading each chapter, you will be armed with enough information to integrate that framework into your own project. Not only that, but since the frameworks are designed to work together, project evolution gets easier, not harder--you can easily pick and choose the appropriate frameworks for your particular problem without having to start from scratch. How often can you say that about a software project?

By the end of the book, the example program will have evolved into a full fledged distributed application--not a toy. The reader can use the Logging Service example directly--the source code is provided with the ACE distribution and is freely downloadable--or use a more sophisticated, production quality version which is part of the ACE Network Services, that is also distributed with ACE.

Finally, all the books in the C++ In-Depth Series have eye catching cover photos, and C++NPv2 is no exception. Maybe it's because I partly worked my way through school doing construction work, but I found the photo of the fully assembled pre-fab, i.e., pre-built, roof trusses (in case you didn't know what they were called ;-) to be an excellent analogy for ACE.

I've put up my share of pre-fab roof trusses, as well as roofs requiring you to custom cut and fit each stick. Using pre-fab roof trusses allows you to quickly put up a complex roof in much less time than it would take to measure, cut, fit, and nail each individual piece, even though the steps are almost exactly the same each time. Not only that, but with a pre-fab truss system, only the architect and truss designer need to be experts in materials and methods; the guys who actually put it all together don't need to worry about or even know how it works, just that it does. Which makes construction safer, cheaper, and less error-prone, etc... -- hmmm, starting to sound familiar?

For me, this is the key to ACE's success. ACE makes it easy to reuse the knowledge and experience of experts to quickly put together complex applications that work--the first time. Not only that, it makes it easy to do it right, and difficult to do it wrong.

I whole heartedly recommend both ACE and this volume. It's well worth the time and effort, as well as the price...

Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com:  22 reviews
13 of 13 people found the following review helpful
Open-Source Framework Facilitates Network Programming 9 Dec 2002
By Joseph K. Cross - Published on Amazon.com
Format:Paperback
Writing networked applications using modern operating
systems and languages looks like it should be easy, but it
is emphatically not. The na‹ve designer of networked
applications will encounter a thicket of problems including
lack of portability, distributed performance bottlenecks,
maintaining correctness during shutdown, and managing
recovery from partial failures.

"C++ Network Programming, Volume 2, Systematic Reuse with
ACE and Frameworks" by Douglas Schmidt and Stephen Huston

provides some powerful help in the design and implementation
of networked applications. This help comes in the form of
several frameworks.

A few words about the definition of "framework." The first
step up from writing applications that interface directly
with operating systems is to insert object-oriented wrappers
between the application and lower level services. These
wrappers are classes that encapsulate the low level,
functionally specified, services such as operating systems

and protocol stacks. This first step was taken in the
predecessor volume to the present book, "C++ Network
Programming, Volume 1: Mastering Complexity with ACE and
Patterns", by the same authors, where a collection of
wrappers, called the ACE wrappers, is provided that not only
raises the level of the application interface from
functional to object-oriented, but also provides portability
at the same time.

For example, consider an application that directly uses
sockets. This application would depend on the syntax and
functional details of that operating system's s operating
system's socket implementation. By inserting the ACE
wrappers, the application acquires an object interface to
socket capabilities, and in addition becomes portable across
a large number of compilers, operating systems, and
communication protocols.

But a set of wrapper classes does not solve the networked
application designer's problems, any more than a pile of
bricks is a house.

Frameworks, which are the subject of the present book, are
the next step up in power from wrappers. A framework is an
integrated set of classes into which application designers
plug code that is unique to their applications. The
frameworks described in the present book handle a large part
of the difficulty inherent in network programming, leaving
application designers to deal primary with their
applications' local functionality.

For example, one of the frameworks described in the book is
the Acceptor-Connector Framework. This framework relieves
the user of dealing with the numerous tricky details
inherent in the conceptually simple process of connecting
clients with servers, such as address formats, protocols,
initialization, and message queue locking.

Readers should be aware that the present book is not a
general-purpose text on network programming using C++; this
book is a focused exposition of the ACE frameworks. Readers
will be most comfortable reading this book if they are
already familiar with software design and architecture
patterns, including those described in "Pattern-Oriented
Software Architecture: Patterns for Concurrent and Networked
Objects, Volume 2" by Douglas Schmidt et al, and in the
famous Gang of Four book: "Design Patterns: Elements of
Reusable Object-Oriented Software" by Eric Gamma et al.

The large amount of code that implements the wrappers of
volume 1 and the frameworks of volume 2 is available for
download for free. This code is in wide use today.

Designers of networked applications, when offered a large
pile of code that purports to do a lot of what needs to be
done, must trade off the anticipated saving in design and
implementation time against the anticipated time to
understand what the offered code is intended to do and what
it actually does. This tradeoff can lead a reasonable
designer to ignore existing code in favor of hand-writing an
entire application. In the case of the ACE wrappers and
frameworks, as documented and explained by the two books
mentioned here, combined with the open-source nature of the
implementing code and its widespread employment in real
applications, make the result of this tradeoff pretty clear:
read the books, use the code.

4 of 4 people found the following review helpful
MUST HAVE, One for the bookshelf! 21 Nov 2002
By Andrew T. Finnell - Published on Amazon.com
Format:Paperback
Finally, a book that presents, clearly and concisely, the philosophy and design patterns behind the ACE framework. It is refreshing to read from two authors so well-versed in design patterns and gifted in what it takes to create a robust, cross-platform, network programming framework.

"Systematic Reuse with ACE and Frameworks" reads as a tutorial for the seasoned C++ programmer, but also presents the material in small digestible chunks that you can refer to again and again. It lays out a series of best-practices, and is a "must-have" for any programmer who wants to CORRECTLY create strong networking software or even wants to see good examples of how patterns can simplify effort in such a complex environment.
3 of 3 people found the following review helpful
A crucial companion to ACE 21 Nov 2002
By J. Lilley - Published on Amazon.com
Format:Paperback
If you are going to program with ACE, you want this book, period. Although the web site and news groups have similar information, they are not nearly as comprehensive and well-organized as the book, and some of us actually like to read when we're not looking at the computer!
Search Customer Reviews
Only search this product's reviews

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Look for similar items by category


Look for similar items by subject


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges