Objektorienteret Middleware - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Objektorienteret Middleware

Description:

Objektorienteret Middleware Presentation 2: Distributed Systems A brush up, and relations to Middleware, Heterogeneity & Transparency – PowerPoint PPT presentation

Number of Views:112
Avg rating:3.0/5.0
Slides: 19
Provided by: SW11
Category:

less

Transcript and Presenter's Notes

Title: Objektorienteret Middleware


1
Objektorienteret Middleware
  • Presentation 2
  • Distributed Systems A brush up, and relations
    to Middleware, Heterogeneity Transparency

2
Motivation
  • We need to establish some common understanding of
    concepts
  • We will use these concepts to measure and compare
    the different middleware technologies

3
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

4
What is a Distributed System
  • Plenum What is your definition?

5
What is a Distributed System?
  • You know you have one when the crash of a
    computer youve never heard of stops you from
    getting any work done. - Leslie Lamport, 1987

6
What is a Distributed System?
  • 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)

We will use this definition in OOMI
7
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

8
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.

9
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

10
Openness Heterogeneity
  • The vision everything works with everything
  • Reality highly improbable scenario

C
Java
C
Ada
Web service
CORBA
Mac OS/X
UNIX
Java
Perl
C
Delphi
.NET Remoting
Java RMI
Windows NT
LINUX
11
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
  • gt greater risk of concurrency problems

12
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!

13
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

14
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-transpare
    ncy)
  • We shall use these to characterize the various
    available middleware products

15
Distribution Transparency
Concurrency Transparency
Access Transparency
Location Transparency
We may measure the characteristics of middleware
technologies on their support for the different
dimensions of transparency as shown above.
16
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

17
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

Server 1 (with object)
Server 1 (with object)
Client Program
Client Program
Hard-coded Reference (e.g. IP)
Hard-coded Reference (e.g. IP)
Server 2
Server 2
Name Server
Not easy to move the object to other server
18
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?

19
Concurrency Transparency
  • Enables several processes to operate concurrently
    using shared information objects without
    interference between them
  • We would like it to be handled by the middleware
  • Example NFS
  • Example Automatic teller machine network
  • Example Database management system

20
Replication Transparency
  • Enables multiple instances of information objects
    to be used to increase reliability and
    performance without knowledge of the replicas by
    users or application programs
  • Example Distributed DBMS
  • Example Mirroring Web Pages
  • Relies on location transparency

21
Failure Transparency
  • Enables the concealment of faults
  • Allows users and applications to complete their
    tasks despite the failure of other components.
  • Example Database Management System
  • If system automatically recovers from faulty
    server by supplying the object from another
    server, this is failure transparency

22
Migration Transparency
  • Allows the movement of information objects within
    a system without affecting the operations of
    users or application programs
  • Example NFS
  • Example Web Pages
  • Also relies on location transparency

23
Performance Transparency
  • Allows the system to be reconfigured to improve
    performance as loads vary.
  • May be achieved through by employing activation,
    caching and similar technologies, thus
    automatically boosting performance on critical
    resources

24
Scaling Transparency
  • Allows the system and applications to expand in
    scale without change to the system structure or
    the application algorithms.
  • May rely on replication transparency and thus
    location transparency for achieving this
Write a Comment
User Comments (0)
About PowerShow.com