Introduction to CORBA - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction to CORBA

Description:

OMG IDL support interface inheritance both single and multiple inheritance. OMG IDL is designed to map onto multiple ... CORBA Services (OMG specified) ... – PowerPoint PPT presentation

Number of Views:300
Avg rating:3.0/5.0
Slides: 29
Provided by: defau257
Category:

less

Transcript and Presenter's Notes

Title: Introduction to CORBA


1
Introduction to CORBA
  • Organizational Communications and Technologies
  • Prithvi N. Rao
  • H. John Heinz III School of Public Policy and
    Management
  • Carnegie Mellon University

2
Readings
  • Posting on the Class Web Site

3
Objectives
  • Understand goals of distributed object technology
  • Examine evolution of Software Bus
  • Cite CORBA challenges
  • Review OO support in CORBA

4
Seven Layer Model Revisited
OSI Model
Revised Model
Application
Religion
Presentation
Politics
Session
Finance
Environment
Transport
Network
Stacks
Data Link
Interfaces
Physical
Substrates
5
Evolution of the Software Bus
Remote Msgs
Remote Procedure
Distributed Objects
DLL
LPC
DDE
OLE1.0
OLE2.0
DCOM
DCE
COM/CORBA
NCS RPC
ONC RPC
ONC
CORBA/IIOP
UDP/TCP
SHL
RRBC
JAVA/RMI
IPC
6
Terms
Name
Abbreviation
Purpose
LPC
Local Procedure Call
Parameterized code segments
UDP
User Datagram Protocol
Intermachine messaging
TCP
Transmission Control Protocol
Reliable delivery of UDP messages
Messaging between processes
IPC
Inter-process Communication
SHL
Shared Library/Object
Dynamic Linking of shared code
RRBC
Release to release binary compat.
Support for versioning of shared Libs.
DDE
Dynamic data exchange
uSofts messaging between procs.
DLL
Dynamic Link Library
uSofts shared library/object
OLE 1.0
Object Linking and Embedding
Extension of DDE for windows events
7
Terms
Name
Abbreviation
Purpose
COM
Component Object Model
Extension DLL/C supporting versioning
DCOM
Distributed COM
Extension of OLE2.0 supporting IPC
RPC
Remote Procedure Call
Proxies making RPC look like LPC
NCS RPC
Apollos inter-machine marshalling
Network Computing Service
ONC RPC
Open Network Computing
Suns inter-machine marshalling
Common Object Request Broker Architecture
Extends NCS/DCE for dist. Object comm.
CORBA
Internet Inter-ORB Protocol
CORBA 2.0 standard marshalling protocol
IIOP
RMI
Remote Method Invocation
Dist. Java-java ipc marshalling protocol
SNMP
Simple Network Management Protocol
Remote attribute query mechanism
8
Software Interconnect Bus
Application Objects
Common Facilities
Software Interconnect Bus
Services
9
Distributed Objects
CORBA brings together three technologies
Objects
Remote Procedure Calls
Threaded Execution
10
Why do we care?
  • Interested in heterogeneous distributed
    application development
  • Advanced complexity of applications
  • Security
  • Transactions
  • Naming
  • Open standard development

11
Distributed Objects Combining Three Technologies
Objects Remote Procedure
Calls Threaded Execution
Concurrency Priorities Pre-emption
Inheritance Encapsulation Polymorphism
Distribution Heterogeneity Procedural Model
12
The Basic Idea
  • Take an Object
  • Make it distributable
  • Make it distributed

13
Terminology
  • DistributedObjects and components are dispersed
    across processes that may exist on the same
    machine or located across machines on a network.
  • HeterogeneousApplication whose parts are
    located on machine that vary by hardware or by
    operating system or by programming language.
  • Object-OrientedApplications written using
    objects.

14
CORBA Challenges
  • Presents two challenges of developing distributed
    systems
  • Making distributed application development no
    more difficult than developing centralized
    programs
  • Providing an infrastructure to integrate
    application components into a distributed
    application
  • Challenges are easier said than done due to
  • Partial failures
  • Impact of latency
  • Load balancing
  • Event ordering

15
General ORB Structure
Op(args)
CLIENT
Object Implementation
IDL Skeleton
Object Adapter
Dynamic II
IDL Stubs
ORB Interface
Object Request Broker
16
CORBA Interface Definition Language (IDL)
  • OMG IDL is an object-oriented interface
    definition language
  • Used to specify interface containing methods and
    attributes
  • OMG IDL support interface inheritance both single
    and multiple inheritance
  • OMG IDL is designed to map onto multiple
    programming languages
  • C, C, Smalltalk, COBOL, Modula 3, DCE

17
OMG IDL Compiler
  • OMG IDL compiler generates client stubs and
    server skeletons
  • Stubs and skeletons automate the following
    activities in conjunction with the ORB
  • Client proxy factories
  • Parameter marshalling and unmarshalling
  • Implementation class interface generation
  • Object registration and activation
  • Object location and binding

18
Requesting Service Using CORBA (and DCE)
Application Code
Server Code
Client stub generated by IDL compiler
Server stub generated by IDL compiler
Runtime System
Runtime System
Client
Server
19
CORBA Services (OMG specified)
  • Services essential for implementing objects
  • Concurrency control service protects integrity of
    an objects data when multiple requests to object
    are processed concurrently
  • Event service that supports notification of
    interested parties when program-defined events
    occur
  • Externalization service that supports conversion
    of object state to a form that can be transmitted
    between systems by means other than a request
    broker
  • Life Cycle service that support creation,
    copying, moving and destruction of objects

20
CORBA Services (OMG specified)
  • Naming service that permits object reference to
    be retrieved through associations between names
    and objects and for those associations to be
    created and destroyed
  • Persistent Object service that supports
    persistence of an objects state when the object
    is not active in memory and between application
    executions.
  • Query service that supports operations on sets
    and collections of objects.
  • Relationship services that provides for creating,
    deleting, navigating and managing relationships
    between objects
  • Containment relationship between a folder
    object and document objects contained in that
    folder.

21
CORBA Services (OMG Specified)
  • Transaction service provides support for ensuring
    that a computation consisting of one or more
    operations on one or more objects satisfies the
    requirements of
  • Atomicity in case of failure
  • Isolation transactions run concurrently but
    results are the same as if they ran serially
  • Durability result of successful transaction is
    never lost

22
CORBA Services (OMG specified)
  • Security service that supports authentication,
    authorization, integrity and privacy to degrees
    and using mechanisms yet to be determined.
  • Time service that provides synchronized clocks to
    all objects regardless of location.
  • Collection service that support creation and
    manipulation of collections of objects.
  • Replication service that would provide for the
    explicit replication of objects in a distributed
    environment for the purpose of fault tolerance
    and for management of consistency of replicated
    copies.
  • Trader service that provides matchmaking service
    between clients seeking services and objects
    offering services

23
CORBA and Object Oriented Support
  • EncapsulationData and functions manipulating
    data are encapsulated in object. This enforces
    data hiding since the only way to access an
    objects data is through the operations in the
    objects public interface.

24
CORBA and Object Oriented Support
  • Abstraction
  • Abstraction of common features shared by objects
    in classes. A class definition describes the data
    associated with each instance of the class,
    defines the set of operations that can be invoked
    on an instance of the class and prescribes the
    functions that are executed in response to
    requests for those operations.

25
CORBA and Object Oriented Support
  • InheritanceInheritance of interfaces and
    implementations. This is the mechanism that
    supports the specialization or refinement of
    classes into subclasses. It is also one example
    of reuse inn object-oriented programming.

26
CORBA and Object Oriented Support
  • Polymorphism
  • Polymorphism is the ability for a request to
    specific operation to be handled differently
    depending on the type of object on which it is
    invoked. Example subclasses of a common
    superclass may override functions defined by the
    superclass to differentiate how instances of the
    subclasses and superclass behave.

27
CORBA and Object Oriented Support
  • Creation of new objects and classes
  • Late binding of operation invocations to function
    calls allow programs to be written without regard
    for types objects they will manipulate

28
Summary
  • Examined evolution of distributed object
    technology
  • Introduced CORBA services
  • Examined OO support in CORBA
Write a Comment
User Comments (0)
About PowerShow.com