Detail kurzu
REST API Design
DataScript s.r.o.
Popis kurzu
V TĚCHTO MĚSÍCÍCH NABÍZÍME KURZY VE VIRTUÁLNÍ PODOBĚ.
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.
Obsah kurzu
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.
Ú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
- 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
Cieľová 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é.
Hodnotenie
Organizátor
Podobné kurzy
podľa názvu a lokality