Nabídka tohoto termínu kurzu již není aktuální.

REST API Design

e-kurz

Základní info

Pohybujeteli se v dnešním světě mobilních aplikací, internetových služeb, cloudových řešení, microservices a tak podobně, nemohli jste nenarazit na pojem REST APIs. Všichni je používají, všichni je milují, všichni mají silný názor na to, co je a co není REST. Tento kurz se vám pokusí přiblížit, v čem spočívá jejich kouzlo. 

Nejdříve se seznámíme s teorii co jsou REST APIs, odkud se vzaly, na jakých principech jsou postaveny. Pak se zaměříme především na praktické aspekty návrhu a vývoje.  Začneme od samotných základů a postupně se propracujeme až ke komplikovanějším problémům jako je autentizace, verzování nebo bezpečnost. Navrhneme spolu jednoduché API a na něm si ukážeme jak i takové jednoduché API může skýtat nečekané problémy a komplikace. Projdeme si i další fáze vývojového cyklu testování, deployment a provoz. Nakonec si ukážeme, proč je důležité pohlížet na APIs, jako na "first class" produkt.

Cílová skupina

 

  • Backend vývojáři
  • Fullstack vývojáři
  • Software architekti
  • IT profesionálové
  • Kurz je vhodný jak pro začátečníky, tak i pro pokročilé.

 

Cíle kurzu

Účastníci se mimo jiné naučí:

 

  • Principy návrhu webových služeb.
  • Teoretické základy REST architektury.
  • Co je to API kontrakt, "specification first" přístup.
  • Návrh REST APIs praktický přístup, "best practices".
  • Autentizace, bezpečnost, verzování, zpracování chyb u REST API.
  • Řešení praktických problémů kolem návrhu a vývoje webových služeb.
  • Celistvý pohled na API jako produkt od návrhu až po provoz.

 

Osnova

Úvod

 

  • Historie webových služeb CORBA
  • XMLRPC
  • SOAP, ...

 

Obecne principy pro návrh webových služeb

 

  • API Kontrakt
  • Znovu použitelnost, DX ("developer experience")
  • Abstrakce, zapouzdření, "loose coupling"
  • Konzistence, konvence
  • Stateful vs. stateless

 

Úvod do REST

 

  • Co to je?
  • Definice podle Roye Fieldinga
  • Richardson Maturity Model
  • Amundsen Maturity Model
  • Na co se hodí REST a na co ne

 

REST základy

 

  • Terminologie
  • Resource model
  • Reprezentace dat
  • HTTP jako nosný protokol
  • Hypermedia (HATEOAS)

 

 Zpracování chyb

 

  • Základní principy
  • Standardy a formáty chybových odpovědí
  • Zpracování chyb z pohledu klienta

 

Verzování

 

  • Verzování není "RESFful"
  • Tři "špatné" způsoby verzování
  • Evoluce jako alternativa k verzování

 

Autentizace a autorizace

 

  • Klientská vs. uživatelská autentizace
  • Tradiční přístup sessions
  • "Basic auth" autentizace
  • OAuth2
  • OpenID Connect

 

Bezpečnost

 

  • Přenos dat
  • Ošetření vstupu
  • Zpracování citlivých údajů
  • Síťová bezpečnost

 

Cachování

 

  • Možnosti HTTP
  • Strategie cachování
  • Základní problémy

 

API kontrakt a "specificationfirst" princip

 

  • Co je API kontrakt?
  • Výhody použití API specifikace
  • Formáty pro API specifikace OAS
  • API Blueprint

 

Základy vývoje

 

  • Vývojářské prostředí IDE
  • VCS, produkční/neprodukční prostředí
  • Konfigurace
  • Code style
  • Standardy a konvence

 

Testování

 

  • Druhy testování
  • Funkcionální "black box" testování
  • Generované testy
  • "Performance" testování
  • Bezpečnostní testy

 

Continuous integration / delivery

 

  • Předpoklady
  • Automatizace vývoje
  • Deployment

 

API infrastruktura

 

  • Hosting
  • API gateway
  • Monitoring a logování
  • Bezpečnost

 

API jako produkt

 

  • Životní cyklus"
  • agile" a Dev(Sec)Ops
  • Orientace na klienta prototypy,feedback
  • Developer experience (DX) API dokumentace, Sandbox, komunita
  • Analytics

 

 

Předpoklady účastníka

 

  • Základní zkušenosti s návrhem a vývojem aplikací
  • Základy HTTP
  • Znalost programovacích jazyků výhodou
  • Předchozí zkušenosti s návrhem a vývojem webových služeb výhodou

 

REST API Design

Vybraný termín:

5.12.2022 –  6.12.2022  ONLINE

Cena
24 900 Kč

Kontakt na dodavatele získáte po registraci

Tento kurz je pořádán dodavatelem, který nevyužívá placenou prezentaci na portálu EduCity.

Kontaktní údaje na dodavatele získáte po registraci.

Nebo použijte poptávkový formulář.