omniORB

The omniORB version 4.1
User’s Guide

Duncan Grisby
(email: dgrisby@apasphere.com)
Apasphere Ltd.
Sai-Lai Lo
David Riddoch
AT&T Laboratories Cambridge

July 2009

Changes and Additions, July 2007

- Updates for omniORB 4.1.1.

Changes and Additions, June 2005

- New omniORB 4.1 features.

Changes and Additions, October 2004

- Packaging stubs into DLLs.

Changes and Additions, July 2004

- Minor updates.

Changes and Additions, November 2002

- Per thread timeouts.
- Implement missing interceptors.
- Minor fixes.

Changes and Additions, June 2002

- Updated to omniORB 4.0.

Contents

- Introduction
  - Features
  - Setting up your environment
  - Platform specific variables
- The Basics
  - The Echo Object Example
  - Specifying the Echo interface in IDL
  - Generating the C++ stubs
  - Object References and Servants
  - A Quick Tour of the C++ stubs
  - Writing the servant implementation
  - Writing the client
  - Example 1 — Colocated Client and Implementation
  - Example 2 — Different Address Spaces
  - Example 3 — Using the Naming Service
  - Example 4 — Using tie implementation templates
  - Source Listings
- C++ language mapping
  - omniORB 2 BOA compatibility
  - omniORB 3.0 compatibility
  - omniORB 4.0 compatibility
- omniORB configuration and API
  - Setting parameters
  - Tracing options
  - Miscellaneous global options
  - Client side options
  - Server side options
  - GIOP and interoperability options
  - System Exception Handlers
  - Location forwarding
- The IDL compiler
  - Common options
  - C++ back-end options
  - Examples
- Interoperable Naming Service
  - Object URIs
  - Configuring resolve_initial_references
  - omniNames
  - omniMapper
  - Creating objects with simple object keys
- Interface Type Checking
  - Introduction
  - Interface Inheritance
- Connection and Thread Management
  - Background
  - The model
  - Client side behaviour
  - Server side behaviour
  - Idle connection shutdown
  - Transports and endpoints
  - Connection selection and acceptance
  - Bidirectional GIOP
  - SSL transport
- Code set conversion
  - Native code sets
  - Code set library
  - Implementing new code sets
- Interceptors
  - Interceptor registration
  - Available interceptors
- Type Any and TypeCode
  - Example using type Any
  - Type Any in omniORB
  - TypeCode in omniORB
  - Source Listing
- Packaging stubs into DLLs
  - Dynamic loading and unloading
  - Windows DLLs
- Objects by value, etc.
  - Features
  - Reference counting
  - Value sharing and local calls
  - Value box factories
  - Standard value boxes
  - Covariant returns
  - Values inside Anys
  - Local Interfaces
- References

> This document was translated from LATEX by HEVEA.