Þróun og tækni
Hér finnur þú allar upplýsingar sem þarf til að þróa hugbúnað í samstarfi með Stafrænu Íslandi. Tæknistefna Stafræns Íslands geymir upplýsingar um uppbyggingu, forritunartól, verkferla ofl.
Efnisyfirlit
Tæknistefna
Tæknistefna Stafræns Íslands geymir ítarlegar upplýsingar um uppbyggingu, forritunartól, verkferla og þau gildi sem teymi sem vinna að þróun lausna fyrir Ísland.is þurfa að tileinka sér.
Árið 2019 var sett fram tæknistefna fyrir Ísland.is með það að markmiði að ná betur utan um upplýsingatæknimál og -kerfi ríkisins. Með því að skilgreina tækniarkitektúr ríkisins varð til stefna sem tryggði enn frekar samræmingu og sveigjanleika upplýsingatækniinnviða. Jafnframt skapast forsendur til að nýta betur hagræðingartækifæri í rekstri og innkaupum á upplýsingatæknibúnaði, til dæmis með fækkun tegunda af búnaði sem nýttur er í starfsemi ríkisins.
Skoða Tæknistefnu Stafræns Íslands
Þróunarhandbók
Þróunarhandbókin hefur að geyma skjölun, vinnuferla, og leiðarvísa sem snúa að hugbúnaðarþróun fyrir Stafrænt Ísland.
Hugbúnaður Ísland.is er þróaður af tækniteymum frá mörgum birgjum og stofnunum en Kóðasafnið er opið.
Við mælum með eftirfarandi lesefni fyrir nýja forritara:
Yfirlit yfir tól og tækni sem við notum.
Leiðbeiningar um sjálfvirka kóðasmíði (e. code generation) fyrir vefþjónustusamskipti.
Hvernig við þróum sjálfvirk próf sem prófa kerfin okkar í vafra.
Fá aðgang að þróunarleyndarmálum og þróunarþjónustum.
Leiðbeiningar, hvernig ný verkefni eru búin til.
Upplýsingar um verkferla og gæðastjórnun.
Þú getur nálgast þróunarleiðbeiningar fyrir helstu verkefni Ísland.is hér:
Þróunarhandbókin inniheldur líka eftirfarandi skjölun sem getur nýst öðrum stofnunum:
Vefþjónustustefna
Gagnasamskipti í gegnum vefþjónustur eru forsenda stafrænna lausna og eru því nauðsynlegar til að bæta þjónustu ríkisins við einstaklinga og fyrirtæki.
Stofnanir ættu því að huga að því að útfæra vefþjónustur ofan á gögn sem þær bera ábyrgð á. Einnig ættu þær að skoða hvernig hægt er að auka sjálfvirkni með því að nýta sér vefþjónustur frá öðrum.
Nú þegar er búið að útfæra fjölmargar vefþjónustur sem er hægt að skoða í vörulista vefþjónusta.
Straumurinn
Straumurinn er opið gagnaflutningslag sem gerir stofnunum og fyrirtækjum kleift að skiptast á upplýsingum yfir internetið. Straumurinn byggir á X-Road sem er miðstýrt dreift gagnaskiptalag milli upplýsingakerfa. Stofnanir geta skipst á upplýsingum í gegnum netið með því að nota Strauminn til að tryggja trúnað, heilleika og samvirkni milli aðila sem eiga í gagnasamskiptum.
Strauminn auðveldar stofnunum og fyrirtækjum að aðgangsstýra sínum vefþjónustum en jafnframt fá aðgang að vefþjónustum annarra. Hægt er að veita aðgang að heilum vefþjónustum eða stökum endapunktum.
Til að setja upp Strauminn þarf að sækja um hjá Stafrænu Íslandi og fylla út umsókn um samstarf. Nánari tæknilegar upplýsingar má finna í tæknihandbók Straumsins.
Hönnun á vefþjónustum
Við mælum með að stofnanir útfæri vefþjónustur með “RESTful” högun sem byggir á einföldum HTTP og JSON fyrirspurnum. Stafrænt Ísland gefur út leiðbeiningar fyrir hönnun á vefþjónustum, en þar eru ráðleggingar um nafnavenjur, gagnatög, villumeðhöndlun, skjölun, útgáfustýringu og margt fleira.
Sérstaklega skal huga að því að skjala vefþjónustur vel með OpenAPI (e. Swagger). Það einfaldar að skrá vefþjónustuna í Strauminn, en skjölunin verður þá aðgengileg í vörulista vefþjónusta. Skjölunin er sérstaklega gagnleg fyrir forritara sem eru að innleiða vefþjónustuna, en með OpenAPI skjölun er hægt að búa sjálfkrafa til innleiðingakóða í flestum forritunarumhverfum.
Þegar kemur að útgáfustýringu þarf að gæta þess að breyta ekki vefþjónustum í raunumhverfi á þann hátt að þær brjóti innleiðingar. Breytingar á endapunktum eða eigindum sem eru ekki afturvirkar þarf að gefa út í nýrri útgáfu af vefþjónustunni á nýrri vefslóð.
Meiri upplýsingar má finna í leiðbeiningum fyrir hönnun á vefþjónustum.
Auðkenning og aðgangsstýring
Hægt er að fara margar leiðir til að aðgangsstýra vefþjónustum en það fer aðallega eftir því hvernig kerfi munu kalla í vefþjónustuna og eðli gagnanna sem vefþjónustan vinnur með.
Ef vefþjónustan þarf aðeins kerfisauðkenningu (e. machine to machine) þá er Straumurinn mjög góð lausn. Ef Straumurinn er eina aðgangsstýring vefþjónustunnar þá ættu samskipti að vera dulkóðuð endanna á milli með HTTPS og gagnkvæmri auðkenningu (mTLS)
Annar valmöguleiki er að útfæra kerfisauðkenningu með aðgangslyklum (e. access tokens). Fyrirspurnarkerfið kallar í miðlægan auðkenningarþjón með kerfisauðkenningu (client credentials) og fær aðgangslykil sem hann sendir með fyrirspurnum á vefþjónustuna. Auðkenningarþjónn Ísland.is styður meðal annars kerfisauðkenningar.
Ef vefþjónustan á einnig að auðkenna endanotendur, t.d. til að stýra aðgang að viðkvæmum upplýsingum, þá er best að nota aðgangslykla frá auðkenningarþjón Ísland.is. Hægt að rekja þannig fyrirspurnir niður á endanotendur sem eru sannanlega auðkenndir með rafrænum skilríkjum. Eins býður þessi aðgangsstýring upp á umboð (foreldra, prókúruhafa o.s.frv.) og aðgangsheimildir (e. consent).
Við mælum með því að notast bæði við aðgangslykla og Strauminn.
Aðgangur að gögnum
Til að fá aðgang að vefþjónustum í Straumnum þarf að hafa samband við ábyrgðaraðila vefþjónustunnar.
Aðgangi að vefþjónustum er stýrt í gegnum stjórnborð Straumsins en ábyrgðaraðili vefþjónustunnar sér um að veita stofnunum og fyrirtækjum aðgang að þeim. Til að fá aðgang að vefþjónustu í gegnum Strauminn þurfa báðir aðilar að vera með X-road öryggisþjón. Þetta á bæði við um þann sem á vefþjónustuna og þann sem nýtir sér hana.