Vous êtes sur la page 1sur 44

CORBA

-by
KAVAN CHHEDA
Introduction
CORBA (Common Object Request Broker
Architecture) is a standard that enables an
object written in one programming language,
running on one platform to interact with objects
across the network that are written in other
programming languages and running on other
platforms.
For example, a client object written in C++
and running under Windows can communicate
with an object on a remote machine written in
Java running under UNIX.
OMG
The CORBA specification was developed by
the Object Management Group (OMG).
The OMG is an international, not-for-profit
group consisting of approximately 800
companies and organizations defining standards
for distributed object computing
CORBA is only one of the specifications they
develop.
History
The OMG was established in 1988 and the initial
CORBA specification came out in 1992. Over the
past 10 years significant revisions have taken place.

Version 2.0, which defined a common protocol


for specifying how implementations from different
vendors can communicate, was released in the mid-
nineties.

The current version of CORBA is 3.0, which


introduced the CORBA Component Model.
Today
Today, CORBA serves as middleware for a
variety of large enterprise level applications.
One of the most important and most frequent
uses is for servers that must handle a large
number of clients, at high hit rates, with high
reliability.
The current users of CORBA are diverse -
including The Weather Channel, GNOME, US
Army, CNN,etc.
Specification vs.
Implementation
CORBA, as defined by the OMG, is a
standard or specification and not a particular
piece of software.
Several implementations of the CORBA
standard exist. Among the most widely used are
IBM’s SOM (a.k.a. SOMobjects) and DSOM
architectures. There are also free
implementations available for general use.
CORBA
An Integrations
implementation of CORBA has been
integrated into Netscape browsers.

CORBA has been built into Netscape ONE


(Open Network Environment) - Netscape’s
application environment based on open internet
standards.

The Enterprise Edition of IBM’s WebSphere (a


software platform to help build and deploy high
performance web sites) integrates CORBA (as
well as Enterprise Java Beans) to build highly
transactional, high-volume e-business applications
Standard Call and
Return
Servant
Client (Server)
App. / Applet

Skeleton
IDL
Stub
POA

ORB IIOP ORB

Client Call
Return Value
CORBACORBA
Architecture
Click to edit Master text styles
Second Level
● Third Level

● Fourth Level

● Fifth Level
1010
Three-tier CORBA
Architecture
The Primary
Elements
IDL
Interface Definition Language
Client / Server CORBA Objects
Abstract objects based upon a concrete
implementation
ORBs
Object Request Brokers
GIOP / IIOP
General and Internet Inter-Object Protocols
Interface Definition
Language
Defines public interface for any CORBA
server.
C++ like syntax
Client and Server implemented based on
compilation of the same IDL (usually)
OMG has defined mappings for:
C, C++, Java, COBOL, Smalltalk, ADA, Lisp, Python, and
IDLscript
Highlighted IDL
Features
Pass by reference and by value
In, out, and inout parameters
Inheritance
Throwing of exceptions
The Any Type
Callbacks
Enables Peer-to-Peer Object Communication.
Also supports:
structs, unions, enumerations, all c++ scalars, arrays,
sequences, octets, strings, constants, and typedefs.
Steps to Write a
CORBA Object in Java
Client / Server
CORBA Objects
CORBA OBJECT
(abstract)

Implementation
Implementation Object
(“CORBA” enabled)

Local Server
Member Object
Object
Local Server
Object
Client / Server
CORBA Objects
Abstract Cont.
Do not have their own implementation. The elements of
a CORBA object (interface, implementation, and
location) are held rendered via other elements.
Implemented via a Servant
A servant is a block of code (usually an instance of a
class) which implements the public interface of the
CORBA object. Depending on the server policies, there
may or may not be multiple instances of the servant
and it may or may not be multi-threaded.
Configured in code or at server startup
Unlike COM+ and EJB the policies for a CORBA object
which control things such as Security, threading, and
persistence are not console configurable
Object Request
Brokers (Orbs)
Responsible for all communication
Locating objects
Transferring invocations and return values
Notifying other ORBs of hosted Objects
Must be able to communicate IDL
invocations via IIOP
If an ORB is OMG compliant, then it is
interoperable with all other OMG compliant
ORBs
Additional ORB
Services
Interface Repository
A Database of all of the IDL for compiled objects running
on the ORB
Implementation Repository
A Database containing policy information and the
implementation details for the CORBA objects running on
the ORB
Load Balancing
Fail-over support
Security
Application in
Software
Projects
Rapid development of API’s
Inter-language and operating system
operability
Legacy system wrappers
IIOP faster than HTTP
Simplifies development of distributed
applications
Drawbacks
Lower Level than COM+/.NET/EJB
Configuration in Code
Steeper Learning Curve than other
solutions.
Object
Management
Architecture(OM
Center of all the activity undertaken
by OMG A)
OMA specifies a range of
architectural entities surrounding the
core ORB, which is CORBA proper
Detailed specifications for each
component and interface category is
populated in OMA reference Model
OMA Reference
Model
CORBA Services

CORBA Services provides basic


functionality, similar to the services
that system library calls do in UNIX.
Functions includes creating objects,
controlling access to objects, keeping
track of relocated objects and to
consistently maintain relationship
between objects.
Horizontal
CORBA Facilities
Horizontal CORBA Facilities sit
between the CORBA services and
Application objects. These
components providing support
across an enterprise and across
business. Four facilities: the Printing
Facilities, the Secure Time Facilities,
the Internationalization Facilities, and
Mobile Agent Facilities.
Domain(Vertical)
CORBA Facilities
Domain CORBA Facilities are the
most exciting work at OMG. Define a
standard interfaces for standard
objects shared by companies within
a specific vertical market(e.g.
healthcare, manufacturing, finance).
Now nine industries have their own
OMG task force.
Application
Objects
Topmost part of the OMA hierarchy.
Provide access to application objects that
can invoke methods on remote objects
through ORB. Application is built from a
large number of basic object classes, new
classes can be generated or specified
provided by CORBA services.
Standardization is not required.
Three Benefits
of using OMA
1. Coding is quicker, so application
can be deployed sooner
2. Applications designed around
discrete services have better
architecture
3. Many OMA implementations have
enterprise characteristics built in:
they’re robust, and they scale
CORBA vs. DCOM

DCOM supports an object-oriented


model, but differs substantially from
classical OO models. DCOM object
provides services through one or
more distinct interfaces.
DCOM is lack of polymorphism,
instead, it constructs application from
binary components.
CORBA vs. DCOM

The major difference is CORBA is an open


specification. DCOM has the potential to
evolve at a faster rate than CORBA
because the politics will be simpler.
CORBA can be deployed far more widely
than DCOM and runs in most current OS
environment, while DCOM is running
almost exclusively in the Windows
environment.
CORBA vs.
JAVA/RMI
Some overlap between these two,
both provide a viable means of
building distributed applications.
CORBA is concerned with interfaces
between objects and applications
modeled as objects, Java is primarily
concerned with the implementation of
these objects.
CORBA vs.
JAVA/RMI
JAVA/RMI systems fall short of
seamless integration because of their
interoperability requirements with
other languages. JAVA/RMI system
assumes the homogeneous
environment of the JVM, which can
only take advantage of Java Object
Model.
Coexistence between CORBA and
Java
The Future of
CORBA
Much easier for developers to build and run
client/server applications written in different
languages using the IDL interface
Compute-domain benefits
Functionality the same as if written to sockets or
some other RPC device
Business-domain benefits
Allows rapid development of full service website
Compute-Domain
Enhancements
in traditional
business
Remote access to all network systems for
employees.
product descriptions
pricing
stock
order placement
customer credit data
Business works smarter, not harder
Business-Domain
Enhancements
for e-business
Builds on compute-domain work
add web functionality to existing internal network
uses CORBA’s IDL to integrate new processes
Development and maintenance of customer
centered e-commerce site is still manageable
for IT department.
Gives business time to sell product, not fix
problems
Companies
Using CORBA
AT&T Today
Late 1990’s developed 20 to 40 systems using CORBA for both
internal and external access
Are certain development time for future projects will be greatly
reduced by building reusable frameworks with the OMG
The Weather Channel
Used CORBA and Linux
System is reliable, low maintenance, offers data logging
Cut software development time from months to weeks
Companies
Using CORBA
Today
Raytheon Company
Needed to update its complex real-time
distributed system
Built new system using C++ and CORBA
Ready to build next generation system
Companies with
Plans to Develop
Using CORBA
Chase Manhattan Bank
Plans to develop wholesale banking service
Will use CORBA and Java-based middleware
Further plans to introduce Java-based mortgage application
service as well as integration with third-party applications possibly
by year’s end
Nokia Telecommunications
Combining use of Orbix and CORBA to continue enhancing
products and manage value added services based on a common
architecture.
NOKIA
“Nokia’s decision [to use CORBA]
highlights the continuing adoption of
CORBA and is recognition of the fast,
effective, scaleable and open approach to
the development of powerful, intelligent,
mission-critical network services that
CORBA offers.”

Colin Newman, VP Marketing at IONA


(Developers of the Orbix ORB)
Advantages of
CORBA
Language Nuetral
Operating system Independent
Freedom From Technology
Strong Data Typing
High Tuning Ability
Drawbacks Of
CORBA
Implementation Incompatibilities
Location Transparency
Design & Process Deficiencies
Firewalls
References

www.oma.org
www.corba.org
developer.java.sun.com/developer/
onlineTraining/corba
http://java.sun.com/developer/Books
/corba/ch11.pdf
Thank You

Vous aimerez peut-être aussi