Hopp til hovedinnhold

Samspill i felles økosystem

    Økosystem for nasjonal digital samhandling og tjenesteutvikling er en måte å samhandle på, og en samling verktøy og løsninger som flere kan bruke for å utvikle digitale tjenester. Dette skal bidra til at offentlige tjenester oppleves som sammenhengende for brukerne, uansett hvilken offentlig virksomhet som tilbyr dem. Hvor godt de ulike delene av økosystemet samhandler, har stor betydning for hvor gode og trygge digitale løsninger som skapes og tilbys oss som innbyggere.

    Hendelser er data som må kunne utveksles mellom aktørene i Felles Økosystem, slik at vi oppnår bedre samhandling. Løse koplinger gir færre bindinger mellom aktørene, men heller ikke Hendelsesdrevet arkitektur er skånet for bindinger man må vurdere.

    Teknisk Interoperabilitet

    «Den tekniske evnen to eller flere løsninger eller applikasjoner har til å utveksle og bruke informasjon, evnen til å tilby og konsumere tjenester fra andre systemer, og å bruke tjenestene som utveksles slik at systemene arbeider effektivt sammen» (https://data.nav.no/begrep/BEGREP-540)

    Informasjon om oppståtte hendelser må kunne utveksles mellom aktørene i Felles Økosystem. Det vil være behov for mekanismer for å publisere og gi tilgang til hendelser, for både «store og små». Løsninger på tvers av virksomheter og domene må fungere sammen. I Norge har vi fellesløsninger, både nasjonale og sektorielle som kan eller skal kunne gjenbrukes.

    Ulike alternative tilnærming:

    1. Sentralisert arkitektur
    2. Desentralisert arkitektur
    3. Gjenbruk og desentralisert

    Gjenbruk og desentralisert er den tilnærmingen som vil bidra til at flest mulig aktører kan bidra til at hendelser kan utveksles på tvers uavhengig av modenhet hos de ulike aktører. Her vil aktører kunne fungere i et samspill der man er enig om en felles beste-praksis. Virksomheter kan implementere egne løsninger for Hendelseshåndtering som fungerer i felles økosystem eller gjenbruke en felles løsning. Illustrasjonen under viser dette samspillet.

    Dette bildet viser hvordan virksomheter kan implementere egne løsninger for hendelseshåndtering som fungerer i felles økosystem.
    Gjenbruk og desentralisert tilnærming

    Et eksempel på en gjenbrukbar løsning vil være «Altinn Events». En gjenbrukbar løsning som Altinn Events er en fellesløsning som kan benyttes direkte i Altinn plattformen, eller at man gjenbruker koden og kjører den på egen plattform.

    Utveksling av hendelser i distribuerte system

    For å øke teknisk interoperabilitet for utveksling av hendelser er det behov for å se på mulige felles spesifikasjoner. Et eksempel på dette er Cloud Events-spesifikasjonen (https://cloudevents.io/)

    Målet med CloudEvents-spesifikasjonen er å definere interoperabilitet av hendelsessystemer som lar tjenester tilby eller konsumere hendelser uavhengig av hverandre. CloudEvents-spesifikasjonen er fokusert på interoperabilitet av hendelsesformatet og hvordan det formateres, men at det kan sendes på ulike protokoller, for eksempel HTTP.

    Det finnes ulike løsninger for publisering av hendelser fra ulike leverandører, og enhver virksomhet vil gjøre ulike valg for egen løsningsarkitektur utifra ulike behov, drivere og rammebetingelser. Større systemleverandører som for eksempel AWS, Microsoft, Google har løsninger som publiserer hendelser i ulike formater. Dette øker behovet for en felles og normaliserende spesifikasjon ved utveksling av hendelser, slik som for eksempel CloudEvents-spesifikasjonen. Vi vil da unngå at konsumenter av hendelser må implementere særskilt logikk mot den enkelte tilbyder av hendelser.

    Tabell - eksempel på et hendelsesobjekt i CloudEvents spesifikasjonen
    Eksempel på hendelsesobjekt i CloudEvents-spesifikasjonen.

    Semantisk Interoperabilitet

    Semantisk interoperabilitet er «evnen til å virke sammen, utveksle informasjon og til å bruke informasjonen som er utvekslet», og er viktig for deling av data, herunder hendelsesdata.

    Det er under arbeid en Tjeneste- og hendelseskatalog i forbindelse med arbeidet med «Felles Datakatalog» i Digdir, men denne er på et svært generisk nivå, og dekker ikke hendelser som representerer endringer i data og tilstand.

    Det vil antagelig være behov for en hendelseskatalog som kan beskrive hendelsestyper, og relatere disse til hendelsesdata via en informasjonsmodell. Ved å ha en katalog over hendelsestyper kan aktører finne relevante og interessante hendelser de kan agere på, og også informasjon om hvilke tjenester som resulterer i hvilke hendelser.