Ämne - Webbserverprogrammering

Ämne - Webbserverprogrammering

Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare.

Ämnets syfte

Undervisningen i ämnet webbserverprogrammering ska syfta till att eleverna utvecklar färdigheter i att skapa funktionalitet för webbplattformer. Eleverna ska ges möjlighet att utveckla kunskaper om olika webbteknikers konstruktion och funktionalitet samt samspelet mellan olika typer av applikationslogik. Genom undervisningen ska eleverna ges möjlighet att utveckla produkter som följer standarder samt riktlinjer för god praxis och säkerhet.

I undervisningen ska eleverna ges möjlighet att utveckla kunskaper om och färdigheter i att använda utvecklingsverktyg för att producera och testa framställning av den mjukvara som driver webbplatser eller applikationer. Eleverna ska också ges möjlighet att utveckla färdigheter i administration av webbservrar och databaser.

Undervisningen ska ge eleverna möjlighet att utveckla kunskaper om projekt som arbetsmetod och tillfälle till arbete i projektform.

Undervisningen i ämnet webbserverprogrammering ska ge eleverna förutsättningar att utveckla följande:

  1. Kunskaper om de tekniker som används för att bygga dynamiska webbplatser och webbapplikationer inklusive datalagring samt dessa teknikers vidgade roll inom annan mjukvaruutveckling.
  2. Förmåga att planera, genomföra, kvalitetssäkra, dokumentera och utvärdera utvecklingsprojekt för webbplatser rörande funktionalitet för webbplattformen.
  3. Förmåga att utveckla webbapplikationer som fungerar oberoende av användarens val och konfiguration av plattform.
  4. Kunskaper om applikationsarkitektur inklusive separation av olika slags logik.
  5. Förmåga att utveckla applikationer enligt standarder och riktlinjer för god praxis.
  6. Förmåga att utveckla applikationslogik för såväl server- som klientsidan.
  7. Kunskaper om säkerhet och förmåga att identifiera och motarbeta attacker genom effektiva åtgärder.
  8. Förmåga att kommunicera med andra och färdigheter i att använda fackspråk.

Kurser i ämnet

  1. Webbserverprogrammering 1, 100 poäng, som bygger på kursen webbutveckling 1 och kursen programmering 1.
  2. Webbserverprogrammering 2, 100 poäng, som bygger på kursen webbserverprogrammering 1.
  3. Webbtjänster, 100 poäng. Kursen får bara anordnas i vidareutbildning i form av ett fjärde tekniskt år i gymnasieskolan.

Kurser

Webbserverprogrammering 1, 100 poäng

Kurskod: WESWEB01

Kursen webbserverprogrammering 1 omfattar punkterna 1–8 under rubriken Ämnets syfte, med särskild betoning på punkt 1.

Centralt innehåll

Undervisningen i kursen ska behandla följande centrala innehåll:

  • Webbserverns och dynamiska webbplatsers funktionalitet.
  • Utvecklingsprocessen för ett webbtekniskt projekt med målsättningar, krav, begränsningar, planering och uppföljning. Specifikation av struktur och design, kodning, testning samt driftsättning.
  • Dokumentation av utvecklingsprocess och färdig produkt.
  • En översikt över olika lösningar eller språk som finns för att skapa dynamiska webbplatser.
  • Grundfunktionen i ett programspråk för dynamiska webbplatser.
  • Teknisk orientering om webbens protokoll, adresser, säkerhet samt samspelet mellan klient och server.
  • Datalagring i relationsdatabas eller med annan teknik.
  • Teckenkodning. Begrepp, standarder och handhavande.
  • Kodning och dokumentation enligt vedertagen praxis för vald teknik.
  • Applikationsarkitektur och separation av olika slags logik.
  • Kvalitetssäkring av dynamiska webbapplikationers funktionalitet, säkerhet och kodkvalitet.
  • Grundläggande säkerhet och sätt att identifiera hot och sårbarheter samt hur attacker kan motverkas genom effektiva åtgärder.

Kunskapskrav

Betyget E

Eleven beskriver översiktligt tekniken bakom dynamiska webbplatser och hur de samspelar med olika tekniker på webben.

Eleven gör en enkel projektplan för en tänkt webbapplikation. I projektplanen beskriver eleven översiktligt applikationens funktion. Utifrån projektplanen utvecklar eleven i samråd med handledare applikationen där presentations­logiken i begränsad utsträckning är skild från applikationens övriga logik. I arbetet utvecklar eleven kod som i begränsad utsträckning är läsbar och översiktligt kommenterad. Applikationen uppvisar enkel funktionalitet med ett språk för webbserver­programmering och tillhandahåller en enkel lösning för datapersistens mellan sidvisningar. Produkten är av tillfredsställande kvalitet och följer etablerad god praxis.

När arbetet är utfört gör eleven en enkel dokumentation av de moment som har utförts samt utvärderar med enkla omdömen sitt arbete och resultat. Eleven identifierar ett fåtal sårbarheter eller hot och vidtar enkla åtgärder för att förhindra att produkten utnyttjas. När eleven kommunicerar med andra använder hon eller han med viss säkerhet enkel terminologi.

Betyget D

Betyget D innebär att kunskapskraven för E och till övervägande del för C är uppfyllda.

Betyget C

Eleven beskriver utförligt tekniken bakom dynamiska webbplatser och hur de samspelar med olika tekniker på webben.

Eleven gör en genomarbetad projektplan för en tänkt webbapplikation. I projektplanen beskriver eleven utförligt applikationens funktion och arkitektur. Utifrån projektplanen utvecklar eleven efter samråd med handledare applikationen där presentations­logiken är skild från applikationens övriga logik. I arbetet utvecklar eleven kod som följer en given kodningsstandard och är översiktligt kommenterad. Applikationen uppvisar funktionalitet med ett språk för webbserver­programmering och tillhandahåller en enkel lösning för permanent datalagring. Produkten är av tillfredsställande kvalitet och följer etablerad god praxis. Detta kontrollerar eleven med hjälp av några tester.

När arbetet är utfört gör eleven en noggrann dokumentation av de moment som har utförts samt utvärderar med nyanserade omdömen sitt arbete och resultat. Eleven identifierar sårbarheter eller hot och vidtar åtgärder för att förhindra att produkten utnyttjas. När eleven kommunicerar med andra använder hon eller han med viss säkerhet terminologi.

Betyget B

Betyget B innebär att kunskapskraven för C och till övervägande del för A är uppfyllda.

Betyget A

Eleven beskriver utförligt och nyanserat tekniken bakom dynamiska webbplatser och hur de samspelar med olika tekniker på webben.

Eleven gör en genomarbetad projektplan för en tänkt webbapplikation. Vid behov reviderar eleven planen. I projektplanen beskriver eleven utförligt och nyanserat applikationens funktion, arkitektur och mjukvarugränssnitt. Utifrån projektplanen utvecklar eleven efter samråd med handledare applikationen där presentations­logiken är skild från applikationens övriga logik. I arbetet utvecklar eleven kod som följer en given kodningsstandard och är utförligt kommenterad. Applikationen uppvisar funktionalitet med ett språk för webbserver­programmering för att driva en helt databaserad webbplats eller en jämförbart avancerad produkt och tillhandahåller en lösning med viss komplexitet för permanent datalagring. Produkten är av god kvalitet och följer etablerad god praxis. Detta kontrollerar eleven med hjälp av flera tester, även manuella.

När arbetet är utfört gör eleven en noggrann och utförlig dokumentation av de moment som har utförts samt utvärderar med nyanserade omdömen sitt arbete och resultat samt ger förslag på hur arbetet kan förbättras. Eleven identifierar flera sårbarheter eller hot och vidtar avancerade åtgärder för att förhindra att produkten utnyttjas. När eleven kommunicerar med andra använder hon eller han med säkerhet terminologi.

Webbserverprogrammering 2, 100 poäng

Kurskod: WESWEB02

Kursen webbserverprogrammering 2 omfattar punkterna 1–8 under rubriken Ämnets syfte.

Centralt innehåll

Undervisningen i kursen ska behandla följande centrala innehåll:

  • Webbserverns och dynamiska webbplatsers funktionalitet.
  • Utvecklingsprocessen för ett webbtekniskt projekt med målsättningar, krav, begränsningar, planering och uppföljning. Systemering, kodning, optimering, testning och driftsättning.
  • Dokumentation av utvecklingsprocess och färdig produkt inklusive kod och mjukvarugränssnitt.
  • Funktionen i ett eller flera programspråk för dynamiska webbplatser.
  • Datalagring i relationsdatabas eller med annan teknik.
  • Standardiserade datautbytesformat, till exempel XML och JSON.
  • Kodning och dokumentation enligt vedertagen praxis för vald teknik.
  • Applikationsarkitektur och separation av olika slags logik.
  • Kvalitetssäkring av dynamiska webbapplikationers funktionalitet, säkerhet och kodkvalitet.
  • Säkerhet och sätt att identifiera hot och sårbarheter samt hur attacker kan motverkas genom effektiva åtgärder.

Kunskapskrav

Betyget E

Eleven redogör översiktligt för de tekniker som möjliggör dynamiska webbplatser och webbtjänster.

Eleven gör en enkel projektplan för en tänkt produkt. I projektplanen beskriver eleven översiktligt produktens funktion. Utifrån projektplanen utvecklar eleven i samråd med handledare produkten där presentations­logiken huvudsakligen är skild från produktens övriga logik. I arbetet utvecklar eleven kod som är läsbar och översiktligt kommenterad. Produkten uppvisar enkel funktionalitet med ett eller flera språk för webbserver­programmering och tillhandahåller ett enkelt informations­hanterings­system som också hämtar eller lämnar data via någon webbtjänst. Dessutom tillhandahåller produkten någon lösning för permanent datalagring. Produkten är av tillfredsställande kvalitet och följer etablerad god praxis, vilket eleven kontrollerar med begränsade tester.

När arbetet är utfört gör eleven en enkel dokumentation av de moment som har utförts samt utvärderar med enkla omdömen sitt arbete och resultat. Eleven identifierar hot och sårbarheter mot produkten och vidtar någon åtgärd för att förhindra att denna utnyttjas. När eleven kommunicerar med andra använder hon eller han med viss säkerhet enkel terminologi.

Betyget D

Betyget D innebär att kunskapskraven för E och till övervägande del för C är uppfyllda.

Betyget C

Eleven redogör utförligt för de tekniker som möjliggör dynamiska webbplatser och webbtjänster.

Eleven gör en genomarbetad projektplan för en tänkt produkt. I projektplanen beskriver eleven utförligt produktens funktion och arkitektur. Utifrån projektplanen utvecklar eleven efter samråd med handledare produkten där presentations­logiken är skild från produktens övriga logik. Produkten är i begränsad utsträckning skapad med objektorienterad eller funktionell programmering. I arbetet utvecklar eleven kod som följer en given kodningsstandard och är utförligt kommenterad. Produkten uppvisar funktionalitet med ett eller flera språk för webbserver­programmering och tillhandahåller ett enkelt informations­hanterings­system som också hämtar eller lämnar data via några webbtjänster. Dessutom tillhandahåller produkten någon lösning för permanent datalagring och eleven utför en enkel optimering av denna. Produkten är av tillfredsställande kvalitet och följer etablerad god praxis, vilket eleven kontrollerar med automatiserade tester.

När arbetet är utfört gör eleven en noggrann dokumentation av de moment som har utförts samt utvärderar med nyanserade omdömen sitt arbete och resultat. Eleven identifierar hot och sårbarheter mot produkten och vidtar några åtgärder för att förhindra att dessa utnyttjas. När eleven kommunicerar med andra använder hon eller han med viss säkerhet terminologi.

Betyget B

Betyget B innebär att kunskapskraven för C och till övervägande del för A är uppfyllda.

Betyget A

Eleven redogör utförligt och nyanserat för de tekniker som möjliggör dynamiska webbplatser och webbtjänster.

Eleven gör en genomarbetad projektplan för en tänkt produkt. Vid behov reviderar eleven planen. I projektplanen beskriver eleven utförligt och nyanserat produktens funktion, arkitektur och mjukvarugränssnitt. Utifrån projektplanen utvecklar eleven efter samråd med handledare produkten där presentations­logiken är skild från produktens övriga logik. Produkten är i omfattande utsträckning skapad med objektorienterad eller funktionell programmering och uppvisar användning av ett eller flera enkla designmönster. I arbetet utvecklar eleven kod som följer en given kodningsstandard och är utförligt och nyanserat kommenterad. Produkten uppvisar funktionalitet med ett eller flera språk för webbserver­programmering och tillhandahåller ett informations­hanterings­system som också hämtar eller lämnar data via flera webbtjänster. Dessutom tillhandahåller produkten någon lösning för permanent datalagring och eleven utför en optimering av denna. Produkten är av god kvalitet och följer etablerad god praxis, vilket eleven kontrollerar med omfattande automatiserade och manuella tester.

När arbetet är utfört gör eleven en noggrann och utförlig dokumentation av de moment som har utförts med koppling till generella principer och testresultat samt utvärderar med nyanserade omdömen sitt arbete och resultat samt ger förslag på hur arbetet kan förbättras. Eleven identifierar hot och sårbarheter mot produkten och vidtar flera åtgärder för att förhindra att dessa utnyttjas. Dessutom kontrollerar eleven produktens säkerhet med några tester. När eleven kommunicerar med andra använder hon eller han med säkerhet terminologi.

Webbtjänster, 100 poäng

Kurskod: WESWET3

Kursen webbtjänster omfattar punkterna 1–8 under rubriken Ämnets syfte.

Centralt innehåll

Undervisningen i kursen ska behandla följande centrala innehåll:

  • Applikationsserverns funktionalitet.
  • Kodning och dokumentation enligt vedertagen praxis för vald teknik.
  • Utvecklingsprocessen för att skapa webbtjänster med målsättningar, planering, systemering, kodning, optimering, skalbarhet, dokumentation och uppföljning.
  • Design av API:er enligt vedertagen praxis.
  • Arkitektur för kommunikation med databashanterare, till exempel RESTful.
  • Tekniker för att hantera full-duplex kommunikation.
  • Hämta data från externa webbtjänster.
  • Datalagring med och utan ORM-lager eller motsvarande teknik.
  • Protokoll vid överföring av data, till exempel http.
  • Autentisering och säkerhet vid överföring av data, till exempel asynkron kryptering.
  • Uppnående av interoperabilitet mellan server och klient genom att följa standarder.
  • Applikationsarkitektur och separation av olika slags logik, till exempel MVC.
  • Kvalitetssäkring och testning av webbtjänsters funktionalitet och säkerhet, till exempel med stresstester.
  • Säkerhet och sätt att identifiera hot och sårbarheter samt hur attacker kan motverkas genom effektiva åtgärder.

Kunskapskrav

Betyget E

Eleven redogör översiktligt för de tekniker som möjliggör datakommunikation med hjälp av webbtjänster.

Eleven gör en enkel projektplan för en tänkt produkt. I projektplanen beskriver eleven översiktligt produktens funktion. Utifrån projektplanen utvecklar eleven i samråd med handledare produkten där olika sorters logik huvudsakligen är skild från varandra. I arbetet utvecklar eleven kod som är läsbar och översiktligt kommenterad. Produkten uppvisar begränsad funktionalitet med ett språk för webbtjänster och tillhandahåller ett enkelt informationshanteringssystem som också hämtar eller lämnar data via någon enkel webbtjänst. Dessutom tillhandahåller produkten någon lösning för en permanent datalagring. I arbetet redogör eleven också översiktligt för vanliga problem som kan uppstå vid datakommunikation mellan server och klient. Produkten är av tillfredsställande kvalitet och följer etablerad god praxis. Detta kontrollerar eleven med någon test.

När arbetet är utfört gör eleven en enkel dokumentation av de moment som har utförts samt utvärderar med enkla omdömen sitt arbete och resultat. Eleven identifierar något hot eller sårbarhet mot produkten och vidtar någon åtgärd för att förhindra att den utnyttjas. När eleven kommunicerar med andra använder hon eller han med viss säkerhet enkel terminologi.

Betyget D

Betyget D innebär att kunskapskraven för E och till övervägande del för C är uppfyllda.

Betyget C

Eleven redogör utförligt för de tekniker som möjliggör datakommunikation med hjälp av webbtjänster.

Eleven gör en genomarbetad projektplan för en tänkt produkt. I projektplanen beskriver eleven utförligt produktens funktion. Utifrån projektplanen utvecklar eleven efter samråd med handledare produkten där olika sorters logik är skilda från varandra. I arbetet utvecklar eleven kod som följer en given kodkonvention och är utförligt kommenterad. Produkten uppvisar funktionalitet med ett språk för webbtjänster och tillhandahåller ett informationshanteringssystem som också hämtar eller lämnar data via någon webbtjänst. Dessutom tillhandahåller produkten lösning för att läsa, skriva, uppdatera och ta bort data mot en permanent datalagring. I arbetet redogör eleven också utförligt för vanliga problem som kan uppstå vid datakommunikation mellan server och klient. Produkten är av tillfredsställande kvalitet och följer etablerad god praxis. Detta kontrollerar eleven med några tester.

När arbetet är utfört gör eleven en noggrann dokumentation av de moment som har utförts samt utvärderar med nyanserade omdömen sitt arbete och resultat. I utvärderingen gör eleven välgrundade reflektioner över hur beslut har tagits i arbetet. Eleven identifierar hot och sårbarheter mot produkten och vidtar några åtgärder för att förhindra att dessa utnyttjas. När eleven kommunicerar med andra använder hon eller han med viss säkerhet terminologi.

Betyget B

Betyget B innebär att kunskapskraven för C och till övervägande del för A är uppfyllda.

Betyget A

Eleven redogör utförligt och nyanserat för de tekniker som möjliggör datakommunikation med hjälp av webbtjänster.

Eleven gör en genomarbetad projektplan för en tänkt produkt. Vid behov reviderar eleven planen. I projektplanen beskriver eleven utförligt och nyanserat produktens funktion, arkitektur och mjukvarugränssnitt. Utifrån projektplanen utvecklar eleven efter samråd med handledare produkten där olika sorters logik är skilda från varandra. I arbetet utvecklar eleven kod som följer en given kodkonvention och är utförligt och nyanserat kommenterad med teknisk dokumentation. Produkten uppvisar omfattande funktionalitet med ett språk för webbtjänster och tillhandahåller ett informationshanteringssystem som också hämtar eller lämnar data via någon avancerad webbtjänst. Dessutom tillhandahåller produkten en avancerad lösning för att läsa, skriva, uppdatera och ta bort data mot en permanent datalagring. I arbetet redogör eleven också utförligt och nyanserat för vanliga problem som kan uppstå vid datakommunikation mellan server och klient. Produkten är av god kvalitet och följer etablerad god praxis. Detta kontrollerar eleven med omfattande manuella och automatiserade tester.

När arbetet är utfört gör eleven en noggrann och utförlig dokumentation av de moment som har utförts med koppling till generella principer och testresultat samt utvärderar med nyanserade omdömen sitt arbete och resultat samt ger förslag på hur arbetet kan förbättras. I utvärderingen gör eleven välgrundade och nyanserade reflektioner över hur beslut har tagits i arbetet. Eleven identifierar hot och sårbarheter mot produkten och vidtar flera åtgärder för att förhindra att dessa utnyttjas. Dessutom kontrollerar eleven produktens säkerhet med flera tester. När eleven kommunicerar med andra använder hon eller han med säkerhet terminologi.