Politechnika Warszawska - Centralny System Uwierzytelniania
Nie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

Usługi i aplikacje internetowe i mobilne: projektowanie i programowanie

Informacje ogólne

Kod przedmiotu: 103A-CBxxx-ISP-UAIM Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Usługi i aplikacje internetowe i mobilne: projektowanie i programowanie
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Informatyka techniczna )-Cyberbezpieczeństwo-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 4.00
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

UAIM

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest zaznajomienie słuchaczy z procesem tworzenia systemów informatycznych realizujących usługi internetowe. Zostanie przedstawiony proces projektowania, implementacji i wdrażania systemów w architekturze zorientowanej usługowo SOA. Omówione zostaną metodyka i narzędzia do tworzenia i wdrażania aplikacji serwerowych w architekturze mikrousług oraz do tworzenia aplikacji klienckich wykonywanych w przeglądarkach oraz na urządzeniach mobilnych.

Pełny opis:

Celem przedmiotu jest zaznajomienie słuchaczy z procesem tworzenia systemów informatycznych realizujących usługi internetowe. Zostanie przedstawiony proces projektowania, implementacji i wdrażania systemów w architekturze zorientowanej usługowo SOA. Omówione zostaną metodyka i narzędzia do tworzenia i wdrażania aplikacji serwerowych w architekturze mikrousług oraz do tworzenia aplikacji klienckich wykonywanych w przeglądarkach oraz na urządzeniach mobilnych.

Treść kształcenia:



Treść wykładu

  • Architektura systemów zorientowanych usługowo SOA. Architektura klient-serwer i jej uogólnienie. Model usług REST. Standaryzacja; protokół HTPP, notacje XML i JSON. Usługi sieciowe RESTful. Interoperacyjność, enkapsulacja. Bezstanowość i skalowalność. Wzorce architektoniczne projektowania; fasada usługowa. Usługi REST API. Usługi SaaS chmury obliczeniowej.
  • Wirtualizacja. Wirtualizacja ciężka – maszyny wirtualne VM i wirtualizatory. Wirtualizacja lekka – kontenery; obrazy i instancje. Platforma kontenerowa Docker. Platforma orkiestracji kontenerów Kubernetes. Usługi PaaS chmury obliczeniowej.
  • Internetowa aplikacja kliencka. Architektura aplikacji. Języki JavaScript i HTML 5. Zasady konstrukcji interfejsu użytkownika GUI. Proces i narzędzia rozwoju; platforma programistyczna AngularJS.
  • Mobilna aplikacja kliencka. Architektura; model MVVM, wzorce architektoniczne projektowania. Zasady konstrukcji interfejsu użytkownika GUI; ergonomia. Wdrażanie, platformy „app store”. Proces i narzędzia rozwoju; platforma programistyczna Android Studio.
  • Aplikacja serwerowa. Architektura mikrousługowa; korzyści i zagrożenia. Zasady dekompozycji; architektura logiczna – domeny, architektura fizyczna – mikrousługi. Wzorce architektoniczne projektowania. Domena systemu; model danych, funkcje biznesowe. Zasady komunikacji/integracji mikrousług; komunikacja zdarzeniowa, brokery wiadomości, szyny usługowe/zdarzeń. Zasady przechowywania danych. Testowanie mikrousług. Wdrożenie na platformie kontenerowej. Proces i narzędzia rozwoju; platforma programistyczna Visual Studio.
  • Wymagania pozafunkcjonalne. Wydajność, niezawodność/dostępność, bezpieczeństwo systemów. Skalowalność – orkiestracja kontenerów mikrousług. Awarie częściowe aplikacji serwerowej i strategie ich obsługi, monitorowanie stanu. Uwierzytelnienie i autoryzacja mikrousług i aplikacji klienckich.
  • Proces wytwarzania systemów. Koncepcje Continuous Integration i Continuous Deployment. Metodyka DevOps rozwoju systemów; automatyzacja procesu, wsparcie narzędziowe.



Zakres laboratorium

Celem jest praktyczne zapoznanie się studentów z procesem projektowania, implementacji i wdrażania systemu oraz z narzędziami do tworzenia i wdrażania elementów systemu.


Zakres laboratorium obejmuje następujące zagadnienia:

  • Projektowanie i implementacja aplikacji serwerowej w architekturze mikrousług.
  • Projektowanie i implementacja internetowej aplikacji klienckiej.
  • Projektowanie i implementacja internetowej aplikacji mobilnej.
  • Platforma wirtualizacji kontenerowej Docker/ Kubernetes.
  • Testowanie i wdrażanie aplikacji serwerowej.
  • Testowanie i wdrażanie internetowej aplikacji klienckiej.
  • Testowanie i wdrażanie mobilnej aplikacji klienckiej.



Zakres projektu

Celem jest samodzielne opracowanie kompletnego systemu realizującego prostą usługę internetową.


Zakres projektu obejmuje następujące zadania:

  • Opracowanie aplikacji serwerowej złożonej z minimalnej liczby mikrousług;
  • Opracowanie aplikacji klienckiej internetowej lub mobilnej.
Literatura:

Materiały do zajęć – slajdy, opracowania, artykuły.


Oprogramowanie:

  • Systemy operacyjne Windows, Linux, Android;
  • Środowiska programistyczne Visual Studio, Android Studio, Angular.Js;
  • Środowiska wirtualizacji Hyper-V, VirtualBox, Docker(/Kubernetes).
Metody i kryteria oceniania:

Projekt polegający na opracowaniu prostego, ale kompletnego systemu koniec-koniec, składającego się z aplikacji serwerowej złożonej z minimalnej liczby mikrousług oraz aplikacji klienckiej internetowej lub mobilnej; realizowany w małych (domyślnie 2-osobowych) zespołach prezentowany na forum grupy, oceniany w skali punktowej (łącznie 60% punktów). Kolokwia w formie testu (40% punktów). Zaliczenie zarówno kolokwiów jak i projektu wymagane do zaliczenia przedmiotu. Ocena końcowa na podstawie łącznej punktacji.

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. letni" (w trakcie)

Okres: 2021-02-20 - 2021-09-30
Wybrany podział planu:


powiększ
zobacz plan zajęć
Typ zajęć: Laboratorium, 15 godzin, 60 miejsc więcej informacji
Projekt, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Artur Tomaszewski
Prowadzący grup: Artur Tomaszewski, Mateusz Żotkiewicz
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.