|

| |

| 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. |
|
|
|
|