CORBA stands for Common Object Request Broker Architecture.
OMG stands for Object Management Group.
OMG is founded in 1989.
OMG is a not-for-profit organization.
OMG is vendor neutral.
Key Specifications of OMG
UML
CORBA
UML stands for Unified Modeling Language.
CORBA defines a framework for object-oriented distributed applications.
CORBA is defined by a consortium of vendors under the direction of OMG.
CORBA allows distributed programs in different languages and different platforms to interact as though they were in a single programming language on one computer.
CORBA brings advantages of object orientation to distributed systems.
CORBA allows designing a distributed application as a set of cooperating objects and to reuse existing objects.
Java RMI is a programming technology.
CORBA is an integration technology.
Key CORBA Features
Application Development Transparencies
CORBA Interface Definition Language (IDL)
CORBA Services
Interoperability
Application Development Transparencies
Hardware/Language neutral
Vendor neutral
Object oriented paradigm
CORBA Services
Naming
Event
Transaction
Security
ORB stands for Object Request Broker.
ORB is a software component that mediates transfer of messages from a program to an object located on a remote host.
ORB hides underlying network communications from a programmer.
ORB allows you to create software objects whose member functions can be invoked by client programs located anywhere.
In ORB, a server program contains instances of CORBA objects.
When a client invokes a member function on a CORBA object, the ORB
intercepts the function call.
ORB directs the function call across the network to the target object.
The ORB then collects the results from the function call and returns these to the function call.
IDL: Used to generate application code (stubs/skeletons)
IDL: Language neutral (Ada, C++, Java, ...)
IDL is not a programming language.
CORBA Objects: These are standard software objects implemented in any supported language including Java, C++, and Smaltalk.
Each CORBA object has a clearly defined interface specified in CORBA IDL.
The interface definition specifies the member functions available to the client without any assumption about the implementation of the object.
To call a member function on a CORBA object the client needs only the object’s IDL.
Client need not know the object’s implementation, location or operating system on which the object runs.
Interface and implementation can be in two different languages.
Interface abstracts and protects details (trade secret) from client.
Interface offers a means of expressing design without worrying about implementation
Interface is separated from implementation.
IOR stands for by Interoperable Object References.