This book guides software professionals through the traps and pitfalls of developing efficient, portable, and flexible networked applications. It explores the inherent design complexities of concurrent networked applications and the tradeoffs that must be considered when working to master them.
C++ Network Programming begins with an overview of the issues and tools involved in writing distributed concurrent applications. The book then provides the essential design dimensions, patterns, and principles needed to develop flexible and efficient concurrent networked applications. The book's expert author team shows you how to enhance design skills while applying C++ and patterns effectively to develop object-oriented networked applications.
Readers will find coverage of:C++ network programming, including an overview and strategies for addressing common development challenges The ACE Toolkit Connection protocols, message exchange, and message-passing versus shared memory Implementation methods for reusable networked application services Concurrency in object-oriented network programming Design principles and patterns for ACE wrapper facades
With this book, C++ developers have at their disposal the most complete toolkit available for developing successful, multiplatform, concurrent networked applications with ease and efficiency.
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.
Context Management for Distributed and Dynamic Context-Aware Computing proposes a novel architecture for context management based on the concept of context domains, allowing applications to keep context interests across distributed context management systems. The authors describe a distributed middleware that implements the aforementioned concepts, without compromising scalability and efficiency of context access.
Decentralized Reasoning in Ambient Intelligence proposes a decentralized reasoning approach for performing rule-based reasoning about context data targeting AmI systems. For this purpose, the authors define a context model assuming context data distributed over two sides: the user side, represented by the users and their mobile devices, and the ambient side, represented by the fixed computational infrastructure and ambient services. They formalize the cooperative reasoning operation — in which two entities cooperate to perform decentralized rule-based reasoning — and define a complete process to perform this operation.