Oprogramowanie systemów równoległych i rozproszonych. Wykład 6
|
|
- Seweryn Kowalski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Wykład 6 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 6 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska
2 Wykład 6 p. 2/2 Architektura typu klient - serwer Klient - Serwer to asymetryczna architektura, w której pewna funkcjonalność została rozdzielona i wyodbrębnione zostały dwa elementy: klient - potrzebujacy pewnej usługi, zlecajacy ja serwerowi, serwer - dostarczajacy usługi zlecanej przez klienta.
3 Wykład 6 p. 3/2 Cechy architektury klient - serwer Cechy charakterystyczne serwera: pasywny, czeka na żadania od klientów, w momencie otrzymania żadania, przetwarza je, a następnie wysyła odpowiedź. Cechy charakterystyczne klienta: aktywny, wysyła żadanie do serwera, oczekuje na odpowiedź od serwera.
4 Architektury klient - serwer Wykład 6 p. 4/2 Podział ze względu na sposób obsługi żadań od klientów: serwer iteracyjny (sekwencyjne) (ang. iterative server), serwer współbieżny (ang. concurrent server). Podział ze względu na obsługę stanów serwera: serwer bezstanowy (ang. stateless server), serwer stanowy (ang. stateful server). Podział ze względu na rozdzielenie pracy : cienki klient (ang. thin client), gruby (bogaty) klient (ang. fat/rich client). Podział ze względu na liczbę warstw (modułów), Podział ze względu na sposób komunikacji (przy użyciu protokołu połaczeniowego lub bezpołaczeniowego).
5 Wykład 6 p. 5/2 Warstwy aplikacji - model MVC MVC (ang. Model-View-Controller) - Model-Widok-Kontroler składa się z trzech poziomów (warstw): 1. Poziom interfejsu użytkownika np. dokument w przegladarce 2. Poziom przetwarzania (logiki sterowania) np. przetworzenie zapytania w przegladarce internetowej 3. Poziom danych (modelu danych) np. informacje znajdujace się w bazie danych
6 Architektura trójwarstwowa Wykład 6 p. 6/2
7 Zdalne wywołanie procedur - koncepcja Wykład 6 p. 7/2 Zadaniem mechanizmu zdalnego wywołania procedur (ang. Remote Procedure Call) jest zachowanie w możliwie maksymalnym stopniu semantyki zwykłych wywołań procedur w środowisku sieciowym.
8 System Sun RPC (I) Wykład 6 p. 8/2 Produkt Sun RPC został wprowadzony i wypromowany przez firmę Sun Microsystems jednocześnie z systemem NFS. RPC umożliwia konstruowanie aplikacji rozproszonych według modelu klient serwer. Aplikacje oparte na systemie RPC najczęściej sa tworzone przy wykorzystaniu kompilatora protokołów, takiego jak rpcgen firmy Sun Microsystems.
9 Wykład 6 p. 9/2 System Sun RPC (II) W skład Sun RPC wchodza: biblioteka funkcji, narzędzie rpcgen służace do generowania dla aplikacji kodu obsługi sieci na podstawie opisu interfejsu procedur. Parametry wywołania funkcji i zwracane wyniki przesyłane sa w formacie XDR (external Data Representation - zewnętrzna reprezentacja danych). Z mechanizmu Sun RPC można korzystać przy użyciu protokołu transportu TCP lub UDP. Serwer może udostępniać dla wywołań RPC wiele podprogramów.
10 Wykład 6 p. 10/2 RPC - zasada działania Działanie RPC jest synchroniczne: aplikacja klient wysyła do serwera polecenie wykonania podprogramu wraz z argumentami wywołania. Następnie klient przechodzi w stan oczekiwania na zakończenie wykonania podprogramu, aby odebrać zwracane przez podprogram wyniki.
11 Usługi RPC Wykład 6 p. 11/2 Usługa w RPC nazywa się zbiór funkcji przyjmujacych określone argumenty i zwracajacych określone wyniki. Deklaracje argumentów i wyników to interfejs usługi. Z punktu widzenia programisty usługa jest identyfikowana przez numer programu i numer wersji.
12 Program rpcbind Wykład 6 p. 12/2 rpcbind jest serwerem dokonujacym konwersji numerów programów RPC na numer portu tzw. portmapper (port 111) 1. serwer rejestruje się u demona portmap, 2. klient żada numeru portu serwera, 3. demon portmap odsyła klientowi numer portu serwera, 4. klient wysyła żadanie do serwera, 5. serwer wysyła odpowiedź do klienta.
13 Pieniek klienta i pieniek serwera Wykład 6 p. 13/2 W RPC stosowane sa pojęcia pieńka klienta (interfejsu klienta) i pieńka serwera (interfejsu serwera). Pieniek klienta symuluje w aplikacji klienta lokalne działanie procedury. Pieniek serwera czeka na żadanie nadchodzace od klienta.
14 Wykład 6 p. 14/2 Specyfikacja usług RPC W RPC odległe usługi sa zorganizowane i identyfikowane według hierarchii jeden serwer zawiera jeden program jeden program ma jedna lub kilka wersji każda z wersji zawiera jedna lub kilka procedur
15 Wykład 6 p. 15/2 Specyfikacje programów Numer programu - liczba 32-bitowa fff ffff - SunRPC fff ffff - definiowane przez użytkownika fff ffff - tymczasowe ffff ffff - zarezerwowane Numer wersji - liczba 32-bitowa Numer procedury - liczba 32-bitowa
16 Wykład 6 p. 16/2 Polecenie rpcinfo Zwraca informacje dotyczace usług zarejestrowanych w rpcbind Wyświetlenie wszystkich usług na wskazanym serwerze: rpcinfo -p [ host ] Przykład: program wer. proto port tcp 111 portmapper udp 111 portmapper tcp 901 sgi_fam udp 757 status tcp 760 status
17 Plik /etc/rpc Wykład 6 p. 17/2 Możliwe jest zdefiniowanie numerów programów w pliku /etc/rpc. W takim wypadku, aby otrzymać numer odpowiadajacy nazwie programu należy skorzystać z funkcji getrpcbyname(). Przykład: portmapper portmap sunrpc rstatd rstat rstat_svc rup perfmeter rusersd rusers nfs nfsprog ypserv ypprog mountd mount showmount ypbind walld rwall shutdown yppasswdd yppasswd etherstatd etherstat...
18 Program rpcgen Wykład 6 p. 18/2 Program rpcgen jako wejście pobiera plik specyfikacji usług w formacie języka RPC IDL ( C z dodatkiem typów program i version). Zostanie wygenerowany żadany kod języka C z implementacja zdefiniowanego wywołania zdalnej procedury.
19 Wykład 6 p. 19/2 Język RPC Plik z definicja protokołu może zawierać następujace elementy: obowiazkowa deklaracja programu serwera i przynajmniej jednej dostarczonej przez niego funkcji, deklaracje złożonych typów danych wykorzystywanych w protokole, deklaracje stałych, komentarze.
20 Przekazywanie argumentów Wykład 6 p. 20/2 Standardowo RPC dopuszcza tylko jeden argument wywołania odległej procedury i jeden zwracany wynik, podawane w formie wskaźników. Jeśli występuje kilka argumentów należy je umieścić w strukturze.
21 XDR - External Data Representation Wykład 6 p. 21/2 XDR jest zdefiniowanym na potrzeby RPC formatem danych, zapewniajacym ich pełna przenośność w środowisku heterogenicznym. Konwersja danych znajdujacych się w pamięci do formatu XDR (szeregowanie) i odwrotnie (deszeregowanie) odbywa się przy użyciu specjalnych procedur zwanych filtrami. Dla typów podstawowych zostały zdefiniowane odpowiednie filtry, natomiast dla typów złożonych programista musi je utworzyć samodzielnie. XDR może być używany również poza RPC, np. do tworzenia w pełni przenośnych plików binarnych.
22 Wykład 6 p. 22/2 Struktura CLIENT struct CLIENT { AUTH *cl_auth; /* authenticator */ struct clnt_ops { enum clnt_stat (*cl_call) (CLIENT *, u_long, xdrproc_t, caddr_t, xdrproc_t, caddr_t, struct timeval); /* wywołanie procedury zdalnej */ void (*cl_abort) (void); /* anulowanie wywołania */ void (*cl_geterr) (CLIENT *, struct rpc_err *); /* pobranie kodu błędu */ bool_t (*cl_freeres) (CLIENT *, xdrproc_t, caddr_t); /* zwolnienie wyników */ void (*cl_destroy) (CLIENT *); /* zniszczenie tej struktury */ bool_t (*cl_control) (CLIENT *, int, char *); /* ioctl() dla rpc */ } *cl_ops; caddr_t cl_private; /* prywatne */ };
23 Wykład 6 p. 23/2 Ważniejsze funkcje (I) Do tworzenia uchwytu klienta służy funkcja clnt_create: #include <rpc/rpc.h> CLIENT* clnt_create(char* host, u_long prog, u_long vers, char* protocol); host - nazwa hosta na którym działa proces serwer, prog - numer programu, vers - numer wersji, proto - określa klasę protokołu transportowego (może być między innymi udp lub tcp). jeżeli wywołanie zakończy się sukcesem zostanie zwrócony poprawny identyfikator (uchwyt) klienta, w przeciwnym wypadku funkcja zwróci NULL.
24 Ważniejsze funkcje (II) Wykład 6 p. 24/2 Do usunięcia utworzonej struktury klienta służy funkcja clnt_destroy: void clnt_destroy(client* clnt); clnt - struktura klienta, która ma zostać usunięta Do obsługi błędów można wykorzystać funkcje void clnt_pcreateerror(char* s); void clnt_perrno(clnt_stat stat); void clnt_perror(client *clnt, char* s);
25 Przykład - plik ser.x Wykład 6 p. 25/2 struct integers{ int x1; int x2; }; typedef struct integers intargs; program PROGSERVICE{ version VERSERVICE{ int SPSERVRPC(intargs) = 1; } = 1; } = 0x ;
26 Przykład - kod klienta (I) Wykład 6 p. 26/2 #include <iostream> #include <rpc/rpc.h> #include "ser.h" int dodaj(int a, int b) { CLIENT *c1; integers arg; int *ret; char* host = "localhost"; c1 = clnt_create(host, PROGSERVICE, VERSERVICE, "tcp"); if (c1 == NULL) { clnt_pcreateerror(host); return -1; }
27 Przykład - kod klienta (II) Wykład 6 p. 27/2 arg.x1 = a; arg.x2 = b; ret = (int*)spservrpc_1(&arg, c1); } if (ret == NULL) { clnt_perror(c1, "blad wywolania odleglej procedury"); return -1; } clnt_destroy(c1); return (*ret); int main() { int a = 1, b = 1; std::cout << dodaj(a,b); }
28 Przykład - kod serwera Wykład 6 p. 28/2 #include <rpc/rpc.h> #include "ser.h" int spserv(int x1, int x2) { return x1+x2; } int *spservrpc_1_svc(intargs* arg, svc_req *) { int* result = new int; *result = spserv(arg->x1, arg->x2); return result; }
Architektura typu klient - serwer. Oprogramowanie systemów równoległych i rozproszonych. Wykład 6. Cechy architektury klient - serwer
Architektura typu klient - serwer Oprogramowanie systemów równoległych i rozproszonych Wykład 6 Klient - Serwer to asymetryczna architektura, w której pewna funkcjonalność została rozdzielona i wyodbrębnione
Bardziej szczegółowoTworzenie aplikacji rozproszonej w Sun RPC
Tworzenie aplikacji rozproszonej w Sun RPC Budowa aplikacji realizowana jest w następujących krokach: Tworzenie interfejsu serwera w języku opisu interfejsu RPCGEN Tworzenie: namiastki serwera namiastki
Bardziej szczegółowoZdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1
Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego
Bardziej szczegółowoRPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )
III RPC Zdalne wywoływanie procedur (ang. Remote Procedure Calls ) 1. Koncepcja Aplikacja wywołanie procedury parametry wyniki wykonanie procedury wynik komputer klienta komputer serwera Zaletą takiego
Bardziej szczegółowo76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Bardziej szczegółowoSun RPC/XDR. Dariusz Wawrzyniak 1
Remote Procedure Call external Data Representation trójwymiarowa identyfikacja procedur (nr programu, nr wersji, nr procedury) protokół RPC oparty na protokołach warstwy transportowej stosu TCP/IP (TCP
Bardziej szczegółowoSieciowa komunikacja procesów - XDR i RPC
*** abc.x Przyklad pliku RPCGEN Obliczanie sumy, roznicy i iloczynu dwoch liczb calkowitych *** ************************************ Wywolanie procedury odleglej dopuszcza tylko jeden argument wywolania
Bardziej szczegółowoProgramowanie z użyciem RPC
Programowanie z użyciem RPC 1. Zastosowanie modelu zdalnie wywoływanych procedur. 2. Biblioteka RPC. 3. Podział programu na część lokalną i zdalną. 4. Narzędzie rpcgen. 5. Generowanie programu rozproszonego.
Bardziej szczegółowoRPC Remote Procedural Call. Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc
RPC Remote Procedural Call Materiały do prezentacji można znaleźć na stronie: http://www.houp.info/rpc 1 Wprowadzenie Podstawowe założenia RPC: Program uruchamiany na maszynie A może wywołać procedurę
Bardziej szczegółowoexternal Data Representation
Remote Procedure Call external Data Representation Dariusz Wawrzyniak (IIPP) 1 trójwymiarowa identyfikacja procedur (nr programu, nr wersji, nr procedury) protokół RPC oparty na protokołach warstwy transportowej
Bardziej szczegółowoZdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces
Bardziej szczegółowoZdalne wywoływanie procedur RPC
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int
Bardziej szczegółowoWywoływanie procedur zdalnych
Wywoływanie procedur zdalnych Mechanizm wywołania main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces (int pid){ int stat; stat
Bardziej szczegółowoSun RPC/XDR 10. listopada Dariusz Wawrzyniak (IIPP) 1
Remote Procedure Call external Data Representation trójwymiarowa identyfikacja procedur (nr programu, nr wersji, nr procedury) protokół RPC oparty na protokołach warstwy transportowej stosu TCP/IP (TCP
Bardziej szczegółowoZdalne wywoływanie procedur RPC. Dariusz Wawrzyniak 1
Zdalne wywoływanie procedur Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij_proces (int
Bardziej szczegółowoZdalne wywoływanie procedur RPC 27. października Dariusz Wawrzyniak (IIPP) 1
Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status)... int zabij proces (int pid){ int stat; stat = kill(pid,
Bardziej szczegółowoZdalne wywoływanie procedur RPC 27. października 2010
Zagadnienia projektowe Zagadnienia realizacyjne main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_ proces (int pid){ int stat; stat
Bardziej szczegółowoZdalne wywołania procedur. Jarosław Kuchta Programowanie Współbieżne
Zdalne wywołania procedur Jarosław Kuchta Programowanie Współbieżne Podstawy RPC Remote Procedure Call Wywołanie procedur jednego procesu z innego procesu. Proces wywoływany serwer Proces wywołujący -
Bardziej szczegółowoWywoływanie procedur zdalnych
Mechanizm wywołania Wywoływanie procedur zdalnych main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) }... int zabij_proces (int pid){ int stat; stat
Bardziej szczegółowoWywoływanie procedur zdalnych
Mechanizm wywołania Wywoływanie procedur zdalnych main(int argc, char* argv[]){ int id, status; id = atoi(argv[1]); status = zabij_proc(id); exit(status) int zabij_proces (int pid){ int stat; stat = kill(pid,
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 11 dr inż. CORBA CORBA (Common Object Request Broker Architecture) standard programowania rozproszonego zaproponowany przez OMG (Object Management Group)
Bardziej szczegółowoProgramowanie współbieżne i rozproszone
Programowanie współbieżne i rozproszone WYKŁAD 6 dr inż. Komunikowanie się procesów Z użyciem pamięci współdzielonej. wykorzystywane przede wszystkim w programowaniu wielowątkowym. Za pomocą przesyłania
Bardziej szczegółowoZdalne wywołanie metod - koncepcja. Oprogramowanie systemów równoległych i rozproszonych Wykład 7. Rodzaje obiektów. Odniesienie do obiektu
Zdalne wywołanie metod - koncepcja Oprogramowanie systemów równoległych i rozproszonych Wykład 7 RMI (Remote Method Invocation) - obiektowe RPC, dostarcza klientowi interfejs do obiektu, implementacja
Bardziej szczegółowoOprogramowanie systemów równoległych i rozproszonych Wykład 7
Wykład 7 p. 1/2 Oprogramowanie systemów równoległych i rozproszonych Wykład 7 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Zdalne wywołanie
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Bardziej szczegółowoOprogramowanie i wykorzystanie stacji roboczych. Wykład 4
Wykład 4 p. 1/1 Oprogramowanie i wykorzystanie stacji roboczych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Obsługa sieci Wykład
Bardziej szczegółowoWprowadzenie do programowania rozproszonego
Wprowadzenie do programowania rozproszonego 1. Koncepcja programowania rozproszonego. 2. Model proceduralny. 3. Zdalne wywoływanie procedur. 4. Specyfkacja Sun RPC. 1 Programowanie rozproszone Przystępując
Bardziej szczegółowoNFS jest protokołem zdalnego wywoływania procedur (RPC)
NFS - serwer (Linux) NFS jest protokołem zdalnego wywoływania procedur (RPC) działa w oparciu o protokoły IP/{UDP TCP} wywołanie systemowe w przypadku we/wy na zdalny plik przejmowane i obsługiwane przez
Bardziej szczegółowoexternal Data Representation
Remote Procedure Call external Data Representation Opis standardu RFC 1014 Kanoniczna reprezentacja danych oparta na formacie IEEE Deklaratywny język opisu struktur danych (zbliżony do języka C) Koncepcja
Bardziej szczegółowoSystemy rozproszone. Cezary Sobaniec Marek Libuda. Skrypt do ćwiczeń laboratoryjnych. v1.1 07/09/2006
Systemy rozproszone Skrypt do ćwiczeń laboratoryjnych Cezary Sobaniec Marek Libuda v1.1 07/09/2006 Uczelnia On-Line 2006 Spis treści 1 Zdalne wywołanie procedur Sun RPC 5 1.1 Wprowadzenie.........................
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje
Bardziej szczegółowoMechanizmy pracy równoległej. Jarosław Kuchta
Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy
Bardziej szczegółowoRPC ZDALNE WYWOŁYWANIE PROCEDUR (ang. Remote Procedure Calls)
J. Ułasiewicz Programowanie aplikacji współbieżnych i rozproszonych 1 ZDALNE WYWOŁYWANIE PROCEDUR (ang. Remote Procedure Calls) 1 Informacje wstępne...2 1.1 Koncepcja...2 1.2 Przekazywanie parametrów...3
Bardziej szczegółowoSieci komputerowe. Wykład 5: Warstwa transportowa: TCP i UDP. Marcin Bieńkowski. Instytut Informatyki Uniwersytet Wrocławski
Sieci komputerowe Wykład 5: Warstwa transportowa: TCP i UDP Marcin Bieńkowski Instytut Informatyki Uniwersytet Wrocławski Sieci komputerowe (II UWr) Wykład 5 1 / 22 Warstwa transportowa Cechy charakterystyczne:
Bardziej szczegółowoProgramowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Bardziej szczegółowoPrezentacja systemu plików NFS
Prezentacja systemu plików NFS Jakub Jonik 15 stycznia 2003 1 1 Wprowadzenie NFS (network file system) jest rozproszonym systemem plików opracowanym przez firmę SUN Microsystems. Został wprowadzony do
Bardziej szczegółowo1. Model klient-serwer
1. 1.1. Model komunikacji w sieci łącze komunikacyjne klient serwer Tradycyjny podziała zadań: Klient strona żądająca dostępu do danej usługi lub zasobu Serwer strona, która świadczy usługę lub udostępnia
Bardziej szczegółowoAda95 przetwarzanie rozproszone
Ada95 przetwarzanie rozproszone 1. Model systemu rozproszonego 2. Partycje i jednostki kompilacji 3. Glade narzędzie gnatdist język opisu konfiguracji 4. Przykład programu rozproszonego Model systemu rozproszonego
Bardziej szczegółowoAda95 przetwarzanie rozproszone
1 Ada95 przetwarzanie rozproszone 1. Model systemu rozproszonego 2. Partycje i jednostki kompilacji 3. Glade narzędzie gnatdist język opisu konfiguracji 4. Przykład programu rozproszonego 2 węzeł Model
Bardziej szczegółowoKlient-Serwer Komunikacja przy pomocy gniazd
II Klient-Serwer Komunikacja przy pomocy gniazd Gniazda pozwalają na efektywną wymianę danych pomiędzy procesami w systemie rozproszonym. Proces klienta Proces serwera gniazdko gniazdko protokół transportu
Bardziej szczegółowoKomunikacja i wymiana danych
Budowa i oprogramowanie komputerowych systemów sterowania Wykład 10 Komunikacja i wymiana danych Metody wymiany danych Lokalne Pliki txt, csv, xls, xml Biblioteki LIB / DLL DDE, FastDDE OLE, COM, ActiveX
Bardziej szczegółowoZdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1
Zdalne wywołanie procedur Krzysztof Banaś Systemy rozproszone 1 RPC Komunikacja za pomocą gniazd jest wydajna, gdyż korzystamy z funkcji systemowych niewygodna, gdyż musimy wyrażać ją za pomocą jawnego
Bardziej szczegółowoWykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe
N, Wykład 4: Protokoły TCP/UDP i usługi sieciowe 1 Adres aplikacji: numer portu Protokoły w. łącza danych (np. Ethernet) oraz w. sieciowej (IP) pozwalają tylko na zaadresowanie komputera (interfejsu sieciowego),
Bardziej szczegółowoTunelowanie, kapsułkowanie, XDR. 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR.
Tunelowanie, kapsułkowanie, XDR 1. Transmisja tunelowa i kapsułkowanie serwery proxy. 2. Zewnętrzna reprezentacja danych XDR. 1 Transmisja tunelowa i kapsułkowanie Sieci komputerowe rozwijały się stopniowo
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowoWprowadzenie. Dariusz Wawrzyniak 1
Dariusz Wawrzyniak Politechnika Poznańska Instytut Informatyki ul. Piotrowo 2 (CW, pok. 5) 60-965 Poznań Dariusz.Wawrzyniak@cs.put.poznan.pl Dariusz.Wawrzyniak@put.edu.pl www.cs.put.poznan.pl/dwawrzyniak
Bardziej szczegółowoRemote Quotation Protocol - opis
Remote Quotation Protocol - opis Michał Czerski 20 kwietnia 2011 Spis treści 1 Streszczenie 1 2 Cele 2 3 Terminologia 2 4 Założenia 2 4.1 Połączenie............................... 2 4.2 Powiązania z innymi
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoObiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1
Obiektowe programowanie rozproszone Java RMI Krzysztof Banaś Systemy rozproszone 1 Java RMI Mechanizm zdalnego wywołania metod Javy (RMI Remote Method Invocation) posiada kilka charakterystycznych cech,
Bardziej szczegółowoWprowadzenie do technologii Web Services: SOAP, WSDL i UDDI
Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI Maciej Zakrzewicz PLOUG mzakrz@cs.put.poznan.pl Plan prezentacji Wprowadzenie do architektury zorientowanej na usługi Charakterystyka technologii
Bardziej szczegółowo5. Model komunikujących się procesów, komunikaty
Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć
Bardziej szczegółowoPlan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych
Plan prezentacji Budowa aplikacji w technologii Enterprise JavaBeans Przegląd architektur aplikacji rozproszonych: CORBA,, Wprowadzenie do Enterprise JavaBeans () Budowa komponentów sesyjnych Budowa komponentów
Bardziej szczegółowoArchitektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła
Architektura typu klient serwer: przesyłanie pliku tekstowo oraz logowania do serwera za pomocą szyfrowanego hasła Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej
Bardziej szczegółowoSystemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science
Systemy internetowe Wykład 5 Architektura WWW Architektura WWW Serwer to program, który: Obsługuje repozytorium dokumentów Udostępnia dokumenty klientom Komunikacja: protokół HTTP Warstwa klienta HTTP
Bardziej szczegółowoWYKŁAD: Przetwarzanie rozproszone typu klient-serwer.
WYKŁAD: Przetwarzanie rozproszone typu klient-serwer. Przetwarzanie rozproszone: - różnorodne zasoby w różnych lokalizacjach - wiele procesów obliczeniowych dedykowanych do tych zasobów (typowe programy
Bardziej szczegółowoXML-RPC: Zdalne wykonywanie procedur
XML-RPC: Zdalne wykonywanie procedur Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 28 października 2005 roku Wstęp Internet dostarcza wiele możliwości programistą piszącym
Bardziej szczegółowoNIS/YP co to takiego?
NIS/YP co to takiego? NIS/YP Network Information System/Yellow Pages System centralizujący administrowanie systemami UNIX'owymi, bazujący na technologii RPC (Remote Procedure Call) i technologii klient/serwer,
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki
Bardziej szczegółowoSimple Object Access Protocol
Simple Object Access Protocol Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 11 grudnia 2005 roku Czym jest SOAP? Akronim SOAP oznacza Simple Object Access Protocol. SOAP jest
Bardziej szczegółowoBudowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG
Budowa aplikacji w technologii Enterprise JavaBeans Maciej Zakrzewicz PLOUG Plan prezentacji Przegląd architektur aplikacji rozproszonych: CORBA, SOAP, EJB Wprowadzenie do Enterprise JavaBeans (EJB) Budowa
Bardziej szczegółowoPrzykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS
Przykłady DFS z lotu ptaka :) NFS AFS Coda GoogleFS ZFS NFS Network File System sieciowy system plików Stworzony przez Sun Microsystems Dostępny dla, m.in.: Unix, Windows, OS/2, Mac OS Pracuje w środowisku
Bardziej szczegółowoImplementacja aplikacji sieciowych z wykorzystaniem środowiska Qt
Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd
Bardziej szczegółowoProgramowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
Bardziej szczegółowoWykład 1. Program przedmiotu. Programowanie (język C++) Literatura. Program przedmiotu c.d.:
Program przedmiotu Programowanie (język C++) Wykład 1. Język C a C++. Definiowanie prostych klas. Typy referencyjne. Domyślne wartości argumentów. PrzeciąŜanie funkcji. Konstruktory, destruktory. Definiowanie
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoOd uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.
Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać
Bardziej szczegółowoDzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton
Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu
Bardziej szczegółowoProjektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do
Bardziej szczegółowoSieci komputerowe. Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP
Sieci komputerowe Zajęcia 3 c.d. Warstwa transportu, protokoły UDP, ICMP Zadania warstwy transportu Zapewnienie niezawodności Dostarczanie danych do odpowiedniej aplikacji w warstwie aplikacji (multipleksacja)
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoDokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoSIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja
SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja Instytut Telekomunikacji Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska, marzec 2015 Wprowadzenie Ćwiczenie jest wykonywane
Bardziej szczegółowoProtokół wymiany sentencji, wersja 1
Protokół wymiany sentencji, wersja 1 Sieci komputerowe 2011@ MIM UW Osowski Marcin 28 kwietnia 2011 1 Streszczenie Dokument ten opisuje protokół przesyłania sentencji w modelu klientserwer. W założeniu
Bardziej szczegółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoProjektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoSystemy rozproszone. na użytkownikach systemu rozproszonego wrażenie pojedynczego i zintegrowanego systemu.
Systemy rozproszone Wg Wikipedii: System rozproszony to zbiór niezależnych urządzeń (komputerów) połączonych w jedną, spójną logicznie całość. Połączenie najczęściej realizowane jest przez sieć komputerową..
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 Globalna sieć Internet Koncepcja sieci globalnej Usługi w sieci Internet
Bardziej szczegółowoRozproszone systemy obiektowe
Rozproszone systemy obiektowe Grzegorz Jabłoński Mariusz Orlikowski 1 Rozproszone systemy obiektowe, G. Jabłoński, Katedra Mikroelektroniki i Technik Informatycznych, Politechnika Łódzka 2010 Program wykładu
Bardziej szczegółowoRozproszone systemy internetowe. Wprowadzenie. Koncepcja zdalnego wywołania procedury
Rozproszone systemy internetowe Wprowadzenie. Koncepcja zdalnego wywołania procedury Zakres tematyczny przedmiotu Aplikacje rozproszone Technologie /standardy internetowe Programowanie obiektowe 2 Co będzie
Bardziej szczegółowoRemote Method Invocation 17 listopada 2010
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja klienckak interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoRemote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoWykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak
Wykład 3 / Wykład 4 Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak 1 Wprowadzenie do Modułu 3 CCNA-E Funkcje trzech wyższych warstw modelu OSI W jaki sposób ludzie wykorzystują
Bardziej szczegółowoSystem DiLO. Opis interfejsu dostępowego v. 2.0
System DiLO Opis interfejsu dostępowego v. 2.0 Warszawa 2015 1 Wprowadzone zmiany Wersja Opis 1.0 Wersja bazowa 1.1 Dodanie możliwości przejścia z wydania karty w POZ (WK-POZ) do zabiegu operacyjnego (ZAB-OPER)
Bardziej szczegółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2017 APLIKACJE SIECIOWE Definicja Architektura aplikacji sieciowych Programowanie
Bardziej szczegółowoProxy (pełnomocnik) Cel: Zastosowanie: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego.
Proxy (pełnomocnik) Cel: Dostarczyć zamiennik pewnego obiektu, pozwalający kontrolować dostęp do niego. Zastosowanie: Wszędzie tam, gdzie oczekujemy bardziej zaawansowanego odwołania do obiektu, niż zwykły
Bardziej szczegółowoForum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Bardziej szczegółowoProblemy niezawodnego przetwarzania w systemach zorientowanych na usługi
Problemy niezawodnego przetwarzania w systemach zorientowanych na usługi Jerzy Brzeziński, Anna Kobusińska, Dariusz Wawrzyniak Instytut Informatyki Politechnika Poznańska Plan prezentacji 1 Architektura
Bardziej szczegółowoWstęp do programowania
wykład 10 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Przesyłanie argumentów - cd Przesyłanie argumentów do funkcji - tablice wielowymiarowe Przekazywanie tablic wielowymiarowych
Bardziej szczegółowoMODEL WARSTWOWY PROTOKOŁY TCP/IP
MODEL WARSTWOWY PROTOKOŁY TCP/IP TCP/IP (ang. Transmission Control Protocol/Internet Protocol) protokół kontroli transmisji. Pakiet najbardziej rozpowszechnionych protokołów komunikacyjnych współczesnych
Bardziej szczegółowoZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ DHCP
ZiMSK dr inż. Łukasz Sturgulewski, luk@kis.p.lodz.pl, http://luk.kis.p.lodz.pl/ dr inż. Artur Sierszeń, asiersz@kis.p.lodz.pl dr inż. Andrzej Frączyk, a.fraczyk@kis.p.lodz.pl DHCP 1 Wykład Dynamiczna konfiguracja
Bardziej szczegółowo1 Moduł Diagnostyki Sieci
1 Moduł Diagnostyki Sieci Moduł Diagnostyki Sieci daje użytkownikowi Systemu Vision możliwość badania dostępności w sieci Ethernet komputera lub innych urządzeń wykorzystujących do połączenia protokoły
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski
Bardziej szczegółowo