Siirry suoraan sisältöön

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

  • ATX21TV
    NonStop 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