Zaawansowane programowanie w języku Java
Umiejętności zdobywane podczas kursu:
- Praktyczna umiejętność projektowania architektury aplikacji zgodnej z modelem MVC (ang. Model View Controller )
- Implementacja testowania modułów aplikacji z użyciem Junit
- Umiejętność implementowania aplikacji przy podejściu od szczegółu do ogółu
- Znajomość zagadnień związanych z użyciem JDBC (ang. Java DataBase Connectivity ) do skutecznego i wydajnego połączenia aplikacji z bazą danych SQL
- Programowanie zdarzeniowe interfejsów GUI (ang. Graphics User Interface )
- Obsługa logowania zdarzeń
- Implementowanie wielowątkowego serwera
- Obsługa programowa RMI (ang. Remote Method Invocation )
- Praktyczne zapoznanie się z projektowaniem i implementowaniem złożonej aplikacji
- Weryfikacja umiejętności budowy i implementowania interfejsów GUI w języku Java
- Zdobycie umiejętności implementowania rozwiązań związanych z programowaniem rozproszonym
- Zapoznanie się z dobrymi praktykami w wytwarzaniu oprogramowania
Zawartość kursu zawiera istotne rozwinięcie wiedzy dotyczącej programowania w języku Java. W trakcie zajęć uczestnicy zapoznają się z projektowaniem i implementacją wielowarstwowych aplikacji pracujących w architekturze scalonej i rozproszonej. Duży nacisk kładzie się na prawidłową i wydajną implementację komunikacji sieciowej z bazą danych oraz w trakcie przesyłania komunikatów pomiędzy komponentami. Istotna część zagadnień dotyczy prawidłowego wdrażania testowania modułowego i testów jednostkowych (JUnit) oraz mechanizmów JMX (ang. Java Management Extensions ). Uczestnicy zapoznają się także ze sposobami definiowania i implementacji interfejsów GUI.
- Umiejętność programowania w języku Java na poziomie potwierdzanym przez certyfikat SCJP
- Znajomość podstaw modelowania UML
- Znajomość podstaw składni zapytania SQL
- Umiejętność programowania interfejsu obsługi wyjątków
- Umiejętność poprawnego stosowania technik programowania w językach obiektowych
- Znajomość programowania interfejsów GUI
- Umiejętność programowej obsługi transmisji danych z użyciem TCP/IP
- Programowanie z użyciem gniazd oraz strumieni
- Znajomość zagadnień związanych z monitorowaniem stanu aplikacji i usuwaniem błędów
- Praktyczna znajomość metodyk TDD (ang. Test Deriven Development )
-
Architektura aplikacji wielowarstwowej
- Problemy przy projektowaniu aplikacji wielowarstwowej
- Udostępnianie danych relacyjnych z użyciem interfejsu obiektowego
- Aplikacja dostępu do danych SQL
-
Zastosowanie modelu MVC (ang. Model View Controller )
- Rola wzorców projektowych
- Wzorzec MVC i jego zastosowanie
- Użycie wzorca MVC we własnej aplikacji – wady i zalety
- Implementowanie MVC
-
Testowanie działania aplikacji i metodologia TDD (ang. Test Deriven Development )
- Implementowanie testów modułowych JUnit
- Obsługa testowania w trakcie implementowania aplikacji
- Analiza z użyciem przypadków testowych JUnit
- Analiza i projektowanie metod testowych
- Implementowanie zbioru testów (ang. TestSuite ) dla wszystkich przypadków testowych
-
Projektowanie aplikacji wielowarstwowej
- Zastosowanie wzorca MVC
- Wstęp do analizy i projektowania aplikacji
- Plan implementacji własnego projektu
- Implementowanie części modelu MVC
-
Obsługa i implementowanie API JDBC
- Opis JDBC API
- Użycie abstrakcji JDBC do obsługi baz danych
- Pięć głównych zadań związanych z JDBC
- Wymagania sterownika JDBC i współdziałanie z zarządcą JDBC
- Wzorzec DAO (ang. Data Access Objects ) i jego zastosowanie
- Przepływy i interakcje pomiędzy obiektami
- Implementowanie pośrednika połączeń do bazy z użyciem wzorca DAO
-
Implementowanie interfejsu GUI
- Wykładnie projektowania dobrego interfejsu GUI
- Przygotowanie i implementacja interfejsu GUI z użyciem Matisse
- Użycie klas mapujących tabele we własnej aplikacji
- Implementowanie technik drag-and-drop
- Sortowanie tabel
-
Oprogramowanie sterowane zdarzeniami w komponentach GUI
- Implementowanie klasy typu View
- Implementowanie klasy Controller
- Implementowanie klas składowych we własnej aplikacji
- Dodawanie obsługi zdarzeń
-
Logowanie zdarzeń
- Użycie API do logowania zdarzeń
- Implementowanie własnej obsługi przechwytywania logowania zdarzeń
- Filtry przy logowaniu zdarzeń
- Implementowanie własnej klasy obsługi logowania zdarzeń
-
Projektowanie aplikacji wielowarstwowych
- Porównanie aplikacji dwu i trój – warstwowych
- Użycie java.net do implementowania komunikacji sieciowej
- Implementowanie wzorca projektowego Command
- Implementowanie wzorca projektowego Strategy
- Implementowanie klienta sieciowego
- Implementowanie serwera sieciowego
-
Implementowanie zaawansowanej struktury wielowarstwowej aplikacji
- Użycie wielowątkowości w serwerach sieciowych
- Pule wątków i ich użycie
- Integralność danych w aplikacjach wielowątkowych
- Implementowanie uogólnionych klas serwera i klienta sieciowego
-
Przesyłanie komunikatów i obiektów z użyciem Java RMI
- Implementowanie obiektu zdalnego
- Użycie Java RMI do budowy wielowarstwowej aplikacji
- Implementowanie Java RMI w ramach interfejsów


