Suomi.fi för tjänsteutvecklare
Gå direkt till innehållet.
God praxis för utvecklare
Planering av programmeringsgränssnitt i den offentliga förvaltningen

Ordlista

De viktigaste termerna och förkortningarna i planeringen av programmeringsgränssnitt.

Gå till begynnelsebokstav:

A

Affärsverksamhetshändelse

Situation med koppling till en juridisk persons (t.ex. ett företags eller en förenings) verksamhet eller en juridisk persons uträttande av ärenden som i kontexten för en digital tjänst behandlas enligt samma princip som livshändelser.

Applikation (App)

Programvara är ett bredare begrepp än applikation. Mångsidigare program kan ofta skräddarsys. Applikationen är enklare. Tidigare användes applikationer endast på mobila enheter – telefoner och surfplattor – med Android- eller iOS-operativsystemet. Programvara installeras på datorn. Under de senaste åren har applikationer också publicerats för Windows-operativsystemet via en appbutik. På datorn används alltså numera både datorprogram och applikationer. Till exempel i operativsystemet Windows 11 kan man utnyttja Android-baserade applikationer.

E

Enhetlig resurslokaliserare (Uniform Resource Locator, URL)

URL-adressen är den adress som används på internet. Den hänvisar till den resurs som bestämmer dess placering i datanätet och en mekanism för hämtning av den. URL-adressen används också i programmeringsgränssnitt. Med hjälp av den anges deras placering i datanätet.

Europeiska interoperabilitetsramen (EIF)

EIF (European Interoperability Framework) är en strategisk och strukturell styrningsram som definierar principer, rekommendationer och nivåer som gör det möjligt för offentliga informationssystem och tjänster att utbyta information och fungera tillsammans över gränserna.

Extensible Markup Language, XML

XML är ett metaspråk som utvecklades av World Wide Web Consortium på 1990-talet. Påminner om HTML-språket och beskriver informationens struktur utan förutbestämda koder.

G

GraphQL

GraphQL är ett frågespråk och en gränssnittsteknologi som utvecklades av Facebook (numera Meta) år 2012 och som publicerades som en öppen standard år 2015. Används för informationssökning mellan kund- och serverprogram. GraphQL är programmeringsgränssnittens frågespråk och prestandamotor, med hjälp av vilket kunden kan begära exakt de data som behövs med en begäran.

H

Hub and spoke -modellen

För modellen finns ingen etablerad benämning på svenska. I modellen överförs informationen via en centraliserad nav (hub) till olika informationssystem (spoke). De numrerade cirklarna (1–8) på bilden nedan är olika informationssystem. Till exempel fungerar integrationskanalen som en centralpunkt. Hub and spoke-modellens funktionsprincip jämförs ofta med telefoncentralens.

I

Informationssystem (Information system)

Ett system som består av

  • uppgifter
  • personer som behandlar uppgifter
  • databehandlingsutrustning
  • dataöverföringsutrustning
  • program som behandlar data
  • regler för behandling av data.

Syftet är att effektivisera eller underlätta en viss verksamhet eller göra verksamheten möjlig.

Integration

Sammanslagning av minst två till en helhet. Kan genomföras med tiotals olika stilar. Integrationsmönstret (integration pattern) definierar hur integrationen genomförs i praktiken. Ett programmeringsgränssnitt underlättar integrationen.

Integrationsplattform som tjänst (Integration platform as a service, IPAAS)

Ett omfattande takbegrepp vars egenskaper och användningssätt varierar beroende på bransch. En organisations dataflöden hanteras med hjälp av en molntjänst. Ipaas-plattformarna har ofta lättanvända verktyg som gör det möjligt för affärsverksamheten att bygga integrationer även utan IT-avdelningens hjälp.

J

JavaScript Object Notation, JSON

Ett dataformat som är enklare än XML och som grundar sig på en standard som publicerades 1999. Lätt att läsa, förstå och skriva. Uppbyggd av en samling namn- och värdepar inom objekt som är märkta med klammerparentes. Oberoende av programmeringsspråket. Läs mer på webbplatsen json.org.Öppnas i ett nytt fönster.

K

Kommunikationsprotokoll för överföring av hypertext (Hypertext Transfer Protocol, HTTP)

Ett tillståndslöst protokoll som publicerades år 1991 och som gör det möjligt att dela resurser i World Wide Web. Bygger på överföringsprotokollet TCP/IP och en arkitektur med två roller: kund och server. Http är standardiserat och den senaste versionen är http/3 (RFC 9114), som publicerades i juni 2022.

Kundorientering

Kundorientering är en princip, där tjänsterna och verksamhetsmodellerna planeras utifrån kundens situation och perspektiv så att de skapar värde för kunden så smidigt och enkelt som möjligt.

L

Livshändelse

Med livshändelse avses en situation där det sker en förändring i en persons eller ett företags liv som förutsätter att man uträttar ärenden hos flera myndigheter eller olika aktörer.

Lös koppling (loose coupling)

I modellen är varje tjänst självständig och utvecklingen, avvecklingen eller bytet av tjänster påverkar inte andra tjänster.

M

Mikrotjänst (Microservice)

En programarkitekturstil där programmet byggs upp av en samling små tjänster baserat på (affärs)verksamheten.

Mikrotjänsterna kommunicerar med varandra med hjälp av programmeringsgränssnitt. Man kan lätt skriva om, lägga till eller minska mikrotjänsterna utifrån affärsverksamhetsbehoven. En mikrotjänst kan göras självständig och den kan betraktas som en modul.

Modul (Modular programming)

En självständig del i ett program med inmatningsinformation, resultatinformation och en egen funktionalitet. Vilken komplex enhet som helst kan sammanställas av moduler, alltså planeras med hjälp av en modulär (programvaru-)arkitektur. Idén uppstod på 1960-talet i stora programvaror, där den möjliggjorde återanvändning och senare döljandet av detaljer (detaljer om den operativa uppgiften).

Monolitiskt datorprogram (Monolithic application)

Programvara som består av en enda stor helhet. Som motsats nämns ofta mikrotjänstarkitekturen, som består av små delar. I den monolitiska programvaruarkitekturen sköter en applikation de flesta eller alla funktioner. Gamla monolitisk program ändras och ersätts ofta med mikrotjänster en bit i taget.

MQTT-protokoll (Message Queuing Telemetry Transport, MQTT)

MQTT är ett protokoll som utnyttjas på sakernas internet (Internet of Things, IoT). Protokollet innehåller ett antal regler för hur IoT-enheter kan publicera och beställa information på Internet. MQTT används i första hand för kommunikation och dataöverföring mellan IoT-apparater och industriella IoT-apparater (industrial IoT, IIoT) – såsom inbyggda apparater, sensorer, programmerbara logikstyrningar för industrin.

O

OpenAPI

Ett beskrivningssätt för programmeringsgränssnitt i arkitekturstilen RESTful som utvecklats sedan 2010. Kallades tidigare för Swagger. Beskrivningssättet är öppet och stöds av Linux Foundation (stiftelsen). Det är möjligt att automatiskt skapa versioner av programmeringskoderna för både kundens och serverns genomföranden på olika programmeringsspråk, dokumentation, programtester och annat. Läs mer på openapis.org.Öppnas i ett nytt fönster.

Open Authorization (OAuth)

Protokoll för förmedling av åtkomsträttigheter från en tjänst till en annan utan att lösenordet eller användarnamnet förmedlas på nytt. Till exempel inloggningsuppgifterna till Amazon, Google, Facebook, Microsoft och Twitter användas för att logga in i tredjepartsapplikationer och -tjänster. Används i programmeringsgränssnitt för förmedling av åtkomsträttigheter.

P

Programmeringsgränssnitt (Application Programming Interface, API)

Programmeringsgränssnittet bestämmer hur ett program eller en del av det tillhandahåller information eller tjänster för applikationer eller andra informationssystem.

Ett datagränssnitt som tillhandahåller information kan hantera data, varvid data som finns i tjänsten kan läsas via det till andra informationssystem. Ett exempel på ett datagränssnitt är gränssnittet på webbplatsen medborgarinitiativ.fi som tillhandahåller information om medborgarinitiativ.

Ett funktionellt programmeringsgränssnitt erbjuder också beräkningsalgoritmer eller möjlighet att ändra uppgifterna i ett informationssystem via programmeringsgränssnittet. Exempel på funktionella gränssnitt är bland annat

  • programmeringsgränssnittet för Helsingforsregionens trafiks reseplanerare, som erbjuder en algoritm för ruttberäkning
  • den internationella gränssnittsstandarden Open311; ger möjlighet att göra felanmälningar till städernas responssystem som stöder den.

Programvara (Software)

Ett datorprogram och dess dokumentation.

Programvara som tjänst (Software as a service, Saas)

Programvara som tjänst är en distributionsmodell där serviceleverantören upprätthåller och utvecklar programvaran på sina egna servrar och erbjuder tjänsten till sina kunder via internet. För tjänsten betalas ofta baserat på användningen: per månad eller år.

Programvarutestning (Software testing)

Studier av programvarans beteende, som gör det möjligt att komma närmare en förvissning om att programvaran fungerar som förväntat. Med hjälp av validering utreds att programvaran motsvarar beställarens mål och behov. Med hjälp av verifiering säkerställs att programvaran är i enlighet med kraven, planerna och anvisningarna. Verifieringen kan ofta automatiseras, men inte valideringen.

Protokoll för krypterad dataöverföring (Hypertext Transfer Protocol Secure, HTTPS)

En kombination av http-protokollet och TLS/SSL-protokollet som används för skyddad dataöverföring via datanätet, i allmänhet internet. Vid användning av TLS-kryptering behövs ett certifikat. Https-trafiken sparas inte i proxyservrarnas cacheminnen.

Punkt-till-punkt-integration (Point-to-Point)

I den här modellen överförs information direkt från ett informationssystem till ett annat. Det är det äldsta sättet att överföra information mellan olika informationssystem. I praktiken genomförs den ofta med hjälp av lokala skript och program. I komplicerade helheter har tekniken ofta genomförts med olika teknik, av olika personer och vid olika tidpunkter. Ofta har Point-to-Point-integrationer byggts upp i samband med anskaffningen av informationssystem under flera år eller årtionden.

Ofta blir en helhet som byggs upp lite åt gången en mycket komplicerad helhet som är svårhanterlig med tanke på underhållet och utvecklingen. Om till exempel åtta olika informationssystem (n=8) integreras med varandra med denna metod uppstår det n(n-1)/2, alltså 8(8-1)/2 = 28 integrationer.

R

RESTful-arkitekturstil (REST)

Den vanligaste typen av programmeringsgränssnitt. Enligt uppskattningar har över 80 procent av programmeringsgränssnitten på internet genomförts med denna arkitekturstil.

S

Spaghetti-arkitektur (Spaghetti architecture)

Ofta har en mycket komplicerad helhet byggts upp under årtionden, så att olika program har skaffats på olika sätt. Program har skrivits på olika programmeringsspråk, av olika personer och med olika tekniker. Informationssystem har köpts färdiga, skräddarsytts och en del kan vara standardprogram. Redan bara något större organisationer använder över 100 informationssystem för olika ändamål. Helheten blir en spaghettiliknande, alltså kaotisk och komplex helhet som antingen har ingen kontroll över eller som någon har begränsad kontroll över.

Systemintegration (Systems Integration)

Tankesätt för att förstå organisationens IT-arkitektur. Även en samling verksamhetssätt med hjälp av vilka IT-resurserna kan utnyttjas så bra som möjligt för (affärs)verksamhetens behov.

Säkerhetsmodellen Noll förtroende (Zero trust eller Zero Trust Architecture, ZTA)

Termen presenterades 1994 av Stephen Paul Marsh i hans doktorsavhandling. Tillvägagångssätt för strategi, planering och genomförande av informationssystem. Modellens huvudidé är ”lita aldrig, kontrollera alltid”. Det innebär att man under inga omständigheter litar på användare och enheter som standard. Inte ens när de till exempel är anslutna till ett slutet nätverk, såsom ett lokalt nätverk inom organisationen.

T

Teknikneutralitet (Technological Neutrality)

Teknikneutralitet och möjligheten att överföra information är mål nummer fem i Europeiska unionens principer för interoperabilitet. Syftet är att den offentliga förvaltningen inte ska vara tvungen att använda vissa tekniska genomföranden eller produkter eller till exempel endast en leverantör.

U

Utvecklarerfarenhet

Liknar användarupplevelsen (User Experience, UX), men fokuserar på programutvecklare som använder programvaran. En bra utvecklarupplevelse sparar tid, pengar, minskar risker och misstag.

W

Webbtjänst (Web service)

Programvara som är utformad för kompatibel interaktion mellan maskiner via nätverk. I praktiken menas med termen programmeringsgränssnitt som fungerar över internet.

Ö

Övergripande arkitektur eller företagsarkitektur (Enterprise Architecture, EA)

En modell för att förstå organisationens verksamhet ur verksamhetens, informationens, informationssystemens och teknikens perspektiv.

  • I verksamhetsarkitekturen beskrivs de funktionella strukturerna.
  • I informationsarkitekturen beskrivs den information som organisationen hanterar, informationsstrukturer samt informationens inbördes relationer.
  • I informationssystemperspektivet behandlas applikationer och datorprogram (eller informationssystem) som hanterar information.
  • Teknologiarkitekturen behandlar den tekniska infrastrukturen.

Tidigare gjordes detta arbete till exempel enligt JHS-179 (Planering och utveckling av en övergripande arkitektur).

Bekanta dig med guiden Övergripande arkitektur i utvecklingen av verksamheten.

Är du nöjd med innehållet på denna sida?