Wydział Informatyki
Kierunek studiów Informatyka Poziom i forma studiów drugiego stopnia niestacjonarne
Specjalność / Ścieżka dyplomowania Przedmiot wspólny Profil kształcenia ogólnoakademicki
Nazwa przedmiotu Rozproszone systemy internetowe Kod przedmiotu INZ2RSI
Rodzaj przedmiotu obowiązkowy
Forma zajęć i liczba godzin W Ć L P Ps T S Semestr 1
10 20 Punkty ECTS 4
Przedmioty wprowadzające
Cele przedmiotu

Zapoznanie studentów z wybranymi metodologiami realizacji systemów rozproszonych w sieci Internet. Szczegółowe omówienie zagadnień związanych z SOAP i RESTful web serwisami.

Treści programowe

Wykład:
1. JAVA Remote Method Invocation – obiekty zdalne, rejestr , interfejsy, namiastki, przekazywanie argumentów.
2. Koncepcja Web Serwisów, elementy składowe, przegląd specyfikacji i implementacji.
3. Model SOA.
4. Proste przykłady usług WWW.
5. Realizacja transportu dla usług WWW - protokół SOAP. Opis usługi WWW - język WSDL.
6. Bezpieczna realizacja wywołań dla usług WWW - specyfikacje WS-Security, używanie SSL.
7. Przesyłanie plików binarnych, handlery, obsługa błędów, asynchroniczne wywołania.
8. Specyfikacje WS-Addressing, WS-Policy.
9. Cechy architektury REST i jej zastosowania w implementacjach usług WWW.
10. Wybrane zagadnienia budowy RESTful web serwisów: metody bezpieczne i idempotentne, kody odpowiedzi HTTP, implementacja HATEOAS, filtry, interceptory, przechwytywanie błędów.
11. Enterprise messaging systems, JMS API Programming Model.

Pracownia specjalistyczna:
1. Java RMI – uruchamianie przykładów i pisanie aplikacji z Java RMI.
2. Zagadnienia z SOAP web serwisów: uruchamianie web serwisów z wykorzystaniem specyfikacji JAX-WS, monitorowanie komunikatów SOAP, analiza WSDL, implementacja WS na serwerze, tworzenie aplikacji klienckiej, użycie SoapUI, testowanie wpływu adnotacji JAX-WS na WSDL, handlery, implementacja autentyfikacji, użycie WS-Security i SSL, generowanie wyjątków, przesyłanie załączników binarnych, pisanie projektów.
3. Zagadnienia z RESTful web serwisów: tworzenie web serwisów z wykorzystaniem specyfikacji JAX-RS, testowanie adnotacji, generowanie różnych reprezentacji zasobów, testowanie web serwisów z użyciem aplikacji Postman, budowa aplikacji funkcjonalności CRUD, kontekst, tworzenie klienta na bazie biblioteki Jersey, WADL, monitorowanie zapytań i odpowiedzi, definicja podzasobów, implementacja HATEOAS, implementacja filtrów, pisanie projektów.
4. Implementacja aplikacji korzystającej z enterprise messaging systems na bazie JMS.

Metody dydaktyczne

wykład problemowy,   programowanie z użyciem komputera,  

Forma zaliczenia

Wykład - egzamin pisemny.
Pracownia specjalistyczna - realizacja ćwiczeń i projektów systemów rozproszonych w wybranych technologiach.

Symbol efektu uczenia się Zakładane efekty uczenia się Odniesienie do kierunkowych efektów uczenia się
EU1 rozumie semantykę zdalnego wywołania procedury, identyfikuje problemy związane z jego realizacją i zna stosowane rozwiązania INF2_W05
EU2 posiada wiedzę na temat koncepcji Web Services, modelu SOA oraz protokołów i standardów stosowanych do realizacji tych zagadnień INF2_W05
EU3 zna strukturę aplikacji zgodnej ze specyfikacją J2EE oraz rozumie mechanizmy implementowane w ramach tej specyfikacji INF2_W05
EU4 potrafi zaprojektować i zaimplementować system rozproszony z wykorzystaniem koncepcji Web Services INF2_U08
EU5 potrafi zaprojektować i zaimplementować system rozproszony z wykorzystaniem specyfikacji J2EE INF2_U03
EU6 potrafi analizować potrzeby potencjalnego klienta zamawiającego system informacyjny i dopasować swoje rozwiązania do zidentyfikowanych potrzeb INF2_U04
Symbol efektu uczenia się Sposób weryfikacji efektu uczenia się Forma zajęć na której zachodzi weryfikacja
EU1 egzamin zaliczający wykład W
EU2 egzamin zaliczający wykład W
EU3 egzamin zaliczający wykład W
EU4 projekt i implementacja systemu rozproszonego na pracowni specjalistycznej, realizacja ćwiczeń programistycznych Ps
EU5 projekt i implementacja systemu rozproszonego na pracowni specjalistycznej Ps
EU6 prezentacja projektu systemu na pracowni specjalistycznej Ps
Bilans nakładu pracy studenta (w godzinach) Liczba godz.
Wyliczenie
1 - Udział w wykładach - 10x1h 10
2 - Udział w pracowni specjalistycznej - 10x2h 20
3 - Opracowanie sprawozdań z pracowni specjalistycznej oraz wykonanie zadań domowych (prac domowych) 20
4 - Udział w konsultacjach 2
5 - Realizacja zadań projektowych 40
6 - Przygotowanie do egzaminu 6
7 - Udział w egzaminie 2
RAZEM: 100
Wskaźniki ilościowe GODZINY ECTS
Nakład pracy studenta związany z zajęciami wymagającymi bezpośredniego udziału nauczyciela 34
(7)+(1)+(4)+(2)
1.4
Nakład pracy studenta związany z zajęciami o charakterze praktycznym 80
(3)+(5)+(2)
3.2
Literatura podstawowa

1. Specyfikacje standardów dostępne na stronie http://www.w3c.org.
2. Java EE Tutorial Project, https://javaee.github.io/tutorial/.
3. Jersey User Guide, https://jersey.github.io/documentation/latest/index.html.
4. Metro - Webservice toolkit, https://javaee.github.io/metro/.
5. GlassFish Server, https://javaee.github.io/glassfish/.

Literatura uzupełniająca

1. Java API for XML-Based Web Services, https://jcp.org/en/jsr/detail?id=224.
2. Java API for RESTful Web Services, https://jcp.org/en/jsr/detail?id=339.
3. B. Mehta - REST : najlepsze praktyki i wzorce w języku Java : usprawnij wymianę danych z usługą REST!. Helion, 2015.

Jednostka realizująca Katedra Systemów Informacyjnych i Sieci Komputerowych Data opracowania programu
Program opracował(a) dr hab. inż. Jacek Grekow 2020.05.22