19
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas [email protected] CS- 492 : Distributed system & Parallel Processing

Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas [email protected] CS- 492 : Distributed system

Embed Size (px)

Citation preview

Page 1: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Lecture 3: Sun: 16/4/1435

Distributed Computing Technologies and Middleware

Lecturer/ Kawther Abas

[email protected]

CS- 492 : Distributed system & Parallel Processing

Page 2: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

distributed computing

distributed computing is any computing that involves multiple computers remote from each

other that each have a role in a computation problem or information processing.

ordistributed computing is a Parts of an application

run on multiple computers simultaneously

Page 3: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Computers in a distributed system

• Workstations: computers used by end-users to perform computing (desktops or laptops)

• Server machines: computers which provide resources and services

• Personal Digital Assistants (PDAs): handheld computers connected to the system via a wireless communication link.

Page 4: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Examples of distributed systems and applications of distributed computing

• Examples of distributed systems and applications of distributed computing include the following:[24]

• Telecommunication networks: – Telephone networks and cellular networks – Computer networks such as the Internet – Wireless sensor networks – Routing algorithms

• Network applications: – World wide web and peer-to-peer networks – Massively multiplayer online games and virtual reality communities – Distributed databases and distributed database management systems – Network file systems – Distributed information processing systems such as banking systems

and airline reservation systems

Page 5: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Centralized vs. distributed computing

m ain f r am e c o m p u terw o rk s ta tio n

n etw o rk h o s t

n e tw o rk lin k

term in al

ce n tra lize d co m pu t in gdis tribu te d co m pu t in g

Page 6: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

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

Page 7: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Distributed Computing Models

DataManagement

DataManagement

BusinessLogic/Rules

BusinessLogic/Rules

PresentationPresentationAp

pli

ca

tio

n A

rch

ite

ctu

reA

pp

lic

ati

on

Arc

hit

ec

ture

FileFileServerServer

PCPC

• “Fat Client” • “Thin Client” and “3-Tier (N-Tier)”

Ap

pli

ca

tio

n A

rch

ite

ctu

reA

pp

lic

ati

on

Arc

hit

ec

ture

PCPC

DataManagement

DataManagement

BusinessLogic/Rules

BusinessLogic/Rules

PresentationPresentation

Server(s)and/ormainframe(s)

Note: Eventhough thefigure depicts3 physical tiers,2 or more willaccomplish thesame result.

= Network with Middleware on both ends

Page 8: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

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

Page 9: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Middleware Technologies

Page 10: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Introduction

• Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple networked machines.

• Middleware Application Programming Interfaces provide a more functional set of capabilities than the OS and network services provide on their own.

Page 11: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Middleware Architecture

Platform– OS

Platform– OS

Middleware (Distributed Systems Services)

API’s

Platform Interface Platform Interface

Application Application

Network InterfaceNetwork Interface

Page 12: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Types of Middleware

• There are four basic types of middleware– Transaction Processing Monitor (TP)– Remote Procedure Call (RPC)– Message-Oriented Middleware (MOM)– Object Request Broker (ORB)

Page 13: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Role of Middleware (MW)

• In some early research systems: MW tried to provide the illusion that a collection of separate machines was a single computer.

• Today: – clustering software allows independent computers

to work together closely

– MW also supports seamless access to remote services, doesn’t try to look like a general-purpose OS

Page 14: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Middleware Examples

• All of the previous examples on another computer with a different operating system– The communicating programs support

communication across a network:

• They provide protocols that allow a program running on one kind of computer, using one kind of operating system, to call a program running must be running the same middleware.

Page 15: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Middleware Examples

• CORBA (Common Object Request Broker Architecture)

• DCOM (Distributed Component Object Management) – being replaced by .net

• Sun’s ONC RPC (Remote Procedure Call)

• RMI (Remote Method Invocation)

• SOAP (Simple Object Access Protocol)

Page 16: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

CORBA• “CORBA is the acronym for Common Object

Request Broker Architecture, OMG's open, vendor-independent architecture and infrastructure that computer applications use to work together over networks. Using the standard protocol IIOP, a CORBA-based program from any vendor, on almost any computer, operating system, programming language, and network, can interoperate with a CORBA-based program from the same or another vendor, on almost any other computer, operating system, programming language, and network.”

Page 17: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

ONC RPC

• “ONC RPC, short for Open Network Computing Remote Procedure Call, is a widely deployed remote procedure call system. ONC was originally developed by Sun Microsystems as part of their Network File System project, and is sometimes referred to as Sun ONC or Sun RPC.”

Page 18: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Simple Object Access Protocol

• SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses. SOAP can potentially be used in combination with a variety of other protocols; however, the only bindings defined in this document describe how to use SOAP in combination with HTTP and HTTP Extension Framework.

Page 19: Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa CS- 492 : Distributed system

Thank You!