[Top] [Prev] [Next] [Bottom]
Preface
0.1 About This Document
Under the terms of the collaboration between OMG and X/Open Co Ltd, this document is a candidate for endorsement by X/Open, initially as a Preliminary Specification and later as a full CAE Specification. The collaboration between OMG and X/Open Co Ltd ensures joint review and cohesive support for emerging object-based specifications.
X/Open Preliminary Specifications undergo close scrutiny through a review process at X/Open before publication and are inherently stable specifications. Upgrade to full CAE Specification, after a reasonable interval, takes place following further review by X/Open. This further review considers the implementation experience of members and the full implications of conformance and branding.
0.1.1 Object Management Group
The Object Management Group, Inc. (OMG) is an international organization supported by over 500 members, including information system vendors, software developers and users. Founded in 1989, the OMG promotes the theory and practice of object-oriented technology in software development. The organization's charter includes the establishment of industry guidelines and object management specifications to provide a common framework for application development. Primary goals are the reusability, portability, and interoperability of object-based software in distributed, heterogeneous environments. Conformance to these specifications will make it possible to develop a heterogeneous applications environment across all major hardware platforms and operating systems.
OMG's objectives are to foster the growth of object technology and influence its direction by establishing the Object Management Architecture (OMA). The OMA provides the conceptual infrastructure upon which all OMG specifications are based.
0.1.2 X/Open
X/Open is an independent, worldwide, open systems organization supported by most of the world's largest information system suppliers, user organizations and software companies. Its mission is to bring to users greater value from computing, through the practical implementation of open systems. X/Open's strategy for achieving its mission is to combine existing and emerging standards into a comprehensive, integrated systems environment called the Common Applications Environment (CAE).
The components of the CAE are defined in X/Open CAE specifications. These contain, among other things, an evolving portfolio of practical application programming interfaces (APIs), which significantly enhance portability of application programs at the source code level. The APIs also enahance the interoperability of applications by providing definitions of, and references to, protocols and protocol profiles.
The X/Open specifications are also supported by an extensive set of conformance tests and by the X/Open trademark (XPG brand), which is licensed by X/Open and is carried only on products that comply with the CAE specifications.
0.2 Intended Audience
The architecture and specifications described in this manual are aimed at software designers and developers who want to produce applications that comply with OMG standards for the Object Request Broker (ORB). The benefit of compliance is, in general, to be able to produce interoperable applications that are based on distributed, interoperating objects. As defined by the Object Management Group (OMG) in the Object Management Architecture Guide, the ORB provides the mechanisms by which objects transparently make requests and receive responses. Hence, the ORB provides interoperability between applications on different machines in heterogeneous distributed environments and seamlessly interconnects multiple object systems.
0.3 Context of CORBA
The key to understanding the structure of the CORBA architecture is the Reference Model, which consists of the following components:
- Object Request Broker, which enables objects to transparently make and receive requests and responses in a distributed environment. It is the foundation for building applications from distributed objects and for interoperability between applications in hetero- and homogeneous environments. The architecture and specifications of the Object Request Broker are described in this manual.
- Object Services, a collection of services (interfaces and objects) that support basic functions for using and implementing objects. Services are necessary to construct any distributed application and are always independent of application domains. For example, the Life Cycle Service defines conventions for creating, deleting, copying, and moving objects; it does not dictate how the objects are implemented in an application. Specifications for Object Services are contained in CORBAservices: Common Object Services Specification.
- Common Facilities, a collection of services that many applications may share, but which are not as fundamental as the Object Services. For instance, a system management or electronic mail facility could be classified as a common facility. Information about Common Facilities will be contained in CORBAfacilities: Common Facilities, to be published in mid-1995.
- Application Objects, which are products of a single vendor on in-house development group which controls their interfaces. Application Objects correspond to the traditional notion of applications, so they are not standardized by OMG. Instead, Application Objects constitute the uppermost layer of the Reference Model.
The Object Request Broker, then, is the core of the Reference Model. It is like a telephone exchange, providing the basic mechanism for making and receiving calls. Combined with the Object Services, it ensures meaningful communication between CORBA-compliant applications.
(For more information about the OMG Reference Model and the OMG Object Model, refer to the Object Management Architecture Guide).
0.4 Associated Documents
The CORBA documentation set includes the following books:
OMG collects information for each book in the documentation set by issuing Requests for Information, Requests for Proposals, and Requests for Comment and, with its membership, evaluating the responses. Specifications are adopted as standards only when representatives of the OMG membership accept them as such by vote.
To obtain books in the documentation set, or other OMG publications, refer to the enclosed subscription card or contact the Object Management Group, Inc. at:
OMG Headquarters
492 Old Connecticut Path
Framingham, MA 01701
USA
Tel: +1-508-820 4300
Fax: +1-508-820 4303
pubs@omg.org
http://www.omg.org/
0.5 Structure of this Manual
This manual is divided into the categories of Core, Interoperability, and individual Language Mappings. These divisions reflect the compliance points of CORBA, as explained in Section 0.6, "Definition of CORBA Compliance," on page vii. In addition to this preface, CORBA: Common Object Request Broker Architecture and Specification contains the following chapters:
Core
The Object Model describes the compuation model that underlies the CORBA architecture.
Architecture describes the overall structure of the ORB architecture and includes information about CORBA interfaces and implmentations.
OMG IDL Syntax and Semantics describes OMG interface definition language (OMG IDL), which is the language used to describe the interfaces that client objects call and object implementations provide.
The Dynamic Invocation Interface describes the DII, the client's side of the interface that allows dynamic creation and invocation of request to objects.
The Dynamic Skeleton Interface describes the DSI, the server's-side interface that can deliver requests from an ORB to an object implementation that does not have compile-time knowledge of the type of the object it is implementing. DSI is the server's analogue of the client's Dynamic Invocation Interface (DII).
Interface Repository describes the component of the ORB that manages and provides access to a collection of object definitions.
ORB Interface describes the interface to the ORB functions that do not depend on object adapters: these operations are the same for all ORBs and object implementations.
Basic Object Adapter describes the primary interface than an implementation uses to access ORB functions.
An appendix that contains standard OMG IDL types.
Interoperability
Interoperability Overview explains the interoperability architecture and introduces the subjects pertaining to interoperability: inter-ORB bridges; general and Internet inter-ORB protocols (GIOP and IIOP); and environment-specific, inter-ORB protocols (ESIOPs).
Interoperability Architecture introduces the framework of ORB interoperability, including information about domains; approaches to inter-ORB bridges; what it means to be compliant with ORB interoperability; and ORB Services and Requests.
Inter-ORB Bridges explains how to build bridges for an implementation of interoperating ORBs.
Inter-ORB Protocols describes the general inter-ORB protocol (GIOP) and includes information about the GIOP's goals, syntax, format, transport, and object location. This chapter also includes information about the Internet inter-ORB protocol (IIOP).
Environment-Specific Inter-ORB Protocol (ESIOP) desribes a protocol for the OSF DCE environment. The protocol is called the DCE Environment Inter-ORB Protocol (DCE ESIOP).
An appendix containing OMG IDL tags that can identify an Object Service, a component, or a profile.
C Language Mapping
Mapping of OMG IDL to C maps OMG IDL to the C programming language.
C++ Language Mapping
C++ Mapping Overview introduces the mapping of OMG IDL to the C++ programming language.
Mapping of OMG IDL to C++ maps the constructs of OMG IDL to the C++ programming language.
Mapping of Pseudo Objects to C++ maps OMG IDL pseudo objects to the C++ programming language.
Server-Side Mapping explains the portability constraints for an object implementation written in C++.
The C++ language mapping also includes several appendices. One contains C++ definitions for CORBA, another contains alternate C++ mappings, and another contains C++ keywords.
Smalltalk Language Mapping
Smalltalk Mapping Overview introduces the mapping of OMG IDL to the Smalltalk programming language.
Mapping of OMG IDL to Smalltalk maps the constructs of OMG IDL to the Smalltalk programming language.
Mapping of Pseudo Objects to Smalltalk maps OMG IDL pseudo objects to Smalltalk.
0.6 Definition of CORBA Compliance
As described in the OMA Guide, OMG's Core Object Model consists of a core and components. Likewise, the body of CORBA specifications is divided into core and component-like specifications. (The structure of this manual reflects that division.)
The CORBA family of specifications are as follows:
Additional OMG IDL mappings will be available with future versions of CORBA.
When compliance branding machinery is in place, each of the CORBA specifications listed here will be associated with a separate branding stamp.
The minimum required for a CORBA-compliant system is adherence to the specifications in CORBA Core and one mapping. Each additional language mapping is a separate, optional compliance point. Optional means users aren't required to implement these points if they are unnecessary at their site, but if implemented, they must adhere to the CORBA specifications to be called CORBA-compliant. For instance, if a vendor supports C++, their ORB must comply with the OMG IDL to C++ binding specified in this manual.
Interoperability is a separate compliance point.
0.7 Typographical Conventions
The type styles shown below are used in this document to distinguish programming statements from ordinary English. However, these conventions are not used in tables or section headings, where no distinction is necessary, nor are the type styles used in text where their density would be distracting.
Helvetica bold OMG Interface Definition Language (OMG IDL) language and syntax elements
Times bold Pseudo-OMG IDL (PIDL) language elements
Courier bold Programming language elements
Courier bold italic Smalltalk protocol descriptions
Code examples written in PIDL and programming languages are further identified by a comment; unidentified examples are written in OMG IDL.
0.8 Acknowledgements
The following companies submitted parts of the specifications that were approved by the Object Management Group to become CORBA:
In addition to the preceding contributors, the OMG would like to acknowledge Mark Linton at Silicon Graphics and Doug Lea at the State University of New York at Oswego for their work on the C++ mapping.
[Top] [Prev] [Next] [Bottom]
pubs@omg.org
Copyright © 1995, Object Management Group. All rights
reserved.