• No results found

Distributed Systems Architecture

N/A
N/A
Protected

Academic year: 2020

Share "Distributed Systems Architecture"

Copied!
47
0
0

Loading.... (view fulltext now)

Full text

(1)
(2)

Centralized systems: Data, Process and

Interface components of an information

system are central. Users interact with the

system via terminals or terminal emulators.

– A single computer with one ore more CPUs processes all incoming request

– Problems with cost, reliability

– Specification and implementation are defined within a single system

(3)
(4)
(5)

Distributed System Architecture

Distributed System: Data, Process, and Interface components of an information system are distributed to multiple locations in a computer network. Accordingly, the processing workload is distributed across the network.

– Set of separate computers that are capable of autonomous operation,

link by a computer network.

– Enable individual computers (different location) to share resources in

the network

– Server implementation for the same interface located in different

servers.

(6)
(7)

Advantages of DSA

• Companies are preferring their system decentralized and

distributed, because Distributed System allows companies to have better customer services.

Shareability: Allows systems to use each other’s resources

Expandability: Permits new systems to be added as members of the

overall system

Local Autonomy: Manage local resources

Improved performance: Resource replication. Combined processing

power of multiple computers provides much more processing power than a centralised system with multiple CPUs

Improved reliability and availability: Disruption would not stop the

whole system from providing its services as resources spread across multiple computers

(8)

Client / Server

Client/server is a distributed computing model in which client applications request services from server processes. Clients and servers typically run on different computers

interconnected by a computer network.

Client application is a process or program that sends messages to a

server via the network. Those messages request the server to perform a specific task, such as looking up a customer record in a database or returning a portion of a file on the server’s hard disk.

Server process or program listens for client requests that are

transmitted via the network. Servers receive those requests and perform actions such as database queries and reading files.

(9)
(10)
(11)

Three-tier Architectures

• An important design consideration for large client/server systems is

whether a client talks directly to the server, or whether an intermediary

process is introduced in-between the client and the server. The former is a

two-tier architecture, the latter is a three-tier architecture.

In the three-tier architecture, process between Server and client

(intermediary) process is:

– separate the clients and servers.

cache frequently accessed server data to ensure better performance and

scalability.

– Performance can be increased by having the intermediary process to distribute client requests to several servers such that requests execute in parallel.

– The intermediary can also act as a translation service by converting requests and replies to and from a mainframe format, or as a security service that grants server-access only to trusted clients.

(12)
(13)
(14)

Distributed Object Computing

• Distributed object computing is Object-oriented modeling and programming that is applied to the development of

client/server systems.

– Objects are pieces of software that make distributed object computing

accessible through a well defined interface.

– The interface consists of object operations and attributes that are

remote accessible.

– Client applications may connect to a remote instance of the interface

and invoke the operations on the remote object. The remote object acts as a server.

– Client/server objects have to interact with each other even if they are

written in different programming languages and to run on different hardware and operating system platforms.

(15)

Distributed Object Architecture

There is no distinction in a distributed object

architecture between clients and servers

Each distributable entity is an object that

provides services to other objects and receives

services from other objects

Object communication is through a

middleware system called an object request

broker (software bus)

(16)
(17)

Advantages of Distributed Object

Architecture

• It allows the system designer to delay decisions on where and how services should be provided

• It is a very open system architecture that allows new resources to be added to it as required

• The system is flexible and scaleable

• It is possible to reconfigure the system dynamically with objects migrating across the network as

(18)

Distributed Network Organization

Network can be organized over a WAN

WAN consists of a series of LANs connected

together through routers

Individual nodes (machines) in a LAN are

connected to each other through a hub

Each machine on a network can function as

(19)

Network Schematic

WAN Router Hub Computer 1 Computer 2 Computer 3 Computer 4 Computer 5 Router Hub LAN LAN

(20)

Protocol Layers

Protocols are the standard rules for

communications between processes

Network communications requires protocols

to cover high-level application communication

all the way down to wire communication

Complexity is handled by encapsulation in

(21)

TCP/IP Network Model

(22)

TCP/IP Network Model

• Networking is implemented as a series of layered protocols starting at the lowest level (the electronic signals on the wire and the physical cable) up

through the higher levels. • TCP/IP Layers

Layer 1: Link (devices and drivers)Layer 2: Network (IP)

Layer 3: Transport (TCP)

(23)
(24)

Network Schematic

WAN Router Hub Computer 1 Computer 2 Computer 3 Computer 4 Computer 5 Router Hub

(25)

Network Schematic

WAN Router Hub Computer 1 Computer 2 Computer 3 Computer 4 Computer 5 Router Hub

(26)

Network Schematic

WAN Router Hub Computer 1 Computer 2 Computer 3 Computer 4 Computer 5 Router Hub

(27)

Internet Protocol (IP)

IP is the lowest level of network

communication that handles packet

communication between machines

IP is an unreliable protocol where a message

sent is not guaranteed to reach the intended

recipient

Higher level protocols use IP as their basic

communication scheme adding reliability and

other useful features

(28)

Transmission Control Protocol (TCP)

• TCP is a higher level protocol built on top of IP. The vast majority of network traffic take place using the TCP protocol.

• TCP is connection-based – a connection between two nodes is established up front and then messages may be sent in both directions.

The TCP address is a combination of an IP address

that identifies a machine and a port on that machine. Using ports, it’s possible to participate in multiple

independent network communications, even to communicate between different processes on the same machine.

(29)

User Datagram Protocol (UDP)

• UDP is also extends IP with the addition of ports (like TCP).

• UDP is connectionless and unreliable (like IP).

• UDP is less complex and performs better than TCP. • UDP is often used in implementing client/server

applications in distributed systems built over local area networks where the physical connection is over a shorter distance and there is less chance of losing packets.

(30)

Communication

Sharing data is easy when communicating

between two processes that are in the same

address space.

Messages provide for communication without

shared data.

Message - a piece of information that is

passed from one process to another.

One process or the other owns the data at any

(31)
(32)

Sockets

• Sockets is a method for communication between a client program and a server program in a network

• Communicating with sockets is low-level where both the client and server are responsible for ensuring

that the TCP or UDP protocol is followed correctly • Both client and server must correctly code header

information about the message, the message size, the IP address and port number, etc.

(33)

Difficult to reuse code

User Interface Business Logic Data Management Server Client 1 New 1… Adapter 1 New n Adapter n

(34)

Distributed Object Architecture and

TCP

To allow for programming and distributing

objects across distributed networks, TCP is

used with a middleware system

– At the TCP level, all the connections between

objects on networked computers appear identical because the details of routing across hubs,

routers, etc. are all handled at lower levels

– Object communication is through a middleware system

(35)

Distributed Object Architecture and

C/S Model

Client applications are represented by objects

Server applications are represented by objects

Back-end services like database can also be

represented as objects

The role between client and server is not

(36)

Middleware

• A software layer that sits between applications and the network operating system to hide the different underlying platforms

• Provides more distribution transparency

• Instead of communicating through operations on low level sockets and using the interfaces of the local file system, middleware offers services for different

machines to pass each other messages at a higher abstraction level.

(37)
(38)
(39)
(40)
(41)
(42)

Disadvantages of Distributed Object

Architecture

• Multiple protocols may be involved

• Client, server, and back-end services may have to understand, interpret, and translate between

multiple protocols

• Data structures on the client, server, and back-end may conflict with each other and with standard

protocols

• Client, server, and back-end may each be written in a different programming language

(43)

Distributed Object Programming

Techniques

• Java supports both RMI and CORBA

– Remote Method Invocation allows objects in a network to remotely invoke methods of other objects in the same

network

– Objects can be transported across the network using CORBA’s standard protocol, IIOP

– All CORBA objects are filtered through an Object Request Broker (ORB) which allows objects to be translated from one language to another

(44)

RMI Example

RMI calls a method of the remote object

x = remoteObj.MethodA(param); Remote Object

Stub

Remote Reference Layer Transport Layer

(45)

RMI Example

Stub is generated which then sends marshalled

data to receiver

x = remoteObj.MethodA(param); Remote Object

Stub

Remote Reference Layer Transport Layer

(46)

RMI Example

Receiver unmarshals, or decodes, parameters, locates object and calls the method specified by the stub

x = remoteObj.MethodA(param); Remote Object

Stub

Remote Reference Layer Transport Layer

(47)

RMI Example

Receiver retrieves and marshals return value and sends back the encoded info to the stub

x = remoteObj.MethodA(param); Remote Object

Stub

Remote Reference Layer Transport Layer

References

Related documents