Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to...

18
Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency
  • date post

    18-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    0

Transcript of Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to...

Page 1: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Objektorienteret Middleware

Presentation 2:Distributed Systems – A brush up, and

relations to Middleware, Heterogeneity & Transparency

Page 2: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Motivation

• We need to establish some common understanding of concepts

• We will use these concepts to measure and compare the different middleware technologies

Page 3: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Agenda

• What is a Distributed System?• We need to have the same definition in mind

• Distributed Systems Characteristics

• Examples of Distributed Systems• We will extract requirements from these

• Distributed System Common Requirements & Concepts• We shall use these requirements to point out relevant

concepts

• Transparency in Distributed System

Page 4: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

What is a Distributed System

• Plenum: What is your definition?

Page 5: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

What is a Distributed System?

• “You know you have one when the crash of a computer you’ve never heard of stops you from getting any work done.” - Leslie Lamport, 1987

Page 6: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

• A distributed system is a collection of autonomous hosts (computers) that are connected through a computer network. Each host executes components and operates a distribution middleware, which enables the components to coordinate their activities in such a way that users perceive the system as a single, integrated computing facility.• Wolfgang Emmerich (2000)

What is a Distributed System?

We will use this definition in OOMI

Page 7: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Common Requirements

• What are we trying to achieve when we construct a distributed system?

• Certain requirements are common to many distributed systems (Emmerich, 2000)• Resource Sharing• Openness & Heterogeneity• Concurrency• Scalability• Fault Tolerance• Transparency

Page 8: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Resource Sharing

• Ability to use any hardware, software or data anywhere in the system

• Resource manager controls access, provides naming scheme and controls concurrency

• Resource sharing model (e.g. client/ server or object-based) describing how: • resources are provided, • they are used and • provider and user interact with each other.

Page 9: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Openness & Heterogeneity

• Openness is concerned with extensions and improvements of distributed systems• Most projects requires systems to be easily extendible and

maintainable, this means the architecture must be “open”• OO Paradigm is renowned for its openness as is component

models – you are already experts• OO middleware thus strives to support openness by birth

• Heterogeneity is about supporting several hardware and software platforms• Some middleware strives to support heterogeneity, but not in

all areas • Differences in data representation of interface types on

different processors (of different vendors) have to be resolved (e.g. UNIX vs Windows)

• Heterogeneity is a key concept to remember

Page 10: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Openness & Heterogeneity

UNIX

Windows NT

Mac OS/X

LINUX

Java

C++

C# Delphi

C Java

Perl

Ada

.NET Remoting

CORBAWeb service

Java RMI

• The vision – everything works with everything

• Reality: highly improbable scenario

Page 11: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Concurrency

• Components in distributed systems are executed in concurrent processes

• Components access and update shared resources (e.g. variables, databases, device drivers)

• Integrity of the system may be violated if concurrent updates are not coordinated

• This also holds true in non-distributed systems (using threads & processes), but here we often have more simulations users• > greater risk of concurrency problems

Page 12: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Scalability

• Adaption of distributed systems to• accomodate more users• respond faster • Usually done in centralized systems by adding more and/or

faster processors• May be done by allowing several nodes to run the same

components and share the load• Load balancing

• Components should not need to be changed when scale of a system increases

• Design components to be scalable!

Page 13: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Fault Tolerance

• Hardware, software and networks fail!

• Distributed systems must maintain availability even at low levels of hardware/software/network reliability

• Fault tolerance is achieved by • recovery

• redundancy

Page 14: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Transparency in Distributed Systems

• Distributed systems should be perceived by users and application programmers as a whole rather than as a collection of cooperating components

• Transparency has different dimensions that were identified by the ANSA project (now part of an ISO standard)• International Standard on Open Distributed Processing

(OPD) (ISO, 1996).

• These represent various properties that distributed systems aim at achieving• … but only partly implement (a ”level-of-transparency”)• We shall use these to characterize the various available

middleware products

Page 15: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Distribution Transparency

Access Transparency

Access Transparency

LocationTransparency

LocationTransparency

ConcurrencyTransparencyConcurrencyTransparency

Migration Transparency

Migration Transparency

Performance TransparencyPerformance Transparency

Scalability Transparency

Scalability Transparency

Replication TransparencyReplication

Transparency

FailureTransparency

FailureTransparency

We may measure the characteristics of middleware technologies on their support for the different dimensions of transparency as shown above.

Page 16: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Access Transparency

• Enables local and remote information objects to be accessed using identical operations.• Example: File system operations in NFS.• Example: Navigation in the Web.• Example: SQL Queries• Example: Distributed Objects

• Makes life easier for the developers• True when making objects distributed• There are pitfalls

Page 17: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Location Transparency

• Enables information objects to be accessed without knowledge of their location.• Example: File system operations in NFS• Example: Pages in the Web• Example: Tables in distributed databases• Example: Objects being moved between servers

• Integral part of replication/migration/scal. transparency

ClientProgram

ClientProgram

Server 1(with object)

Server 1(with object)

Server 2Server 2

NameServer

NameServer

Hard-codedReference(e.g. IP)

ClientProgram

ClientProgram

Server 1(with object)

Server 1(with object)

Server 2Server 2

Hard-codedReference(e.g. IP)

Not easy to move the object to other server

Page 18: Objektorienteret Middleware Presentation 2: Distributed Systems – A brush up, and relations to Middleware, Heterogeneity & Transparency.

Group Work

• At each table 10 minutes:• Discuss the remaining ANSA transparencies• What are the purpose of each• When and where are they relevant• How may they be implemented • Would you do the implementation yourself in a project?