Cobra Case Study - Distributed Operating Systems - Lecture Slides, Slides of Computer Science

These are the Lecture Slides of Distributed Operating Systems which includes Neumann Bottleneck, Networked Information, Memory Hierarchy, Evidence, Latency, Communication, Intelligent Service, Communication Latency, Routing Path etc.Key important points are: Cobra Case Study, Specification, Object Management Group, Founded, Eleven Corporations, Specification, Permit Communications, Implementations, Utilize Object-Oriented, Distributed Systems

Typology: Slides

2012/2013

Uploaded on 03/27/2013

ekana
ekana 🇮🇳

4

(44)

370 documents

1 / 20

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CORBA Case Study
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14

Partial preview of the text

Download Cobra Case Study - Distributed Operating Systems - Lecture Slides and more Slides Computer Science in PDF only on Docsity!

CORBA Case Study

History

  • The CORBA (Common Object Request Broker

Architecture) specification was developed in 1991

by the Object Management Group (OMG).

  • The OMG was founded by eleven corporations to

develop CORBA.

  • CORBA 2.0 specification (introduced in 1996)

permit communications between

implementations made by different developers.

Definitions

  • CDR – Common Data Representation: A external data representation of all data types that can be used as arguments or return values in remote invocations.
  • CORBA – Common Object Request Broker Architecture: An Object Request Broker (ORB) architecture specification for distributed object systems.
  • GIOP – General Inter-ORB Protocol: CORBA 2.0 standard that enables different developer implementations to communicate with each other.
  • IDL – Interface Definition Language: An interfacing programming language that that allow communication across a heterogeneous distributed system.

Definitions (cont.)

  • IIOP – Internet Inter-ORB Protocol: Internet version of GIOP that use the TCP/IP protocol.
  • Marshalling: The process of taking a collection of data items and assembling them into a form suitable for transmission in a message.
  • Middleware: A software layer that provides a programming abstraction as well as masking the heterogeneity of the underlying networks, hardware, operating systems, and programming languages.
  • OMG – Object Management Group: The organization that developed and maintains CORBA
  • POS – Persistent Object Service: A persistent object store for CORBA where objects that live between processes activations can be stored.

CORBA RMI Features

  • The CORBA RMI consists of the following main

components:

  • An interface definition language (IDL)
  • An architecture (discussed in Structure )
  • The General Inter-ORB Protocol (GIOP)
  • The Internet Inter-ORB Protocol (IIOP)

CORBA IDL Features

  • Provides an interface consisting of a name and a

set of methods that a client can request.

  • IDL supports fifteen primitive types, constructed

types and a special type called Object.

  • Primitive types: short, long, unsigned short, unsigned long, float, double, char, boolean, octet , and any.
  • Constructed types such as arrays and sequences must be defined using typedefs and passed by value.
  • Interfaces and other IDL type definitions can be

grouped into logical units called modules.

CORBA Services

  • Set of generic service specifications useful for

distributed applications. Each discussed in Chapter 17.3 and documentation provided @ OMG site.

  • CORBA Naming Service - essential to any ORB
  • CORBA Event Service - define inferfaces
  • CORBA Notification Service - extention of event service
  • CORBA Security Service - controls access
  • CORBA Trading Service - allows locatation by attribute
  • CORBA Transaction and Concurrency Control Docsity.com

CORBA RMI Structure

Client Server ProgramClient^ Proxy for A ORBcore ORBcore Objectadapter

(^) ServantA skeleton

Implementationrepository

repositoryInterface

Request Reply

Structure - Object Adapter

  • Object Adapter (server)
    • Bridges the gap between CORBA objects and the programming language interfaces of the servant classes.
    • Creates remoter object references for the CORBA objects
    • Dispatches each RMI to the appropriate servant class via a skeleton, and activates objects.
    • Assigns a unique name to itself and each object
    • Called the Portable Object Adapter in CORBA 2.
      • processes can run on ORB’s produced by different Docsity.com

Structure - Skeletons and Proxies

  • Skeletons (server)
    • An IDL compiler generates skeleton classes in the server’s language.
    • Dispatch RMI’s to the appropriate servant class.
  • Client Proxies / Stubs
    • Generated by an IDL compiler in the client language.
    • A proxy class is created for object oriented languages
    • Stub procedures are created for procedural

How to use CORBA

  • Server must include IDL interfaces in the form

of servant classes.

  • An interface compiler generates:
    • the program(Java or C++) interfaces
    • server skeletons for each IDL interface
    • proxy classes (or client stubs) for each IDL interface
    • A Java / C++ class for IDL defined struct
    • helper classes for each IDL defined type

How to use CORBA (cont.)

  • Server
    • Creates and initializes the ORB
    • Creates an instance of servant class, which is registered with the ORB. Servant class extends the corresponding skeleton class and implementation methods of an IDL interface.
    • Makes a CORBA object
  • Client
    • Creates and initializes the ORB
    • Contacts Naming service to get reference to the server
    • Invokes methods on the server

Significant Points

  • Harder to use than a single language RMI such as

JAVA.

  • Compatible with various languages and operating

systems.

  • CORBA’s IDL is the crucial part because it permits

communication on a heterogeneous distributed

system.

  • The OMG consists of several companies that

maintain compatibility and standardization of the

CORBA system.

Summary

  • The OMG developed CORBA for distributed

object systems that will work on a heterogeneous

distributed system.

  • CORBA consists of many parts and services that

are useful for distributed applications.

  • The IDL portion is the crucial part that makes

CORBA a language independent middleware.

  • CORBA includes generic service specifications

useful in implementing distributed applications.