The course is composed of 12 lessons, each one lasting between 2 and 4 hours.
-
Lesson 01: Intro, Kotlin, JSON and Web Services
Modules:
- advanced/kotlin
- advanced/data-format
- advanced/calling-webservice
Exercises: card-game-part-01
-
Lesson 02: HTTP and RESTful APIs
Modules:
- advanced/example-news
- advanced/rest/news-rest
Exercises: card-game-part-02
-
Lesson 03: Charsets, PATCH and GUIs
Modules:
- advanced/rest/charset
- advanced/rest/patch
- advanced/rest/gui-v1
Exercises: card-game-part-03
-
Lesson 04: Wrapped Responses, Errors and Pagination
Modules:
- advanced/rest/wrapper
- advanced/rest/rest-dto
- advanced/rest/exception-handling
- advanced/rest/rest-exception
- advanced/rest/pagination-offset
- advanced/rest/pagination-keyset-gui-v2
Exercises: card-game-part-04
-
Lesson 05: 3xx Redirection, Conditional Requests and Caching
Modules:
- advanced/rest/redirect
- advanced/rest/conditional-get
- advanced/rest/conditional-change
- advanced/rest/cache
Exercises: card-game-part-05
-
Lesson 06: Mocking, Circuit Breakers and Test Generation
Modules:
- advanced/rest/wiremock
- advanced/rest/circuit-breaker
- advanced/rest/evomaster
Exercises: card-game-part-06
-
Lesson 07: SOAP and GraphQL
Modules:
- advanced/graphql/base
- advanced/graphql/resolver
- advanced/graphql/database
- advanced/graphql/graphql-dto
- advanced/graphql/mutation
- advanced/graphql/news-graphql
Exercises: card-game-part-07
-
Lesson 08: MicroService Architectures
Modules:
- advanced/advanced/microservice/discovery/*
- advanced/advanced/microservice/gateway/*
Exercises: card-game-part-08
-
Lesson 09: Security in Microservices
Modules:
- advanced/advanced/security/basic
- advanced/advanced/security/session
- advanced/advanced/security/distributed-session/*
Exercises: card-game-part-09
-
Lesson 10: Message Oriented Middleware
Modules:
- advanced/advanced/amqp/base-queue
- advanced/advanced/amqp/distributed-work
- advanced/advanced/amqp/fanout
- advanced/advanced/amqp/direct-exchange
- advanced/advanced/amqp/topic-exchange
- advanced/advanced/amqp/amqp-rest
Exercises: card-game-part-10
-
Lesson 11: Frontends in Microservices
Modules:
- TODO
Exercises: card-game-part-11
- Lesson 12: Farewell and Revision
- RFC-5789: PATCH Method for HTTP.
- RFC-7230: Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing.
- RFC-7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content.
- RFC-7232: Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests.
- RFC-7234: Hypertext Transfer Protocol (HTTP/1.1): Caching.
- RFC-7235: Hypertext Transfer Protocol (HTTP/1.1): Authentication.
- RFC-7396: JSON Merge Patch.
- RFC-7538: The Hypertext Transfer Protocol Status Code 308 (Permanent Redirect).
- RFC-7617: The 'Basic' HTTP Authentication Scheme.
- Todd Fredrich, RESTful Service Best Practices, available in different formats.
- Chris Richardson and Floyd Smith, Microservices From Design to Deployment. Free ebook, but need registration to download its PDF. Note: in that link it is called Designing and Deploying Microservices.
- Spring
- Kotlin
- GraphQL
- RabbitMQ
An example of mock exam for the home-project can be found here.
WARNING for Fall 2020: the course is going through some restructuring. So the details of the exam will likely change before the end of the course.