PURE CORBA 3 is a premium, code-intensive reference for professional developers. It focuses on the core specification for CORBA 3 and contains: conceptual overview of CORBA 3. CORBA techniques programming reference that contains thousands of lines of commercial-quality code examples in both C++ and Java (the two most popular languages among CORBA developers). concise reference to the most important parts of the specification, PURE CORBA......Page 2 Copyright ® 2002 by Sams Publishing......Page 3 Overview......Page 4 Contents......Page 5 About the Author......Page 18 How This Book Is Organized......Page 22 PART I CONCEPTUAL REFERENCE......Page 24 The Rise of Middleware......Page 26 The Object Management Group......Page 27 The Common Object Request Broker Architecture......Page 28 Basic CORBA Concepts......Page 32 Deployment of CORBA Applications......Page 36 The Object Management Architecture......Page 40 Summary......Page 42 A Basic Client-Server Application—Example 1......Page 44 Basic IDL Mapping (Example 1)......Page 64 Initializing a CORBA Application......Page 71 Adding an IDL Interface for Searching— Example 2......Page 78 IDL Mapping for Some Complex Types (Example 2)......Page 90 Returning Parameters......Page 100 Adding Exception Handling—Example 3......Page 102 IDL Mapping (3)......Page 117 Adding a Multiply-Inheriting IDL Interface— Example 4......Page 123 Multiple Inheritance and the Delegation (Tie) Approach (Example 4)......Page 127 Adding CORBA Naming Service Support— Example 5......Page 130 More IDL Syntax and Rules for Mapping Identifiers......Page 142 More About Servers......Page 153 Summary......Page 156 PART I I TECHNIQUES......Page 158 Recycle Broker Architecture......Page 160 Recycle Broker IDL......Page 162 Recycle Broker Implementation......Page 169 Summary......Page 170 CHAPTER 4 Memory Management......Page 172 C++ Smart Pointer Types _var......Page 173 Sample IDL......Page 177 Allocating and Initializing......Page 179 Deallocating......Page 189 Assignment and Copying......Page 191 Parameter Passing......Page 200 Summary......Page 219 CORBA Objects and Object References......Page 220 IDL Syntax of Interfaces......Page 227 C++ Memory Management......Page 232 Nil Object Reference......Page 239 Factory Objects......Page 241 Polymorphism......Page 242 Interoperable Object Reference......Page 257 Summary......Page 263 Overview......Page 266 Names......Page 268 The Initialization Service......Page 271 Basic Operations......Page 275 Server Example......Page 278 Client Example......Page 286 Federated Naming Service......Page 288 Binding Iterators and the list() Operation......Page 290 Object URLs......Page 297 Specifying Values for Initial References......Page 303 Summary......Page 304 Naming Service IDL......Page 305 Understanding the POA......Page 310 POA Policies......Page 317 Types of CORBA Objects......Page 322 A POA for Session Objects......Page 326 A POA for Entity Objects......Page 336 A POA for Service Objects......Page 351 Servant Activator POA......Page 359 Servant Locator POA......Page 388 Default Servant POA......Page 396 Implicit Activation......Page 399 The POAManager......Page 402 POA Activation......Page 406 Summary......Page 409 Introduction to the any Type......Page 410 A Sample IDL Module......Page 412 C++ Example of Passing anys......Page 413 C++ Insertion into CORBA::Any......Page 415 C++ Extraction from CORBA::Any......Page 430 Java Example of Passing anys......Page 441 Java Insertion into org.omg.CORBA.Any......Page 444 Extraction from org.omg.CORBA.Any......Page 450 Type Codes......Page 457 Summary......Page 465 Processing Invocations in a Client......Page 466 Avoiding Deadlock in Callbacks......Page 468 Callback Example Using oneway Operations......Page 469 Summary......Page 478 CHAPTER 10 Interceptors......Page 480 Request Interceptors......Page 481 Portable Interceptor Current......Page 497 PolicyFactory Interface......Page 498 Registering Interceptors......Page 499 Writing and Using Portable Interceptors......Page 501 Summary......Page 507 Overview of Value Semantics......Page 508 Regular Value Type......Page 516 Example of a Regular Value Implementation......Page 522 Other Kinds of Value Type......Page 530 Summary......Page 542 CHAPTER 12 Events Service......Page 544 CORBA Event Service Patterns......Page 545 Using an Event Channel......Page 548 Summary......Page 567 CHAPTER 13 CORBA Components......Page 572 Basic Architecture......Page 573 Defining IDL for Components......Page 577 Generating Component Skeletons......Page 590 Implementing Components......Page 591 Implementing Component Homes......Page 605 Implementing Clients......Page 618 Container Programming Environment......Page 619 Extended Components......Page 622 Development and Deployment Roles......Page 625 Component Assembly and Deployment......Page 628 Summary......Page 631 Components IDL Module......Page 632 GIOP: The Basis for IIOP......Page 640 IIOP Specialization of GIOP......Page 646 Summary......Page 647 PART I I I SYNTAX REFERENCE......Page 648 CHAPTER 15 IDL Data Types......Page 650 Built-In IDL Types......Page 651 Pseudo-IDL from the CORBA Module......Page 740 Exception Types......Page 772 The PortableServer Module......Page 775 Java Helper and Holder Types......Page 778 Literals......Page 780 Expressions......Page 782 OMG IDL Grammar in EBNF Notation......Page 785 Introduction to the DynamicAny Module......Page 790 Dynamic Creation of Type Codes......Page 792 Creating and Destroying a DynAny......Page 801 DynAny Examples......Page 803 Dynamic any IDL......Page 809 Overview of the DII......Page 816 Using CORBA::Request Objects......Page 817 Asynchronous Invocations......Page 830 Pseudo-Interfaces......Page 831 Overview of the DSI......Page 834 C++ Implementing a DSI Servant......Page 838 Java Implementing a DSI Servant......Page 843 CHAPTER 20 Interface Repository......Page 850 Structure of the Interface Repository......Page 851 Using the Interface Repository......Page 852 An Example of Reading from the Interface Repository......Page 857 IDL for the Interface Repository......Page 862 CHAPTER 21 CORBA System Exceptions......Page 878 INDEX......Page 886 A premium, code-intensive reference for professional developers, "Pure CORBA 3" focuses on the core specification for CORBA 3. It contains a conceptual overview of CORBA 3, CORBA techniques programming reference, and a concise reference to the most important parts of the specification.