Computer Science Lecture 24, page 1 CS677: Distributed OS Today: More Case Studies DCOM Jini.

Slides:



Advertisements
Similar presentations
What is RMI? Remote Method Invocation –A true distributed computing application interface for Java, written to provide easy access to objects existing.
Advertisements

COM vs. CORBA.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Distributed Systems Architectures Slide 1 1 Chapter 9 Distributed Systems Architectures.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Remote Object Invocation Tran, Van Hoai Department of Systems & Networking Faculty of Computer Science & Engineering HCMC University of Technology.
CORBA - Common Object Request Broker Architecture.
Distributed Coordination-Based Systems
Distributed Systems Architectures
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.
1 CS 194: Distributed Systems Distributed Coordination-based Systems Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering.
1 COM/DCOM n Part of Project Presentation (Concept Outline)
CS 447 Distributed Objects Instructor: Shangping Ren.
OCT 1 Master of Information System Management Organizational Communications and Distributed Object Technologies Lecture 5: Distributed Objects.
Communication in Distributed Systems –Part 2
Distributed Coordination-Based Systems Chapter 13
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
Visual Basic: An Object Oriented Approach 12 – Creating and using ActiveX objects.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
L6 - March 1, 2006copyright Thomas Pole , all rights reserved 1 Lecture 6: Software Packaging: Dynamically Integrable Components and Text Ch.
Middleware-Based OS Distributed OS Networked OS 1MEIT Application Distributed Operating System Services Application Network OS.
Introduction to distributed systems Dr. S. Indran 23 January 2004.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
Chapter 3: Objects, Components, and the Web Textbook IT Architectures and Middleware, Second Edition Chris Britton and Peter Bye AIT 600 Jeff Schmitt September.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
COM/DCOM Implementation Basics of: Object creation and access Object Reuse Interface referencing.
9.23 Overview of DCOM The general organization of ActiveX, OLE, and COM.
Introduction to COM and DCOM Organizational Communications and Technologies Prithvi N. Rao H. John Heinz III School of Public Policy and Management Carnegie.
CS 603 DCOM April 5, DCOM – What is it? Start with COM – Component Object Model –Language-independent object interface Add interprocess communication.
COMCOM omponent bject odel After this presentation, you will: Be Able To: Conceptual understanding of COM How it works, What it’s used for Decode Acronyms.
1 Distributed Systems Distributed Objects & Remote Invocation II (CORBA VS DCOM) Dr. Sunny Jeong. With Thanks to.
Information Management NTU Interprocess Communication and Middleware.
Introduction to Distributed Systems Slides for CSCI 3171 Lectures E. W. Grundke.
Distributed Systems Principles and Paradigms Chapter 12 Distributed Coordination-Based Systems 01 Introduction 02 Communication 03 Processes 04 Naming.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Enterprise Integration Patterns CS3300 Fall 2015.
Distributed Coordination-Based Systems Adapted from: "Distributed Systems", Tanenbaum & van Steen, course slides.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
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)
GLOBE DISTRIBUTED SHARED OBJECT. INTRODUCTION  Globe stands for GLobal Object Based Environment.  Globe is different from CORBA and DCOM that it supports.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
JINI Coordination-Based System By Anthony Friel * David Kiernan * Jasper Wood.
Jini Architecture Introduction System Overview An Example.
COM / DCOM Xiaolan Lu Mingzhen Wang Dong Xie. Why COM / DCOM?  Challenges facing the software industry  Component software provides a solution  General.
Seminarium on Component-based Software Engineering Feraaz Imami LIACS – Leiden University Fall 2005 Component Object Model (COM)
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Web Services An Introduction Copyright © Curt Hill.
CORBA AND SOAP Unmesh Kulkarni i2 Group Ashish V. Tendulkar Directory Database integration group ( Persistent Systems Pvt. Ltd.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
Computer Science Lecture 4, page 1 CS677: Distributed OS Last Class: RPCs RPCs make distributed computations look like local computations Issues: –Parameter.
1 Distributed Systems Architectures Distributed object architectures Reference: ©Ian Sommerville 2000 Software Engineering, 6th edition.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Distributed Coordination-Based Systems
Java Distributed Object System
Presentation on Distributed Object-Based Systems
What is RMI? Remote Method Invocation
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Knowledge Byte In this section, you will learn about:
COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require understanding.
Presented By Justas Raslanas
Jim Fawcett CSE775 – Distributed Objects Spring 2007
Presentation transcript:

Computer Science Lecture 24, page 1 CS677: Distributed OS Today: More Case Studies DCOM Jini

Computer Science Lecture 24, page 2 CS677: Distributed OS DCOM Distributed Component Object Model –Microsoft’s object model (middleware)

Computer Science Lecture 24, page 3 CS677: Distributed OS DCOM: History Successor to COM –Developed to support compound documents Word document with excel spreadsheets and images Object linking and embedding (OLE) –Initial version: message passing to pass information between parts –Soon replaced by a more flexible layer: COM ActiveX: OLE plus new features –No good consensus on what exactly does ActiveX contain –Loosely: groups capabilities within applications to support scripting, grouping of objects. DCOM: all of the above, but across machines

Computer Science Lecture 24, page 4 CS677: Distributed OS Object Model The difference between language-defined and binary interfaces.

Computer Science Lecture 24, page 5 CS677: Distributed OS DCOM Object Model DCOM: uses remote object model Supports only binary interfaces –Table of pointers to methods –Uses Microsoft IDL Unlike CORBA, all objects are transient –Delete an object with refcount == 0 Like CORBA, DCOM supports dynamic object invocation

Computer Science Lecture 24, page 6 CS677: Distributed OS Type Library and Registry The overall architecture of DCOM. –Type library == CORBA interface repository –Service control manager == CORBA implmentation repository

Computer Science Lecture 24, page 7 CS677: Distributed OS Events and Messaging Event processing in DCOM: publish/subscribe paradigm Persistent asynchronous communication: MSFT Message Queuing

Computer Science Lecture 24, page 8 CS677: Distributed OS Clients Passing an object reference in DCOM with custom marshaling.

Computer Science Lecture 24, page 9 CS677: Distributed OS Monikers: Persistent Objects By default, DCOM objects are transient Persistent objects implemented using monikers (reference stored on disk) –Has all information to recreate the object at a later time StepPerformerDescription 1ClientCalls BindMoniker at moniker 2Moniker Looks up associated CLSID and instructs SCM to create object 3SCMLoads class object 4Class object Creates object and returns interface pointer to moniker 5MonikerInstructs object to load previously stored state 6ObjectLoads its state from file 7MonikerReturns interface pointer of object to client

Computer Science Lecture 24, page 10 CS677: Distributed OS Monikers (2) DCOM-defined moniker types. Moniker typeDescription File monikerReference to an object constructed from a file URL monikerReference to an object constructed from a URL Class monikerReference to a class object Composite monikerReference to a composition of monikers Item monikerReference to a moniker in a composition Pointer monikerReference to an object in a remote process

Computer Science Lecture 24, page 11 CS677: Distributed OS Naming: Active Directory The general organization of Active Directory –Implemented using LDAP –Distr. System partitioned into domains (uses domain controllers) –Each domain controller has a DNS name –DC registered as LDAP services in DNS

Computer Science Lecture 24, page 12 CS677: Distributed OS Distributed Coordination Motivation –Next generation of systems will be inherently distributed –Main problem: techniques to coordinate various components Emphasis on coordination of activities between components

Computer Science Lecture 24, page 13 CS677: Distributed OS Introduction to Coordination Models Key idea: separation of computation from coordination A taxonomy of coordination models –Direct coordination –Mailbox coordination –Meeting-oriented coordination (publish/subscribe) –Generative (shared tuple space)

Computer Science Lecture 24, page 14 CS677: Distributed OS Jini Case Study Coordination system based on Java –Clients can discover new services as they become available –Example: “intelligent toaster” –Distributed event and notification system Coordination model –Uses JavaSpaces: a shared dataspace that stores tuples Each tuple points to a Java object

Computer Science Lecture 24, page 15 CS677: Distributed OS Overview of Jini The general organization of a JavaSpace in Jini.

Computer Science Lecture 24, page 16 CS677: Distributed OS Architecture The layered architecture of a Jini System.

Computer Science Lecture 24, page 17 CS677: Distributed OS Communication Events Using events in combination with a JavaSpace

Computer Science Lecture 24, page 18 CS677: Distributed OS Processes (1) A JavaSpace can be replicated on all machines. The dotted lines show the partitioning of the JavaSpace into subspaces. a)Tuples are broadcast on WRITE b)READs are local, but the removing of an instance when calling TAKE must be broadcast

Computer Science Lecture 24, page 19 CS677: Distributed OS Processes (2) Unreplicated JavaSpace. a)A WRITE is done locally. b)A READ or TAKE requires the template tuple to be broadcast in order to find a tuple instance

Computer Science Lecture 24, page 20 CS677: Distributed OS The Jini Lookup Service (1) The organization of a service item. FieldDescription ServiceIDThe identifier of the service associated with this item. ServiceA (possibly remote) reference to the object implementing the service. AttributeSetsA set of tuples describing the service.

Computer Science Lecture 24, page 21 CS677: Distributed OS The Jini Lookup Service (2) Examples of predefined tuples for service items. Tuple TypeAttributes ServiceInfoName, manufacturer, vendor, version, model, serial number LocationFloor, room, building Address Street, organization, organizational unit, locality, state or province, postal code, country