Title: CORBA
1CORBA
Common Object Request Broker Architecture
taking objects a step further!
2- Rapid changes in HW and OS lead to advantages
of client/server systems - Result greater system complexity, user demand,
management expectations - Additional pressure from the necessity to
maintain legacy systems
3Object Management Group, (OMG) formed in 1989
Focus on integration of systems and applications
across heterogeneous platforms
After soliciting input, CORBA standard was
defined and introduced in 1991
4CORBA
PROVIDES HIGH-LEVEL OBJECT ORIENTED INTERFACE!!!
The only REAL competitor is, of course
MICROSOFT DCOM
5CORBA
allows applications and their objects to
communicate with each other no matter where they
are and or who designed them!!
6- When introduced in 1991, CORBA defined the
Interface Design Language, (IDL), and
Application Programming Interface, (API) - These allow client/server interaction within a
specific implementation of an Object Request
Broker, (ORB)
7IDL...
A technology independent syntax for describing
object encapsulation
ltspecificationgt ltdefinitiongt ltdefinitiongt
lttype_dclgt
ltconst_dclgt ltexcept_dclgt
ltinterfacegt
ltmodulegt
An example of the syntax
8CORBA...
it even has its own hello world!!
import HelloWorld. public class
HelloWorldImpl implements SimpleHelloWorldServan
t private final java.lang.String
myString "Hello World!" public
synchronized java.lang.String sayHello()
throws sunw.corba.SystemException
return myString
The first thing we must do is define the
interface to the serving object in OMG IDL
ifndef _HELLOWORLD_IDL define
_HELLOWORLD_IDL module HelloWorld
interface SimpleHelloWorld string
sayHello() endif
9ORB is middleware
Based on client/server model of distributed
computing, CORBA inserts a broker between
client and server
10Broker provides basic messaging and communication
between client and server, insulating
applications from the specifics of the system
configuration
Client transparently invokes methods on server,
either on same machine or across network
11The ORB
- returns results or error messages
REGARDLESS OF THE OBJECTS LOCATION, ITS
PROGRAMMING LANGUAGE OR EVEN THE OPERATING
SYSTEMS INVOLVED!!
12IDL generates stubs and skeleton programs for
each interface
Stub acts like a local function call, providing
interface to ORB
Skeleton is server side implementation of IDL
interface
13Skeletons and stubs
return the results and error messages
14The role of CORBA and the ORB are defined in the
Object Management Architecture
Included within the OMA are four object
categories
15The four categories of the OMA
- CORBAservices creation/movement of objects,
queries/transactions, concurrency control,
directory servi ces
- CORBAdomains are vertical market standards.
For example financial, medical,
telecommunications and manufacturing
- CORBAfacilities include compound document and
system management. Both can be applied across
multiple vertical domains for added
functionality
- Applications user defined and proprietary
interfaces
16The result?
- Programmer free to design system as they see
fit, ORB defines application protocol via IDL
- Programmer free to choose language, environment
and OS
- ORB allows integration of existing components
into a network object architecture
- now possible to integrate existing systems with
off-the- shelf products
CORBA...
represents the next step in software re-use