Background
CORBA: E-Commerce and Distributed Computing

 

Home

 

 

 

 

 

 

 

The following is a history of revisions made to the Common Object Request Broker Architecture (CORBA) over the past several years. These revisions have resulted in a more robust architecture that allows true interoperability over heterogenous, distributed systems.

CORBA 1.0 (October 1991)
Included the CORBA Object model, Interface Definition Language (IDL), and the core set of application programming interfaces (APIs) for dynamic request management and invocation (DII) and Interface Repository. Included a single language mapping for the C language.

CORBA 1.1 (February 1992)
This was the first widely published version of the CORBA specification. It closed many ambiguities in the original specification; added interfaces for the Basic Object Adapter and memory management; clarified the Interface Repository as well as ambiguities in the object model.

CORBA 1.2 (December 1993)
This release closed several ambiguities, especially in memory management and object reference comparison.

CORBA 2.0 (August 1996) - Core, Interoperability and Mappings
First major overhaul kept the extant CORBA object model and added several major features:

dynamic skeleton interface (mirror of dynamic invocation)
initial reference resolver for client portability
extensions to the Interface Repository
"out of the box" interoperability architecture (GIOP, IIOP, DCE CIOP)
support for layered security and transaction services
datatype extensions for COBOL, scientific processing, wide characters
interworking with OLE2/COM.

Included in this release were the Internet Interoperability Protocol (IIOP) specification, interface repository improvements, initialization, and two more IDL language mappings (C++ and Smalltalk).

CORBA 2.1 (August 1997)
Added additional security features (secure IIOP and IIOP over SSL), added two language map-pings (COBOL and Ada), included interoperability revisions and IDL type extensions.

CORBA 2.2 (February 1998)
This version of CORBA included the Server Portability enhancements (POA), DCOM Interworking, and the IDL/JAVA language mapping specification.

CORBA 2.3 ( Late summer 1998)
A minor release comprised of revisions to the following specifications: IDL/Java language mapping, ORB portability IDL/Java, COM/CORBA Parts A & B, C/C++, CORBA Core, ORB Interoperability, and Security 1.2.

CORBA 3.0 -- Pre-release (fall 1998), Commercial release (mid-1999)
CORBA 3.0 represents an important specification that adds several major features which are grouped according to Components, Quality of Service, Messaging, and other technologies which will enable complete Internet integration and support for legacy environments.

Components
Components will provide a framework for organizing "parts." For example, vendors will have a well-defined packaging scheme for producing software components, and users (including non-programmers and custom solution providers) will be able to purchase and build custom applications based on components. CORBA components include mechanisms to enable visual programming.
Specification Function Technical Benefit Business Benefit
Multiple Interfaces Allows composition of multiple IDL interfaces into a component. Provides the means for objects to be composed of logically distinct services by the use of multiple interface definitions. Controls visibility and/or access to an object's functions based on interface definitions, operations, or other criteria. Improves programmer efficiency and program maintainability.
Objects-by-Value Passes CORBA objects by value (rather than by reference) as parameters in CORBA object operations. Passing objects-by-value is more efficient and straightforward in many circumstances. Provides closer alignment between programming languages and CORBA, making things speedier and more efficient.
CORBA Component Model Specifies interfaces and mechanisms for a CORBA-based component model and for a mapping of that component model onto other component models including JavaBeans. Provides a more complete mechanism for expressing object oriented software entities and assembling them into applications. The CORBA component model will be capable of interoperating with other emerging component technologies, including JavaBeans and ActiveX controls. Enables tighter integration with Java and other component technologies, making it easier for programmers to use CORBA.
CORBA Scripting Language A scripting language designed for composing CORBA components into applications. Scripting languages are generally easy to understand and more accessible to a wider audience. Scripting tools generally do not require a compilation step and therefore fit better into a world where user code is immediately executable once it is specified. Scripting languages allow application builders to create new scripts at runtime by calling an "eval" function. Speeds application programming, especially prototyping.

Quality of Service
QoS specifications are intended for managing and selecting various underlying transport choices based on application needs.

Specification Function Technical Benefit Business Benefit
Minimum CORBA Addresses the need for a CORBA compliant system operating in an embedded (i.e., small footprint) environment. Embedded systems are viewed as reduced size, power, and weight, and with minimal resources. While load size is a primary concern, a scaleable approach which allows for configuring CORBA elements down to a core minimum set is desirable. Increases the use of CORBA in the embedded systems marketplace.
Realtime CORBA 1.0 Establishes a fundamental set of broadly applicable realtime CORBA technologies, based on mature technologies. Provides a stable basis for extension. Realtime ORBs might be comprised of fixed priority scheduling, control over ORB resources for end-to-end predictability, and flexible communications. Improved programmer efficiency: gives the application programmer more control over an ORB's resources.
Asynchronous Messaging Manages asynchronous messages in distributed object systems, including ordering and quality of service requests. Will provide mechanisms for managing asynchronous messages in distributed object systems. Brings standardization to the world of messaging, providing enhanced communication and workflow efficiency.

Other Technologies
Intended to provide complete Internet integration and support for legacy environments.

Specification Function Technical Benefit Business Benefit
Java to IDL Mapping A specification for automatic generation of OMG IDL from Java. Java to IDL mapping allows developers to build distributed applications in Java only and automatically generate required OMG IDL. Programmer efficiency and ease of use: many languages will have access to these Java written components allowing integration without writing IDL.
Firewall A specification for passing IIOP through firewalls (a.k.a. "IIOP proxy"). Controls limited use from the internet or intranet of an organization's CORBA-based applications, and optionally, any other inter-ORB protocols. Controls IIOP network traffic to enable controlled use from the Internet of selected CORBA-based applications. Enables the use of CORBA across the Internet while maintaining security.
DCE/CORBA Interworking A specification for integrating legacy DCE applications into CORBA environments. Provides application level interworking between CORBA clients interacting with DCE servers, DCE clients interacting with CORBA servers, and CORBA services implemented using DCE services. Provides a roadmap for people and organizations with investments in DCE systems.
spacer