Systemy rozproszone - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Systemy rozproszone

Description:

... CORBA COM/DCOM Java Beans .NET ... Rozproszone architektury Enterprise Najbardziej znane rodowiska typu Enterprise: CORBA Enterprise Java Beans COM+/DNA ... – PowerPoint PPT presentation

Number of Views:114
Avg rating:3.0/5.0
Slides: 28
Provided by: usr144
Category:

less

Transcript and Presenter's Notes

Title: Systemy rozproszone


1
Systemy rozproszone
Uniwersytet Lódzki Katedra Informatyki
W. Bartkiewicz
  • Wyklad 2. Wprowadzenie do architektur systemów
    rozproszonych

2
Systemy jednostanowiskowe
3
Centralne zarzadzanie zasobami
  • Wspóldzielenie zasobów
  • Integracja zasobów
  • Redukcja nadmiarowosci zasobów
  • Integralnosc zasobów

4
Architektura monolityczna(mainframe)
  • Skupienie przetwarzania na wylacznie na jednym
    komputerze
  • Ograniczenia w skalowalnosci aplikacji
  • Ograniczenie do znakowego interfejsu uzytkownika

5
Architektura oparta na serwerze plików
  • Aplikacje na PC wspóldziela dane za posrednictwem
    serwera plików
  • Duzy ruch w sieci
  • Koniecznosc synchronizacji dostepu
  • Ograniczenie do ok. 12 uzytkowników
  • Desktopowa obsluga zbiorów danych

6
Architektura klient-serwer
  • Centralne zarzadzanie danymi
  • Niezaleznosc danych i aplikacji
  • Zmniejszenie ruchu sieciowego transport
    wylacznie odpowiedzi na zapytania, a nie calych
    plików

7
Architektura dwuwarstwowa(gruby klient)
  • Interfejs uzytkownika (zarzadzanie dialogiem i
    prezentacja wyników)
  • Zarzadzanie danymi
  • Logika aplikacji (przetwarzanie danych,
    wykonywanie obliczen, itp.)

Interfejs uzytkownika Logika aplikacji
8
Architektura dwuwarstwowa(gruby klient)
  • Skalowalnosc do okolo 100 uzytkowników
  • Dalsze zmniejszenie ruchu sieciowego
  • Wieksze obciazenie serwera

Interfejs uzytkownika Logika aplikacji
9
Architektura dwuwarstwowa(cienki klient)
  • Aplikacje klienckie sa ladowane z serwera
  • Nie ma potrzeby ich dystrybucji
  • Nie ma potrzeby ich instalacji
  • Nie ma potrzeby wersjonowania dla róznych
    systemów operacyjnych

Interfejs uzytkownika (webowy)
10
Architektura dwuwarstwowa(cienki klient)
  • Zwiekszone obciazenie serwera
  • Brak zarzadzania stanem
  • Architektura dobrze dostosowana do lekkich
    aplikacji dla duzej liczby klientów w sieci
    rozleglej

Interfejs uzytkownika (webowy)
11
Architektura dwuwarstwowa(klient wzbogacony)
  • Cienki klient - formularze HTML
  • Skrypty strony klienta (JavaScript, VBScript)
  • Obiekty (komponenty), np.. kontrolki Active-X
  • Aplety Javy
  • Kontrolki webowe .NET (renderowane jako
    HTMLskrypty)

Interfejs uzytkownika (webowy)
12
Architektura dwuwarstwowa(oprogramowanie serwera)
  • Skrypty CGI
  • Skrypty serwerowe (PHP, ASP, JSP, ASP.NET)
  • Obiekty serwerowe (serwelety Javy, komponenty
    .NET)
  • Rozszerzenia serwera (np. filtry ISAPI)

Interfejs uzytkownika (webowy)
13
Skrypty CGI
  • Aplikacje natywne dla systemu operacyjnego
    serwera HTTP lub skryptowe wykonywane przez
    interpreter dzialajacy poza serwerem HTTP (czyli
    jako skrypt CGI)
  • Uruchamiane przez serwer HTTP jako nowe procesy
  • Serwer HTTP przekazuje dane od klienta na wejscie
    standardowe aplikacji CGI lub poprzez zmienne
    srodowiskowe
  • Problemy efektywnosciowe - uruchamianie i
    konczenie procesów wymaga zarzadzania wieloma
    zasobami systemowymi maszyny serwera
  • Problemy z bezpieczenstwem aby serwer mógl
    uruchomic skrypt CGI uzytkownika zdalny musi miec
    uprawnienia do wykonywania programów w folderze
    skryptu

14
Skrypty serwerowe (PHP, JSP, ASP, ASP.NET)
  • Skrypty interpretowane poprzez interpreter
    dzialajacy zwykle w trybie rozszerzenia serwera
  • Wymagaja mniejszej ilosci zasobów systemowych
    wykonuja sie w kontekscie serwera
  • Po pierwszym wykonaniu zazwyczaj kompilowane do
    kodu posredniego
  • Uzytkownik uruchamiajacy skrypt nie musi miec
    nadanych uprawnien do wykonywania programów w
    niektórych serwerach HTTP do uruchamiania
    skryptów
  • Umieszczane jako wstawki miedzy elementami HTML
    lub jako odrebne moduly programowe (Code Behind
    Page)

15
Obiekty (komponenty) serwerowe
  • Kompilowane do kodu posredniego komponenty
    osadzane w srodowisku serwera (i srodowisku
    komponentowym)
  • Serwelety Javy i komponenty .NET
  • Tworzone jako odrebne aplikacje lub kompilowane
    ze skryptów serwerowych (JSP serwelety, ASP.NET
    komponenty .NET)

16
Rozszerzenia serwera HTTP
  • Moduly kodu natywnego dla maszyny na której
    dziala serwer HTTP, uruchamiane w kontekscie jego
    dzialania
  • Dostarczane w postaci bibliotek dynamicznych lub
    komponentów natywnych, które proces serwera
    potrafi uruchomic (a wiec o pewnej standardowej
    strukturze)
  • Typowe przyklady interpretery skryptów
    serwerowych, filtry ISAPI komponenty COM
    rozszerzajace funkcjonalnosc serwera IIS

17
Grube klienty
  • Odciazenie serwera (rozproszenie przetwarzania),
  • Zwiekszenie ruchu sieciowego (przesylanie calych
    wyników zapytan)
  • Dla róznych interfejsów uzytkownika (np. webowy i
    aplikacyjny) niezbedne jest zbudowanie w zasadzie
    dwu róznych aplikacji

Klienty
Serwer DBMS
Inne aplikacje
18
Cienkie klienty
  • Zmniejszenie ruchu sieciowe-go (przesylanie
    wylacznie wyników przetwarzania)
  • Zwiekszanie obciazenia serwera, z którego
    korzystac moga równiez inne aplikacje
  • Zmiana interfejsu uzytkownika wymaga jedynie
    zbudowania nowego klienta

Klienty
Serwer DBMS
Inne aplikacje
19
Architektura trójwarstwowa
Klienty
  • Logika aplikacji umieszczona jest w warstwie
    posredniej miedzy serwerem danych i klientem
    (serwer aplikacji)
  • Umozliwia to korzystanie z zalet cienkiego
    klienta bez koniecznosci obciazania serwera bazy
    danych

Serwer aplikacji
Serwer DBMS
Inne aplikacje
20
Architektura trójwarstwowa z warstwa posrednia na
serwerze HTTP
  • Struktura warstwy posredniej
  • uslugi fasady wiazace warstwe posrednia z
    interfejsem uzytkownika)
  • glówne uslugi logiki aplikacji (np. kod
    przetwarzajacy zamówienia, dane klientów, itp.)
  • uslugi dostepu do danych (zarzadzajace
    przesylaniem zapytan do serwera SQL i pobieraniem
    ich wyników)

21
Architektura trójwarstwowa z warstwa posrednia na
serwerze HTTP
  • Metody dostepu do danych
  • natywne biblioteki zwiazane z konkretnym jezykiem
    programowania
  • ODBC
  • ADO
  • ADO.NET
  • JDBC

22
Problem stanu aplikacji webowej
  • W architekturze dwuwarstwowej serwer DBMS jest
    serwerem polaczeniowym
  • Serwer HTTP jest serwerem bezpolaczeniowym
  • w tradycyjnych prostych aplikacjach webowych
    informacja o stanie jest zbedna
  • w bardziej zlozonych aplikacjach trójwarstwowych
    informacja o stanie jest czesto podstawowa

23
Problem stanu aplikacji webowej
  • Przechowywanie stanu
  • w warstwie srodkowej (plikach na serwerze HTTP)
  • w warstwie bazy danych
  • Przesylanie stanu do warstwy klienta
  • zetony cookies
  • ukryte zmienne formularzy

24
Serwisy webowe
  • Standardowe aplikacje webowe komunikuja sie z
    klientem poprzez komunikaty HTML (np. generuja i
    przesylaja do klienta strony HTML)
  • Komunikaty HTML moga byc odbierane równiez przez
    klienty aplikacyjne wymaga to jednak analizy
    przeslanej strony i wydlubania danych
  • Web serwisy rodzaj komponentów serwerowych
    komunikujacych sie z klientem aplikacyjnym
    poprzez komunikaty SOAP

25
Serwisy webowe
  • SOAP (Simple Object Access Protocol) oparty na
    XML-u sposób kodowania wywolan zdalnych
    podprogramów
  • SOAP umozliwia realizacje RPC (Remote Procedure
    Call)
  • klient wywoluje funkcje
  • jej nazwa parametry wywolania kodowane sa w
    formacie SOAP i przesylane do serwera HTTP
  • serwer uruchamia komponent (web serwis), który
    wykonuje zakodowana funkcje. Wynik jej dzialania
    w formacie SOAP przesylany jest do klienta

26
Rozproszone architektury Enterprise
  • Komponenty i obiekty rozproszone. Standardowe
    formaty
  • CORBA
  • COM/DCOM
  • Java Beans
  • .NET
  • Serwisy webowe
  • Koordynator transakcji rozproszonych (np. MTS)
  • Uslugi kolejkowania komunikatów (np. MSMQ)

27
Rozproszone architektury Enterprise
  • Najbardziej znane srodowiska typu Enterprise
  • CORBA
  • Enterprise Java Beans
  • COM/DNA
  • .NET
  • Web Sphere
Write a Comment
User Comments (0)
About PowerShow.com