Novinka v ponuke
Kód kurzu: GJB_SBREST« Krok späť

Webové služby REST a GraphQL v Spring Boot

  • Gopas Java Bootcamp (GJB) je nová rozvíjajúca sa oblasť Java kurzov v Gopase, ktorá vznikla ako reakcia na potrebu ponúkať aktuálne Java témy. V týchto kurzoch sa účastníci môžu naučiť tým najmodernejším prístupom programovania pod vedením skúsených vývojárov. Jedná sa o neautorizované kurzy tej najvyššej kvality. Spoznáte ich podľa prefixu GJB v kóde kurzu. Aktuálne sú v tejto oblasti tri nové kurzy GJB_SBREACT, GJB_SPRINGDB a GJB_SBREST ale čoskoro očakávame rozšírenie tejto ponuky.
  • Kurz webových služieb pokrýva možnosti komunikácie medzi systémami prostredníctvom Representational State Transfer (REST) a GraphQL. Začína výkladom dátových typov JavaScript Object Notation (JSON) a Extensible Markup Language (XML) vrátane možností mapovania pomocou knižnice Jackson a Java Architecture for XML Binding (JAXB). V ďalšej časti budú vysvetlené koncepty architektúry REST a jej implementácie v Spring Boote a zdokumentovanie prostredníctvom knižnice Swagger. Na rozbor výhod a nevýhod RESTu nadväzuje predstavenie dotazovacieho jazyka GraphQL od spoločnosti Facebook. Ďalej budú ukázané možnosti získavania dát zo serverov, ktoré neposkytujú webové služby, za pomoci nástroja Selenium. V záverečnej časti budú prebrané spôsoby, ktorými možno tieto webové služby zabezpečiť prostredníctvom Spring Security, prípadne pomocou OpenID Connect (nadstavba nad OAuth2).
  • Kurz nepreberá do hĺbky prístup do databázy, avšak pre end-to-end dotaz na webovú službu sa využije modul Spring Data (nadstavba nad JPA využívajúci Hibernate framework).
  •  DátumDníCena kurzuCena príručkyJazyk výukyLokalita 
    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)
     
    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 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)
     
    V prípade záujmu o iný termín uvedeného kurzu, kontaktujte klientsky servis, prosím.

    PobočkaDníKatalógová cenaCena príručkyITB
    Praha4 28 800 CZK v cene kurzu 40
    Brno4 28 800 CZK v cene kurzu 40
    Bratislava4 1 180,00 EUR v cene kurzu 40

    Požadované vstupné znalosti

    • Základná znalosť a skúsenosť s tvorbou webových aplikácií
    • Základná znalosť a skúsenosť s programovaním v Java SE

    Metódy výučby

    Odborný výklad s praktickými ukážkami, cvičenia na počítačoch.

    Študijné materiály

    Tlačené prezentácie preberanej látky.

    Osnova

    Úvod do webových služieb

    • Účel
    • Porovnanie REST, GraphQL, SOAP
    • Výhody a nevýhody jednotlivých prístupov

    JSON, XML

    • Porovnanie XML a JSON
    • XML a menné priestory
    • XML Schéma (XSD, validácia)
    • Zostavenie XSD z existujúceho súboru XML
    • JSON, JSON Schéma
    • Jackson, konfigurácia ObjectMapperu

    REST serverová strana

    • REST architektúra
    • Spring MVC
    • RequestMapping, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, @PatchMapping
    • RestController, @Controller

    Zachytávanie výnimiek (@RestControllerAdvice)

    • Caching
    • Swagger dokumentácia

    REST klientska strana

    • Synchrónne vs. asynchrónne volanie
    • HTTP hlavičky
    • RestTemplate
    • WebClient
    • Testovacie nástroje (Postman, SoapUI...)

    GraphQL

    • Zmysel vzniku GraphQL
    • Výhody a nevýhody GraphQL
    • GraphQL Schéma
    • Tvorba a vykonávanie dotazov
    • Mutation
    • Spring GraphQLQueryResolver
    • Testovacie nástroje

    Web scraping

    • Čo robiť, ak nie je žiadna API prístupná?
    • HtmlUnit
    • Selenium
    • XPath

    Databázový prístup

    • JPA (návrh, mapovanie entít, dotazovanie, EntityManager)
    • Spring Data (stránkovanie, radenie)
    • Transakcia
    • Optimalizácia dotazov

    Zabezpečenie webových služieb a Spring Security

    • Implementácia zabezpečenia webových požiadaviek v Spring frameworku
    • HTTP Basic autentizácia (username + password)
    • Uloženie a validácia hesiel v databáze
    • OpenID Connect a OAuth2
    Tištěné nebo elektronické studijní materiály GOPAS

    Cena:
    cena kurzu zahŕňa
    Uvedené ceny sú bez DPH.