Courses and certifications Dev & Test

API

REST API Design

24.900 CZK

Price (without VAT)

Days2
15. 6.16. 6. 2022
virtual
CZ

Moving in today's world of mobile applications, Internet services, cloud solutions, microservices, and so on, you could not find the concept of REST APIs. They all use them, they all love them, they all have a strong opinion on what is and is not REST. This course will try to get you closer to what their magic is.

First, let's get to know what REST APIs are, where they came from, on which principles they are built. Then we will focus on practical aspects of design and development. We start from the very foundations and gradually work on more complicated issues such as authentication, versioning or security. We will design a simple API together and show how such simple APIs can provide unexpected problems and complications. We will also go through the next phase of the development cycle, testing, deployment and operation. Finally, we will show why it is important to look at APIs as a "first class" product.

Audience

  • Backend developers
  • Fullstack developers
  • Software Architects
  • IT Professionals
  • The course is suitable for both beginners and advanced learners.

Goals

Participants also learn:

  • Web Services Design Principles.
  • Theoretical foundations of REST architecture.
  • What is an API contract, "specification first" access.
  • Proposal REST APIs Practical Approach, Best Practices.
  • Authentication, security, versioning, error handling at REST API.
  • Solving practical problems around design and development of web services.
  • Comprehensive view of API as a product from design to operation.

Outline

Introduction

  • History of CORBA web services
  • XMLRPC
  • SOAP, ...

Generic principles for web service design

  • API Contract
  • Reusable, DX ("developer experience")
  • Abstraction, encapsulation, "loose coupling"
  • Consistency, convention
  • Stateful vs. stateless

Introduction to REST

  • What is it?
  • Definitions by Roy Fielding
  • Richardson Maturity Model
  • Amundsen Maturity Model
  • What is REST and why not?

REST basics

  • Terminology
  • Resource model
  • Data representation
  • HTTP as a carrier protocol
  • Hypermedia (HATEOAS)

Error processing

  • Basic principles
  • Standards and error response formats
  • Error processing from a client perspective

Versioning

  • Versioning is not "RESFful"
  • Three "bad" versions of the game
  • Evolution as an alternative to versioning

Authentication and Authorization

  • Client vs. user authentication
  • Traditional access to sessions
  • "Basic auth" authentication
  • OAuth2
  • OpenID Connect

Safety

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

Caching

  • HTTP options
  • Caching strategy
  • Basic problems

API contract and "specificationfirst" principle

  • What is an API contract?
  • Benefits of using the API specification
  • Formats for the OAS API specification
  • API Blueprint

Fundamentals of development

  • IDE Developer Environment
  • VCS, production / non-production environment
  • Configuration
  • Code style
  • Standards and conventions

Testing

  • Types of testing
  • Functional "black box" testing
  • Generated tests
  • "Performance" testing
  • Safety tests

Continuous integration / delivery

  • Assumptions
  • Automation of development
  • Deployment

API infrastruktura

  • Hosting
  • API gateway
  • Monitoring and logging
  • Safety

API as a product

  • Life cycle"
  • agile "and Dev (Sec) Ops
  • Client orientation prototypes, feedback
  • Developer Experience (DX) API documentation, Sandbox, community
    Analytics 

Prerequisites

  • Basic experience with designing and developing applications
  • HTTP basics
  • Knowledge of programming languages is an advantage
  • Previous experience with designing and developing web services is an advantage

Inquire course

Courses
Submit
* Required field

Reviews

Vítězslav Studnička
3. 3. 2021
The course covered practically all areas and each was specifically discussed. Very suitable for getting acquainted with and understanding the topic of Rest API as well as for improving current knowledge. Vítězslav Studnička (Česká Spořitelna)
Cookies help us provide our services. By using our services, you agree to their use.
More information