II. Middleware for Distributed Systems

Slides:



Advertisements
Similar presentations
ESO - Tokyo July, 2005 ALMA Common Software Training- Course Session 1b Distributed Systems G.Chiozzi.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
II. Middleware for Distributed Systems
Common Object Request Broker Architecture (CORBA) By: Sunil Gopinath David Watkins.
CORBA Architecture Nitin Prabhu. Outline CORBA Object Model CORBA Architecture Static Invocation Dynamic Invocation CORBA Communication Model.
1 Distributed Systems Distributed Objects & Remote Invocation CORBA Dr. Sunny Jeong. Mr. Colin Zhang With Thanks.
CORBA - Common Object Request Broker Architecture.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 2: Distributed Software Engineering Using CORBA Dr. Michael R. Lyu.
Seminarium on Component-based Software Engineering Jan Willem Klinkenberg CORBA.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 5: CORBA, COM and Java/RMI Dr. Michael R. Lyu Computer Science &
Netprog CORBA Intro1 CORBA Common Object Request Broker Architecture Based partially on Notes by D. Hollinger and Java Network Programming and Distributed.
Distributed Systems Architectures
A brief look at CORBA. What is CORBA Common Object Request Broker Architecture developed by OMG Combine benefits of OO and distributed computing Distributed.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 11: CORBA.
CORBA Case Study By Jeffrey Oliver March March 17, 2003CORBA Case Study by J. T. Oliver2 History The CORBA (Common Object Request Broker Architecture)
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Distributed Service Architectures Yitao Duan 03/19/2002.
A First Java ORB Application 1  Object Request Broker (ORB)  This is the object manager in CORBA  Mechanisms for specifying interfaces  Interface Definition.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 6: Resolving Heterogeneity Dr. Michael R. Lyu Computer Science &
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
CORBA Chapter 17 Coulouris text. Today’s Topics CORBA History and goals CORBA RMI CORBA services The Distributed Whiteboard Revisited.
Common Object Request Broker Architecture (CORBA) CS-328.
Copyright © 2003 ProsoftTraining. All rights reserved. Distributed Object Computing Using Java and CORBA.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Distributed Systems Architectures
Slide 1 © Ingeniørhøjskolen i Århus ITONK1 CORBA & ICE Introduction.
Cli/Serv.: rmiCORBA/131 Client/Server Distributed Systems v Objectives –introduce rmi and CORBA , Semester 1, RMI and CORBA.
Information Management NTU Interprocess Communication and Middleware.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Objekt orienteret Netværkskommunikation CORBA Introduction & CORBA Programming.
Abhishek Bachchan Vishal Patangia
CORBA IS 8030 – Integrated Computing Environments Dr. Hoganson CORBA Common Object Request Broker Architecture Published by Object Management Group (OMG)
Introduction to CORBA University of Mazandran Science & Tecnology By : Esmaill Khanlarpour January
CORBA/IDL Common Object Resource Broker Architecture (CORBA) Interface Definition Language (IDL) Object Management Group (OMG) ( Specification.
Dynamic Invocation Interface Alternative to using IDL stubs Object cannot distinguish between the two. How is DII different for the programmer?
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
Distributed Objects and Middleware. Sockets and Ports Source: G. Coulouris et al., Distributed Systems: Concepts and Design.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
CORBA Common Object Request Broker Architecture. Basic Architecture A distributed objects architecture. Logically, an object client makes method calls.
CS 240, Prof. Sarwar Slide 1 CS 240: Software Project Fall 2003 Sections 1 & 2 Dr. Badrul M. Sarwar San Jose State University Lecture #23.
Electronic Payment Systems (1)
Common Object Request Broker Architecture (CORBA) The Common Object Request Broker Architecture (CORBA) is a specification of a standard architecture for.
The World Leader in Making Software Work Together ™ Copyright IONA Technologies 1999 Building CORBA Applications (On OS/390 ?) Dusty Rivers Enterprise.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
CS551 - Lecture 11 1 CS551 Object Oriented Middleware (III) (Chap. 5 of EDO) Yugi Lee STB #555 (816)
Objektorienteret Middleware (OOMI)
 Common Object Request Broker Architecture  An industry standard developed by OMG to help in distributed programming.
Distributed Objects and Remote Invocation Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts.
CORBA (Common Object Request Broker Architechture) Aniket Prabhune Varun Saini Balaprasuna Chennupati Lally Singh.
CS551 - Lecture 10 1 CS551 Object Oriented Middleware (II) (Chap. 4 of EDO) Yugi Lee STB #555 (816)
Objektorienteret Netværkskommunikation (ITONK1) CORBA Introduction.
January 25, 2016 First experiences with CORBA Niko Neufeld.
1 Distributed Programming low level: sending data among distributed computations higher level: supporting invocations among distributed computations network.
(C) 2003 University of ManchesterCS31010 Lecture 14: CORBA.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
Topic 5: CORBA RMI Dr. Ayman Srour
Data Sharing Service Kiran Devaram Samatha Gangapuram Harish Maringanti Prashant Shanti Kumar Pradeep Tallogu.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 15 System Architecture III.
CORBA Antonio Vasquez, John Shelton, Nidia, Ruben.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
CORBA: An Overview Mojtaba Hosseini.
Common Object Request Broker Architecture (CORBA)
CORBA Alegria Baquero.
Interface Definition Language
The OMG Approach CORBA, CCM, OMA, and MDA.
CORBA Alegria Baquero.
Lecture 4: RPC Remote Procedure Call Coulouris et al: Chapter 5
Lecture 4: RPC Remote Procedure Call CDK: Chapter 5
Copyright 1999 B.Ramamurthy
Presentation transcript:

II. Middleware for Distributed Systems Outline Principles of Object-Oriented Middleware CORBA, COM and Java/RMI Resolving Heterogeneity Dynamic Object Requests CORBA, COM & Java/RMI

CORBA, COM and Java/RMI Outline CORBA COM Java/RMI

Object Management Architecture Vertical domain-specific interfaces Non-standardized application-specific interfaces Horizontal facility interfaces Domain Interfaces Application Interfaces CORBA facilities Object Request Broker CORBA services General service interfaces CORBA, COM & Java/RMI

Object Management Architecture CORBA Services foundational services for use by developers of implementation objects some published services: Naming Events Transactions Security Trading Common Facilities object services provide functionality for use by objects, CORBA facilities provide standards for services used by applications generic functionality needed by many applications (e.g., printing, document management, email, etc.) Domain Interfaces provide domain-specific objects for vertical application domains Examples: Finance, Healthcare, Manufacturing, Telecom, Electronic Commerce, Transportation CORBA, COM & Java/RMI

Overview of CORBA Objects CORBA objects differ from typical programming language objects: CORBA objects can be located anywhere on a network. CORBA objects (like Java objects) can run on any platform. CORBA objects can be written in any of several languages. CORBA object references are persistent. CORBA object developers need know nothing of where their clients will be, what hardware or OS they will run on, or what language they will be written in. CORBA objects approach universal accessibility. CORBA, COM & Java/RMI

Overview of CORBA Objects A client of an object has access to an object reference for the object, and invokes operations on the object. A client knows only the logical structure of the object according to its interface and experiences the behavior of the object through invocations. Client code has no knowledge of the implementation of the object or which ORB is used to access the implementation. An object implementation provides the semantics of the object, usually by defining data for the object instance and code for the object's methods. CORBA, COM & Java/RMI

Overview of CORBA Object Types CORBA object model is statically typed Object types have a unique name Modules are used to provide scope Nested modules Object types are defined in IDL by interface Interface contains operation, attribute, type and exception Atomic type: boolean, char, short, long, float, string Complex types can be constructed from objects and atomic types Instance of complex types are complex values that do not have identity and cannot be referenced CORBA, COM & Java/RMI

OMG IDL OMG Interface Definition Language (IDL): IDL Structure mappings for many languages/compilers; independent of any particular language/compiler; multiple-inheritance, public interface-structured specification language; not for implementation. primary support for interoperability between static and dynamic requests mechanisms. IDL Structure Module a namespace Interface abstract type multiple inheritance Struct structured data Module auction { exception NotAllowed {}; struct Sale { int price; string item; }; interface Auction { void bid (in long price) raises NotAllowed; } CORBA, COM & Java/RMI

Object Implementation Side Internet InterORB Protocol (IIOP) Role of OMG IDL Client Side Object Implementation Side C COBOL C++ C I D L I D L I D L I D L COBOL Ada I D L ORB I D L ORB I D L Internet InterORB Protocol (IIOP) I D L Ada Small talk I D L I D L I D L I D L Small talk C++ C++ JAVA JAVA CORBA, COM & Java/RMI

Overview of CORBA Object Attributes Attributes make state information of server objects accessible to client objects Attributes are treated as a pair of operations (get and set) All attributes that are declared in the interface are accessible to clients Read-only attributes Constants Read-only for client objects Read-only for server objects Scoping rules Define, then use Forward declarations interface Player; typedef sequence<Player> PlayerList interface Trainer; typedef sequence<Trainer> TrainerList; interface Team { readonly attribute string name; attribute TrainerList coached_by; attribute Club belongs_to; attribute PlayerList players; … }; (**** there is a mistake here ****) CORBA, COM & Java/RMI

Overview of CORBA Object Operations CORBA operations specify the services that clients can request from server objects Operation name Return type List of parameters In Out Inout List of exceptions Accessible to client objects (no private, or protected operations) No overloading interface Team { … string print(); void bookGoalies(in Date d)…; }; CORBA, COM & Java/RMI

CORBA CORBA, COM & Java/RMI

Object Implementation A Request A request consists of: Target object (target object identified by a unique object reference) Operation Parameters (the input, output and in-out parameters defined for the operation; may be specified individually or as a list) Optional request context Results (the result values returned by the operation) Client Object Implementation Client Proxy (stub code) Skeleton code Request ORB CORBA, COM & Java/RMI

Failure Handling Exceptions are used to inform client object about their request failures About 25 system failures User defined exceptions exception PlayerBooked{}; interface Team { … void bookGoalies(in Date d) raises (PlayerBooked); }; CORBA, COM & Java/RMI

Subtypes and Multiple Inheritance CORBA object model support (multiple) inheritance Public inheritance (inherit all) Virtual inheritance (operations are dynamically bound) Object is the root object Conflict resolved at IDL compile time interface Organization{ readonly attribute string name; } interface Club: Organization { exception NotInClub(); attribute TeamList teams; readonly attribute short noOfMembers; void transfer (in Player p) raises (NotInClub); }; CORBA, COM & Java/RMI

Polymorphism CORBA object model support restricted form of polymorphism Inheritance relationship Redefinition only on operations, not on attributes CORBA, COM & Java/RMI