Novinka v nabídce
Kód kurzu: GJB_SBREST« Krok zpět

Webové služby REST a GraphQL ve Spring Bootu

  • Gopas Java Bootcamp (GJB) je nová rozvíjející se oblast Javovských kurzů v Gopasu, která vznikla jako reakce na potřebu nabízet aktuální Javovská témata. V těchto kurzech se účastníci mohou naučit těm nejmodernějším přístupům programování pod vedením zkušených vývojářů. Jedná se o neautorizované kurzy té nejvyšší kvality. Poznáte je podle prefixu GJB v kódu kurzu. Aktuálně jsou v této oblasti tři nové kurzy GJB_SBREST, GJB_SPRINGDB a GJB_SBREST, nicméně brzy očekáváme rozšíření této nabídky.
  • Kurz webových služeb pokrývá možnosti komunikace mezi systémy prostřednictvím Representational State Transfer (REST) a GraphQL. Začíná výkladem datových typů JavaScript Object Notation (JSON) a Extensible Markup Language (XML) včetně možností mapování pomocí knihovny Jackson a Java Architecture for XML Binding (JAXB). V další části budou vysvětleny koncepty architektury REST a její implementace ve Springu Bootu a zdokumentování prostřednictvím knihovny Swagger. Na rozbor výhod a nevýhod RESTu navazuje představení dotazovacího jazyka GraphQL od společnosti Facebook. Dále budou ukázány možnosti získávání dat ze serverů, které neposkytují webové služby, za pomocí nástroje Selenium. V závěrešné části budou probrány způsoby, kterými lze tyto webové služby zabezpečit prostřednictvím Spring Security, případně pomocí OpenID Connect (nadstavba nad OAuth2).
  • Kurz neprobírá do hloubky přístup do databáze, nicméně pro end-to-end dotaz na webové služby se využije modul Spring Data (nadstavba nad JPA využívající Hibernate framework).
  •  DatumDnůCena kurzuCena materiálůJazyk výukyLokalita 
    29.9.2020 4 28 800 CZK - Český jazyk GOPAS Praha_GTT (info o GTT)
     
    8.12.2020 4 28 800 CZK - Český jazyk GOPAS Praha_GTT (info o GTT)
     
    29.9.2020 4 28 800 CZK - Český jazyk GOPAS Brno_GTT (info o GTT)
     
    8.12.2020 4 28 800 CZK - Český jazyk GOPAS Brno_GTT (info o GTT)
     
    29.9.2020 4 1 180,00 EUR - Český jazyk GOPAS Bratislava_GTT (info o GTT)
     
    8.12.2020 4 1 180,00 EUR - Český jazyk GOPAS Bratislava_GTT (info o GTT)
     

    PobočkaDnůCena kurzuCena materiálůITB
    Praha4 28 800 CZK v ceně kurzu 40
    Brno4 28 800 CZK v ceně kurzu 40
    Bratislava4 1 180,00 EUR v ceně kurzu 40

    Požadované vstupní znalosti:

    • Základní znalosti a zkušenosti s tvorbou webových aplikací
    • Základní znalosti a zkušenosti s programováním v Java SE

    Metody výuky:

    • Odborný výklad s praktickými ukázkami, cvičení na počítačích.

    Studijní materiály:

    • Tištěné prezentace probírané látky.

    Osnova:

    Úvod do webových služeb

    • Účel
    • Srovnání REST, GraphQL, SOAP
    • Výhody a nevýhody jednotlivých přístupů

    JSON, XML

    • Srovnání XML a JSON
    • XML a jmenné prostory
    • XML Schema (XSD, validace
    • Sestavení XSD z existujícího souboru XML
    • JSON, JSON Schema
    • Jackson, konfigurace ObjectMapperu

    REST serverová strana

    • REST architektura
    • Spring MVC
    • RequestMapping, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping
    • RestController, @Controller

    Zachytávání výjimek (@RestControllerAdvice)

    • Caching
    • Swagger dokumentace

    REST klientská strana

    • Synchronní vs asynchronní volání
    • HTTP hlavičky
    • RestTemplate
    • WebClient
    • Testovací nástroje (Postman, SoapUI, ...)

    GraphQL

    • Smysl vzniku GraphQL
    • Výhody a nevýhody GraphQL
    • GraphQL Schema
    • Tvorba a vykonávání dotazů
    • Mutation
    • Spring GraphQLQueryResolver
    • Testovací nástroje

    Web scraping

    • Co dělat pokud není žádná API přístupná?
    • HtmlUnit
    • Selenium
    • XPath

    Databázový přístup

    • JPA (návrh, mapování entit, dotazování, EntityManager)
    • Spring Data (stránkování, řazení)
    • Transakce
    • Optimalizace dotazů

    Zabezpečení webových služeb a Spring Security

    • Implementace zabezpečení webových požadavků ve Spring frameworku
    • HTTP Basic autentizace (username + password)
    • Ukládání a validace hesel v databázi
    • OpenID Connect a OAuth2
    Tištěné nebo elektronické studijní materiály GOPAS

    Cena:
    v ceně kurzu
    Uvedené ceny jsou bez DPH.