|Object Management: Common Object Request Broker Architecture (CORBA)|
|Document Number: X98OR|
©March 1999, 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.
Motif®, OSF/1®, UNIX®, and the "X Device"® are registered trademarks and IT DialToneTM; and The Open GroupTM; are trademarks of The Open Group in the U.S. and other countries.
CORBA® is a registered trademark of the Object Management Group (OMG).
Java® is a registered trademark of Sun Microsystems, Inc.
Any comments relating to the material contained in this document may be submitted to The Open Group at:
The Open Groupor by electronic mail to:
Berkshire, RG1 1AX
Common Object Request Broker Architecture (CORBA)
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 which conform to this Product Standard include an implementation of the OMG abstract object model which includes the following:
Products which conform to this Product Standard may optionally include an implementation of the OMG abstract object module which includes the following:
The detailed Technical Standard specifying the functionality in
CORBA-compliant products, including specification of the
CORBA architecture and components, is detailed in The Common Object Request Broker: Architecture and Specification1 and the
associated IDL/Java Language Mapping.2
Hereafter, these documents are referred to as "the Specification".
In addition to the core ORB technology, these products supply 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 9.3.4 of the Specification.
Each implementation also includes one or more of the following language mappings of OMG IDL:
This Product Standard includes core ORB functionality, DII, DSI, IIOP Version 1.0, and at least one of the OMG IDL language mappings.
This Product Standard optionally includes the core ORB functionality of the Interface Repository (IR).
This Product Standard does not require inclusion of the following components of the CORBA specification:
Support for IIOP Version 1.0 is required.
Support for IIOP Version 1.1 is optional.
The CORBA conceptual architecture is shown in the following figure:
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 in the Conformance Statement.
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 Conformance Statement contains 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. 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, with the following exceptions:
Object Request Broker (ORB):
Chapters 1, 2, and 5 of the Specification.
Dynamic Invocation Interface (DII): Chapter 4 of the Specification.
Dynamic Skeleton Interface (DSI): Chapter 6 of the Specification.
Interface Repository (IR): Chapter 7 of the Specification (Optional).
OMG Interface Definition Language (IDL):
Chapter 3 of the Specification and one or more
of the language mappings listed below.
C Language Mapping: Chapter 17 of the Specification.
C++ Language Mapping: Chapter 18 of the Specification.
Smalltalk Language Mapping: Chapter 19 of the Specification.
COBOL Language Mapping: Chapter 20 of the Specification.
ADA Language Mapping: Chapter 21 of the Specification.
Java Language Mapping: IDL/Java Language Mapping.
GIOP and IIOP: Chapters 9, 10, 11, and 12 of the Specification.
Where an Interpretation is deemed to impact interoperability, each such Interpretation will be published as an Interoperability Recommendation to all vendor(s) of Registered Product(s), who must provide to The Open Group, within 30 days of the publication of the Interoperability Recommendation by The Open Group, their intended handling of the issue and the Interoperability Recommendation. Interpretations will be incorporated into a corrigendum that will, by resolution of the Architecture Board, result in a revised Product Standard.
Conformance with IIOP Version 1.0 is required. Support of IIOP Version 1.1 is optional.
Products registered as conformant to this Product Standard may optionally claim conformance to IIOP Version 1.1 (Chapter 12 of the Specification). To conform to IIOP Version 1.1, the product must support the IIOP Version 1.0 conformance requirements, as well as additionally supporting:
The IIOP services in a conformant product require reliable, end-to-end connections for their execution. Consequently, they are defined to be implemented on top of the Transmission Control Protocol (TCP). TCP defines a method for connection-oriented, end-to-end communications to take place over Internet Protocol-based networks.
Products registered as conformant to this Product Standard, and the respective environments in which their conformance has been established, shall conform to the following:
For a conformant product including the C Language mapping, a C compiler compliant with ISO/IEC 9899:1990 is required to be supported.
For a conformant product including the C++ Language mapping, a C++ compiler that supports all the features described in the Annotated C++ Reference Manual (ARM) 3 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 including the Java Language mapping, a Java compiler that supports all the features described in the Java Platform Core API 4 is required to be supported.
For a conformant product including the COBOL Language mapping, a COBOL compiler compliant with ISO 1989:1985 is required to be supported.
For a conformant product including the ADA Language mapping, an ADA compiler compliant with ISO/IEC 8652:1995 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 IDL/Java Language Mapping (see the DESCRIPTION).
A Test Report from the currently authorized release of the VSOrb or the VSJOrb Test Suite. Refer to http://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 initial release of VSOrb and VSJOrb contains test coverage in the following areas:
For products which offer a C Language or 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.