02systroz architekturyid 4088 ppt

background image

Systemy rozproszone

Wykład 2. Wprowadzenie do architektur systemów
rozproszonych

W.
Bartkiewicz

background image

Systemy

jednostanowiskowe

background image

Centralne zarządzanie

zasobami

• Współdzielenie zasobów
• Integracja zasobów
• Redukcja nadmiarowości zasobów
• Integralność zasobów

background image

Architektura monolityczna

(mainframe)

• Skupienie przetwarzania

na wyłącznie na jednym
komputerze

• Ograniczenia w

skalowalności aplikacji

• Ograniczenie do

znakowego interfejsu
użytkownika

background image

Architektura oparta na

serwerze plików

• Aplikacje na PC

współdzielą dane za
pośrednictwem serwera
plików

• Duży ruch w sieci
• Konieczność

synchronizacji dostępu

• Ograniczenie do ok. 12

użytkowników

• Desktopowa obsługa

zbiorów danych

Serwe

r

plikó

w

background image

Architektura klient-serwer

• Centralne zarządzanie

danymi

• Niezależność danych i

aplikacji

• Zmniejszenie ruchu

sieciowego – transport
wyłącznie odpowiedzi na
zapytania, a nie całych
plików

Serw
erDB
MS

Klient
y

Zap

yta

nia

SQ

L

Odpow

ied

zi na

zapytan

ia

background image

Architektura dwuwarstwowa

(gruby klient)

• Interfejs użytkownika

(zarządzanie dialogiem i
prezentacją wyników)

• Zarządzanie danymi
• Logika aplikacji

(przetwarzanie danych,
wykonywanie obliczeń,
itp.)

Serw
erDB
MS

Klient

Zarządza

nie

danymi

Interfejs

użytkownika

Logika aplikacji

background image

Architektura dwuwarstwowa

(gruby klient)

• Dalsze zmniejszenie

ruchu sieciowego

• Większe obciążenie

serwera

• Skalowalność do około

100 użytkowników

Serw
erDB
MS

Klient

Zarządza

nie

danymi

Interfejs

użytkownika

Logika aplikacji

Procedur
y
składowa
ne

Logika

aplikacji

background image

Architektura dwuwarstwowa

(cieńki klient)

• Aplikacje klienckie są

ładowane z serwera

• Nie ma potrzeby ich

dystrybucji

• Nie ma potrzeby ich

instalacji

• Nie ma potrzeby

wersjonowania dla
różnych systemów
operacyjnych

Serw
er
HTTP

Klient

(przegląda

rka)

Zarządzanie

danymi Logika

aplikacji

Interfejs

użytkowni

ka

(webowy)

Żądani

a

HTTP

Stron

y

HTM

L

Serwer

aplikacji

background image

Architektura dwuwarstwowa

(cieńki klient)

• Zwiększone obciążenie

serwera

• Brak zarządzania stanem
• Architektura dobrze

dostosowana do lekkich
aplikacji dla dużej liczby
klientów w sieci rozległej

Serw
er
HTTP

Klient

(przegląda

rka)

Zarządzanie

danymi Logika

aplikacji

Interfejs

użytkowni

ka

(webowy)

Żądani

a

HTTP

Stron

y

HTM

L

Serwer

aplikacji

background image

Architektura dwuwarstwowa

(klient wzbogacony)

• Cieńki klient - formularze

HTML

• Skrypty strony klienta

(JavaScript, VBScript)

• Obiekty (komponenty),

np.. kontrolki Active-X

• Aplety Javy
• Kontrolki webowe .NET

(renderowane jako
HTML+skrypty)

Serw
er
HTTP

Klient

(przegląda

rka)

Zarządzanie

danymi Logika

aplikacji

Interfejs

użytkowni

ka

(webowy)

Żądani

a

HTTP

Stron

y

HTM

L

background image

Architektura dwuwarstwowa

(oprogramowanie serwera)

• Skrypty CGI
• Skrypty serwerowe (PHP,

ASP, JSP, ASP.NET)

• Obiekty serwerowe

(serwelety Javy,
komponenty .NET)

• Rozszerzenia serwera

(np. filtry ISAPI)

Serw
er
HTTP

Klient

(przegląda

rka)

Zarządzanie

danymi Logika

aplikacji

Interfejs

użytkowni

ka

(webowy)

Żądani

a

HTTP

Stron

y

HTM

L

background image

Skrypty CGI

• Aplikacje natywne dla systemu operacyjnego serwera

HTTP lub skryptowe wykonywane przez interpreter
działający poza serwerem HTTP (czyli jako skrypt CGI)

• Uruchamiane przez serwer HTTP jako nowe procesy
• Serwer HTTP przekazuje dane od klienta na wejście

standardowe aplikacji CGI lub poprzez zmienne
środowiskowe

• Problemy efektywnościowe - uruchamianie i kończenie

procesów wymaga zarządzania wieloma zasobami
systemowymi maszyny serwera

• Problemy z bezpieczeństwem – aby serwer mógł

uruchomić skrypt CGI użytkownika zdalny musi mieć
uprawnienia do wykonywania programów w folderze
skryptu

background image

Skrypty serwerowe

(PHP, JSP, ASP, ASP.NET)

• Skrypty interpretowane poprzez interpreter działający

zwykle w trybie rozszerzenia serwera

• Wymagają mniejszej ilości zasobów systemowych –

wykonują się w kontekście serwera

• Po pierwszym wykonaniu zazwyczaj kompilowane do

kodu pośredniego

• Użytkownik uruchamiający skrypt nie musi mieć

nadanych uprawnień do wykonywania programów – w
niektórych serwerach HTTP do uruchamiania skryptów

• Umieszczane jako wstawki między elementami HTML lub

jako odrębne moduły programowe (Code Behind Page)

background image

Obiekty (komponenty)

serwerowe

• Kompilowane do kodu pośredniego komponenty

osadzane w środowisku serwera (i środowisku
komponentowym)

• Serwelety Javy i komponenty .NET
• Tworzone jako odrębne aplikacje lub kompilowane ze

skryptów serwerowych (JSP – serwelety, ASP.NET –
komponenty .NET)

background image

Rozszerzenia serwera HTTP

• Moduły kodu natywnego dla maszyny na której działa

serwer HTTP, uruchamiane w kontekście jego działania

• Dostarczane w postaci bibliotek dynamicznych lub

komponentów natywnych, które proces serwera potrafi
uruchomić (a więc o pewnej standardowej strukturze)

• Typowe przykłady – interpretery skryptów

serwerowych, filtry ISAPI – komponenty COM
rozszerzające funkcjonalność serwera IIS

background image

Grube klienty

• Odciążenie serwera

(rozproszenie przetwarzania),

• Zwiększenie ruchu sieciowego

(przesyłanie całych wyników
zapytań)

• Dla różnych interfejsów

użytkownika (np. webowy i
aplikacyjny) niezbędne jest
zbudowanie w zasadzie dwu
różnych aplikacji

Serw

er

DBM

S

Klienty

Inne

aplikacj

e

background image

Cieńkie klienty

• Zmniejszenie ruchu sieciowe-

go (przesyłanie wyłącznie
wyników przetwarzania)

• Zwiększanie obciążenia

serwera, z którego korzystać
mogą również inne aplikacje

• Zmiana interfejsu

użytkownika wymaga jedynie
zbudowania nowego klienta

Serw

er

DBM

S

Klienty

Inne

aplikacj

e

background image

Architektura trójwarstwowa

• Logika aplikacji umieszczona

jest w warstwie pośredniej
między serwerem danych i
klientem (serwer aplikacji)

• Umożliwia to korzystanie z

zalet cieńkiego klienta bez
konieczności obciążania
serwera bazy danych

Serw

er

DBM

S

Klienty

Inne

aplikacj

e

Serwe

r

aplika

cji

background image

Architektura trójwarstwowa z

warstwą pośrednią na serwerze

HTTP

• Struktura warstwy pośredniej:

– usługi fasady – wiążące

warstwę pośrednią z
interfejsem użytkownika)

– główne usługi logiki

aplikacji (np. kod
przetwarzający
zamówienia, dane klientów,
itp.)

– usługi dostępu do danych

(zarządzające przesyłaniem
zapytań do serwera SQL i
pobieraniem ich wyników)

Klient

aplikacyj

ny

SO

A

P

Serw

er

DBM

S

Z

a

rz

ą

d

za

n

ie

d

a

n

ym

i

Serw

er

HTT

P

L

o

g

ik

a

a

p

li

k

a

cj

i

Klient

webowy

HT

M

L

In

te

rf

e

js

u

ży

tk

o

w

n

ik

a

background image

Architektura trójwarstwowa z

warstwą pośrednią na serwerze

HTTP

• Metody dostępu do danych:

– natywne biblioteki

związane z konkretnym
językiem programowania

– ODBC
– ADO
– ADO.NET
– JDBC

Klient

aplikacyj

ny

SO

A

P

Serw

er

DBM

S

Z

a

rz

ą

d

za

n

ie

d

a

n

ym

i

Serw

er

HTT

P

L

o

g

ik

a

a

p

li

k

a

cj

i

Klient

webowy

HT

M

L

In

te

rf

e

js

u

ży

tk

o

w

n

ik

a

background image

Problem stanu aplikacji

webowej

• W architekturze

dwuwarstwowej serwer DBMS
jest serwerem połączeniowym

• Serwer HTTP jest serwerem

bezpołączeniowym

– w tradycyjnych prostych

aplikacjach webowych
informacja o stanie jest
zbędna

– w bardziej złożonych

aplikacjach trójwarstwowych
informacja o stanie jest
często podstawowa

Klient

aplikacyj

ny

SO

A

P

Serw

er

DBM

S

Z

a

rz

ą

d

za

n

ie

d

a

n

ym

i

Serw

er

HTT

P

L

o

g

ik

a

a

p

li

k

a

cj

i

Klient

webowy

HT

M

L

In

te

rf

e

js

u

ży

tk

o

w

n

ik

a

background image

Problem stanu aplikacji webowej

• Przechowywanie stanu

– w warstwie środkowej

(plikach na serwerze
HTTP)

– w warstwie bazy danych

• Przesyłanie stanu do warstwy

klienta

– żetony cookies
– ukryte zmienne formularzy

Klient

aplikacyj

ny

SO

A

P

Serw

er

DBM

S

Z

a

rz

ą

d

za

n

ie

d

a

n

ym

i

Serw

er

HTT

P

L

o

g

ik

a

a

p

li

k

a

cj

i

Klient

webowy

HT

M

L

In

te

rf

e

js

u

ży

tk

o

w

n

ik

a

background image

Serwisy

webowe

• Standardowe aplikacje webowe

komunikują się z klientem
poprzez komunikaty HTML
(np. generują i przesyłają do
klienta strony HTML)

• Komunikaty HTML mogą być

odbierane również przez
klienty aplikacyjne – wymaga
to jednak analizy przesłanej
strony i „wydłubania” danych

• Web serwisy – rodzaj

komponentów serwerowych
komunikujących się z klientem
aplikacyjnym poprzez
komunikaty SOAP

Klient

aplikacyj

ny

SO

A

P

Serw

er

DBM

S

Z

a

rz

ą

d

za

n

ie

d

a

n

ym

i

Serw

er

HTT

P

L

o

g

ik

a

a

p

li

k

a

cj

i

Klient

webowy

HT

M

L

In

te

rf

e

js

u

ży

tk

o

w

n

ik

a

background image

Serwisy webowe

• SOAP (Simple Object Access

Protocol) – oparty na XML-u

sposób kodowania wywołań

zdalnych podprogramów

• SOAP umożliwia realizację RPC

(Remote Procedure Call)

– klient wywołuje funkcję
– jej nazwa parametry

wywołania kodowane są w

formacie SOAP i przesyłane

do serwera HTTP

– serwer uruchamia

komponent (web serwis),

który wykonuje zakodowaną

funkcję. Wynik jej działania w

formacie SOAP przesyłany

jest do klienta

Klient

aplikacyj

ny

SO

A

P

Serw

er

DBM

S

Z

a

rz

ą

d

za

n

ie

d

a

n

ym

i

Serw

er

HTT

P

L

o

g

ik

a

a

p

li

k

a

cj

i

Klient

webowy

HT

M

L

In

te

rf

e

js

u

ży

tk

o

w

n

ik

a

background image

Rozproszone architektury

Enterprise

• Komponenty i obiekty

rozproszone. Standardowe
formaty:

– CORBA
– COM/DCOM
– Java Beans
– .NET
– Serwisy webowe

• Koordynator transakcji

rozproszonych (np. MTS)

• Usługi kolejkowania

komunikatów (np. MSMQ)

Klient

aplikacyj

ny

SO

A

P

Serw

er

DBM

S

Z

a

rz

ą

d

za

n

ie

d

a

n

ym

i

Serw

er

HTT

P

L

o

g

ik

a

a

p

li

k

a

cj

i

Klient

webowy

HT

M

L

In

te

rf

e

js

u

ży

tk

o

w

n

ik

a

background image

Rozproszone architektury

Enterprise

• Najbardziej znane

środowiska typu
Enterprise:

– CORBA
– Enterprise Java Beans
– COM+/DNA
– .NET
– Web Sphere

Klient

aplikacyj

ny

SO

A

P

Serw

er

DBM

S

Z

a

rz

ą

d

za

n

ie

d

a

n

ym

i

Serw

er

HTT

P

L

o

g

ik

a

a

p

li

k

a

cj

i

Klient

webowy

HT

M

L

In

te

rf

e

js

u

ży

tk

o

w

n

ik

a


Document Outline


Wyszukiwarka

Podobne podstrony:
Architektura komputera ppt
09 Architektura systemow rozproszonychid 8084 ppt
Architecting Presetation Final Release ppt
Architektura Sieci Dostepowych 2 ppt
002 architektur systemow rozproszonychid 2229 ppt
Architektura Sieci Dostępowych 1 ppt
09 Architektura systemow rozproszonychid 8084 ppt
Architecting Presetation Final Release ppt
Architektura Sieci Dostepowych 2 ppt
Architektura systemów komputerowych ppt
03 Sejsmika04 plytkieid 4624 ppt
Choroby układu nerwowego ppt
10 Metody otrzymywania zwierzat transgenicznychid 10950 ppt
10 dźwigniaid 10541 ppt
03 Odświeżanie pamięci DRAMid 4244 ppt

więcej podobnych podstron