Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC

Wielkość: px
Rozpocząć pokaz od strony:

Download "Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC"

Transkrypt

1 Projektowanie oprogramowania systemów KOMUNIKACJA SIECIOWA I SYSTEMY RPC

2 plan programowanie sieciowe BSD/POSIX Socket API systemy RPC interfejsy obiektowe CORBA DCOM RMI WebServices WSDL/SOAP XML-RPC REST

3 programowanie sieciowe Termin programowanie sieciowe (network programming) odnosi się do tworzenia aplikacji, które komunikują się ze sobą za pośrednictwem sieci komputerowej Komunikacja sieciowa to specyficzna forma komunikacji międzyprocesowej (IPC), w której komunikujące się procesy znajdują się na osobnych maszynach Nie używamy więc obiektów IPC, których zasięg ograniczony jest do pojedynczej maszyny (pamięci współdzielonej, semaforów, mutexów ) Komunikacja odbywa się za pośrednictwem gniazd sieciowych (network sockets) i protokołów komunikacyjnych Najbardziej powszechnym API komunikacji sieciowej jest BSD (POSIX) Sockets API (AKA Berkeley sockets) stąd, programowanie sieciowe nazywamy również programowaniem gniazd

4 BSD Socket API nazewnictwo i historia Tradycyjnie, API gniazd wywodzi się z dystrybucji Unixa BSD, stąd nazwa BSD Socket (lub Berkeley sockets, bo BSD to Berkeley Software Distribution Unix opracowany na UCal w Berkeley) Na bazie API BSD powstał standard gniazd POSIX (POSIX sockets) API gniazd BSD było oryginalną implementacją protokołów TCP/IP, które są podstawą działania Internetu (tzw. Internet Protocol Suite) W praktyce wszystkie współczesne systemy operacyjne posiadają API gniazd przynajmniej częściowo spójne z BSD włącznie z Windows (tzw. Winsock API)

5 BSD Socket API - alternatywy Konkurencyjna w stosunku do BSD implementacja Unixa System V używała innego API komunikacji sieciowej: STREAMS (Transport Layer Interface) TLI ściśle opiera się na modelu OSI/ISO ścisła separacja warstw STREAMS było wykorzystywane m.in. w Novell NetWare, Windows NT Wiele implementacji Unixa używa równolegle TLI oraz BSD sockets Wraz z Windows for Workgroups Microsoft promował protokół i API NetBEUI (NetBIOS Extended User Interface) sieć peer-to-peer oryginalnie działająca niezależnie od TCP/IP, w tej chwili praktycznie zawsze bazująca na TCP/IP

6 gniazda sieciowe słowniczek pojęć gniazdo punkt końcowy (endpoint) komunikacji IPC w oparciu o sieć komputerową adres gniazda kombinacja adresu IP komputera i numeru portu (numer usługi) typ gniazda gniazda datagramowe (protokół: UDP), typ SOCK_DGRAM gniazda strumieniowe (protokół: TCP), typ SOCK_STREAM gniazda surowe, SOCK_RAW użytkownik jest odpowiedzialny za implementację własnego protokołu

7 tryb nieblokujący I/O nowoutworzone gniazda są blokujące, co oznacza że operacje odczytu/zapisu blokują działanie programu tak długo, aż operacja się powiedzie gniazdo można przestawić w tryb nieblokujący (nonblocking mode), wówczas operacje odczytu/zapisu nie blokują działania programu ale zwracają kod błędu EWOULDBLOCK w momencie, kiedy operacja nie może być wykonana natychmiast (brak danych w buforze odczytu gniazda, przepełniony bufor zapisu gniazda) tryb nieblokujący umożliwia obsługę wielu gniazd równocześnie w pojedynczym wątku poprzez multipleksację I/O (i nie tylko gniazd również plików i wszystkiego co wygląda jak plik, włacznie z UI) w trybie blokującym zwykle każde gniazdo wymaga osobnego wątku, co prowadzi do nieefektywnego wykorzystania zasobów tryb nieblokujący jest zalecany dla wszystkich, poza najbardziej prymitywnymi aplikacjami sieciowymi

8 multipleksacja I/O rejestrujemy deskryptory plików w specjalnej strukturze fd_set, specyfikując w jakich zdarzeniach związanych z gniazdem/plikiem jesteśmy zainteresowani (możliwość odczytu, możliwość zapisu, sytuacja wyjątkowa) podajemy strukturę jako parametr funkcji systemowej select(), poll() lub podobnej ww. funkcja blokuje działanie programu do momentu aż w którymkolwiek z gniazd wystąpi którekolwiek zdarzenie, a następnie zwraca informacje o rodzaju zdarzenia które wystąpiło obsługujemy zdarzenie np. odczyt/zapis danych z gniazda, które w tej sytuacji nie mają prawa zablokować programu powracamy do pętli select()/poll() oczekujemy na kolejne zdarzenie deskryptor może również odnosić się do źródła zdarzeń UI wówczas możliwa jest obsługa komunikatów UI w tej samej pętli tak działa m.in. X-Windows

9 gniazda serwerowe i klienckie W przypadku gniazd typów połączeniowych (SOCK_STREAM) zwykle wyróżnia się 2 modele ich użycia gniazda serwerowe powiązane z określonym portem i adresem, nasłuchują w oczekiwaniu na połączenia przychodzące od klientów gniazda klienckie inicjują połączenia z nasłuchującymi gniazdami serwerowymi, nie muszą mieć przypisanego a priori adresu sieciowego Nie jest możliwe nawiązanie sesji pomiędzy dwoma gniazdami klienckimi W przypadku gniazd typów bezpołączeniowych nie ma potrzeby tworzenia gniazd nasłuchujących i oczekiwania na połączenie możliwa jest natychmiastowa komunikacja każdy-z-każdym Podział na gniazda serwerowe i klienckie wynika ze sposobu ich użycia (wywoływanych funkcji) tworzymy je identycznie

10 BSD API socket() int socket(int domain, int type, int protocol); socket() tworzy nowe gniazdo określonego rodzaju, alokuje dla niego zasoby i zwraca deskryptor pliku parametry domena określa rodzinę protokołów danego gniazda: AF_INET protokoły oparte na IPv4 AF_INET6 protokoły IPv6 AF_UNIX gniazda lokalne (domeny Unixa tylko w systemach Unix) typ rodzaj gniazda (SOCK_DGRAM, SOCK_STREAM, SOCK_RAW, ) protokół specyficzny protokół warstwy transportowej, lub 0 np. IPPROTO_TCP TCP (domyślny dla SOCK_STREAM) IPPROTO_UDP UDP (domyślny dla SOCK_DGRAM) IPPROTO_SCTP IPPROTO_DCCP

11 bind() int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); bind() wiąże utworzone gniazdo z adresem sieciowym lokalnego komputera nowoutworzone gniazdo nie jest związane z żadnym adresem, za pomocą bind() możemy mu przypisać adres, dzięki czemu będziemy mogli oczekiwać na przychodzące połączenia na określonym adresie/porcie parametry sockfd - deskryptor gniazda addr struktura określająca adres do którego przypisujemy gniazdo (adres IP + numer portu). Jeśli nie podamy adresu IP, gniazdo zostanie powiązane ze wszystkimi adresami IP komputera. Jeśli nie podamy numeru portu, zostanie on wybrany losowo przez OS addrlen rozmiar w bajtach struktury addr (kompatybilność IPv4/IPv6 itp.)

12 listen() int listen(int sockfd, int backlog); listen() rozpoczyna nasłuchiwanie przychodzących połączeń na danym gnieździe serwerowym o określonym adresie tylko dla gniazd typu strumieniowego (połączeniowych) parametry sockfd deskryptor gniazda backlog rozmiar kolejki nadchodzących połączeń; przychodzące połączenia są umieszczane w kolejce, z której są usuwane poprzez ich zaakceptowanie funkcją accept(); połączenia nadmiarowe będą automatycznie odrzucane

13 accept() int accept(int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen); accept() akceptuje przychodzące połączenie na nasłuchującym gnieździe serwerowym dla zaakceptowanego połączenia przychodzącego tworzone jest nowe gniazdo, które jest połączone w sesję ze zdalnym gniazdem zwraca deskryptor nowego gniazda klienckiego parametry sockfd deskryptor nasłuchującego gniazda serwerowego cliaddr struktura, w której zostanie zapisany adres zdalnego połączonego gniazda addrlen rozmiar struktury cliaddr

14 connect() int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen); connect() inicjuje połączenie gniazda klienckiego ze zdalnym, nasłuchującym gniazdem serwerowym w przypadku gniazd bezpołączeniowych jedynie określa domyślny cel (endpoint) dla komunikacji parametry sockfd deskryptor klienckiego gniazda, które łączymy ze zdalnym systemem serv_addr adres zdalnego, nasłuchującego gniazda serwerowego addrlen rozmiar struktury serv_addr

15 łączenie gniazd serwerowych i klienckich typu połączeniowego

16 odczyt/zapis gniazd w zależności od typu gniazda istnieją 2 zestawy funkcji służących do odczytu/zapisu danych z/do gniazd połączeniowe (SOCK_STREAM) odczyt: ssize_t recv(int sockfd, void *buf, size_t len, int flags); zapis: ssize_t send(int sockfd, const void *buf, size_t len, int flags); bezpołączeniowe (SOCK_DGRAM) odczyt: ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen); zapis: ssize_t sendto(int sockfd, const void *buf, size_t len, int flags, const struct sockaddr *dest_addr, socklen_t addrlen);

17 odczyt/zapis gniazd API połączeniowe jest tożsame z wywołaniem standardowych funkcji read()/write() używanych z plikami kiedy parametr flags jest równy 0 (można ich używać zamiennie) Parametr flags umożliwia określenie dodatkowych, zaawansowanych opcji odczytu/zapisu (najczęściej nieużywanych) API połączeniowe może być używane również z gniazdami typu bezpołączeniowego, których domyślny adres określono za pomocą connect() API bezpołączeniowe recvfrom()/sendto() umożliwia podanie docelowego adresu datagramu lub uzyskanie informacji o adresie źródłowym datagramu odebranego

18 użycie API bezpołączeniowego

19 zamykanie gniazd gniazda zamykamy i zwalniamy zasoby za pomocą standardowej funkcji close() (na Windows closesocket()) w przypadku połączonych sesją gniazd połączeniowych powoduje to również zerwanie połączenia jest to tzw. abrupt (non-graceful) shutdown i jest nieeleganckie (zwykle oznacza błąd) zaleca się przeprowadzenie procedury graceful shutdown poprzez użycie funkcji shutdown() (co jednak wydłuża czas zamknięcia i komplikuje maszynę stanów)

20 graceful shutdown shutdown(sd_rdwr) recv() zwraca 0 close() recv() zwraca 0 połączenie zamknięte shutdown(sd_rdwr) close()

21 odnajdywanie adresów sieciowych maszyny w sieci identyfikowane są za pomocą adresów IP liczb 32- bitowych (IPv4) lub 128-bitowych (IPv6) adresy IP są trudne do zapamiętania i mogą się zmieniać w czasie, dlatego stworzono system nazw i serwerów nazw (domain name system, DNS) będący rozproszoną bazą danych wiążącą nazwy z adresami API BSD umożliwia wyszukiwanie adresów i nazw maszyn w sieci poprzez odpytywanie serwerów DNS i innych baz danych funkcjonalność ta nosi nazwę resolver podstawowy resolver w API BSD jest blokujący nie istnieje standardowy, przenośny mechanizm tworzenia nieblokujących zapytań systemu DNS

22 resolver struct hostent *gethostbyname(const char *name); gethostbyname() zwraca listę znanych adresów dla hosta o podanej nazwie struktura hostent zawiera w sobie pola określające typ adresu (np. AF_INET, AF_INET6), adres hosta, jego długość oraz nazwę kwalifikowaną powiązaną z tym adresem; wskaźnik do następnego elementu listy z jedną nazwą może być powiązane kilka adresów różnych typów oraz kilka nazw (aliasów) aby poznać wszystkie adresy/nazwy danego hosta należy trawersować listę struktur hostent aż kolejny element będzie pusty

23 gethostbyaddr() struct hostent *gethostbyaddr(const void *addr, int len, int type); gethostbyaddr() odnajduje inne znane adresy oraz nazwy hosta o podanym adresie i zwraca ich listę identycznie jak gethostbyname() parametry addr adres hosta, którego wyszukujemy len rozmiar adresu type type (np. AF_INET) adresu

24 resolver POSIX funkcje gethostbyname() i gethostbyaddr() są bardzo rozpowszechnione, ale generalnie są przestarzałe i nie powinny być używane w standardowym API POSIX zostały zastąpione nowszymi funkcjami getaddrinfo() i getnameinfo(), które są bardziej elastyczne, (m.in. umożliwiają wyszukiwanie usług o określonych nazwach) i niezależne od domeny/protokołu w nowych aplikacjach zaleca się korzystanie z nowego API (które jest bardziej rozbudowane ale równocześnie mniej wygodne do prostych zastosowań)

25 getaddrinfo() int getaddrinfo(const char *hostname, const char *service, const struct addrinfo *hints, struct addrinfo **res); getaddrinfo() umożliwia wyszukanie hosta o określonej nazwie lub sformatowanym w tekst adresie oraz usługi o określonej nazwie lub numerze portu hint pozwala dodatkowo określić kryteria wyszukiwania protokół, etc. wynik zwracany jest w postaci listy dynamicznie alokowanych struktur addrinfo, które muszą być zwolnione za pomocą freeaddrinfo()

26 plan programowanie sieciowe BSD/POSIX Socket API systemy RPC interfejsy obiektowe CORBA DCOM RMI WebServices WSDL/SOAP XML-RPC REST

27 mechanizmy RPC RPC Remote Procedure Call zdalne wywołanie procedury oryginalnie termin RPC to nazwa protokołu stworzonego przez firmę Sun do budowy aplikacji rozproszonych (standard RFC1057), m.in. implementacji systemu plików NFS współcześnie terminem tym określa się wszelkie rozwiązania, służące do uruchamiania usług w środowiskach rozproszonych, bez konieczności zaprogramowania niskopoziomowych szczegółów komunikacji w idealnym przypadku wywołanie funkcji/procedury poprzez RPC wygląda z punktu widzenia programisty identycznie jak wywołanie jej na lokalnie, zaś cała komunikacja niezbędna w tym celu odbywa się niejawnie

28 typowy scenariusz RPC program-klient RPC wywołuje lokalną funkcję wydmuszkę (stub) z poziomu języka programowania stub zamienia przekazane mu parametry wywołania w wiadomość zgodną ze stosowanym protokołem RPC (serializacja parametrów) wiadomość jest wysyłana do serwera RPC oferującego daną usługę po odebraniu wiadomość jest deserializowana poprzez server stub server stub wywołuje lokalną funkcję z odczytanymi parametrami z poziomu języka programowania, odczytuje odpowiedź odpowiedź jest serializowana w wiadomość

29 tworzenie wydmuszek interfejs wywołań RPC jest opisywany za pomocą standardowego języka IDL interface description language na podstawie opisu IDL generator kodu systemu RPC tworzy wiązanie (binding) pomiędzy wydmuszkami a biblioteką RPC w danym języku programowania, dostarczając niezbędnego kodu serializacji/deserializacji parametrów kod wydmuszki jest kompilowany i łączony do kodu klienta i serwera implementacja wydmuszek po stronie klienta i serwera może być w innym języku programowania, dopóki zachowany jest wspólny protokół RPC (heterogeniczna)

30 przykład IDL użycie wydmuszki w C++ implementacja serwera w Javie

31 interfejsy obiektowe współczesne implementacje systemów RPC nie modelują pojedynczych funkcji tylko interfejsy w modelu obiektowym podejście zorientowane obiektowo umożliwia tworzenie zdalnych obiektów przechowujących określony stan oraz ułatwia ukrywanie szczegółów implementacyjnych systemu RPC obiektowo-zorientowane systemy RPC to m.in. CORBA Common Object Request Broker Architecture (standard zdefiniowany przez Object Management Group) DCOM Distributed Component Object Model (Microsoft adaptacja modelu komponentowego COM do środowisk rozproszonych) RMI Remote Method Invocation (Java podsystem wbudowany w każdej implementacji języka)

32 CORBA jako przykład OO-RPC

33 usługi internetowe usługi internetowe (Web Services) to podejście opierające się na zastosowaniu standardowych protokołów i formatów danych internetowych (HTTP, XML, JSON) do realizacji wywołań RPC zaletą jest łatwość wdrożenia i debugowania znane, powszechnie stosowane formaty i narzędzia nie ma konieczności wdrażania pełnej, skomplikowanej infrastruktury serwerowej jak w przypadku CORBA aplikacje serwerowe WebServices działają na standardowym serwerze WWW mniejsza szansa że wywołania HTTP zostaną zablokowane przez firewalle, możliwość użycia standardowych serwerów proxy podobnie jak w przypadku tradycyjnego RPC istnieją narzędzia, umożliwiające generowanie wydmuszek z języka IDL lub specjalnego języka WSDL (Web Service Definition Language dialekt XML)

34 podejścia web services sformalizowane opis interfejsu WSDL protokół komunikacyjny SOAP wsparcie narzędzi, generatorów Java,.NET przerost formy nad treścią inwokacja naszego sayhello() i przesłanie kilkunastu znaków wymaga kilku tysięcy znaków w formacie XML luźne, ad hoc wszystko co wygląda i działa jak web service to jest web service XML-RPC proste fragmenty XML przesyłane za pomocą HTTP JSON-RPC analogicznie jak wyżej, ale dane w formacie JSON RESTful interoperatybilność najczęściej jedynie pomiędzy wydmuszkami generowanymi przez tą samą bibliotekę wsparcie języków skryptowych Python, PHP, JavaScript

Programowanie przy użyciu gniazdek

Programowanie przy użyciu gniazdek Programowanie przy użyciu gniazdek Gniazdo (ang. socket) pojęcie abstrakcyjne reprezentujące dwukierunkowy punkt końcowy połączenia. Dwukierunkowość oznacza możliwość wysyłania i przyjmowania danych. Wykorzystywane

Bardziej szczegółowo

Komunikacja międzyprocesowa. Krzysztof Banaś Systemy rozproszone 1

Komunikacja międzyprocesowa. Krzysztof Banaś Systemy rozproszone 1 Komunikacja międzyprocesowa Krzysztof Banaś Systemy rozproszone 1 Komunikacja międzyprocesowa Dla funkcjonowania systemów rozproszonych konieczna jest sprawna komunikacja pomiędzy odległymi procesami Podstawowym

Bardziej szczegółowo

Programowanie współbieżne i rozproszone

Programowanie 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ółowo

Programowanie sieciowe

Programowanie sieciowe Programowanie sieciowe dr Tomasz Tyrakowski Dyż ury: wtorki 12:00 13:00 czwartki 14:00 15:00 pokój B4-5 e-mail: ttomek@amu.edu.pl materiały: http://www.amu.edu.pl/~ttomek 1 Wymagania podstawowa znajomość

Bardziej szczegółowo

RPC 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 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ółowo

Komunikacja i wymiana danych

Komunikacja 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ółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha

Bardziej szczegółowo

Podstawowe typy serwerów

Podstawowe typy serwerów Podstawowe typy serwerów 1. Algorytm serwera. 2. Cztery podstawowe typy serwerów. iteracyjne, współbieżne, połączeniowe, bezpołączeniowe. 3. Problem zakleszczenia serwera. 1 Algorytm serwera 1. Utworzenie

Bardziej szczegółowo

Gniazda - Wstęp. Oprogramowanie systemów równoległych i rozproszonych. Sposób komunikacji. Domena adresowa. olas@icis.pcz.pl

Gniazda - Wstęp. Oprogramowanie systemów równoległych i rozproszonych. Sposób komunikacji. Domena adresowa. olas@icis.pcz.pl Gniazda - Wstęp Oprogramowanie systemów równoległych i rozproszonych Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Domena adresowa 1/??

Bardziej szczegółowo

Programowanie aplikacji równoległych i rozproszonych. Wykład 4

Programowanie aplikacji równoległych i rozproszonych. Wykład 4 Wykład 4 p. 1/44 Programowanie aplikacji równoległych i rozproszonych Wykład 4 Dr inż. Tomasz Olas olas@icis.pcz.pl Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Gniazda - Wstęp

Bardziej szczegółowo

Monitorowanie Sieci nonblocking content packet filtering

Monitorowanie Sieci nonblocking content packet filtering Monitorowanie Sieci nonblocking content packet filtering praca inŝynierska prowadzący: prof. dr hab. inŝ. Zbigniew Kotulski Michał Zarychta 1 Plan prezentacji ZałoŜenia projektu Sniffer Technologie WinPcap

Bardziej szczegółowo

Programowanie rozproszone w języku Java

Programowanie rozproszone w języku Java Wstęp Gniazda RMI Podsumowanie Programowanie rozproszone w języku Java Wojciech Rząsa wrzasa@prz-rzeszow.pl Katedra Informatyki i Automatyki, Politechnika Rzeszowska 25 maja 2015 Wojciech Rząsa, KIiA PRz

Bardziej szczegółowo

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoł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ółowo

Architektura 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 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ółowo

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol) W latach 1973-78 Agencja DARPA i Stanford University opracowały dwa wzajemnie uzupełniające się protokoły: połączeniowy TCP

Bardziej szczegółowo

1 Wprowadzenie do J2EE

1 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ółowo

Komunikacja z użyciem gniazd aplikacje klient-serwer

Komunikacja z użyciem gniazd aplikacje klient-serwer Programowanie obiektowe Komunikacja z użyciem gniazd aplikacje klient-serwer Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Architektura

Bardziej szczegółowo

Wprowadzenie do technologii Web Services: SOAP, WSDL i UDDI

Wprowadzenie 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ółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

PROTOKOŁY WARSTWY TRANSPORTOWEJ

PROTOKOŁY WARSTWY TRANSPORTOWEJ PROTOKOŁY WARSTWY TRANSPORTOWEJ Na bazie protokołu internetowego (IP) zbudowane są dwa protokoły warstwy transportowej: UDP (User Datagram Protocol) - protokół bezpołączeniowy, zawodny; TCP (Transmission

Bardziej szczegółowo

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift.

SOAP i alternatywy. 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift. SOAP i alternatywy 1. WSDL. 2. Protokoły tekstowe XML-RPC. JSON-RPC. SOAPjr. 3. Protokoły binarne Google Protocol Bufers. Apache Thrift. 1 WSDL WSDL (Web Services Description Language) jest standardem

Bardziej szczegółowo

Projektowanie bezpieczeństwa sieci i serwerów

Projektowanie bezpieczeństwa sieci i serwerów Projektowanie bezpieczeństwa sieci i serwerów Konfiguracja zabezpieczeń stacji roboczej 1. Strefy bezpieczeństwa przeglądarki Internet Explorer. W programie Internet Explorer można skonfigurować ustawienia

Bardziej szczegółowo

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7 I Wprowadzenie (wersja 0906) Kurs OPC S7 Spis treści Dzień 1 I-3 O czym będziemy mówić? I-4 Typowe sytuacje I-5 Klasyczne podejście do komunikacji z urządzeniami automatyki I-6 Cechy podejścia dedykowanego

Bardziej szczegółowo

Gniazda. S. Samolej: Gniazda 1

Gniazda. S. Samolej: Gniazda 1 Gniazda dr inż. Sławomir Samolej Katedra Informatyki i Automatyki Politechnika Rzeszowska Program przedmiotu oparto w części na materiałach opublikowanych na: http://wazniak.mimuw.edu.pl/ oraz na materiałach

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja 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ółowo

ZiMSK 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/ 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ółowo

WYKŁAD: Przetwarzanie rozproszone typu klient-serwer.

WYKŁ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ółowo

Architektura typu klient serwer: uproszczony klient POP3

Architektura typu klient serwer: uproszczony klient POP3 Architektura typu klient serwer: uproszczony klient POP3 Wydział Inżynierii Mechanicznej i Informatyki Instytut Informatyki Teoretycznej i Stosowanej dr inż. Łukasz Szustak Składniki systemu poczty e-mail

Bardziej szczegółowo

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ] JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] PROGRAMOWANIE SIECIOWE 2 TCP/IP = UDP + TCP TCP/IP składa się z dwóch podstawowych protokołów: TCP i UDP. TCP jest

Bardziej szczegółowo

XML-RPC: Zdalne wykonywanie procedur

XML-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ółowo

Zaawansowane narzędzia programowania rozproszonego

Zaawansowane narzędzia programowania rozproszonego Zaawansowane narzędzia programowania rozproszonego Karol Gołąb karol.golab@tls-technologies.com 28 listopada 2001 1 Streszczenie Omówienie i porównanie popularnych standardów mechanizmów komunikacyjnych:

Bardziej szczegółowo

Web Services. Wojciech Mazur. 17 marca 2009. Politechnika Wrocławska Wydział Informatyki i Zarządzania

Web Services. Wojciech Mazur. 17 marca 2009. Politechnika Wrocławska Wydział Informatyki i Zarządzania Standardy w Rodzaje Przykłady Politechnika Wrocławska Wydział Informatyki i Zarządzania 17 marca 2009 Standardy w Rodzaje Przykłady Plan prezentacji 1 Wstęp 2 Standardy w 3 4 Rodzaje 5 Przykłady 6 Standardy

Bardziej szczegółowo

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Deduplikacja danych. Zarządzanie jakością danych podstawowych Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication

Bardziej szczegółowo

Tworzenie aplikacji rozproszonej w Sun RPC

Tworzenie 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ółowo

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Projektowanie 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ółowo

Wykład 4: Protokoły TCP/UDP i usługi sieciowe. A. Kisiel,Protokoły TCP/UDP i usługi sieciowe

Wykł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ółowo

Wykł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 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ółowo

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server 2008... 1

Wstęp... ix. 1 Omówienie systemu Microsoft Windows Small Business Server 2008... 1 Spis treści Wstęp... ix 1 Omówienie systemu Microsoft Windows Small Business Server 2008... 1 Składniki systemu Windows SBS 2008... 1 Windows Server 2008 Standard... 2 Exchange Server 2007 Standard...

Bardziej szczegółowo

2. Interfejs gniazd. 2.1. Gniazdo

2. Interfejs gniazd. 2.1. Gniazdo 2. 2.1. Gniazdo Gniazdo (ang. socket): pewna abstrakcja wykorzystywana do wysyłania lub otrzymywania danych z innych procesów. Pełni rolę punktu końcowego w linii komunikacyjnej. to interfejs między programem

Bardziej szczegółowo

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Komunikacja za pomocą potoków. Tomasz Borzyszkowski Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania

Bardziej szczegółowo

1. Model klient-serwer

1. 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ółowo

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1.

Tytuł: Instrukcja obsługi Modułu Komunikacji internetowej MKi-sm TK / 3001 / 016 / 002. Wersja wykonania : wersja oprogramowania v.1. Zakład Elektronicznych Urządzeń Pomiarowych POZYTON sp. z o. o. 42-200 Częstochowa ul. Staszica 8 p o z y t o n tel. : (034) 361-38-32, 366-44-95, 364-88-82, 364-87-50, 364-87-82, 364-87-62 tel./fax: (034)

Bardziej szczegółowo

Zdalne wywołanie procedur. Krzysztof Banaś Systemy rozproszone 1

Zdalne 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ółowo

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services Web Services Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 2 grudnia 2005 roku Wstęp Oprogramowanie napisane w różnych językach i uruchomione na różnych platformach może wykorzystać

Bardziej szczegółowo

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet

Sieci Komputerowe. Wykład 1: TCP/IP i adresowanie w sieci Internet Sieci Komputerowe Wykład 1: TCP/IP i adresowanie w sieci Internet prof. nzw dr hab. inż. Adam Kisiel kisiel@if.pw.edu.pl Pokój 114 lub 117d 1 Kilka ważnych dat 1966: Projekt ARPANET finansowany przez DOD

Bardziej szczegółowo

1. Etapy rozwoju systemów komputerowych

1. Etapy rozwoju systemów komputerowych 1 Sieciowe Systemy Operacyjne Wprowadzenie do wykładu, podstawowe definicje, rola 1 systemu operacyjnego Procesy POSIX, zarządzanie procesami 2 Pliki, komunikacja przez pliki, blokowanie 1 Łącza nazwane

Bardziej szczegółowo

Dostęp do komponentów EJB przez usługi Web Services

Dostęp do komponentów EJB przez usługi Web Services 243 Dostęp do komponentów EJB przez usługi Web Services Mikołaj Morzy Mikolaj.Morzy@cs.put.poznan.pl http://www.cs.put.poznan.pl/mmorzy/ Plan rozdziału 244 Wprowadzenie do usług sieciowych Architektura

Bardziej szczegółowo

Programowanie sieciowe

Programowanie sieciowe Programowanie sieciowe Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2014/2015 Michał Cieśla pok. D-2-47, email: michal.ciesla@uj.edu.pl konsultacje: środy 10-12 http://users.uj.edu.pl/~ciesla/

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Problemy techniczne SQL Server

Problemy techniczne SQL Server Problemy techniczne SQL Server Co zrobić, jeśli program Optivum nie łączy się poprzez sieć lokalną z serwerem SQL? Programy Optivum, które korzystają z bazy danych umieszczonej na serwerze SQL, mogą być

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Programowanie w Windows API

Programowanie na poziomie sprzętu. Programowanie w Windows API Programowanie w Windows API Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu.

Bardziej szczegółowo

Sieci komputerowe. Zajęcia 5 Domain Name System (DNS)

Sieci komputerowe. Zajęcia 5 Domain Name System (DNS) Sieci komputerowe Zajęcia 5 Domain Name System (DNS) DNS - wstęp System nazw domenowych to rozproszona baza danych Zapewnia odwzorowanie nazwy na adres IP i odwrotnie DNS jest oparty o model klient-serwer.

Bardziej szczegółowo

Narzę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 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ółowo

Wątki w Android OS. Matt Rutkowski. GynSoft sp. z o.o. http://gynsoft.net matt@gynsoft.net

Wątki w Android OS. Matt Rutkowski. GynSoft sp. z o.o. http://gynsoft.net matt@gynsoft.net Wątki w Android OS Matt Rutkowski GynSoft sp. z o.o. http://gynsoft.net matt@gynsoft.net Krótko o terminach związanych z Android OS... Android OS bazuje na Linuxie, każda aplikacja posiada własne User

Bardziej szczegółowo

dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Budowa obiektowych aplikacji sieciowych dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Zagadnienia Obiektowe technologie programowania rozproszonego

Bardziej szczegółowo

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji

SIMON SAYS ARCHITECTURE! Usługi zdalne. Technologie, techniki i praktyki implementacji SIMON SAYS ARCHITECTURE! Usługi zdalne Technologie, techniki i praktyki implementacji O mnie Bloguję: SIMON-SAYS-ARCHITECTURE.COM Twittuję: www.twitter.com/szymonpobiega Koduję: DDDSample.Net, NetMX, WS-Man.Net

Bardziej szczegółowo

Sieci równorzędne, oraz klient - serwer

Sieci równorzędne, oraz klient - serwer Sieci równorzędne, oraz klient - serwer podział sieci ze względu na udostępnianie zasobów: równorzędne, peer-to-peer, P2P, klient/serwer, żądanie, odpowiedź, protokół sieciowy, TCP/IP, IPX/SPX, admin sieciowy,

Bardziej szczegółowo

Oprogramowanie systemów równoległych i rozproszonych. Wykład 6

Oprogramowanie systemów równoległych i rozproszonych. Wykład 6 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 Wykład 6 p.

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE Sieć komputerowa (angielskie computer network), układ komputerów i kompatybilnych połączonych ze sobą łączami komunikacyjnymi, umożliwiającymi wymianę danych. Sieć komputerowa zapewnia dostęp użytkowników

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Opcje IP i gniazda surowe laboratorium: 10 Kraków, 2014 10. Programowanie Usług

Bardziej szczegółowo

Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP. Paweł Kozioł p.koziol@students.mimuw.edu.pl

Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP. Paweł Kozioł p.koziol@students.mimuw.edu.pl Protokoly w technologii obiektow rozproszonych - CORBA, RMI/IIOP, COM, SOAP Paweł Kozioł p.koziol@students.mimuw.edu.pl Na początek - moja praca magisterska Narzędzie dla środowiska Eclipse wspierające

Bardziej szczegółowo

T: Wbudowane i predefiniowane domenowe grupy lokalne i globalne.

T: Wbudowane i predefiniowane domenowe grupy lokalne i globalne. T: Wbudowane i predefiniowane domenowe grupy lokalne i globalne. Zadanie1: Zapoznaj się z zawartością witryny http://technet.microsoft.com/pl-pl/library/cc756898%28ws.10%29.aspx. Grupy domyślne kontrolera

Bardziej szczegółowo

MONITOROWANIE WINDOWS Z NETCRUNCHEM 7 P A G E 1

MONITOROWANIE WINDOWS Z NETCRUNCHEM 7 P A G E 1 MONITOROWANIE WINDOWS Z NETCRUNCHEM 7 P A G E 1 NetCrunch 7 monitoruje systemy MS Windows bez instalowania dodatkowych agentów. Jednakże, ze względu na zaostrzone zasady bezpieczeństwa, zdalne monitorowanie

Bardziej szczegółowo

CONFidence 13/05/2006. Jarosław Sajko, PCSS Jaroslaw.sajko@man.poznan.pl

CONFidence 13/05/2006. Jarosław Sajko, PCSS Jaroslaw.sajko@man.poznan.pl IPTables Hacking CONFidence 13/05/2006 Jarosław Sajko, PCSS Jaroslaw.sajko@man.poznan.pl 1 Zamiast planu 2 ZB PCSS Praca operacyjna w ramach ogólnopolskiej szerokopasmowej sieci PIONIER oraz zasobów Centrum

Bardziej szczegółowo

Plan wykładu. Domain Name System. Hierarchiczna budowa nazw. Definicja DNS. Obszary i ich obsługa Zapytania Właściwości.

Plan wykładu. Domain Name System. Hierarchiczna budowa nazw. Definicja DNS. Obszary i ich obsługa Zapytania Właściwości. Sieci owe Sieci owe Plan wykładu Domain Name System System Nazw Domen Definicja DNS Hierarchiczna budowa nazw Obszary i ich obsługa Zapytania Właściwości Sieci owe Sieci owe Definicja DNS DNS to rozproszona

Bardziej szczegółowo

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008 Adam 1 grudnia 2008 Wstęp Opis Historia Apache kontener serwletów rozwijany w ramach projektu Apache jeden z bardziej popularnych kontenerów Web open source, Apache Software License rozwijany przez ASF

Bardziej szczegółowo

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Wymagania do zdalnej instalacji agentów firmy StorageCraft Wymagania do zdalnej instalacji agentów firmy StorageCraft Sytuacja Te wymagania są rekomendowane do zrealizowania przed wykonaniem zdalnej instalacji agentów ShadowProtect. Pomogą one także rozwiązad

Bardziej szczegółowo

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych Wykład 2: Budowanie sieci lokalnych 1 Budowanie sieci lokalnych Technologie istotne z punktu widzenia konfiguracji i testowania poprawnego działania sieci lokalnej: Protokół ICMP i narzędzia go wykorzystujące

Bardziej szczegółowo

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Akademia Techniczno-Humanistyczna w Bielsku-Białej Akademia Techniczno-Humanistyczna w Bielsku-Białej Wydział Budowy Maszyn i Informatyki Laboratorium z sieci komputerowych Ćwiczenie numer: 9 Temat ćwiczenia: Aplikacje klient-serwer. 1. Wstęp teoretyczny.

Bardziej szczegółowo

Ataki na serwery Domain Name System (DNS Cache Poisoning)

Ataki na serwery Domain Name System (DNS Cache Poisoning) Ataki na serwery Domain Name System (DNS Cache Poisoning) Jacek Gawrych semestr 9 Teleinformatyka i Zarządzanie w Telekomunikacji jgawrych@elka.pw.edu.pl Plan prezentacji Pytania Phishing -> Pharming Phishing

Bardziej szczegółowo

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć

Bardziej szczegółowo

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS

Bardziej szczegółowo

Stos TCP/IP. Warstwa aplikacji cz.2

Stos TCP/IP. Warstwa aplikacji cz.2 aplikacji transportowa Internetu Stos TCP/IP dostępu do sieci Warstwa aplikacji cz.2 Sieci komputerowe Wykład 6 FTP Protokół transmisji danych w sieciach TCP/IP (ang. File Transfer Protocol) Pobieranie

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Inżynierii Elektrycznej i Komputerowej Politechnika Krakowska programowanie usług sieciowych Usługa DNS laboratorium: 03 Kraków, 2014 03. Programowanie Usług Sieciowych

Bardziej szczegółowo

egroupware czy phpgroupware jest też mniej stabilny.

egroupware czy phpgroupware jest też mniej stabilny. Opengroupware to projekt udostępniający kompletny serwer aplikacji oparty na systemie Linux. Dostępny na licencji GNU GPL, strona domowa: http://www.opengroupware.org/ Jego cechy to wysoka stabilność,

Bardziej szczegółowo

Komunikator internetowy w C#

Komunikator internetowy w C# PAŃSTWOWA WYśSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie Komunikator internetowy w C# autor: Artur Domachowski Elbląg, 2009 r. Komunikacja przy uŝyciu poczty internetowej

Bardziej szczegółowo

Programowanie sieciowe

Programowanie sieciowe Programowanie sieciowe email: dawid@us.edu.pl Programowanie warstwy transportu. - Berkeley sockets. - koncepcja gniazda - bibliteka sockets (connect(),socket(),bind(),listen(),accept(),read(),write() )

Bardziej szczegółowo

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak

Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak Serwery Autorzy: Karol Czosnowski Mateusz Kaźmierczak Czym jest XMPP? XMPP (Extensible Messaging and Presence Protocol), zbiór otwartych technologii do komunikacji, czatu wieloosobowego, rozmów wideo i

Bardziej szczegółowo

Pracownia internetowa w szkole ZASTOSOWANIA

Pracownia internetowa w szkole ZASTOSOWANIA NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje

Bardziej szczegółowo

1. Model klient-serwer

1. Model klient-serwer 1. Model klient-serwer 1.1. Model komunikacji w sieci łącze komunikacyjne klient serwer Tradycyjny podział zadań: Klient strona żądająca dostępu do danej usługi lub zasobu Serwer strona, która świadczy

Bardziej szczegółowo

Samba serwer plików i drukarek. Rafał Szcześniak The Samba Team. Prosze pytać w każdej chwili

Samba serwer plików i drukarek. Rafał Szcześniak <mimir@samba.org> The Samba Team. Prosze pytać w każdej chwili serwer plików i drukarek Rafał Szcześniak The Team Prosze pytać w każdej chwili Co to jest? Jest to wolna implementacja serwera protokołu SMB/CIFS pozwalająca systemom Unix współpracować

Bardziej szczegółowo

ActiveXperts SMS Messaging Server

ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server ActiveXperts SMS Messaging Server to oprogramowanie typu framework dedykowane wysyłaniu, odbieraniu oraz przetwarzaniu wiadomości SMS i e-mail, a także tworzeniu własnych

Bardziej szczegółowo

Relacyjne, a obiektowe bazy danych. Bazy rozproszone

Relacyjne, a obiektowe bazy danych. Bazy rozproszone 2 Relacyjne, a obiektowe bazy danych. Bazy rozproszone Zastosowania baz danych systemy bankowe (bankomat) systemy masowej obsługi (hipermarket) rezerwacja biletów lotniczych telefonia komórkowa (sms) Dziekanat

Bardziej szczegółowo

Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców

Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców METODY WYMIANY INFORMACJI W SIECIACH PAKIETOWYCH Unicast jeden nadawca i jeden odbiorca Broadcast jeden nadawca przesyła do wszystkich Multicast jeden nadawca i wielu (podzbiór wszystkich) odbiorców TRANSMISJA

Bardziej szczegółowo

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja

Zespól Szkół Ponadgimnazjalnych Nr 17 im. Jana Nowaka - Jeziorańskiego Al. Politechniki 37 Windows Serwer 2003 Instalacja 7 Windows Serwer 2003 Instalacja Łódź, styczeń 2012r. SPIS TREŚCI Strona Wstęp... 3 INSTALOWANIE SYSTEMU WINDOWS SERWER 2003 Przygotowanie instalacji serwera..4 1.1. Minimalne wymagania sprzętowe......4

Bardziej szczegółowo

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1 Architektury systemów rozproszonych LABORATORIUM Ćwiczenie 1 Temat: Aplikacja klient-serwer - implementacja w środowisku QT Creator. Przykładowy projekt aplikacji typu klient - serwer został udostępniony

Bardziej szczegółowo

Protokół sieciowy Protokół

Protokół sieciowy Protokół PROTOKOŁY SIECIOWE Protokół sieciowy Protokół jest to zbiór procedur oraz reguł rządzących komunikacją, między co najmniej dwoma urządzeniami sieciowymi. Istnieją różne protokoły, lecz nawiązujące w danym

Bardziej szczegółowo

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta

Skąd dostać adres? Metody uzyskiwania adresów IP. Statycznie RARP. Część sieciowa. Część hosta Sieci komputerowe 1 Sieci komputerowe 2 Skąd dostać adres? Metody uzyskiwania adresów IP Część sieciowa Jeśli nie jesteśmy dołączeni do Internetu wyssany z palca. W przeciwnym przypadku numer sieci dostajemy

Bardziej szczegółowo

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP FILTROWANIE IP mechanizm decydujący, które typy datagramów IP mają być odebrane, które odrzucone. Odrzucenie oznacza usunięcie, zignorowanie datagramów, tak jakby nie zostały w ogóle odebrane. funkcja

Bardziej szczegółowo

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

Wywoływanie procedur zdalnych

Wywoł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ółowo

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego Wątki Wątek - definicja Ciąg instrukcji (podprogram) który może być wykonywane współbieżnie (równolegle) z innymi programami, Wątki działają w ramach tego samego procesu Współdzielą dane (mogą operować

Bardziej szczegółowo

Bezpieczeństwo systemów informatycznych

Bezpieczeństwo systemów informatycznych Bezpieczeństwo systemów informatycznych Rule Set Based Access Control ĆWICZENIE RSBAC 1 Wprowadzenie RSBAC to zestaw łat na jądro systemu Linux rozszerzających bezpieczeństwo systemu. Wspiera on mechanizmy

Bardziej szczegółowo

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail. A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail

Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail. A. Kisiel,Protokoły DNS, SSH, HTTP, e-mail N, Wykład 5: Najważniejsze usługi sieciowe: DNS, SSH, HTTP, e-mail 1 Domain Name Service Usługa Domain Name Service (DNS) Protokół UDP (port 53), klient-serwer Sformalizowana w postaci protokołu DNS Odpowiada

Bardziej szczegółowo

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c

Rok szkolny 2014/15 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. SIECI KOMPUTEROWE kl. 2c Wymagania edukacyjne w technikum SIECI KOMPUTEROWE kl. 2c Wiadomości Umiejętności Lp. Temat konieczne podstawowe rozszerzające dopełniające Zapamiętanie Rozumienie W sytuacjach typowych W sytuacjach problemowych

Bardziej szczegółowo

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci

UNIX: architektura i implementacja mechanizmów bezpieczeństwa. Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci UNIX: architektura i implementacja mechanizmów bezpieczeństwa Wojciech A. Koszek dunstan@freebsd.czest.pl Krajowy Fundusz na Rzecz Dzieci Plan prezentacji: Wprowadzenie do struktury systemów rodziny UNIX

Bardziej szczegółowo

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911)

Spis treci. Dzie 1. I Wprowadzenie (wersja 0911) II Dostp do danych biecych specyfikacja OPC Data Access (wersja 0911) I Wprowadzenie (wersja 0911) Kurs OPC Integracja i Diagnostyka Spis treci Dzie 1 I-3 O czym bdziemy mówi? I-4 Typowe sytuacje I-5 Klasyczne podejcie do komunikacji z urzdzeniami automatyki I-6 Cechy podejcia

Bardziej szczegółowo

MASKI SIECIOWE W IPv4

MASKI SIECIOWE W IPv4 MASKI SIECIOWE W IPv4 Maska podsieci wykorzystuje ten sam format i sposób reprezentacji jak adresy IP. Różnica polega na tym, że maska podsieci posiada bity ustawione na 1 dla części określającej adres

Bardziej szczegółowo