KOD | Treść programowa | Godziny |
---|
laboratoria |
---|
T-L-1 | Implementacja autentykacji klienta w domenie Active Directory WI ZUT przy użyciu JNDI za pośrednictwem zdalnego obiektu RMI. | 2 |
T-L-2 | Opracowanie rozproszonej aplikacji webowej wykorzystującej interfejs programowania JAX-WS. Opracowanie klienta JAX-WS. Specyfikowanie danych z wykorzystaniem klas JAXB wygenerowanych na podstawie modelu XML Schema. Serializacja/deserializacja danych. | 2 |
T-L-3 | Opracowanie rozproszonej aplikacji webowej wykorzystującej styl architektoniczny REST oraz interfejs programowania JAX-RS. Opracowanie klienta JAX-RS. Specyfikowanie danych z wykorzystaniem JSON. Serializacja/deserializacja danych. | 2 |
T-L-4 | Implementacja asynchronicznej komunikacji rozproszonej z wykorzystaniem specyfikacji JMS. Opracowanie producenta i konsumenta. Specyfikowanie danych. Programowanie asynchronicznego wysyłania wiadomości i opóźnione dostarczanie. | 2 |
T-L-5 | Implementacja programowego kolejkowania zadań za pomocą ScheduledExecutorService oraz Timer API na potrzeby komunikacji rozproszonej JAX-WS, JAX-RS oraz JMS. Wykorzystanie buforowania danych przy użyciu Ehcache. | 2 |
T-L-6 | Opracowanie wielowarstwowej aplikacji webowej z wykorzystaniem wzorca MVC za pomocą frameworka Spring MVC | 2 |
T-L-7 | Opracowanie warstwy dostępu do danych z wykorzystaniem standardu JPA oraz frameworków Spring Data i Hibernate. Wykorzystanie mechanizmu cachowania danych za pomocą frameworka Hazelcast | 2 |
T-L-8 | Opracowanie warstwy autoryzacyjnej aplikacji poprzez zbudowanie serwera autoryzacji wykorzystującego framework Spring Security oraz standard OAuth 2.0 | 2 |
T-L-9 | Opracowanie warstwy logiki biznesowej aplikacji zorientowanej na usługi. Integracja usług z wykorzystaniem frameworka Apache Camel | 2 |
T-L-10 | Opracowanie klienckiej aplikacji webowej wykorzystującej HTML 5.0 oraz serwer szablonów Thymeleaf i framework CSS Bootstrap | 2 |
| 20 |
---|
wykłady |
---|
T-W-1 | Przetwarzanie rozproszone – Remote Method Invocation:
• architektura aplikacji RMI
• ładowanie klas
• konfiguracje RMI
• odśmiecanie zdalnych obiektów
• rejestr obiektów
• podstawowe interfejsy programowania aplikacji RMI
• tworzenie i uruchamianie obiektów rozproszonych | 2 |
T-W-2 | Przetwarzanie rozproszone – Java Message Service:
• architektura aplikacji JMS
• obiekty zarządzane programowo lub za pomocą konfiguracji
• typy i cechy komunikacji JMS
• konfiguracja point-to-point
• konfiguracja publish-subscribe
• struktura komunikatu JMS
• uproszczone JMS API 2.0
• wstrzykiwanie obiektu JMSContext
• tworzenie producenta i konsumenta
• asynchroniczne wysyłanie wiadomości
• opóźnione dostarczanie | 1 |
T-W-3 | Przetwarzanie rozproszone – JAX-WS i JAXB:
• interfejs programowy JAXB
- XJC binding compiler
- odczyt i zapis wiadomości XML przy użyciu JAXB
- generowanie XMLSchema - narzędzie schemagen
- klasa JAXBContext
- adnotacje JAXB
• interfejs programowy JAX-WS
- rozszerzalna reprezentacja wiadomości przy użyciu SOAP
- HTTP over SOAP
- WSDL i jego struktura
- podejścia do wytwarzania aplikacji JAX-WS
- tworzenie usług sieciowych JAX-WS
- testowanie usług sieciowych
- generowanie WSDL
- tworzenie klienta JAX-WS
- generowanie klas dostępu do usług - narzędzie wsimport
- wywoływanie usług JAX-WS | 2 |
T-W-4 | Przetwarzanie rozproszone – JAX-RS i JSON:
• interfejs programowy JAX-RS
- metody HTTP 1.1 (RFC-2616)
- statusy odpowiedzi HTTP
- idempotencja metod HTTP
- zasoby (resources) i kolekcje zasobów REST
- wywołania zasobów
- adnotacje metod reprezentacji zasobów
- wspierane typy encji
- typy przekazywanych treści
- przetwarzanie otrzymanej treści
- podklasy Application
- generowanie statusu odpowiedzi
- podstawowa obsługa błędów
- wsparcie Bean Validation (JSR-249)
- klient REST – klasa HttpURLConnection
- klient REST - JAX-RS 2 Client API
- bezpieczeństwo i autentykacja klient-serwer
• przetwarzanie JSON
- Java API for JSON Processing (JSON-P) JSR-353
- JSON to Java Object Binding (Jackson, Gson) | 2 |
T-W-5 | Przetwarzanie współbieżne – Message Driven Beans:
• architektura aplikacji
• model cyklu życia obiektów
• typy obiektów
• tworzenie i konfigurowanie obiektów MDB
• potwierdzanie komunikatów
• selektory komunikatów
• uchwyty zdarzeń cyklu życia obiektów
• tworzenie metod wywołania zwrotnego (callback methods)
• wstrzykiwanie obiektu MessageDrivenContext | 1 |
T-W-6 | Przetwarzanie współbieżne – asynchroniczne Enterprise Java Beans, ScheduledExecutorService i ManagedExecutorService:
• synchroniczna i asynchroniczna komunikacja EJB
• sposoby implementacji asynchronicznego wywołania metod
• implementacja asynchronicznych Session Beans
• obsługa obiektów Future
• obsługa obiektów AsyncResult
• tworzenie obiektów ScheduledExecutorService, ManagedExecutorService i ManagedScheduledExecutorService
• interfejs ManagedTaskListener | 1 |
T-W-7 | Przetwarzanie współbieżne – kolejkowanie zadań za pomocą Timer API i przetwarzanie wsadowe (JSR 352):
• typy i właściwości timerów
• zależności pomiędzy usługą timera a Session Bean
• zarządzanie obiektem timera
• odwołania do usługi TimerService
• tworzenie programowych timerów
• tworzenie automatycznych timerów
• przetwarzanie wsadowe ukierunkowane na fragmenty (chunk-oriented)
• obiekty przetwarzania wsadowego
• tworzenie zadania
• odczyt, przetwarzanie i zapis danych wynikowych
• uruchamianie zadania | 1 |
T-W-8 | Tworzenie warstwy dostępu do danych:
• wzorce warstwy danych (DAO, DTO),
• model relacyjny a obiektowy,
• technologie realizujące odwzorowanie relacyjno-obiektowe(ORM): Hibernate, JPA.
Techniki zwiększania wydajności:
• cache,
• sharding (Spring Cache, JetCache, Ehcache, Hazelcast).
Podejścia typu NoSQL (Cassandra, MongoDB). | 2 |
T-W-9 | Koncepcja IoC/DI, MVC, MVP, EventBus, charakterystyka wybranych szkieletów IoC/DI.
Szkielety aplikacji:
• rola szkieletów,
• typowe problemy tworzenia aplikacji internetowej,
Charakterystyka wybranych szkieletów webowych m.in.: spring, seam, spring mvc, struts | 2 |
T-W-10 | Bezpieczeństwo aplikacji webowych, protokoły autoryzacyjne (Oauth2, OpenID Connect) | 2 |
T-W-11 | Popularne technologie warstwy klienckiej aplikacji webowej:
• JSF,
• GWT,
• Flex,
• Vaadin,
• Thymeleaf,
• bilbioteki i szkielety javascript (jQuery, Node.js) | 2 |
T-W-12 | Architektura rozproszonej aplikacji biznesowej:
• architektura wielowarstwowa,
• architektura zorientowana na usługi,
• szyna korporacyjna.
Architektura zorientowana na usługi/zagadnienia integracji (SOA, WOA), szyna korporacyjna (ESB), aranżacja usług internetowych: BPEL, wzorce EAI, wzorce EIP | 2 |
| 20 |
---|