Object Management: Common Object Request Broker Architecture (CORBA) V2.3
Copyright © 2000 The Open Group

Product Standard
Object Management:
Common Object Request Broker Architecture (CORBA) V2.3
Document Number: X01OB

©June 2001, The Open Group All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the copyright owners.

Copyright © November 1999, Object Management Group, Inc.

The Open Group and Boundaryless Information Flow are trademarks and UNIX is a registered trademark of The Open Group in the United States and other countries. All other trademarks are the property of their respective owners.

CORBA® is a registered trademark, and ORBTM;, IIOPTM;, and OMG Interface Definition Language (IDL)TM; are trademarks of the Object Management Group, Inc. in the United States.

Common Object Request Broker Architecture (CORBA) V2.3 - Product Standard

Product Standard


Common Object Request Broker Architecture (CORBA) V2.3




The Object Management Group has developed an architecture and specification for object technology use, management, interworking (the exchange of data between object models), and interoperability (the means of message exchange between object request brokers). Products which are developed in compliance with this architecture and specification include an Object Request Broker (ORB) which enables objects to transparently make and receive requests and responses in a distributed environment. In addition to the ORB, products may also supply object services that applications may share. These object services are a collection of services (interfaces and objects) that support basic functions for using and implementing objects, as well as common facilities.

Products that conform to this Product Standard shall include an implementation of the OMG abstract object model that contains the following:

The Technical Standard specifying the functionality in CORBA V2.3-compliant products, including specification of the CORBA V2.3 architecture and components, is found in The Common Object Request Broker: Architecture and Specification, Revision 2.3.11 and the associated Language Mapping Specifications. Hereinafter, these documents are referred to as "the Specification".

In addition to the core ORB technology, conforming products provide an implementation of the ORB interoperability architecture that supplies the framework for ORB interoperability, including the General Inter-ORB Protocol (GIOP) and the Internet Inter-ORB Protocol (IIOP). Products described by this Product Standard correspond to Interoperability-compliant ORBs, as defined by Section 12.3.4 of the Specification.

Each implementation must include one or both of the following language mappings of OMG IDL, which are aligned with CORBA V2.3:

This Product Standard does not require inclusion of the following components of the Specification:


A conformant product consists of a particular combination of software supported on certain specified hardware platforms, and the specific implementation of the product to be registered must therefore be uniquely identified.

A single configuration of the product shall meet all mandatory conformance requirements. In addition, products may implement optional facilities.

Conformant products may also provide additional standards-based or proprietary services, as long as the mandatory conformance requirements continue to be met, or the vendor provides instructions on how the user may configure the environment such that the product meets the conformance requirements.

A single configuration of the product shall meet all the conformance requirements defined in the indicated chapter of the Specification as noted below. It shall support all the definitions of those chapters including all functions and headers, all protocol messages, all externally stored or transmitted data formats, and all application/service capabilities, unless otherwise noted below.

Interfaces that are defined in the Specification as implementation-defined do not meet the criteria for inclusion as conformance requirements.
Human-Computer Interface

Not applicable.

Portability Interface

  1. Object Request Broker (ORB): Chapters 1, 2, and 4 of the Specification.
    Implementation of Management of Policy Domains (Section 4.10) is not required.

  2. Value Type Semantics: Chapter 5 of the Specification

  3. Abstract Interface Semantics: Chapter 6 of the Specification

  4. Dynamic Invocation Interface (DII): Chapter 7 of the Specification

  5. Dynamic Skeleton Interface (DSI): Chapter 8 of the Specification

  6. Dynamic Any: Chapter 9 of the Specification
    The comment in the Specification, Section 4.2 - "Dynamic Any-related operations deprecated and removed from the primary list of ORB operations" - refers to a previous specification of Dynamic Any and not to the material in Chapter 9.

  7. Interface Repository (IR): Chapter 10 of the Specification
    create_recursive_sequence_tc is deprecated in the Specification and therefore not required. The generation of RMI Hashed Format (Section 10.6.2) is excluded as it does not apply to all bindings.

  8. Portable Object Adapter (POA): Chapter 11 of the Specification

Programming Language Environment

OMG Interface Definition Language (IDL) (Chapter 3 of the Specification) and one or both of the C++ and Java language mappings contained in the associated Language Mapping documents of the Specification, with the following exception:

  1. The fixed and long double extended data types, TypeCode interfaces and operations required to support these extended data types, and language mapping support for these extended data types are note required. However, IDL compilers must parse these extended data type keywords and associated phrases properly, and may post "unimplemented" warning messages.
    For clarification, Section 3.2 of the Specification details character set ISO/Latin 1 requirements; however, full ISO/Latin 1 support is not required.


GIOP and IIOP (Chapters 12, 13, 14, and 15 of the Specification)

IIOP 1.2 support is required. The requesting_principal field in the GIOP request header is deprecated for GIOP Version 1.0 and 1.1; this field is not present in GIOP Version 1.2. Although OMG has registered ports 683 (CORBA-IIOP) and 684 (CORBA-IIOP-SSL) with IANA, there is no requirement at present to monitor these specific ports.

For a conformant product which includes the C++ Language mapping, a C++ compiler that supports all the features described in ISO/IEC 14882:19982 is required to be supported. Further, the C++ compiler must support templates and must supply native exception handling. Namespace and RTTI support are not required.

For a conformant product which includes the Java Language mapping, a Java compiler that supports all the features described in the Java Platform Core API,3 JDK Level 1.1 or higher, is required to be supported.


There are no dependencies on Operating System interfaces.


The Object Management Group's The Common Object Request Broker: Architecture and Specification and the associated Language Mapping Specifications, as described in the DESCRIPTION.


A Test Report from the currently authorized release of the VSOrb (for C++ implementations) or the VSJOrb (for Java implementations) Test Suite. Refer to www.opengroup.org/testing to ascertain the currently authorized version of the test suites, and to Testing and the Open Brand for detailed testing requirements.

The release of VSOrb and VSJOrb contains test coverage in the following areas:

For products which offer a C++ Language binding, the IIOP tests must run successfully in a multi-system, multi-vendor conformant ORB product configuration.

For products which offer a Java Language binding, the IIOP tests must run successfully in a multi-system, multi-vendor conformant ORB product configuration.




The Common Object Request Broker: Architecture and Specification, Revision 2.3.1, October 1999, published by OMG, available at: www.omg.org/cgi-bin/doc?formal/99-10-07.

ISO/IEC 14882:1998, Programming Languages - C++.

The Java Application Programming Interface (Java Series), J. Gosling, F. Yellin, and The Java Team, published by Addison-Wesley, 1996 (ISBN: 0-201-63453-8).

Any comments relating to the material contained in this document may be submitted to The Open Group at:

The Open Group
Apex Plaza
Forbury Road
Berkshire, RG1 1AX
United Kingdom
or by electronic mail to: