Today: More Case Studies DCOM

Similar documents
Distributed Middleware. Distributed Objects

Electronic Payment Systems (1) E-cash

Limitations of Object-Based Middleware. Components in CORBA. The CORBA Component Model. CORBA Component

Distributed Systems Principles and Paradigms

Page 1. CS 194: Distributed Systems Distributed Coordination-based Systems. Coordination Systems. Taxonomy of Coordination Models

Distributed Object-Based. Systems. Chapter 9

Lecture 5: Object Interaction: RMI and RPC

CPE731 Distributed System Models

Distributed Objects and Remote Invocation. Programming Models for Distributed Applications

Today: Distributed Middleware. Middleware

Computer and Automation Research Institute Hungarian Academy of Sciences. Jini and the Grid. P. Kacsuk

MONitoring Agents using a Large Integrated Services Architecture. Iosif Legrand California Institute of Technology

Distributed Technologies - overview & GIPSY Communication Procedure

1.264 Lecture 16. Legacy Middleware

Distributed Objects. Object-Oriented Application Development

Today: Distributed Objects. Distributed Objects

CORBA and COM TIP. Two practical techniques for object composition. X LIU, School of Computing, Napier University

Java Beans Component APIs for Java. Graham Hamilton JavaSoft

Adaptive Cluster Computing using JavaSpaces

Lecture 06: Distributed Object

DISTRIBUTED SYSTEMS [COMP9243] Distributed Object based: Lecture 7: Middleware. Slide 1. Slide 3. Message-oriented: MIDDLEWARE

Overview. Communication types and role of Middleware Remote Procedure Call (RPC) Message Oriented Communication Multicasting 2/36

DS 2009: middleware. David Evans

RPC flow. 4.3 Remote procedure calls IDL. RPC components. Procedure. Program. sum (j,k) int j,k; {return j+k;} i = sum (3,7); Local procedure call

CptS 464/564 Lecture 18

Distributed Object-Based Systems The WWW Architecture Web Services Handout 11 Part(a) EECS 591 Farnam Jahanian University of Michigan.

Jini Technology Overview

Chapter 4. Internet Applications

Distributed Programming in Java

COM+ OVERVIEW OF MICROSOFTS COM, DCOM AND COM+ COMPONENT TECHNOLOGIES DCOM - COM+ Peter R. Egli peteregli.net. peteregli.net. 1/20 Rev. 1.

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech

Interconnection of Distributed Components: An Overview of Current Middleware Solutions *

Chapter 3 Introduction to Distributed Objects

A Tutorial on The Jini Technology

Trading Services for Distributed Enterprise Communications. Dr. Jean-Claude Franchitti. Presentation Agenda

Chapter 2 Architectures. Software Architectures

Page 1. Extreme Java G Session 8 - Sub-Topic 2 OMA Trading Services

Distributed Systems Lecture 2 1. External Data Representation and Marshalling (Sec. 4.3) Request reply protocol (failure modes) (Sec. 4.

Chapter 4 Communication

Mobile Computing (3C05) Outline. Introduction

Chapter 5: Distributed objects and remote invocation

Distributed Systems Middleware

Verteilte Systeme (Distributed Systems)

DCOM CORBA EJB DCOM CORBA CORBA EJB DCOM EJB

KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR (ODD SEMESTER) QUESTION BANK

Distributed Systems Question Bank UNIT 1 Chapter 1 1. Define distributed systems. What are the significant issues of the distributed systems?

Distributed Object Bridges and Java-based Object Mediator

Distributed Systems/Middleware JavaSpaces

Outline. COM overview. DCOM overview. Comparison DCOM and Corba

Verteilte Systeme (Distributed Systems)

(D)COM Microsoft s response to CORBA. Alessandro RISSO - PS/CO

Advanced Distributed Systems

Iosif Legrand. California Institute of Technology

JavaSpaces technology for distributed communication and collaboration. Chih-Yao Hsieh

Distributed and Cloud Computing

Ubiquitous Computing Summer Supporting distributed applications. Distributed Application. Operating System. Computer Computer Computer.

Using JavaSpaces to create adaptive distributed systems

CHAPTER 7 COM and.net

Appendix A - Glossary(of OO software term s)

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Web Services: A Bridge between CORBA and DCOM

Lecture 15: Network File Systems

Q.1. (a) [4 marks] List and briefly explain four reasons why resource sharing is beneficial.

Linda, JavaSpaces & Jini

A Marriage of Web Services and Reflective Middleware to Solve the Problem of Mobile Client Interoperability

Contents. Mobile Middleware Course. Introduction and Overview Sasu Tarkoma. Lecture Outline. Course Book. Mobile Evolution.

T NAF: Jini & EJB

Today CSCI Remote Method Invocation (RMI) Distributed Objects

Mohsin Qasim Syed Abbas Ali

Unit 7: RPC and Indirect Communication

Introduction to Web Services & SOA

DISTRIBUTED SYSTEMS. Second Edition. Andrew S. Tanenbaum Maarten Van Steen. Vrije Universiteit Amsterdam, 7'he Netherlands PEARSON.

Application Servers G Session 5 - Main Theme Object Management Architectures. Dr. Jean-Claude Franchitti

Unit 18 Database Design Extended Diploma in ICT DATA DICTIONARIES

Naming. Naming. Naming versus Locating Entities. Flat Name-to-Address in a LAN

Customer Network to Cisco WebEx Cloud IP Ranges for Firewall Settings

Indirect Communication

CHAPTER - 4 REMOTE COMMUNICATION

Geoffrey Fox Community Grids Laboratory Indiana University

The Jini architecture. Johan Petrini and Henning Sundvall

Naming in Distributed Systems

Lecture Notes on CASE-Tools: Together

Chapter 10 DISTRIBUTED OBJECT-BASED SYSTEMS

A Performance Evaluation of Distributed Algorithms on Shared Memory and Message Passing Middleware Platforms

Distributed Systems. The main method of distributed object communication is with remote method invocation

CmpE 596: Service-Oriented Computing

Interprocess Communication Tanenbaum, van Steen: Ch2 (Ch3) CoDoKi: Ch2, Ch3, Ch5

Highlighting Intrinsyc s Technologies: Intrinsyc J-Integra Bi-Directional Pure Java-COM Bridge

Publish & Subscribe Larry Rudolph May 3, 2006 SMA 5508 & MIT Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph

Chapter 5 Distributed Objects and Remote Invocation

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

Today CSCI Communication. Communication in Distributed Systems. Communication in Distributed Systems. Remote Procedure Calls (RPC)

Indirect Communication

DISTRIBUTED SYSTEMS [COMP9243] Lecture 7: Middleware MIDDLEWARE. Distributed Object based: Slide 1. Slide 3. Message-oriented: Slide 4

Overview. Distributed Systems. Distributed Software Architecture Using Middleware. Components of a system are not always held on the same host

Introduction to Web Services & SOA

Introduction. ActiveX, OLE, and the Internet

SAS 9.2 Integration Technologies. Overview

Lecture 15: Frameworks for Application-layer Communications

Lecture 15: Frameworks for Application-layer Communications

Transcription:

Today: More Case Studies DCOM Jini Lecture 24, page 1 DCOM Distributed Component Object Model Microsoft s object model (middleware) Lecture 24, page 2

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 Lecture 24, page 3 Object Model The difference between language-defined and binary interfaces. Lecture 24, page 4

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 Lecture 24, page 5 Type Library and Registry The overall architecture of DCOM. Type library == CORBA interface repository Service control manager == CORBA implmentation repository Lecture 24, page 6

Events and Messaging Event processing in DCOM: publish/subscribe paradigm Persistent asynchronous communication: MSFT Message Queuing Lecture 24, page 7 Clients Passing an object reference in DCOM with custom marshaling. Lecture 24, page 8

Monikers: Persistent Objects Step 1 2 3 4 5 6 7 Performer Client Moniker SCM Class object Moniker Object Moniker Description Calls BindMoniker at moniker Looks up associated CLSID and instructs SCM to create object Loads class object Creates object and returns interface pointer to moniker Instructs object to load previously stored state Loads its state from file Returns interface pointer of object to client 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 Lecture 24, page 9 Monikers (2) Moniker type File moniker URL moniker Class moniker Composite moniker Item moniker Pointer moniker Description Reference to an object constructed from a file Reference to an object constructed from a URL Reference to a class object Reference to a composition of monikers Reference to a moniker in a composition Reference to an object in a remote process DCOM-defined moniker types. Lecture 24, page 10

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 Lecture 24, page 11 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 Lecture 24, page 12

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) Lecture 24, page 13 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 Lecture 24, page 14

Overview of Jini The general organization of a JavaSpace in Jini. Lecture 24, page 15 Architecture The layered architecture of a Jini System. Lecture 24, page 16

Communication Events Using events in combination with a JavaSpace Lecture 24, page 17 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 Lecture 24, page 18

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 Lecture 24, page 19 The Jini Lookup Service (1) Field ServiceID Service AttributeSets Description The identifier of the service associated with this item. A (possibly remote) reference to the object implementing the service. A set of tuples describing the service. The organization of a service item. Lecture 24, page 20

The Jini Lookup Service (2) Tuple Type ServiceInfo Location Address Attributes Name, manufacturer, vendor, version, model, serial number Floor, room, building Street, organization, organizational unit, locality, state or province, postal code, country Examples of predefined tuples for service items. Lecture 24, page 21