introduction to distributed systems and corba slides for csci 3171 lectures e. w. grundke

22
Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

Upload: linette-rose

Post on 18-Jan-2018

229 views

Category:

Documents


0 download

DESCRIPTION

3 Acknowledgement Some slides from : TvS: CDK:

TRANSCRIPT

Page 1: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

Introduction to Distributed Systems

and CORBA Slides for CSCI 3171 Lectures

E. W. Grundke

Page 2: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

2

ReferencesA. Tanenbaum and M. van Steen (TvS)Distributed Systems: Principles and ParadigmsPrentice-Hall 2002

G. Coulouris, J. Dollimore and T. Kindberg (CDK)Distributed System: Concepts and DesignAddison-Wesley 2001

Page 4: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

Distributed Systems

Page 5: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

5

What is a Distributed System?

A collection of independent computers that appears to its users as a single coherent system.

Examples: Distributed object-based systems (CORBA, DCOM)Distributed file systems (NFS)etc.

TvS 1.2

Page 6: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

6

HeterogeneityApplies to all of the following:

– networks• Internet protocols mask the differences between networks

– computer hardware• e.g. data types such as integers can be represented

differently– operating systems

• e.g. the API to IP differs from one OS to another– programming languages

• data structures (arrays, records) can be represented differently

– implementations by different developers• they need agreed standards so as to be able to interwork

CDK Ch. 1.4

Page 7: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

7

Transparency in a Distributed System

Different forms of transparency in a distributed system.

Transparency Description

Access Hide differences in data representation and how a resource is accessed

Location Hide where a resource is located

Migration Hide that a resource may move to another location

Relocation Hide that a resource may be moved to another location while in use

Replication Hide that a resource is replicated

Concurrency Hide that a resource may be shared by several competitive users

Failure Hide the failure and recovery of a resource

Persistence Hide whether a (software) resource is in memory or on disk

TvS 1.4

Page 8: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

8

Layered Protocols: IPLayers, interfaces, and protocols in the Internet model.

Page 9: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

9

Layered Protocols: OSILayers, interfaces, and protocols in the OSI model.

2-1

TvS 2.2

Page 10: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

10

Middleware Protocols

An adapted reference model for networked communication.

2-5

TvS 2.6

Page 11: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

11

MiddlewareA software layer that

– masks the heterogeneity of systems– provides a convenient programming abstraction– provides protocols for providing general-purpose services

to more specific applications, eg.• high-level communication protocols

– remote procedure calls (RPC)– remote method invocation (RMI)

• authentication protocols• authorization protocols• distributed commit protocols• distributed locking protocols

Page 12: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

12

MiddlewareGeneral structure of a distributed system as middleware.

1-22

TvS 1.24

Page 13: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

13

Middleware and Openness

In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications.

1.23

TvS 1.25

Page 14: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

14

Middleware Programming ModelsRemote Calls

– remote Procedure Calls (RPC) – distributed objects and Remote Method

Invocation (RMI)• eg. Java RMI

Common Object Request Broker Architecture (CORBA) – cross-language RMI

Other programming models– remote event notification– remote SQL access– distributed transaction processing

CDK Ch 1

Page 15: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

CORBA

(Common Object Request Broker Architecture)

Page 16: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

16

ReferencesA. Tanenbaum and M. van Steen (TvS)Distributed Systems: Principles and ParadigmsPrentice-Hall 2002

G. Coulouris, J. Dollimore and T. Kindberg (CDK)Distributed System: Concepts and DesignAddison-Wesley 2001

Kate Keahey’s Tutorial on CORBAhttp://www.cs.indiana.edu/hyplan/kksiazek/tuto.html

OMG (Object Management Group) Documentationhttp://www.omg.org/

Page 17: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

17

CORBA• Common Object Request Broker Architecture• Language/platform-independent RMI and more• Specification of the OMG (Object Management

Group) – non-profit consortium– formed in 1989– now ~800 members (but not Microsoft)– CORBA 1: 1990– CORBA 2: 1996

• (These slides deal with a small subset only.)

Page 18: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

18

CORBA RMI• ORB (Object Request Broker)

– communication infrastructure• IDL (Interface Definition Language):

– language for describing a remote object’s properties– platform-independent, language-independent– looks like C– declarative only; no implementation

(no executable code)

...

Page 19: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

19

CORBA RMI (cont.)• General Inter-ORB Protocol (GIOP)

– request/reply protocol– incl. an xdr named CDR– remote object references– TCP/IP version is Internet Inter-ORB Protocol

(IIOP) (port 900)• CORBA services

– Naming Service (like Java’s RMI Registry)– Event Service– etc.

...

Page 20: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

20

CORBA RMI (cont.)• CORBA Objects

– exist in the server– accessible by remote object references– implement IDL interfaces– have methods that are callable remotely– can be implemented in non-OO languages

Page 21: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

21

CORBA IDL• Entities

– modules, interfaces, types, attributes, method signatures

• Resembles C/C++– but new keywords: interface, in, out, inout, raises etc.

• Supports C++ preprocessing• Supports inheritance

– interfaces can extend other interfaces• Compiles to stubs/skeletons using language-specific tools

(for java: idlj)– mappings into various languages

(not just OO-languages!)

Page 22: Introduction to Distributed Systems and CORBA Slides for CSCI 3171 Lectures E. W. Grundke

22

CORBA Block DiagramFrom http://www.omg.org/gettingstarted/Images/ORBdiagram.gif: