کتابخانه مرکزی دانشگاه صنعتی شریف
    • [نمايش بزرگتر]
    • [نمايش کوچکتر]
  • صفحه 
     از  0
  • [صفحه قبل]
  • [صفحه بعد]
  • [نمایش تمام صفحه]
  • [بستن]
 
Advanced CORBA programming with C++
Henning, Michi.

اطلاعات کتابشناختی

Advanced CORBA programming with C++
Author :   Henning, Michi.
Publisher :   Addison-Wesley,
Pub. Year  :   1999
Subjects :   C++ (Computer program language) CORBA (Computer architecture)
Call Number :   ‭QA 76 .73 .C153 .H458 1999

جستجو در محتوا

ترتيب

فهرست مطالب

  • Advanced CORBA® Programming with C++ (1)
  • Review (3)
  • Dedication (6)
  • Table of Contents (7)
  • Preface (13)
    • Prerequisites (14)
    • Scope of this Book (14)
    • Acknowledgments (16)
  • Chapter 1. Introduction (18)
    • 1.1 Introduction (18)
    • 1.2 Organization of the Book (20)
    • 1.3 CORBA Version (21)
    • 1.4 Typographical Conventions (21)
    • 1.5 Source Code Examples (21)
    • 1.6 Vendor Dependencies (22)
    • 1.7 Contacting the Authors (22)
  • Part I: Introduction to CORBA (23)
  • Chapter 2. An Overview of CORBA (24)
    • 2.1 Introduction (24)
    • 2.2 The Object Management Group (25)
    • 2.3 Concepts and Terminology (28)
    • 2.4 CORBA Features (29)
    • 2.5 Request Invocation (36)
    • 2.6 General CORBA Application Development (44)
    • 2.7 Summary (45)
  • Chapter 3. A Minimal CORBA Application (47)
    • 3.1 Chapter Overview (47)
    • 3.2 Writing and Compiling an IDL Definition (47)
    • 3.3 Writing and Compiling a Server (48)
    • 3.4 Writing and Compiling a Client (53)
    • 3.5 Running Client and Server (55)
    • 3.6 Summary (56)
  • Part II: Core CORBA (57)
  • Chapter 4. The OMG Interface Definition Language (58)
    • 4.1 Chapter Overview (58)
    • 4.2 Introduction (58)
    • 4.3 Compilation (59)
    • 4.4 Source Files (62)
    • 4.5 Lexical Rules (63)
    • 4.6 Basic IDL Types (64)
    • 4.7 User-Defined Types (68)
    • 4.8 Interfaces and Operations (81)
    • 4.9 User Exceptions (89)
    • 4.10 System Exceptions (93)
    • 4.11 System Exceptions or User Exceptions? (95)
    • 4.12 Oneway Operations (96)
    • 4.13 Contexts (97)
    • 4.14 Attributes (98)
    • 4.15 Modules (100)
    • 4.16 Forward Declarations (101)
    • 4.17 Inheritance (103)
    • 4.18 Names and Scoping (110)
    • 4.19 Repository Identifiers and pragma Directives (113)
    • 4.20 Standard Include Files (117)
    • 4.21 Recent IDL Extensions (117)
    • 4.22 Summary (121)
  • Chapter 5. IDL for a Climate Control System (122)
    • 5.1 Chapter Overview (122)
    • 5.2 The Climate Control System (122)
    • 5.3 IDL for the Climate Control System (124)
    • 5.4 The Complete Specification (129)
  • Chapter 6. Basic IDL-to-C++ Mapping (131)
    • 6.1 Chapter Overview (131)
    • 6.2 Introduction (131)
    • 6.3 Mapping for Identifiers (132)
    • 6.4 Mapping for Modules (133)
    • 6.5 The CORBA Module (135)
    • 6.6 Mapping for Basic Types (135)
    • 6.7 Mapping for Constants (138)
    • 6.8 Mapping for Enumerated Types (140)
    • 6.9 Variable-Length Types and _var Types (141)
    • 6.10 The String_var Wrapper Class (145)
    • 6.11 Mapping for Wide Strings (157)
    • 6.12 Mapping for Fixed-Point Types (157)
    • 6.13 Mapping for Structures (161)
    • 6.14 Mapping for Sequences (166)
    • 6.15 Mapping for Arrays (183)
    • 6.16 Mapping for Unions (185)
    • 6.17 Mapping for Recursive Structures and Unions (192)
    • 6.18 Mapping for Type Definitions (193)
    • 6.19 User-Defined Types and _var Classes (193)
    • 6.20 Summary (203)
  • Chapter 7. Client-Side C++ Mapping (204)
    • 7.1 Chapter Overview (204)
    • 7.2 Introduction (204)
    • 7.3 Mapping for Interfaces (204)
    • 7.4 Object Reference Types (206)
    • 7.5 Life Cycle of Object References (207)
    • 7.6 Semantics of _ptr References (213)
    • 7.7 Pseudo-Objects (220)
    • 7.8 ORB Initialization (221)
    • 7.9 Initial References (223)
    • 7.10 Stringified References (227)
    • 7.11 The Object Pseudo-Interface (229)
    • 7.12 _var References (236)
    • 7.13 Mapping for Operations and Attributes (247)
    • 7.14 Parameter Passing Rules (249)
    • 7.15 Mapping for Exceptions (278)
    • 7.16 Mapping for Contexts (291)
    • 7.17 Summary (291)
  • Chapter 8. Developing a Client for the Climate Control System (293)
    • 8.1 Chapter Overview (293)
    • 8.2 Introduction (293)
    • 8.3 Overall Client Structure (293)
    • 8.4 Included Files (294)
    • 8.5 Helper Functions (295)
    • 8.6 The main Program (299)
    • 8.7 The Complete Client Code (306)
    • 8.8 Summary (310)
  • Chapter 9. Server-Side C++ Mapping (313)
    • 9.1 Chapter Overview (313)
    • 9.2 Introduction (313)
    • 9.3 Mapping for Interfaces (314)
    • 9.4 Servant Classes (316)
    • 9.5 Object Incarnation (317)
    • 9.6 Server main (318)
    • 9.7 Parameter Passing Rules (320)
    • 9.8 Raising Exceptions (336)
    • 9.9 Tie Classes (341)
    • 9.10 Summary (345)
  • Chapter 10. Developing a Server for the Climate Control System (347)
    • 10.1 Chapter Overview (347)
    • 10.2 Introduction (347)
    • 10.3 The Instrument Control Protocol API (347)
    • 10.4 Designing the Thermometer Servant Class (350)
    • 10.5 Implementing the Thermometer Servant Class (352)
    • 10.6 Designing the Thermostat Servant Class (355)
    • 10.7 Implementing the Thermostat Servant Class (357)
    • 10.8 Designing the Controller Servant Class (360)
    • 10.9 Implementing the Controller Servant Class (362)
    • 10.10 Implementing the Server main Function (366)
    • 10.11 The Complete Server Code (368)
    • 10.12 Summary (378)
  • Chapter 11. The Portable Object Adapter (379)
    • 11.1 Chapter Overview (379)
    • 11.2 Introduction (379)
    • 11.3 POA Fundamentals (379)
    • 11.4 POA Policies (382)
    • 11.5 POA Creation (393)
    • 11.6 Servant IDL Type (397)
    • 11.7 Object Creation and Activation (400)
    • 11.8 Reference, ObjectId, and Servant (436)
    • 11.9 Object Deactivation (438)
    • 11.10 Request Flow Control (440)
    • 11.11 ORB Event Handling (445)
    • 11.12 POA Activation (451)
    • 11.13 POA Destruction (457)
    • 11.14 Applying POA Policies (458)
    • 11.15 Summary (466)
  • Chapter 12. Object Life Cycle (468)
    • 12.1 Chapter Overview (468)
    • 12.2 Introduction (468)
    • 12.3 Object Factories (469)
    • 12.4 Destroying, Copying, and Moving Objects (480)
    • 12.5 A Critique of the Life Cycle Service (494)
    • 12.6 The Evictor Pattern (499)
    • 12.7 Garbage Collection of Servants (515)
    • 12.8 Garbage Collection of CORBA Objects (523)
    • 12.9 Summary (526)
  • Part III: CORBA Mechanisms (527)
  • Chapter 13. GIOP, IIOP, and IORs (528)
    • 13.1 Chapter Overview (528)
    • 13.2 An Overview of GIOP (528)
    • 13.3 Common Data Representation (530)
    • 13.4 GIOP Message Formats (533)
    • 13.5 GIOP Connection Management (541)
    • 13.6 Detecting Disorderly Shutdown (542)
    • 13.7 An Overview of IIOP (543)
    • 13.8 Structure of an IOR (545)
    • 13.9 Bidirectional IIOP (547)
    • 13.10 Summary (548)
  • Chapter 14. Implementation Repositories and Binding (549)
    • 14.1 Chapter Overview (549)
    • 14.2 Binding Modes (549)
    • 14.3 Direct Binding (549)
    • 14.4 Indirect Binding via an Implementation Repository (553)
    • 14.5 Migration, Reliability, Performance, and Scalability (563)
    • 14.6 Activation Modes (566)
    • 14.7 Race Conditions (567)
    • 14.8 Security Considerations (569)
    • 14.9 Summary (572)
  • Part VI: Dynamic CORBA (574)
  • Chapter 15 C++ Mapping for Type any (575)
    • 15.1 Chapter Overview (575)
    • 15.2 Introduction (575)
    • 15.3 Type any C++ Mapping (578)
    • 15.4 Pitfalls in Type Definitions (598)
    • 15.5 Summary (599)
  • Chapter 16. Type Codes (600)
    • 16.1 Chapter Overview (600)
    • 16.2 Introduction (600)
    • 16.3 The TypeCode Pseudo-Object (600)
    • 16.4 C++ Mapping for the TypeCode Pseudo-Object (609)
    • 16.5 Type Code Comparisons (620)
    • 16.6 Type Code Constants (626)
    • 16.7 Type Code Comparison for Type any (629)
    • 16.8 Creating Type Codes Dynamically (630)
    • 16.9 Summary (638)
  • Chapter 17. Type DynAny (639)
    • 17.1 Chapter Overview (639)
    • 17.2 Introduction (639)
    • 17.3 The DynAny Interface (640)
    • 17.4 C++ Mapping for DynAny (653)
    • 17.5 Using DynAny for Generic Display (663)
    • 17.6 Obtaining Type Information (665)
    • 17.7 Summary (667)
  • Part V: CORBAservices (668)
  • Chapter 18. The OMG Naming Service (668)
    • 18.1 Chapter Overview (668)
    • 18.2 Introduction (668)
    • 18.3 Basic Concepts (668)
    • 18.4 Structure of the Naming Service IDL (670)
    • 18.5 Semantics of Names (671)
    • 18.6 Naming Context IDL (675)
    • 18.7 Iterators (691)
    • 18.8 Pitfalls in the Naming Service (699)
    • 18.9 The Names Library (700)
    • 18.10 Naming Service Tools (700)
    • 18.11 What to Advertise (701)
    • 18.12 When to Advertise (702)
    • 18.13 Federated Naming (702)
    • 18.14 Adding Naming to the Climate Control System (706)
    • 18.15 Summary (712)
  • Chapter 19. The OMG Trading Service (713)
    • 19.1 Chapter Overview (713)
    • 19.2 Introduction (713)
    • 19.3 Trading Concepts and Terminology (713)
    • 19.4 IDL Overview (719)
    • 19.5 The Service Type Repository (719)
    • 19.6 The Trader Interfaces (735)
    • 19.7 Exporting Service Offers (740)
    • 19.8 Withdrawing Service Offers (746)
    • 19.9 Modifying Service Offers (747)
    • 19.10 The Trader Constraint Language (748)
    • 19.11 Importing Service Offers (752)
    • 19.12 Bulk Withdrawal (766)
    • 19.13 The Admin Interface (767)
    • 19.14 Inspecting Service Offers (769)
    • 19.15 Exporting Dynamic Properties (770)
    • 19.16 Trader Federation (773)
    • 19.17 Trader Tools (784)
    • 19.18 Architectural Considerations (784)
    • 19.19 What to Advertise (786)
    • 19.20 Avoiding Duplicate Service Offers (787)
    • 19.21 Adding Trading to the Climate Control System (788)
    • 19.22 Summary (792)
  • Chapter 20. The OMG Event Service (793)
    • 20.1 Chapter Overview (793)
    • 20.2 Introduction (793)
    • 20.3 Distributed Callbacks (793)
    • 20.4 Event Service Basics (799)
    • 20.5 Event Service Interfaces (803)
    • 20.6 Implementing Consumers and Suppliers (810)
    • 20.7 Choosing an Event Model (821)
    • 20.8 Event Service Limitations (823)
    • 20.9 Summary (825)
  • Part VI: Power CORBA (827)
  • Chapter 21. Multithreaded Applications (827)
    • 21.1 Chapter Overview (827)
    • 21.2 Introduction (827)
    • 21.3 Motivation for Multithreaded Programs (827)
    • 21.4 Fundamentals of Multithreaded Servers (831)
    • 21.5 Multithreading Strategies (837)
    • 21.6 Implementing a Multithreaded Server (838)
    • 21.7 Servant Activators and the Evictor Pattern (851)
    • 21.8 Summary (852)
  • Chapter 22. Performance, Scalability, and Maintainability (853)
    • 22.1 Chapter Overview (853)
    • 22.2 Introduction (853)
    • 22.3 Reducing Messaging Overhead (853)
    • 22.4 Optimizing Server Implementations (862)
    • 22.5 Federating Services (864)
    • 22.6 Improving Physical Design (865)
    • 22.7 Summary (868)
  • Appendix A. Source Code for the ICP Simulator (869)
  • Appendix B. CORBA Resources (877)
  • Bibliography (880)
Loading...