Mastering the Fundamentals of RESTful API Design (6 op)
Toteutuksen tunnus: TT00DG26-3005
Toteutuksen perustiedot
Ajoitus
01.01.2021 - 31.12.2021
Opintopistemäärä
6 op
Virtuaaliosuus
6 op
Toteutustapa
Etäopetus
Yksikkö
ICT ja tuotantotalous
Toimipiste
Karaportti 2
Opetuskielet
- Englanti
Paikat
0 - 5000
Koulutus
- Tieto- ja viestintätekniikan tutkinto-ohjelma
Opettaja
- Virve Prami
Ryhmät
-
ATX21TVNonStop virtuaaliopinnot vuosi 2021
Tavoitteet
Designing APIs for use over the web is a key part of most web development projects these days. Knowing the best way to design them with longevity, testability and reliability in mind is important. The goal of this course is for the student to be familiar with APIs, the concept of API Design and what is essential to design of an API-based solution. By explaining API Design steps and API Design approaches, the student will be familiar with all these concepts in a practical way. Then the student will be familiar with different API styles, and obtain a deeper level of knowledge about REST and its key difference and advantageous over the other styles. Finally, the student will understand security and performance concerns.
This course is 100% virtual thanks to the comprehensive tutorial videos and content made for this course.
The student will pass this course after submitting required assignments, quiz and projects.
Sisältö
Introduction Part:
What is an API? - Why we are using APIs? - What makes a business service good and practical? - How to use an API? - Clients using an API-based solution - What does an API-based solution consists of? - What is API Design? - API Design Decisions - API Design vs. API Architecture - Why do I need API Modeling Languages? - Steps to build an API - API Value Chain - Understand your API consumers - What do the Developers as your Consumers expect from your API? - Consumer-Oriented Design Approaches - API Design & Agile methodology - API Design approach
Intermediate Part:
API Description Languages - Usage of API Description Languages - Limitations of API Description Languages - APIs responsibilities - API properties - Different API Styles (REST-SOAP-RPC-HATEOAS) - REST vs. SOAP - REST Concept vs. HTTP Concept – Resources - Status Codes – URI - API Base URL Naming Tips - API Endpoints Tips
Advanced Part:
Richardson Maturity Model - Content Negotiation - Parameters - HTTP Methods - Input and Output Validation - Building API Approaches - Dealing with Backend Errors - Non-Functional Properties of APIs - Security Concerns - Security Mechanisms - Performance and Availability – Caching - Load Balancer - Agile & API - Backward Compatible Changes – Versioning - Developers & Open APIs - API Consumers Types - API Consumers Considerations - SLA Management - API Testing Tools - API Statistics
Aika ja paikka
Riippuu opiskelijasta itsestään koska kyseessä on itseopiskeltava verkkokurssi.
Oppimateriaalit
Löytyy kurssin oppimisympäristöstä.
Opetusmenetelmät
- Tutorial Videos
- Assignments
- Quiz
- Projects
- Self-study
Harjoittelu- ja työelämäyhteistyö
N/A
Tenttien ajankohdat ja uusintamahdollisuudet
Riippuu opiskelijasta itsestään koska kyseessä on itseopiskeltava verkkokurssi.
Kansainvälisyys
N/A
Toteutuksen valinnaiset suoritustavat
N/A
Opiskelijan ajankäyttö ja kuormitus
Riippuu opiskelijasta itsestään koska kyseessä on itseopiskeltava verkkokurssi.
Sisällön jaksotus
Riippuu opiskelijasta itsestään koska kyseessä on itseopiskeltava verkkokurssi.
Arviointiasteikko
Hyväksytty/Hylätty
Arviointikriteerit, tyydyttävä (1)
- The students understand the difference between API Design and API Architecture.
- The student knows what does an API-based solution consists of and can explain them.
- The student understands the concept of API Design.
- The student knows the steps to build an API.
- The student knows APIs responsibilities and APIs properties
- The student briefly knows Different API Styles
- The student briefly knows HTTP Methods, resources, status codes, parameters, and URL.
- The student knows different Versioning styles.
Arviointikriteerit, hyvä (3)
- The student knows what are API Modeling Languages and why we are using them.
- The student comprehensively knows Different API Styles
- The student comprehensively knows HTTP Methods, resources, status codes, parameters, and URL
- The student understands Non-Functional Properties of APIs.
Arviointikriteerit, kiitettävä (5)
- The student knows Richardson Maturity Model.
- The student understands content negotiation.
- The student knows how to deal with Backend errors.
- The student has a good understanding about Security Concerns and Security Mechanisms.
- The student can determine if the changes of the API are Backward Compatible.
- The student knows SLA Management concept.
Arviointikriteeri, hyväksytty/hylätty
N/A
Arviointimenetelmät ja arvioinnin perusteet
Lectures = 25h
Labs = 25h