Distributed Systems - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Distributed Systems

Description:

Title: Distributed Programming IN JAVA Author: hhamad Created Date: 9/22/2003 1:34:07 PM Document presentation format: On-screen Show Company: iugccc – PowerPoint PPT presentation

Number of Views:80
Avg rating:3.0/5.0
Slides: 29
Provided by: hha82
Category:

less

Transcript and Presenter's Notes

Title: Distributed Systems


1
Distributed Systems

2
Instructor
  • Eng. Mohammad Sharaf
  • Email sharaf_at_najah.edu

3
Course Summary
  • This course is intended to apply Java to
    distributed programming.
  • The course will consist of
  • Java as the language for building distributed
    applications.

4
Java, a general-purpose OOP language
  • Java is a great advance over C as a general
    purpose object oriented programming language.
  • Java is a much easier language to learn than
    C.
  • Java has shed the enormous burden imposed by C
    on the developer in the form of memory
    management.

5
Prerequisites
  • There are no formal prerequisites for this
    course, but there are some requirements of common
    sense.
  • Prior knowledge of OOP, OS and NWs is a decided
    advantage

6
Requirements
  • Three home works.
  • 3 home works will be devoted to modeling an ATM
    (standing for "automatic teller machine", not the
    network protocol called "asynchronous transfer
    mode").
  • Term project, the ATM problems will use your Java
    knowledge for building a distributed system, in
    which the bank and the ATM are remote from one
    another.

7
Requirements (CONT)
  • No particular hardware or software platform is
    required. You must have a computing environment.
    You don't even need a network, since your
    processes can all be on one machine, connected by
    network protocol to your "localhost."

8
Text Books
  • Recommended books, you might even consider doing
    without a textbook and relying instead on the
    tutorials available from Sun's website.
  • Core Java 2, Vol. I Fundamentals Horstmann,
    Cornell. Prentice Hall, 2002. ISBN 0130471771.
  • Sun tutorials

9
Text Books (CONT)
  • The Java doc pages for Java. Java itself has
    such a web of pages describing all the classes
    that make up the standard Java libraries.
  • For Part II, Distributed Programming
  • Advanced Java Networking, Dick Steflik, Prshant
    Sridharan, Prentice Hall (www.phptr.com) ISBN
    0-13-084466-7
  • Core Java 2, Volume II Advanced Features, 5th
    Edition, Cay Horstmann, Gary Cornell, 1998, ISBN
    1-56592-206-9.Core Java 2, Vol. II

10
Software
  • There is no specific requirement for software in
    this course. One needs a Java computing
    environment, of course, which means a version of
    the JDK (Java Developers Kit).
  • To establish a computing environment it makes
    sense to use an IDE (Integrated Development
    Environment). There are several in wide use,
    including J-Builder from Inprise (formally
    Borland), and Visual Age from IBM.

11
Software (CONT)
  • Three products bear mention
  • JBuilder from Borland, free home trial,
    bothersome registration required.
  • Visual Cafe Standard Edition 4.1 It's free if you
    are brave enough to give them marketing
    information.
  • NetBeans NetBeans is a modular, standards-based
    integrated development environment (IDE), written
    in Java.
  • Sun Microsystems has released its own IDE
  • Forte For Java. The Community edition is free

12
The contents grouped in sections
  • Java
  • Threads
  • Characterization of Distributed Systems
  • Introduction
  • Examples of Distributed Systems
  • System Models
  • Architectural Models
  • Fundamental Models
  • Distributed Computing
  • Remote Method Invocation (RMI).
  • Common Object Request Broker Architecture
    (CORBA)
  • Internet security

13
Evaluation
  • 30 -- Homework and Programming Assignment
  • 20 -- Term Project and class participation
  • 20 -- Quizzes and Class participation
  • 30 -- final exam

14
Distributed system, distributed computing
  • Early computing was performed on a single
    processor. Uni-processor computing can be called
    centralized computing.
  • A distributed system is a collection of
    independent computers, interconnected via a
    network, capable of collaborating on a task.
  • Distributed computing is computing performed in a
    distributed system.

15
Distributed Systems
16
Examples of Distributed systems
  • Network of workstations (NOW) a group of
    networked personal workstations connected to one
    or more server machines.
  • The Internet
  • An intranet a network of computers and
    workstations within an organization, segregated
    from the Internet via a protective device (a
    firewall).

17
Example of a large-scale distributed system
eBay (Source Los Angeles Times.)
18
An example small-scale distributed system
(Source Los Angeles Times.)
19
Computers in a Distributed System
  • Workstations computers used by end-users to
    perform computing
  • Server machines computers which provide
    resources and services
  • Personal Assistance Devices handheld computers
    connected to the system via a wireless
    communication link.

20
Centralized vs. Distributed Computing
21
Monolithic mainframe applications vs. distributed
applicationsbased on http//www.inprise.com/visibr
oker/papers/distributed/wp.html
  • The monolithic mainframe application
    architecture
  • Separate, single-function applications, such as
    order-entry or billing
  • Applications cannot share data or other resources
  • Developers must create multiple instances of the
    same functionality (service).
  • Proprietary (user) interfaces
  • The distributed application architecture
  • Integrated applications
  • Applications can share resources
  • A single instance of functionality (service) can
    be reused.
  • Common user interfaces

22
Evolution of paradigms
  • Client-server Socket API, remote method
    invocation
  • Distributed objects
  • Object broker CORBA
  • Network service Jini
  • Object space JavaSpaces
  • Mobile agents
  • Message oriented middleware (MOM) Java Message
    Service
  • Collaborative applications

23
Why distributed computing?
  • Economics distributed systems allow the pooling
    of resources, including CPU cycles, data storage,
    input/output devices, and services.
  • Reliability a distributed system allow
    replication of resources and/or services, thus
    reducing service outage due to failures.
  • The Internet has become a universal platform for
    distributed computing.

24
The Weaknesses and Strengths of Distributed
Computing
  • In any form of computing, there is always a
    tradeoff in advantages and disadvantages
  • Some of the reasons for the popularity of
    distributed computing
  • The affordability of computers and availability
    of network access
  • Resource sharing
  • Scalability
  • Fault Tolerance

25
The Weaknesses and Strengths of Distributed
Computing
  • The disadvantages of distributed computing
  • Multiple Points of Failures the failure of one
    or more participating computers, or one or more
    network links, can spell trouble.
  • Security Concerns In a distributed system, there
    are more opportunities for unauthorized attack.

26
Distributed Computing and Three-Tiered
Architecture
  • A distributed application consists of
    collaborating objects residing on separate nodes
    of a network.
  • The application, considered as a whole, is the
    sum total of the running processes that
    participate in providing the services of the
    application, where the processes are distributed
    across multiple machines connected by a network.

27
Distributed Computing and Three-Tiered
Architecture (cont)
  • RMI (Remote Method Invocation) is a facility for
    accessing remote objects, i.e. objects living in
    other Java virtual machines, typically on other
    (actual) machines.
  • CORBA (Common Object Request Broker Architecture)
    is a standard architecture for distributed object
    collaboration, together with a standard
    communication protocol for inter object
    communication,
  • that enables remote-object-access in a
    language-independent way.

28
Distributed Computing and Three-Tiered
Architecture (cont)
  • DCOM (Distributed Component Object Model) is a
    protocol that enables software components to
    communicate directly over a network in a
    reliable, secure, and efficient manner.
Write a Comment
User Comments (0)
About PowerShow.com