|
Week - 1
|
|
Course introduction, presentation of course structure and assessment method, importance of service concept in modern software systems, comparison of monolithic and distributed architectures, setup of the development environment and introduction to API clients. |
|
|
Week - 2
|
|
Fundamental principles of service oriented architecture, microservice concept and its advantages, client server communication model, differences between synchronous and asynchronous communication, real world architectural case examinations, hands on execution of a basic service example. |
|
|
Week - 3
|
|
Structure and operation of the HTTP protocol, detailed examination of the request response cycle, HTTP methods and their purposes of use, meaning of request and response headers, observation of real requests through browser developer tools and the network panel. |
|
|
Week - 4
|
|
Categories and meanings of HTTP status codes, success, redirection, client and server error codes, data formats and content negotiation, comparison of JSON and XML, applied examples on the correct use of status codes.
|
|
|
Week - 5
|
|
Definition and constraints of REST architecture, resource oriented design approach, endpoint naming principles and examples of good design, mapping of CRUD operations to HTTP methods, design and implementation of a basic REST API example.
|
|
|
Week - 6
|
|
API versioning strategies, comparison of URL based and header based versioning, backward compatibility principles, deprecation processes, stateless and cacheable API design, pagination and filtering approaches, hands on API design workshop.
|
|
|
Week - 7
|
|
Structure and syntax of the JSON data format, JSON parsing and generation operations, data validation with JSON schema, working with nested structures and arrays, client side and server side JSON usage examples, data formatting and transformation applications.
|
|
|
Week - 8
|
|
Midterm examination.
|
|
|
Week - 9
|
|
Fundamentals of authentication, distinction between authentication and authorization, basic authentication with an API key, basic authentication method, logic of token based authentication, structure of JSON web tokens, hands on implementation of the login flow.
|
|
|
Week - 10
|
|
Introduction to the OAuth framework, OAuth roles and flow types, authorization code flow, granting authority to third party applications, secure token storage approaches, hands on integration study with a real OAuth provider.
|
|
|
Week - 11
|
|
API documentation approaches and standards, API definition with the OpenAPI specification, automatic documentation generation tools, use of API testing tools, collection creation and environment variables, writing automated test scenarios and introduction to continuous testing flows.
|
|
|
Week - 12
|
|
Need for asynchronous communication and use cases, notification approaches with callbacks, working logic of webhooks, design of a webhook endpoint, event based integration examples, secure webhook signing and verification methods.
|
|
|
Week - 13
|
|
Integration processes of third party services, integration with a payment gateway API, use of map and location services, integrations with social media and identity providers, rate limits and quota management, examination of API documentation of a real service provider.
|
|
|
Week - 14
|
|
Error handling strategies, designing meaningful error messages, distinction between transient and permanent errors, retry approaches and exponential backoff, circuit breaker pattern, case studies in which system integration scenarios are evaluated and general recap.
|
|