| |
| |
Introduction | |
| |
| |
How This Book Is Organized | |
| |
| |
| |
Conceptual Reference | |
| |
| |
| |
Corba Architecture | |
| |
| |
The Rise of Middleware | |
| |
| |
The Object Management Group | |
| |
| |
The Common Object Request Broker Architecture | |
| |
| |
Basic CORBA Concepts | |
| |
| |
Deployment of CORBA Applications | |
| |
| |
The Object Management Architecture | |
| |
| |
Summary | |
| |
| |
| |
Programming with CORBA | |
| |
| |
A Basic Client-Server Application--Example 1 | |
| |
| |
Basic IDL Mapping (Example 1) | |
| |
| |
Initializing a CORBA Application | |
| |
| |
Adding an IDL Interface for Searching--Example 2 | |
| |
| |
IDL Mapping for Some Complex Types (Example 2) | |
| |
| |
Returning Parameters | |
| |
| |
Adding Exception Handling--Example 3 | |
| |
| |
IDL Mapping (3) | |
| |
| |
Adding a Multiply-Inheriting IDL Interface--Example 4 | |
| |
| |
Multiple Inheritance and the Delegation (Tie) Approach (Example 4) | |
| |
| |
Adding CORBA Naming Service Support--Example 5 | |
| |
| |
More IDL Syntax and Rules for Mapping Identifiers | |
| |
| |
More About Servers | |
| |
| |
Summary | |
| |
| |
| |
Techniques | |
| |
| |
| |
A Sample Corba System | |
| |
| |
Recycle Broker Architecture | |
| |
| |
Recycle Broker IDL | |
| |
| |
Recycle Broker Implementation | |
| |
| |
Summary | |
| |
| |
| |
Memory Management | |
| |
| |
C++ Smart Pointer Types_var | |
| |
| |
Sample IDL | |
| |
| |
Allocating and Initializing | |
| |
| |
Deallocating | |
| |
| |
Assignment and Copying | |
| |
| |
Parameter Passing | |
| |
| |
Summary | |
| |
| |
| |
Object References | |
| |
| |
CORBA Objects and Object References | |
| |
| |
IDL Syntax of Interfaces | |
| |
| |
C++ Memory Management | |
| |
| |
Nil Object Reference | |
| |
| |
Factory Objects | |
| |
| |
Polymorphism | |
| |
| |
Interoperable Object Reference | |
| |
| |
Summary | |
| |
| |
| |
Interoperable Naming Service | |
| |
| |
Overview | |
| |
| |
Names | |
| |
| |
The Initialization Service | |
| |
| |
Basic Operations | |
| |
| |
Server Example | |
| |
| |
Client Example | |
| |
| |
Federated Naming Service | |
| |
| |
Binding Iterators and the list() Operation | |
| |
| |
Object URLs | |
| |
| |
Specifying Values for Initial References | |
| |
| |
Summary | |
| |
| |
Initialization Service Pseudo-IDL | |
| |
| |
Naming Service IDL | |
| |
| |
| |
The Portable Object Adapter | |
| |
| |
Understanding the POA | |
| |
| |
POA Policies | |
| |
| |
Types of CORBA Objects | |
| |
| |
A POA for Session Objects | |
| |
| |
A POA for Entity Objects | |
| |
| |
A POA for Service Objects | |
| |
| |
Servant Activator POA | |
| |
| |
Servant Locator POA | |
| |
| |
Default Servant POA | |
| |
| |
Implicit Activation | |
| |
| |
The POAManager | |
| |
| |
POA Activation | |
| |
| |
Summary | |
| |
| |
| |
The any Type | |
| |
| |
Introduction to the any Type | |
| |
| |
A Sample IDL Module | |
| |
| |
C++ Example of Passing anys | |
| |
| |
C++ Insertion into CORBA::Any | |
| |
| |
C++ Extraction from CORBA::Any | |
| |
| |
Java Example of Passing anys | |
| |
| |
Java Insertion into org.omg.CORBA.Any | |
| |
| |
Extraction from org.omg.CORBA.Any | |
| |
| |
Type Codes | |
| |
| |
Summary | |
| |
| |
| |
Callbacks | |
| |
| |
Processing Invocations in a Client | |
| |
| |
Avoiding Deadlock in Callbacks | |
| |
| |
Callback Example Using oneway Operations | |
| |
| |
Summary | |
| |
| |
| |
Interceptors | |
| |
| |
Portable Interceptor Interface | |
| |
| |
Request Interceptors | |
| |
| |
Portable Interceptor Current | |
| |
| |
IOR Interceptor | |
| |
| |
PolicyFactory Interface | |
| |
| |
Registering Interceptors | |
| |
| |
Writing and Using Portable Interceptors | |
| |
| |
Summary | |
| |
| |
| |
Objects by Value | |
| |
| |
Overview of Value Semantics | |
| |
| |
Regular Value Type | |
| |
| |
Example of a Regular Value Implementation | |
| |
| |
Other Kinds of Value Type | |
| |
| |
Summary | |
| |
| |
| |
Events Service | |
| |
| |
CORBA Event Service Patterns | |
| |
| |
Using an Event Channel | |
| |
| |
Summary | |
| |
| |
| |
CORBA Components | |
| |
| |
Basic Architecture | |
| |
| |
Defining IDL for Components | |
| |
| |
Generating Component Skeletons | |
| |
| |
Implementing Components | |
| |
| |
Implementing Component Homes | |
| |
| |
Implementing Clients | |
| |
| |
Container Programming Environment | |
| |
| |
Extended Components | |
| |
| |
Development and Deployment Roles | |
| |
| |
Component Assembly and Deployment | |
| |
| |
Summary | |
| |
| |
Components IDL Module | |
| |
| |
| |
The Internet Inter-ORB Protocol | |
| |
| |
GIOP: The Basis for IIOP | |
| |
| |
IIOP Specialization of GIOP | |
| |
| |
Summary | |
| |
| |
| |
Syntax Reference | |
| |
| |
| |
IDL Data Types | |
| |
| |
Built-In IDL Types | |
| |
| |
Pseudo-IDL from the CORBA Module | |
| |
| |
Exception Types | |
| |
| |
The PortableServer Module | |
| |
| |
Java Helper and Holder Types | |
| |
| |
| |
IDL Grammar | |
| |
| |
Literals | |
| |
| |
Expressions | |
| |
| |
OMG IDL Grammar in EBNF Notation | |
| |
| |
| |
DynAny Type | |
| |
| |
Introduction to the DynamicAny Module | |
| |
| |
Dynamic Creation of Type Codes | |
| |
| |
Creating and Destroying a DynAny | |
| |
| |
DynAny Examples | |
| |
| |
Dynamic any IDL | |
| |
| |
| |
Dynamic Invocation Interface | |
| |
| |
Overview of the DII | |
| |
| |
Use of CORBA::DynAny and CORBA::TypeCode | |
| |
| |
Using CORBA::Request Objects | |
| |
| |
Oneway Invocations | |
| |
| |
Asynchronous Invocations | |
| |
| |
Pseudo-Interfaces | |
| |
| |
| |
Dynamic Skeleton Interface | |
| |
| |
Overview of the DSI | |
| |
| |
C++ Implementing a DSI Servant | |
| |
| |
Java Implementing a DSI Servant | |
| |
| |
| |
Interface Repository | |
| |
| |
Structure of the Interface Repository | |
| |
| |
Using the Interface Repository | |
| |
| |
An Example of Reading from the Interface Repository | |
| |
| |
IDL for the Interface Repository | |
| |
| |
| |
CORBA System Exceptions | |
| |
| |
Index | |