CORBA (COMMON OBJECT REQUEST
BROKER ARCHITECTURE)
CORBA stands for the Common Object Request Broker Architecture.
It is a set of standard mechanisms for naming, locating, and defining objects in
a distributed computing environment .It give permission to programs which
are at
different locations and developed by different vendors to communicate in a
network through an "interface broker." CORBA was developed by a
consortium of vendors through the Object Management
Group (OMG). CORBA is useful because it provide facility to
different separate pieces of software which are written in different languages and running on different
systems to work with
each other like a single application or set of services. The
important concept in CORBA is the Object Request Broker (ORB). ORB support in a network of clients and
servers on different computers means that a client program can
request services from a server program or object without having knowledge of
where is the server is in a distributed network .To make a requests or to
give replies between the ORBs, programs use the General Inter-ORB Protocol
(GIOP) and, for the Internet, its Internet
Inter-ORB Protocol (IIOP). The CORBA
Interface Definition Language, or IDL, gives
permission for the development of language and location-independent interfaces
to distributed objects. Using CORBA, application components can communicate with
each other without knowing where they are located, or who has
designed them. CORBA gives the location transparency to be able to execute these applications.
BENEFITS OF CORBA
1.Language independence:-CORBA supports many
existing languages. CORBA also supports mixing these languages within a single
distributed application. Currently there are many languages supported by
various CORBA providers, the most popular are Java and C++.
2.Freedom from technologies:-CORBA provides the
facility to make a level of the field and allow teams to develop systems and unit
tests that can later be joined together into a whole system. T CORBA allows system elements to be normalized into a single cohesive system model.
3.Operating System independence:-CORBA's design is mean
to make operating system independent .CORBA is support Java (OS-independent), as well as natively for Linux/Unix, Windows, Sun, Mac and
others.
4.CORBA support strong data type:-CORBA provides flexible data typing, for
example an "ANY" data type. CORBA also enforces tightly coupled data typing, reducing human errors. In a situation where
Name-Value pairs are passed around, it is conceivable that a server provides a
number where a string was expected. CORBA Interface Definition Language
provides the mechanism to ensure that user-code conforms to method-names, return-, parameter-types, and exceptions.
USES OF CORBA
CORBA is useful in different situations. As of the easy way
the
CORBA integrates machines from number of many vendors, with sizes ranging from mainframes through minis and desktops to hand-held and embedded
systems, it is the middleware of choice for large (and even not-so-large) enterprises. One of
the most important, and frequent,
uses is in servers those handle large number of clients, at high hit rates,
with high reliability. CORBA is mean to works behind the scenes in the
large rooms of computers for the world's largest websites which we
are use in everyday life. CORBA is not used just for large applications
different versions of CORBA used for different purpose like run real-time systems, and small embedded systems. Thousands of
sites rely on CORBA for enterprise, internet, and other computing.
CORBA COMPONENT MODEL (CCM)
The interaction between client and server is mediated by
object request brokers (ORBs) on both the
client and server sides, communicating typically via IIOP (Internet Inter-ORB Protocol). CORBA objects can be
either collocated with the client or distributed on a remote server, without
affecting their implementation or use. The details are taken care of by
the ORBs.The capabilities of CORBA objects (operations or methods) are
defined using the Interface Definition Language (IDL).
Operations defined on the interface accept input parameters and return values (both
corresponding to some CORBA data-types) and can raise exceptions. The
implementation languages supported by CORBA include C,
C++, Java, Ada95, COBOL as well as some scripting languages such as Perl, Python, Javascript. Furthermore, CORBA is designed to be independent of the OS and
runs on many OS platforms, including Win32, UNIX and
real-time embedded systems. Moreover, the communication protocols used by CORBA for
ORB communication include TCP/IP, IPX/SPX, ATM,
etc.
Life cycle of CORBA application is as follows:
1.Define the service as interfaces in IDL.
2. Compile the IDL to generate client stub and server skeletons,
3. Implement the service and associate it with the skeletons via the portable
object adapter (POA) .
4. Publish the service with a Naming or Trading Service for use by clients.
And client processing involve
1.contact the Naming Service for the desired service and retrieve the
appropriate object reference,
2.invoke operations on the object reference using the IDL-compiler generated
stubs. Alternatively, clients can infer the operations supported by the service
by consulting an interface repository (IR) and dynamically create requests
populating them with the appropriate parameters using the dynamic invocation
interface (DII),
3.process incoming reply or exceptions.
[an error occurred while processing this directive]