Beruflich Dokumente
Kultur Dokumente
Architecture)
The Common Object Request Broker Architecture (CORBA) is a standard
defined by the Object Management Group (OMG) designed to facilitate the
communication of systems that are deployed on diverse platforms. CORBA
enables collaboration between systems on different operating systems,
programming languages, and computing hardware. CORBA uses an objectoriented model although the systems that use CORBA do not have to be objectoriented. CORBA is an example of the distributed object paradigm.
CORBA
Tweet
There are several implementations of CORBA, the most widely used being IBM's SOM and
DSOM architectures. CORBA has also been embraced by Netscape as part of its Netscape
ONE (Open Network Environment) platform. Two competing models are Microsoft's
COM and DCOM and Sun Microsystems' RMI.
What is CORBA?
See also: What is Real-time CORBA?
The Common Object Request Broker Architecture (CORBA) is a standard developed by the
Object Management Group (OMG) to provide interoperability among distributed objects.
CORBA is the world's leading middleware solution enabling the exchange of information,
independent of hardware platforms, programming languages, and operating systems. CORBA
is essentially a design specification for an Object Request Broker (ORB), where an ORB
provides the mechanism required for distributed objects to communicate with one another,
whether locally or on remote devices, written in different languages, or at different locations
on a network.
The CORBA Interface Definition Language, or IDL, allows the development of language and
location-independent interfaces to distributed objects. Using CORBA, application
components can communicate with one another no matter where they are located, or who has
designed them. CORBA provides the location transparency to be able to execute these
applications.
CORBA is often described as a "software bus" because it is a software-based communications
interface through which objects are located and accessed. The illustration below identifies the
primary components seen within a CORBA implementation.
Data communication from client to server is accomplished through a well-defined objectoriented interface. The Object Request Broker (ORB) determines the location of the target
object, sends a request to that object, and returns any response back to the caller. Through this
object-oriented technology, developers can take advantage of features such as inheritance,
encapsulation, polymorphism, and runtime dynamic binding. These features allow
applications to be changed, modified and re-used with minimal changes to the parent
interface. The illustration below identifies how a client sends a request to a server through the
ORB:
OMG standard for defining language-neutral APIs and provides the platform-independent
delineation of the interfaces of distributed objects. The ability of the CORBA environments to
provide consistency between clients and servers in heterogeneous environments begins with a
standardized definition of the data and operations constituting the client/server interface. This
standardization mechanism is the IDL, and is used by CORBA to describe the interfaces of
objects.
IDL defines the modules, interfaces and operations for the applications and is not considered
a programming language. The various programming languages, such as Ada, C++, or Java,
supply the implementation of the interface via standardized IDL mappings.
Application Development Using ORBexpress
The basic steps for CORBA development can be seen in the illustration below. This
illustration provides an overview of how the IDL is translated to the corresponding language
(in this example, C++), mapped to the source code, compiled, and then linked with the ORB
library, resulting in the client and server implementation.
When GIOP is sent over TCP/IP, it is called Internet Inter ORB Protocol (IIOP). IIOP is
designed to allow different ORB vendors to interoperate with one another. An example of this
interoperability occurs when there is communication between an enterprise designed ORB,
and a smaller real-time application, utilizing a real-time ORB.
Object Management Group (OMG)
The OMG is a non-profit consortium created in 1989 to promote the theory and practice of
object technology for the development for distributed operating systems. The goal is to
provide a common architectural framework for object-oriented applications based on widely
available interface specifications. With a membership of over 800 members, representing
large and small companies within the computer industry, OMG leads the specification
development efforts of CORBA, OMG IDL, IIOP, OMA, UML, MOF, and CWM
specifications.
The OMG does not produce software or implementation guidelines, only the specifications to
which OMG members respond to in Request For Information (RFI) and Requests for
Proposals (RFP). By managing these specifications, the OMG supports the adoption process
for the member companies interested in advancing the uses and applications of distributed
object-oriented computing.
CORBA Technology and the Java Platform Standard Edition
The Java Platform Standard Edition, v1.4, provides an Object Request Broker (ORB) and two
CORBA programming models that can utilize the Java CORBA ORB and Internet InterORB
Protocol (IIOP). This topic discusses these options for creating and distributing CORBA
technology.
CORBA technology is an integral part of the Java platform. It consists of an Object Request
Broker (ORB), APIs for the RMI programming model, and APIs for the IDL programming
model.
For more information on which specifications are implemented in this release of the Java
platform, see the compliance document.
How does Java SE leverage CORBA
Common Object Request Broker Architecture (CORBA) technology is the open standard for
heterogeneous computing. CORBA complements the Java platform by providing a
distributed object framework, services to support that framework, and interoperability with
other languages. The Java platform complements CORBA by providing a portable, highly
productive implementation environment, and a very robust platform. By combining the Java
platform with CORBA and other key enterprise technologies, the Java Platform is the
ultimate platform for distributed technology solutions.
CORBA standards provide the proven, interoperable infrastructure to the Java platform. IIOP
(Internet Inter-ORB Protocol) manages the communication between the object components
that power the system. The Java platform provides a portable object infrastructure that works
on every major operating system. CORBA provides the network transparency, Java provides
the implementation transparency.
If you have been developing CORBA applications using IDL for some time,
you will probably want to stay in this environment. Create the interfaces
using IDL, and define the client and server applications using the Java
programming language to take advantage of its portabile, highly
productive implementation environment, and its very robust platform.
If you are writing most of your new applications using the Java
programming language, but need to maintain legacy applications written
in other programming languages as well, you will probably want to use
Java RMI with its IIOP compiler option.
In addition to Java IDL and RMI over IIOP, J2EE includes Enterprise JavaBeans
technology (EJB).
Enterprise JavaBeans is part of the Java Platform, Enterprise Edition. The EJB server-side
component model simplifies development of middleware components that are transactional,
scalable, and portable. EJB servers reduce the complexity of developing middleware by
providing automatic support for middleware services such as transactions, security, database
connectivity, and more.
EJBs use RMI over IIOP for their distributed object model, and use the Java Transaction
Service (JTS) for their distributed transaction model. When Enterprise JavaBeans are
implemented using the RMI over IIOP protocol for EJB interoperability in heterogeneous
server environments, the standard mapping of the EJB architecture to CORBA enables the
following interoperability:
A Java client using an ORB from one vendor can access enterprise beans
residing on an EJB server provided by another vendor.
Enterprise beans in one EJB server can access enterprise beans in another
EJB server.
A non-Java platform CORBA client can access any enterprise bean object.