Common%20Object%20Request%20Broker%20Architecture%20(CORBA) - PowerPoint PPT Presentation

About This Presentation
Title:

Common%20Object%20Request%20Broker%20Architecture%20(CORBA)

Description:

Specification for a standard O-O architecture for applications ... Marshalls and unmarshalls parameter and results data. Services. Object Life Cycle Management ... – PowerPoint PPT presentation

Number of Views:171
Avg rating:3.0/5.0
Slides: 23
Provided by: dickst
Category:

less

Transcript and Presenter's Notes

Title: Common%20Object%20Request%20Broker%20Architecture%20(CORBA)


1
Common Object Request Broker Architecture (CORBA)
  • CS-328

2
What is CORBA
  • Specification for a standard O-O architecture for
    applications
  • 1990 - Object Management Group publishes Object
    Management Architecture Guide
  • 1991 - Common Object Request Broker Architectural
    Specification

3
CORBAs Goal
  • Integrate existing mainframe applications with
    desktop based tools
  • Access distributed information and resources
    from within desktop tools
  • Make existing business data available as network
    resources
  • Augment desktop applications with custom
    functions and capabilities for a particular
    business
  • Change and evolve network based systems to
    reflect new topologies or resources

4
Distributed Computing
  • Two or more pieces of software sharing
    information
  • could be on same machine
  • could be on different machines on same network
  • could be on different machines on different
    networks
  • based on client/server concepts
  • Benefits
  • sharing of scarce resources
  • load balancing
  • run applications on most appriate hardware
  • Existing Mechanisms - RMI, RPC, Corba, network
    APIs

5
Distributed Object Computing
  • Marriage of Distributed Computing with an Object
    Model
  • Uses a broker to handle messages requests between
    clients and servers
  • broker can choose server that best fits needs of
    client
  • allows separation of interface and
    implementation
  • allows building block approach to development and
    evolution

6
Object Model
  • Provides
  • Abstraction
  • group objects and focus on their similarities
  • Encapsulation
  • hide implementation details from the services
    provided
  • Inheritance
  • ability to pass along (object-to-object)
    capabilities and behaviors
  • Polymorphism
  • ability to substitute objects with matching
    interfaces at run time

7
Object Management Architecture
Application Objects
Common Facilities
Object Request Broker
Object Services
8
What does the ORB do?
  • The ORB provides a communications hub for all
    objects
  • analogous to a hardware bus
  • Provides object services
  • creation, access control and object tracking
  • Common Facilities
  • db access, printing, synchronization, document
    management

9
CORBA Object Communications
  • CORBA Objects communicate via their interfaces
  • Interfaces are defined using Interface Definition
    Language
  • Language independent
  • Designed to be language agnostic
  • Directly maps most common data types
  • There are some datatype mapping problems,
    especially when using different languages for the
    client and server.

10
CORBA Object Communications
IIOP
Object A
Object B
Interface
Interface
11
Conceptually ...
Client
Server
Client
Server
ORB
Client
Server
12
What happens...
  • Server objects register their methods with the
    orb naming service
  • Client binds to the orb naming server for a
    server object method
  • Naming service return location of server object
    and disconnects
  • Client connects to server at returned location

13
Really though...
Registration
ORB
1
Client
Server
Services
2
Client
Server
3
Client
Server
14
3-Tier Client Server
Sockets JavaIDL JavaRMI
JDBC Native
Client
Client
Server
DB
Client
15
3-Tier Advantages
  • Server can manage database connections
    efficiently
  • Client can focus on presentation
  • Server can preformat data for client and focus on
    business logic
  • Running server on high performance hardware can
    improve perceived performance

16
Interface Definition Language
  • In Java we cannot separate a classs definition
    from its implementations as we can in C
  • Header files
  • Implementation files
  • CORBA allows the separation of definition and
    implementation

17
IDL (more)
  • CORBA uses IDL for defining interfaces between
    clients and servers
  • ORB Vendors provide specific IDL compilers for
    supported languages
  • create target language stubs and skeletonsfor
    building CORBA clients and servers
  • C, C, Smalltalk, Java, COBOL

18
IDL/Java type mapping
  • due to differences in heritage IDL and Java types
    dont have a 1 to 1 mapping

long Java int short Java short float Java
float double Java double char Java
char boolean Java boolean octet java
byte string java.lang.String any Special type
consisting of any of the above
19
an IDL interface
  • ex.

interface Cooler int getHotWaterLevel()
int getWarnWaterLevel() int
getColdWaterLevel() exception
NoMoreWaterException int getHotWater()
throws NoMoreWaterException int
getWarmWater() throws NoMoreWaterException
int getColdWater() throws NoMoreWaterException
20
Compiling the IDL
  • Compiling the IDL using the javatoidl compiler
    will produce six classes
  • CoolerRef
  • CoolerHolder
  • CoolerOperations
  • CoolerStub
  • CoolerServant
  • CoolerSkeleton

21
The ORB
  • What is it that the ORB does ?
  • Object location
  • Location transparency
  • Object communications
  • Marshalls and unmarshalls parameter and results
    data
  • Services
  • Object Life Cycle Management
  • Naming
  • Event decoupling
  • Relationship management
  • Externalization
  • Transaction management
  • Concurrency control
  • Property management
  • Trader locating objects based on properties
  • Object query

22
OEM Orb Info
  • The Borland VisiBroker Orb is built into
    Netscape Communicator 4.x but can be purchased
    seperately
  • CORBA 3.0 Compliant
  • Language support C, Java, .NET (C and C)
  • Orbix Orbacus (Progress Software (previously
    Iona Technologies)
  • CORBA 2.6 Compliant
  • Language support - C, C, Java, COBOL,
    Smalltalk, Ada, PL/1, Lisp, Python and IDLscript.
    In additionally mappings for Perl, Objective-C,
    Oberon, Eiffel, Modula3, Scheme, and Tcl.
  • J2SE - org.omg.CORBA ( in the JDK) since JDK 1.3)
  • Provides the mapping of the OMG CORBA APIs to the
    JavaTM programming language, including the class
    ORB
  • class ORB is implemented such that a programmer
    can use it as a fully-functional Object Request
    Broker (ORB).
Write a Comment
User Comments (0)
About PowerShow.com