Advanced CORBA Programming with C++ / Edition 1by Michi Henning, Steve Vinoski
Pub. Date: 02/12/1999
Here is the CORBA book that every C++ software engineer has been waiting for. Advanced CORBA® Programming with C++ provides designers and developers with the tools required to understand CORBA technology at the architectural, design, and source code levels. This book offers hands-on explanations for building efficient applications, as well as/b>/i>
Here is the CORBA book that every C++ software engineer has been waiting for. Advanced CORBA® Programming with C++ provides designers and developers with the tools required to understand CORBA technology at the architectural, design, and source code levels. This book offers hands-on explanations for building efficient applications, as well as lucid examples that provide practical advice on avoiding costly mistakes. With this book as a guide, programmers will find the support they need to successfully undertake industrial-strength CORBA development projects.
The content is systematically arranged and presented so the book may be used as both a tutorial and a reference. The rich example programs in this definitive text show CORBA developers how to write clearer code that is more maintainable, portable, and efficient. The authors' detailed coverage of the IDL-to-C++ mapping moves beyond the mechanics of the APIs to discuss topics such as potential pitfalls and efficiency. An in-depth presentation of the new Portable Object Adapter (POA) explains how to take advantage of its numerous features to create scalable and high-performance servers. In addition, detailed discussion of advanced topics, such as garbage collection and multithreading, provides developers with the knowledge they need to write commercial applications.
- In-depth coverage of IDL, including common idioms and design trade-offs
- Complete and detailed explanations of the Life Cycle, Naming, Trading, and Event Services
- Discussion of IIOP and implementation repositories
- Insight into the dynamic aspects of CORBA, such as dynamic typing and the new DynAny interfaces
- Advice on selecting appropriate application architectures and designs
- Detailed, portable, and vendor-independent source code
Table of Contents
Organization of the Book.
Source Code Examples.
Contacting the Authors.
I. INTRODUCTION TO CORBA.
2. An Overview of CORBA.
The Object Management Group.
Concepts and Terminology.
General CORBA Application Development.
3. A Minimal CORBA Application.
Writing and Compiling an IDL Definition.
Writing and Compiling a Server.
Writing and Compiling a Client.
Running Client and Server.
II. CORE CORBA.
4. The OMG Interface Definition Language.
Basic IDL Types.
Interfaces and Operations.
System Exceptions or User Exceptions?
Names and Scoping.
Repository Identifiers and pragma Directives.
Standard Include Files.
Recent IDL Extensions.
5. IDL for a Climate Control System.
The Climate Control System.
IDL for the Climate Control System.
The Complete Specification.
6. Basic IDL-to-C++ Mapping.
Mapping for Identifiers.
Mapping for Modules.
The CORBA Module.
Mapping for Basic Types.
Mapping for Constants.
Mapping for Enumerated Types.
Variable-Length Types and _var Types.
The String_var Wrapper Class.
Mapping for Wide Strings.
Mapping for Fixed-Point Types.
Mapping for Structures.
Mapping for Sequences.
Mapping for Arrays.
Mapping for Unions.
Mapping for Recursive Structures and Unions.
Mapping for Type Definitions.
User-Defined Types and _var Classes.
7. Client-Side C++ Mapping.
Mapping for Interfaces.
Object Reference Types.
Life Cycle of Object References.
Semantics of _ptr References.
The Object Pseudo-Interface.
Mapping for Operations and Attributes.
Parameter Passing Rules.
Mapping for Exceptions.
Mapping for Contexts.
8.Developing a Client for the Climate Control System.
Overall Client Structure.
The main Program.
The Complete Client Code.
9. Server-Side C++ Mapping.
Mapping for Interfaces.
Parameter Passing Rules.
10. Developing a Server for the Climate Control System.
The Instrument Control Protocol API.
Designing the Thermometer Servant Class.
Implementing the Thermometer Servant Class.
Designing the Thermostat Servant Class.
Implementing the Thermostat Servant Class.
Designing the Controller Servant Class.
Implementing the Controller Servant Class.
Implementing the Server Main Function.
The Complete Server Code.
11. The Portable Object Adapter.
Servant IDL Type.
Object Creation and Activation.
Reference, ObjectId, and Servant.
Request Flow Control.
ORB Event Handling.
Applying POA Policies.
12. Object Life Cycle.
Destroying, Copying, and Moving Objects.
A Critique of the Life Cycle Service.
The Evictor Pattern.
Garbage Collection of Servants.
Garbage Collection of CORBA Objects.
III. CORBA MECHANISMS.
13. GIOP, IIOP, and IORs.
An Overview of GIOP.
Common Data Representation.
GIOP Message Formats.
GIOP Connection Management.
Detecting Disorderly Shutdown.
An Overview of IIOP.
Structure of an IOR.
14. Implementation Repositories and Binding.
Indirect Binding via an Implementation Repository.
Migration, Reliability, Performance, and Scalability.
IV. DYNAMIC CORBA.
15. C++ Mapping for Type Any.
Type Any C++ Mapping.
Pitfalls in Type Definitions.
16. Type Codes.
The TypeCode Pseudo-Object.
C++ Mapping for the TypeCode Pseudo-Object.
Type Code Comparisons.
Type Code Constants.
Type Code Comparison for Type Any.
Creating Type Codes Dynamically.
17. Type DynAny.
The DynAny Interface.
C++ Mapping for the DynAny Pseudo-Object.
Using DynAny for Generic Display.
Obtaining Type Information.
18. The OMG Naming Service.
Structure of the Naming Service IDL.
Semantics of Names.
Naming Context IDL.
Pitfalls in the Naming Service.
The Names Library.
Naming Service Tools.
What to Advertise.
When to Advertise.
Adding Naming to the Climate Control System.
19. The OMG Trading Service.
Trading Concepts and Terminology.
The Service Type Repository.
The Trader Interfaces.
Exporting Service Offers.
Withdrawing Service Offers.
Modifying Service Offers.
The Trader Constraint Language.
Importing Service Offers.
The Admin Interface.
Inspecting Service Offers.
Exporting Dynamic Properties.
What to Advertise.
Avoiding Duplicate Service Offers.
Adding Trading to the Climate Control System.
20. The OMG Event Service.
Event Service Basics.
Event Service Interfaces.
Implementing Consumers and Suppliers.
Choosing an Event Model.
Event Service Limitations.
VI. POWER CORBA.
21. Multithreaded Applications.
Motivation for Multithreaded Programs.
Fundamentals of Multithreaded Servers.
Implementing a Multithreaded Server.
Servant Activators and the Evictor Pattern.
22. Performance, Scalability, and Maintainability.
Reducing Messaging Overhead.
Optimizing Server Implementations.
Improving Physical Design.
Appendix A: Source Code for the ICP Simulator.
Transient Simulator Code.
Persistent Simulator Code.
Appendix B: CORBA Resources.
World Wide Web.
and post it to your social network
Most Helpful Customer Reviews
See all customer reviews >
This book contains everything you need to use C++ to implement clients and servers on 'The ACE ORB'. Considering that you can obtain all of the tools (GNU C++, Postgres, ACE and TAO, Perl ... all of the usual suspects) from the Net, this book is the only thing you need to purchase, to begin working with CORBA. I found it to be the most valuable CORBA resource available to me in my first two CORBA projects.