CoursesLLL

Z FI WIKI
Přejít na: navigace, hledání

Objektové programování v jazyce Java pro začátečníky

Seznámení se základy moderního objektového programování v jazyce Java. Úvod do jazyka Java, srovnání s konkurencí. Životní cyklus javového programu, základní nástroje. Základní pojmy objektového programování - třída, objekt; proměnná a metoda objektu a třídy. Spolupráce a komunikace mezi objekty, výměna zpráv. Rozhraní (interface). Základní programové konstrukce a datové typy. Primitivní datové typy, objektové typy, pole. Základní programátorské konvence - styl psaní zdrojového textu, dokumentační komentáře. Zapouzdření, dědičnost, polymorfizmus. Abstraktní třídy. Přístupová práva. Výjimky, princip jejich použití, návrh vlastních výjimek. Testování jednotek javových programů, nástroj JUnit. Dynamické datové struktury (kontejnery) v Javě: seznamy, množiny, asociativní pole. Vstupy a výstupy v Javě.

Objektové programování v jazyce Java pro pokročilé

Prohloubení základních znalostí jazyka Java (z úrovně začátečnického kurzu) a jejich praktické uplatnění při řešení konkrétního projektu. Zásady správné dekompozice a tvorby robustního kódu včetně problematiky automatizovaného testování. Témata: distribuce aplikací, Java Web Start. Objektový návrh v Javě, principy správné dekompozice, výjimky. Tvorba grafického rozhraní aplikací (Swing). Testování (JUnit). Lokalizace a internacionalizace aplikací. Vstup/výstup, NIO, ukládání konfigurace, protokolování (logging). Síťové aplikace. Rozhraní JDBC pro přístup k databázi. Vícevláknové aplikace. Optimalizace a ladění výkonu.

Úvod do vývoje v prostředí Java2 Enterprise Edition (J2EE)

Vybrané kapitoly pokročilého návrhu a implementace programových systémů v jazyce Java. Metodika kvalitního návrhu a realizace rozsáhlých systémů (vč. agilních metodik, extrémního programování), jejich testování, refaktoringu, ladění výkonu atd. Technologie prakticky významných API J2SE a J2EE (EJB, API webových aplikací, zabezpečení aplikací, přístup k databázím, systémy řízení zpráv, transakcí, atd.). Přibližuje rovněž další aktuální témata - webové služby a jejich protokoly, webové aplikační rámce.

Návrh webových aplikací

Webové aplikace na platformě Java, javové webové kontejnery (Tomcat, Jetty). "Model 2" aplikací (Model/View/Controller). Datové vrstva aplikací (použití JDBC, Hibernate). Aplikační logika, programování orientované na aspekty (AOP), obrácení řízení (IoC). Prezentační vrstva (JSP, knihovny značek, jazyky Freemarker, Sitemesh).

J2EE (webové) aplikační rámce

Webové aplikační rámce, jejich struktura a funkcionalita.

Enterprise JavaBeans

Enterprise JavaBeans (koncepce, vzory užití) a aplikační servery. Využití vývojových prostředí (NetBeans, Sun Java Studio, Eclipse) pro budování EJB aplikací.

Webové služby

Webové služby (standardy, protokoly, aplikace). Služby na bázi architektur REST.

Systémy řízení zpráv (Messaging Systems)

Platforma Java Messaging System (JMS), její principy a použití. Volně dostupné systémy JMS (OpenJMS).

Návrhové vzory

XML technologie -- od základů po pokročilé aplikace

Moderní značkovací jazyky. Standardy základní rodiny XML. Prostředky analýzy a zpracování XML dat. Objektový model dokumentu, událostmi řízené zpracování. Modely a schémata pro XML dokumenty, XMLSchema, RelaxNG, Schemtron. Navigace v XML datech (XPath). Transformace a vizualizace (XSLT, CSS). Ukládání a zpracování XML dat v relačních a objektových databázích, indexování XML dat, nativní XML databáze. Dotazovací jazyky pro XML, XQuery. Metadata popisující XML zdroje, rámec RDF, ontologie. Sémantický web. XML a internetové technologie. Využití moderních nástrojů a vývojových prostředí pro správu softwarových projektů využívajících XML.

Správa systémů Linux

Základní seznámení s OS Linux, práce se systémem, instalace a konfigurace systému. Konfigurace WWW serveru, služeb pro vzdálený přístup a přenos souborů (zabezpečené/nezabezpečené služby), DNS, sdílení diskového prostoru pro stanice s operačnímy systémy MS Windows, tiskového serveru a sdílení přístupu na Internet. V případě zájmu konfigurace správa a konfigurace nejběžnějších DB. Nástroje pro usnadnění správy systému.

Řízení projektů

Unified Process

Technologie sémantického webu

Tvorba moderní dokumentace

Podniková síť na bázi GNU/Linuxu

Reinženýrství a modernizace existujících systémů

Návrh systému pomocí MDA

Testování J2EE aplikací

Administrace Servlet kontejneru Tomcat

  • Seznámení s aplikačním serverem Apache Tomcat
  • Instalace včetně kompilace ze zdrojových kódů
  • Základní nastavení a základní zabezpečení
  • Provoz serveru
  1. mechanismy automatického spouštění
  2. rc skripty
  3. spuštění na neprivilegovaném. portu
  4. monitorování provozu
  5. automatický restart při pádu, atd.
  • Connectors jk, jk2
  • Tomcat Manager
  • Clustering
  • Load balancing
  • Logování a rotace logů