Distributed system architecture

YisalKhan1 1,659 views 41 slides Mar 25, 2018
Slide 1
Slide 1 of 41
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41

About This Presentation

A distributed system is a collection of computational and storage devices connected through a communications network. In this type of system, data, software, and users are distributed.


Slide Content

DISTRIBUTED SYSTEM ARCHITECRURE

DISTRIBUTED SYSTEM A distributed system is a collection of computational and storage devices connected through a communications network. In this type of system , data, software, and users are distributed.

Example

Broker architecture pattern INTRODUCTION: Used to structure the distributed software. Responsible for coordinating the communications Forwarding of request from clients. Transmission of results and exceptional A broker can either be invocation-oriented Or message /documents oriented.

Example

Broker ERD

Broker Work’s Coordination communication Controls and interact with client/servers components Maintain the connection between the client and server

Broker architecture components Invoked six types of components C lients: request services of server from broker Servers: register and publish client’s interfaces with the brokers Brokers The broker provides APIs for clients to request, servers to respond, registering or unregistering server components, transferring messages, and locating servers .

Components Bridges : Optional components used for hiding implementation details when two brokers interoperate They can translate requests and parameters from one format to another. A bridge can connect two different networks base on different communication protocols . Stub (client-side proxy): mediates between the client and the broker and provides additional transparency between them marshals parameter values, and unmarshals results from the server

Skeleton (server-side proxy): mediate between the server and the broker. It receives and unpacks the requests, unmarshals the method arguments, and calls the appropriate service.

Advantages: Changeability and extensibility Simplicity for clients to access server and server portability Interoperability via broker bridges Reusability Disadvantages : Inefficiency due to the overhead of proxies

CORBA( Common Object Request Broker Architecture)

RPC (remote Procedure Call)

Problems with distributed system Language dependency Platform dependency

Solution is CORBA Provides language independency Platform independency. A specification or standard which specifies how objects communicate with each other over a network. It is an middle ware base architecture. The ORB(object request broker ) is the heart of distributed component architecture. Allow the developers to define the distributed component architectures without worrying about the underlying network communication and programming language.

Architecture of CORBA

Example of CORBA This example illustrates the basic tasks in building a CORBA distributed application using Java IDL. You will build the classic Hello World program as a distributed application. The Hello World program has a single operation that returns a string to be printed.

1.The client invokes the sayHello method of the HelloServer . 2.The ORB transfers that invocation to the servant object registered for that IDL interface. 3.The servant's sayHello method runs, returning a Java String. 4.The ORB transfers that String back to the client. 5.The client prints the value of the String.

IMPLEMENTATION

Message broker Architecture

  Advantages: • Reusability and maintainability: Loose coupling between the client and server component leads to easy maintenance and extension on both sides. • Flexibility : Invocation-oriented or document-oriented messaging; message heading and body can be altered for specific purposes. Disadvantages: • Overhead, indirection complexity, and difficulty in debugging and testing due to the new protocol stack added

SERVICE ORIENTED ARCHITECTURE (SOA) A service-oriented architecture is essentially a collection of services. These services communicate with each other. The communication can involve either simple data passing or it could involve two or more services coordinating some activity. Some means of connecting services to each other is needed.

Web services The technology of Web Services  is the most likely connection technology of service-oriented architectures . The two key specification standards for web service architecture are the Simple Object Access Protocol (SOAP) and the Web Services Description Language (WSDL).

SOAP SOAP essentially provides the envelope for sending the Web Services messages.   A SOAP message is an XML-based document that is independent of any platform and thus can be transported by many protocols, such as HTTP or SMTP. service protocol, which can deliver requests and responses between services loosely. A connection can be established statically or dynamically .

CASE STUDY

Google Mission statement “to organize the world’s information and make it universally accessible and useful ” Born out of an internet search research project at Stanford, now diversified into cloud computing Provide the cloud services

Cloud services software as a service – Google apps includes Gmail, Google Docs, Google Calendar etc . platform as a service offer distributed system application programming interface (API): protocol used as an interface by software components to communicate with each other – e.g. organizations can use this to develop there own Google Apps.

Middleware software providing services to software applications, beyond that provided by the operating system software layer between the O/S and applications on each side of a distributed computing system in a network – e.g. the dash in “client-server ”

Remote procedure calls

RPC

RPC

GOOGLE FILE SYSTEM

Google File System

Google file System