Upload
scarlett-bennett
View
219
Download
3
Embed Size (px)
Citation preview
Lecture 3: Sun: 16/4/1435
Distributed Computing Technologies and Middleware
Lecturer/ Kawther Abas
CS- 492 : Distributed system & Parallel Processing
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
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.
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
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
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
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
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
Middleware Technologies
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.
Middleware Architecture
Platform– OS
Platform– OS
Middleware (Distributed Systems Services)
API’s
Platform Interface Platform Interface
Application Application
Network InterfaceNetwork Interface
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)
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
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.
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)
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.”
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.”
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.
Thank You!