Informacje dotyczące przedmiotu.
Zawartość strony | |
Organizacja | |
Laboratorium | |
IBM Cloud | |
Projekt | |
Ocena końcowa | |
Przedmiot jest realizowany w następującym schemacie: 15 godzin wykładu, 15 godzin laboratorium i 15 godzin projektowych oraz 15 godzin seminarium. W ramach zajęć laboratoryjnych zapoznamy się z problemami poruszanymi na wykładzie. W trakcie godzin projektowych będziemy realizować projekt zaliczeniowy. Ocena końcowa będzie wystawiona w oparciu o liczbę punktów, które Państwo zgromadzą w czasie ćwiczeń laboratoryjnych, za opracowanie i uruchomienie projektu oraz wygłoszenie seminarium. Poniżej przedstawione zostały dokładne reguły przydzielania punktów w trakcie ćwiczeń, za końcowy projekt oraz za wygłoszenie seminarium.
Uwaga. W trakcie zajęć wymagana jest znajomość zagadnień poruszanych na następujących zajęciach: programowanie obiektowe - Java, techniki internetowe i bazy danych I.
Organizacja zajęć laboratoryjnych i projektowych
W trakcie pięciu zajęć laboratoryjnych (5 x 3 godz. lekcyjne) zapoznamy się z niektórymi aspektami tworzenia aplikacji w środowisku Jakarta EE. Po wprowadzeniu do tematu i przeanalizowaniu kilku przykładów, będą Państwo zobligowani do opracowania aplikacji w ramach technologii Jakarta EE.
W ramach zajęć projektowych (5 x 3 godz. lekcyjne) należy zrealizować aplikację zaliczeniową jednoosobowo a w ramach seminarium (5 x 3 godz. lekcyjne) należy zaprezentować w trakcie seminarium wybraną technologię w zespołach dwuosobowych. Wymagania dotyczące realizacji projektu przedstawiono w kolejnym punkcie. Omówienie wybranej technologii w trakcie seminarium składa się z dwóch części - krótkiej ale wyczerpującej temat prezentacji oraz przedstawienia przykładowej aplikacji w omawianej technologii wraz z odpowiednią instrukcją jak należy j uruchomić. Oceniana będzie prezentacja, przykładowa aplikacja oraz jakość instrukcji umożliwiającej uruchomienie przykładu. W ramach tego semestru do wyboru są poniższe tematy (możliwość prezentacji tematu z poza listy po uzgodnieniu z prowadzącym zajęcia seminaryjne):
- Programowanie reaktywne
- DI (Dependency Injection) i CDI (Context and Dependency Injection) w technologii Jakarta EE
- Technologie *Faces
- Technologia JAAS
- Technologia JMS
- Język AspectJ
- WebSocket w aplikacji Jakarta EE
- Spring Data
- Spring Cloud
- IBM Cloud, JEE i SpringBoot
- Microsoft Azure i JEE
- Interfejs graficzny (GUI) w JavaFX
- Frameworki JavaScript tj. AngularJS, React czy Vue.js
Chmura obliczeniowa IBM Cloud
Podczas zajęć w laboratorium zostaną zrealizowane projekty w chmurze obliczeniowej IBM Cloud. Wymaga to uzyskania dostępu do zasobów chmury obliczeniowej. W ramach inicjatywy akademickiej firmy IBM możliwe jest uzyskanie przez studenta dostępu do 6-miesięcznego konta, na którym można realizować projekty. Poniżej przedstawiono linki do odpowiednich stron umożliwiajcych utworzenie odpowiedniego konta w chmurze obliczeniowej IBM Cloud.
- Serwis IBM Cloud
- Strona umożliwiająca uzyskanie 6-miesięcznego konta studenckiego w serwisie IBM Academic Initiative - Software
Projekt
Zaliczenie przedmiotu następuje po oddaniu projektu zrealizowanego w czasie trwania semestru. Tematem
projektu jest aplikacja klient serwer zrealizowana zgodnie z wzorcem RESTful (Java API for RESTful Web Services JAX-RS),
z wykorzystaniem technologii WebSocket (Java API for WebSocket) lub z interfejsem GraphQL. Część serwerowa wykorzystuje serwer bazy danych (relacyjny bądź NoSQL).
Klient może być zrealizowany z wykorzystaniem serwisu WWW i języka Javascript lub może to być aplikacja mobilna. Temat
projektu należy uzgodnić z prowadzącym laboratorium.
Zaliczenie projektu następuje po zrealizowaniu następujących elementów:
- serwer - aplikacja serwerowa uruchomiona w ramach chmur: IBM Cloud, Microsoft Azure, Google Cloud, AWS Cloud lub z wykorzystaniem konteneryzacji;
- serwer - realizacja w technologii platformy Jakarta EE lub dodatkowo z wykorzystaniem technologii Spring i technologii Spring Boot;
- serwer - dostęp do danych zrealizowany w oparciu o odwzorowanie obiektowo-relacyjne JPA lub Spring Data;
- serwer - baza danych w rozwiązaniu chmurowym DBaaS;
- serwer - obsługa zdarzeń z wykorzystaniem programowania aspektowego - język AspectJ lub Spring AOP;
- klient - opracowany z wykorzystaniem serwisu WWW i języka JavaScript, aplikacja typu SPA lub jako aplikacja mobilna;
- klient - w ramach aplikacji można wykorzystać odpowiednie frameworki (np. AngularJS, React, Vue.js czy Cordova);
- dokumentacja - opis funkcjonalności opracowanej aplikacji zarówno części serwerowej jak i klienta;
- dokumentacja - dołączone odpowiednie diagramy UML dla części serwerowej i klient;
- dokumentacja - prezentacja wybranych testów jednostkowych i wdrożeniowych dla części serwerowej i klienta;
- dokumentacja - informacja uruchomieniowa (wdrożeniowa);
- dokumentacja - kod aplikacji należy udokumentować przy pomocy JavaDoc (w przypadku aplikacji mobilnej również);
- dokumentacja - podstawowy podręcznik użytkownika.
Ocena końcowa
- Uczestnictwo w pięciu laboratoriach, 2 punkty za obecność plus do 4 punktów za realizację zadań w trakcie zajęć ( maksymalnie 5 * 6 pkt = 30 pkt ):
- obecność na zajęciach - 2 pkt,
- realizacja 50% zadań - 2 pkt,
- realizacja 50-80% zadań - 3 pkt,
- realizacja 80-100% zadań - 4 pkt.
Nieobecność na tych laboratoriach wymaga opracowania konspektu omawianej tematyki na laboratorium i zrealizowania zadania
wyznaczonego przez prowadzącego zajęcia (możliwość uzyskania do 4 pkt.). - Prezentacja technologii w ramach seminarium ( maksymalnie do 15 pkt ):
- prezentacja technologii - 6 pkt,
- prezentacja i omówienie przykładu - 6 pkt,
- instrukcja wdrożenia przykładu - 3 pkt.
- Realizacja projektu w trakcie semestru ( maksymalnie 45 pkt ):
- realizacja części serwerowej - 15 pkt,
- realizacja części klienta - 10 pkt,
- dokumentacja projektu - 10 pkt,
- oddanie akceptowalnego projektu w terminie do 30 czerwca - 10 pkt.
- Obecność na zajęciach projektowych ( seminariach ) - 1 pkt ( maksymalnie 10 pkt ).
Termin realizacji zadania do dwóch dni po omówieniu problemu na laboratorium. Po tym terminie - 50% punktów za jego realizację.
Maksymalna liczba punktów : 100 pkt.
Końcowa tabela przeliczeniowa : punkty - ocena
50-59 | dst | 3.0 |
60-69 | pdst | 3.5 |
70-79 | db | 4.0 |
80-89 | pdb | 4.5 |
90-100 | bdb | 5.0 |