Lektionsplanering
Årskurs: Gymnasiet
Ämne: Webbtjänster
Tema: Design och implementering av API:er
Koppling till styrdokument
Centralt innehåll
Undervisningen ska behandla design och implementering av API:er (Application Programming Interfaces) med fokus på vedertagna metoder och bästa praxis. Centrala aspekter inkluderar hur API:er möjliggör kommunikationen mellan olika mjukvaror och tjänster, samt vikten av dokumentation och säkerhet vid API-utveckling.
Kunskapskrav
Eleven redogör för hur API:er fungerar och beskriver principerna bakom deras design. Eleven kan ges exempel på olika typer av API:er (RESTful, SOAP) och kan genomföra grundläggande kodning och dokumentation av en API-lösning.
Lärarledda instruktioner
Introduktion till API:er (10 min)
- Definiera vad ett API är och dess betydelse i moderna webbtjänster.
- Diskutera olika typer av API:er, med fokus på RESTful API:er och deras egenskaper.
- Presentera exempel på hur API:er används i vardagliga applikationer (t.ex. sociala medier, e-handel).
- Ställ frågor om elevernas erfarenhet av att använda eller jobba med API:er.
Gruppdiskussion: API-design och användning (15 min)
- Dela in eleverna i grupper och låt dem diskutera vilka funktioner och egenskaper de skulle vilja ha i ett API för en specifik applikation (t.ex. en väderapp, en bokningsplattform).
- Be varje grupp att dokumentera sina tankar och presentera dem kort för klassen.
- Diskutera vad som är viktigt att tänka på i designen av API:er, inklusive användarvänlighet och säkerhet.
Praktisk övning: Implementera en enkel API (10 min)
- Genomför en kort demonstration av hur man skapar en enkel RESTful API med hjälp av ett skriptspråk (exempelvis Node.js eller Python).
- Låt eleverna ställa frågor och diskutera eventuella utmaningar de kan möta.
- Dela ut tillgång till kodexempel och låt eleverna experimentera med att anropa API:er för att hämta data (API-anrop).
Sammanfattning och reflektion (15 min)
- Sammanfatta lektionens huvudpunkter om API:ers roll och design.
- Diskutera hur API:er kan främja interoperation mellan olika plattformar och tjänster.
- Ställ frågor som: Vilka säkerhetsaspekter bör man ha i åtanke vid utveckling av API:er?
- Avsluta med att diskutera framtida trender inom API-utveckling, som GraphQL och mikroserviceteknik.
Diskussionsfrågor
- A. Vilka fördelar ser ni med att använda API:er i webbutveckling jämfört med traditionell mjukvara?
- B. Hur kan API:er bidra till att förbättra användarupplevelsen på olika plattformar?
- C. Vilka säkerhetsrisker är förknippade med API:er, och hur kan dessa hanteras?
Aktivitet
I denna aktivitet ska eleverna arbeta i grupper för att designa ett API för en hypotetisk webbapplikation. De ska definiera API:ets funktioner, vilka data som ska vara tillgängliga och hur autentisering ska göras. Varje grupp får 25 minuter att utarbeta sin design och presentera den antecknat för klassen.
Exit-ticket
- Vad är det viktigaste att tänka på när man designar ett API? (Svar: Användarvänlighet och dokumentation).
- Nämn två typer av API:er. (Svar: RESTful och SOAP).
- Hur kan du implementera säkerhet i ditt API? (Svar: Genom autentisering och kryptografi).
- Vilken typ av data skulle du vilja hämta med ett API i en applikation? (Öppen fråga).
- Vilken insikt har du fått idag om API:er som du inte kände till tidigare? (Öppen fråga).
Hemuppgift
Eleverna ska skapa en dokumentation för det API de designade under lektionen. Dokumentationen ska inkludera beskrivningar av API:ets slutpunkter, dataformat, autentisering och eventuella exempel på anrop samt svar. Den ska även revideras och reflektera över potentiella användningsområden för API:et i praktiken.
Citat
_”APIs are the glue that holds the digital world together.”_ – Anonym. Detta citat understryker vikten av API:er i dagens teknologiska ekosystem, vilket är centralt för vår diskussion om webbtjänster.
Nästa lektion
Förslag på tema för nästa lektion: “Autentisering och säkerhet i webbtjänster.” Den kommande lektionen syftar till att utforska de olika metoderna för autentisering och säkerhet i webbtjänster, inklusive teori och praktiska tillämpningar.