190 likes | 204 Views
Learn about distributed computing involving multiple computers, their role in computation, and key technologies and middleware. Explore examples, advantages, and types of middleware in today's distributed systems environment.
E N D
CS- 492 : Distributed system & Parallel Processing Lecture 3: Sun: 16/4/1435Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas k.albasheir@sau.edu.sa
distributed computing distributed computing is any computing that involvesmultiple computersremote from each other that each have a role in a computation problem or information processing. or distributed 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
Why distributed computing? Economics: distributed systems allow the pooling of resources, including CPU cycles, data storage, input/output devices, and services. 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 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
“Fat Client” • “Thin Client” and “3-Tier (N-Tier)” File Server Data Management Data Management Business Logic/Rules Business Logic/Rules Application Architecture Application Architecture Presentation Presentation PC PC Distributed Computing Models Server(s) and/or mainframe(s) Note: Even though the figure depicts 3 physical tiers, 2 or more will accomplish the same result. = Network with Middleware on both ends
The Weaknesses and Strengths of DistributedComputing • 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
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 Application Application API’s Middleware (DistributedSystems Services) Platform Interface Platform Interface Platform • OS Platform • OS Network Interface Network 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.