distributed software systems with corba n.
Skip this Video
Loading SlideShow in 5 Seconds..
Distributed Software Systems with CORBA PowerPoint Presentation
Download Presentation
Distributed Software Systems with CORBA

Loading in 2 Seconds...

play fullscreen
1 / 41

Distributed Software Systems with CORBA - PowerPoint PPT Presentation

  • Uploaded on

Distributed Software Systems with CORBA. Presented by: Shruti Srivastava 05IT6015 Under the guidance of : Prof. Debasis Samanta. What is distributed System?. “A distributed system is a collection of independent computers that appears to its user as a single coherent system”

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Distributed Software Systems with CORBA' - Albert_Lan

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
distributed software systems with corba

Distributed Software Systems with CORBA

Presented by:

Shruti Srivastava


Under the guidance of :

Prof. Debasis Samanta

what is distributed system
What is distributed System?
  • “A distributed system is a collection of independent computers that appears to its user as a single coherent system”

Maartin Van Steen

Andrew S. Tanenbaum

“A Distributed system is one in which components located at networked computers communicate and coordinate their actions only by passing messages”

George Coulouris

Jean Dollimore

Tim Kindberg

characteristics of d s
Characteristics of D.S.
  • Concurrency of components
  • Lack of Global clock
  • Independent failures of components
difficulty in designing d s
Difficulty in designing D.S.
  • Absence of global shared memory
  • Absence of Global Clock
  • Heterogeneity of the components
  • Concurrency of the processes
types of d s architecture





Types of D.S. Architecture
  • Client-server Architecture
distributed object architecture or peer processors


Coordination Code


Coordination Code


Coordination Code

Distributed Object Architecture or peer processors
need of a d s
Need of a D.S.
  • Resource Sharing
  • Higher Performance
  • Fault Tolerance
architectures for ds
Architectures for DS
  • DCOM
  • GLOBE – a file based system
object management group omg
Object Management Group(OMG)
  • Formed in 1989 to adopt the Distributed Object System so that the Object Oriented approach of a programming language can be used to develop software for a Distributed System
  • Has more than 700 members- vendors, developers and end users.
object modeling architecture
Object Modeling Architecture

The OMA is composed of an Object Model and a Reference Model. The Object Model defines how the objects distributed across a heterogeneous environment can be described, while the Reference Model characterizes interactions between those objects.

oma interface categories

Application Interface

Domain Interface

Common Facilities

Object Request Broker



OMA Interface Categories
corba common object request broker architecture 1995
CORBA(Common Object Request Broker Architecture) - 1995
  • “CORBA is a middleware design that allows application programs to communicate with one another irrespective of their programming language, their hardware their software platforms, the network they communicate over and their implementation.”

- George Coulouris, Jean Dollimore, Tim Kindberg

main features of corba
Main Features of CORBA

• ORB Core

• OMG Interface Definition Language (OMG IDL)

• Interface Repository

• Language Mappings

• Stubs and Skeletons

• Dynamic Invocation and Dispatch

• Object Adapters

• Inter-ORB Protocols

orb hides
ORB hides
  • Object Location
  • Object Implementation
  • Object Execution State
  • Object Communication Mechanisms
  • Object Creation
  • Directory Service
  • Convert to String and Back
omg interface definition language
OMG Interface Definition Language


interface Factory


Object create();


IDL is a declarative language, not a programming language, it forces interfaces to be defined separately from object implementations

interface repository
Interface Repository

IDL Specification has to be compiled before it can be used by an application program

Distributed System has to be re-build every time its specification change

This is a problem when an application access a foreign object through a gateway


Interface Repository

- The Interface Repository provides the information about registered IDL interfaces to client and servers that requires it

language mapping
Language Mapping
  • OMG IDL is just a declarative language, not a full-fledged programming language
  • IDL features are mapped to the facilities of a given programming language
  • IDL interfaces map to C++ classes, with operations mapping to member functions of those classes, modules map to C++ namespaces
stubs and skeleton
Stubs and Skeleton
  • A stub is a mechanism that effectively creates and issues requests on behalf of a client
  • A skeleton is a mechanism that delivers requests to the CORBA object implementation
  • Dispatching through stubs and skeletons is often called static invocation
dynamic invocation and dispatch
Dynamic Invocation and Dispatch

Interfaces for dynamic invocation:

• Dynamic Invocation Interface (DII) — supports dynamic client request invocation

• Dynamic Skeleton Interface (DSI) — provides dynamic dispatch to objects

The DII and DSI can be viewed as a generic stub and generic skeleton, respectively.

object adapters
Object Adapters
  • An object adapter is an object that adapts the interface of another object to the interface expected by a caller.
responsibilities of object adapters
Responsibilities of object adapters
  • Object registration
  • Object reference generation
  • Server process activation
  • Object activation
  • Request demultiplexing
  • Object upcalls

- Without object adapters, the ability of CORBA to support diverse object implementation styles would be severely compromised

inter orb protocol
Inter- ORB Protocol
  • General ORB interoperability architecture is based on the General Inter-ORB Protocol (GIOP), which specifies transfer syntax and a standard set of message formats for ORB interoperation over any connection-oriented transport
  • IIOP (Internet IOP)determines how GIOP can be implemented using TCP/IP
  • Is the distributed system predictable in case of failures and asynchronous messaging ? – NO
  • Solution- models like:
    • message queue
    • transaction process
    • virtual synchrony

This model is useful for applications that can be interconnected by an asynchronous, one way, “forward and forget” communication paradigm.

The advantage of the MQ model is that it is easy to use, implement, and understand.

It also supports disconnected operation of mobile equipment

  • They introduce substantial performance overhead and excessive serialization in many situations such as groupware applications and real-time market data feeds.
  • They are hard to program.
virtual synchrony
Virtual Synchrony


  • Failure suspector service
  • Group abstraction

Failure suspector service detects faulty objects on the basis of timeout

It only detects crash failures and assumes that objects fail by crashing without emitting spurious messages

In an asynchronous system it is impossible to distinguish a crashed object from one that is very slow

a scenario
A Scenario:

A client application mistakenly believes a server object as faulty, due to a high temporary load on the server’s machine. However, another client application is able to interact with that server without any problem. Believing the server has crashed, the first client requests the run-time system to create a new instance of the server on another host. The result is that now two servers with an inconsistent internal state exist, and that both clients and servers believe that the system is running correctly. In reality, the clients are submitting update requests to two different servers, which places the system into an inconsistent state

  • Group abstraction of Virtual Synchrony

The object group abstraction allows programmers to assign a single object reference to a set of network objects that implement the same interface

  • Use Roll Forward recovery

It lacks high-level abstraction, standard APIs And framework, so applications may become hard to implement

comparison between corba and dcom




Abstraction Level



Java Integration



OS Platform Support



All Java Implementation


Typed parameter support



Ease of configuration



Comparison between CORBA and DCOM

Distributed method invocation



State across Invocation



Dynamic discovery and

Metadata support



Dynamic Invocation



Performance (remote ping)



Wire level security




Wire level Transaction



Persistent object reference


URL based naming



Multilingual object Invocation



Language- neutral protocol



Intergalactic scaling



Open Standard



  • Distributed System Concept and Design – Coulouris, Dollimore, Kindberg
  • Distributed System Principles and Paradigms – Tannenbaum, Van Steen
  • Software Engineering – Sommerville
  • Client/Server programming with Java and CORBA – Robert Orfall, Dan Harkey
  • Constructing Reliable Distributed Communication Systems with CORBA - Silvano Maffeis, Douglas C. Schmidt
  •  CORBA: Integrating Diverse Applications Within Distributed Heterogeneous Environments - Steve Vinoski, IONA Technologies, Inc.
  • The Open Agent Architecture _ A Framework for Building Distributed Software Systems - David L_ Martin, Adam J_ Cheyer, Douglas B_ Moran
  • www.omg.org