Side: 1 Fællesoffentlig beskedmodel version 1.0 Dokumentet indeholder dels en informationsmodel for hændelsesbeskeden og dens miljø, dels en generisk datamodel for hændelsesbeskeden, som kan danne en fælles basis for specifikke implementeringer af beskedfordeling. Besked - Informationsmodel Informationsmodellen viser det overordnede samspil mellem hændelsesbeskeden og dens miljø, som består af objektregistrering i registersystemer og abonnementsevaluering i beskedfordeleren
Side: 2 Besked - Datamodel Her beskrives den generiske/generelle besked, uden den omsluttende arkitektur af abonnement og dataprocesser. Diagrammet har eksempler på lokaludvidelser - alle klasser kan principielt udvides i domænespecifikke profiler af formatet
Side: 3 Forretningsobjekt Forretningsobjekter er de "ting" vi arbejder med i den offentlige sektor Forretningsobjekterne er det, processerne arbejder med og dem, der bærer de informationer vi har om disse forretningsobjekter (Personer, Virksomheder, Sager, Dokumenter etc.) er (0..*) Forretningsobjekt Objekttype (1) Klasse Typen af det informationsobjekt, som processen har behandlet. Objekttyperne kan være standardiserede i klassifikation Person, Virksomhed, Sag etc. (1) Forretningsobjekt Objektrelation (0..*) Forretningsobjekt (0..*) Forretningsobjekt Objektansvarlig (1) Aktør (1) Forretningsobjekt Objektrelation (0..*) Forretningsobjekt (1..*) Registrering Objektændring (1) Forretningsobjekt Relation til andre forretningsobjekter, som det objekt, beskeden omhandler, er relateret til. En reference til den aktør, som har overordnet dataansvar for dataobjektet - for eksempel et grunddataregister (person, adresse) eller en kommune (byggesag, institutionsplads) Relation til andre forretningsobjekter, som det objekt, beskeden omhandler, er relateret til. Et objekt kan være ændret ved en eller flere objektregistreringer Registrering
Side: 4 Én registrering på et forretningsobjekt. Et forretningsobjekt kan oprettes og derefter ændres mange gange. For hver gang opstår en "registrering", som beskriver en række forhold omkring denne ændring. Eksempelvis hvem der har ændret på det, hvornår det er sket, i hvilken sammenhæng det er sket etc. er (0..*) Registrering Objekthandling (1) Klasse En reference til et objekt af typen Klasse der holder betegnelsen på den objektnære handling, der er udført. Objekthandlingen defineres som en handling i en forretningsmæssig proces på det forretningsobjekt som beskeden drejer sig om. Den objektansvarlige (myndighed, domænekomite el. lign.) bør entydigt definere dette navn. (0..*) Registrering Opgaveemne (1) Klasse Reference til et objekt af typen klasse der indeholder emner. Eksempler på emneklassifikationer er KLE og FORM. (0..*) Registrering Registreringsansvarlig (1) Aktør (1..*) Registrering Objektændring (1) Forretningsobjekt (0..*) Hændelsesbesked Omhandler (0..*) Registrering En reference til den aktør (organisation eller organisatorisk enhed), som er ansvarlig for informationen i den pågældende registrering. Et objekt kan være ændret ved en eller flere objektregistreringer En besked omhandler ændring i eller oprettelse af et (eller flere) forretningsobjekt(er) (Registrering(er)).
Side: 5 Aktør Den medarbejder, organisatorisk enhed eller det it-system, der udfører en given aktivitet eller den person, som har ansvaret for sagen. Aktørerne i en organisation er dem, organisationen er sammensat af. Aktørerne kan være af typerne: Organisation, Organisatorisk enhed, Organisatorisk funktion, it-system, Bruger, Interessefællesskab er (1) Aktør Er abonnent på (0..*) Abonnement (0..*) Leverancerute Fordelingssystem (1) Aktør (0..*) Registrering Registreringsansvarlig (1) Aktør (0..*) Forretningsobjekt Objektansvarlig (1) Aktør (0..*) Leveranceinformation Kildesystem (1) Aktør Det er en aktør i en Organisation, som har oprettet et abonnement. Denne aktør er således abonnent. Hvilket it system (aktør af typen it-system), har distribueret beskeden? (Beskedfordeler) En reference til den aktør (organisation eller organisatorisk enhed), som er ansvarlig for informationen i den pågældende registrering. En reference til den aktør, som har overordnet dataansvar for dataobjektet - for eksempel et grunddataregister (person, adresse) eller en kommune (byggesag, institutionsplads) Hvilket it system (aktør af typen it-system), kommer en besked fra. Klasse Klasse indeholder de konkrete klasser (entries), som udgør et klassifikationssystem. Disse klasser kan evt. være ordnet hierarkisk og altså have over- og underemner. Klasser kan endvidere også have sideordnede klasser (henvisninger), også kaldet relaterede klasser.
Side: 6 er (0..*) Forretningsobjekt Objekttype (1) Klasse Typen af det informationsobjekt, som processen har behandlet. Objekttyperne kan være standardiserede i klassifikation Person, Virksomhed, Sag etc. (0..*) Hændelsesbesked Sikkerhedsklassificering (1) Klasse (0..*) Registrering Objekthandling (1) Klasse En besked har en sikkerhedsklassificiering, som anvendes til at afgøre om abonnenten må modtage beskeden. En reference til et objekt af typen Klasse der holder betegnelsen på den objektnære handling, der er udført. Objekthandlingen defineres som en handling i en forretningsmæssig proces på det forretningsobjekt som beskeden drejer sig om. Den objektansvarlige (myndighed, domænekomite el. lign.) bør entydigt definere dette navn. (0..*) Registrering Opgaveemne (1) Klasse Reference til et objekt af typen klasse der indeholder emner. Eksempler på emneklassifikationer er KLE og FORM. Abonnement Abonnement på modtagelse af beskeder om ændringer i forretningsobjekter. Abonnenterne anvendes af beskedfordeleren til at afgøre om abonnenten skal have en besked eller ej. Abonnementet består dels af et abonnementsudtryk, dels af en specifikation af leveringsmåden for beskeder (push/pull)
Side: 7 er (1..*) Abonnement Har abonnementsudtryk (1) Abonnementsudtryk (1) Aktør Er abonnent på (0..*) Abonnement (1) Leverancerute Leveret i henhold til (0..*) Abonnement Et abonnement indeholder et eller flere abonnementsudtryk. Det er en aktør i en Organisation, som har oprettet et abonnement. Denne aktør er således abonnent. Specifikation af, hvilket abonnement der har gjort at netop denne hændelsesbesked er leveret. Hver instans af Leverancerute indeholder reference til det abonnement, der foranledigede, at hændelsesbeskeden blev sendt videre Abonnementsudtryk Abonnementsudtrykket anvendes til at udtrykke de hændelsesbeskeder, man er interesseret i at modtage. Abonnementet kan sammenlignes med et filter eller en query på de beskeder, der er afsendt. Abonnementsudtrykket afprøves mod hændelsesbeskedens filtreringsdata. De abonnementer, der matcher filteringsdata, får beskeden. Abonnementsudtrykket skal indeholde de samme informationer som beskedkuverten, hvorved de direkte kan sammenlignes med indholdet af den konkrete besked og dermed optræde som filter. er (1..*) Abonnement Har abonnementsudtryk (1) Abonnementsudtryk Et abonnement indeholder et eller flere abonnementsudtryk.
Side: 8 Hændelsesbesked Besked om en forretningshændelse. er (0..*) Hændelsesbesked Sikkerhedsklassificering (1) Klasse (0..*) Hændelsesbesked Omhandler (0..*) Registrering (0..*) Beskeddata (1) Hændelsesbesked (1) Beskedkuvert (1) Hændelsesbesked En besked har en sikkerhedsklassificiering, som anvendes til at afgøre om abonnenten må modtage beskeden. En besked omhandler ændring i eller oprettelse af et (eller flere) forretningsobjekt(er) (Registrering(er)). Beskeddata kan indgå i Hændelsesbeskeden med det formål at transportere data sammen med beskeden Beskedkuverten indgår i Hændelsesbesked med det formål, at opbevare eksternt rettet filtreringsinformation, som beskedfordeleren kan anvende til abonnementsfiltrering Attribut Type beskedid GUID Beskedens unikke identifikation Tilføjes af Beskedfordeler, hvis den ikke allerede er sat af afsendersystemet beskedversion literal Versionsnummer for beskedmodellen - Modellen kan eventuelt sub-versioneres; så får hvert element sit eget versions-id Beskedkuvert Beskedkuverten indeholder informationer til udvælgelse og levering af beskeder. Beskedfordelere kan udelukkende læse indholdet af beskedkuverten og anvender dette indhold til at
Side: 9 udvælge de beskeder, som matcher de opsatte abonnementer. er (1) Beskedkuvert (1) Hændelsesbesked Beskedkuverten indgår i Hændelsesbesked med det formål, at opbevare eksternt rettet filtreringsinformation, som beskedfordeleren kan anvende til abonnementsfiltrering (0..1) Modtagerhandling (1) Beskedkuvert (1) Leveranceinformation (1) Beskedkuvert (1) Filtreringsdata (1) Beskedkuvert Beskedens Leveranceinformationer indgår i beskedkuverten - disse danner baggrund for håndtering og logning Filtreringsdata indgår i Beskedkuvert for at kunne anvendes til abonnementsfiltrering og til beskedevaluering Attribut Type gyldigfra datetime Starttidspunkt for beskedens gyldighed - fortolkning og handling kan være domænespecifik gyldigtil datetime Sluttidspunkt for beskedens gyldighed - fortolkning og handling kan være domænespecifik Modtagerhandling Modtagerhandling samler beskedafsenderens angivelser af, hvilke procestrin, der skal initieres hos beskedmodtageren er (0..1) Modtagerhandling
Side: 10 (1) Beskedkuvert Attribut Type handling Klassifikation Afsenderens krav til modtagerens handling, når indhodlet i bekeden er behandlet. Eksemple: "Kvittering", der betyder, at modtageren skal udsende en kvittering, når beskeden er færdigbehandlet responsmodtager Aktør Angivelse af den aktør, som sal modtage resultatet (fx en kvittering) af "handling" Beskeddata "Payload", som forsendes indlejret i beskeden. Ikke synligt for beskedfordeleren. Kan altså ikke bruges til abonnementsfiltrering. 0 til mange "bilag" kan medsendes pr besked (beskedfordelere kan sætte begrænsninger for beskedstørrelse). Hvert bilagsobjekt har en reference til et dataskema, som gør modtageren i stand til at håndtere bilaget. Mulig beholder for konfidentielle data Leveres af kildesystemet. er (0..*) Beskeddata (1) Hændelsesbesked Beskeddata kan indgå i Hændelsesbeskeden med det formål at transportere data sammen med beskeden Attribut Type dataskema Klassifikation Reference til information om bilaget, som skal gøre det muligt for modtageren at anvende dette - kan opbevares i Klassifikation objekt datasæt Bilaget som sådan - som indlejrede data Kan kun være udfyldt hvis objektreference er tom
Side: 11 objektreference objektid Reference til eksternt dataobjekt Kan kun være udfyldt hvis objekt er tom Rammer for objekters id fastsættes i de domæner, hvor objekterne hidrører Eksempel: objektid kan fx også være CPR/CVR dvs urn:dk:cpr:person:2304672377 eller fx urn:dk:cvr:virksomhed:21134151 eller urn:uuid:6e8bc430-9c3a-11d9-9669- 0800200c9a66 eller http://data.gov.dk/person#2807690429 eller http://data.gov.dk#6e8bc430-9c3a-11d9-9669- 0800200c9a66 Leveranceinformation Information vedrørende beskedens rute fra afsender til seneste handler. er (1) Leveranceinformation (1) Beskedkuvert (0..*) Leveranceinformation Kildesystem (1) Aktør (0..*) Leverancerute (1) Leveranceinformation (0..1) Lokaludvidelse kan have (1) Leveranceinformation Beskedens Leveranceinformationer indgår i beskedkuverten - disse danner baggrund for håndtering og logning Hvilket it system (aktør af typen it-system), kommer en besked fra. Ruteinformationen kan indgå i Leveranceinformation - med en instans for hver "handler" Beskedkuverten kan udvides med domænespecifikke egenskaber
Side: 12 Attribut Type transaktionsid GUID dannelsestidspunkt datetime Tidspunkt for beskedens dannelse (= afsendelsestidspunkt fra kildesystem). kildesystem Aktør Identifikation af kildesystemet, det system, som udsendte beskeden kildesystemipadresse ip-adresse IP-adressen på kildesystemet kildesystemakkreditiver CharacterStrin g Akkreditiver - for eksempel certifikat - som sikrer kildesystemets identitet NOTE: Type afklares sikkerhedsklassificering Klassifikation Feltet beskriver beskedens sikkerhedsklassificering. Beskedfordelerhandling kan være domænespecifik Leverancerute Metadata om hvert trin i beskedens rute. Multiplicitet er 0..* idet elementet er fraværende i den besked, som sendes fra kildesystemet til første beskedfordeler. Leveres af den aktuelt håndterende komponent er (0..*) Leverancerute (1) Leveranceinformation (0..*) Leverancerute Fordelingssystem (1) Aktør (1) Leverancerute Leveret i henhold til (0..*) Abonnement Ruteinformationen kan indgå i Leveranceinformation - med en instans for hver "handler" Hvilket it system (aktør af typen it-system), har distribueret beskeden? (Beskedfordeler) Specifikation af, hvilket abonnement der har gjort at netop denne hændelsesbesked er leveret. Hver instans af Leverancerute indeholder reference til det abonnement, der foranledigede, at hændelsesbeskeden blev sendt videre
Side: 13 (0..1) Lokaludvidelse kan have (1) Leverancerute Attribut Type fordelingssystem Organisation Identifikation af 'denne komponent' modtagelsestidspunkt datetime Tidspunkt for denne komponents modtagelse af beskeden leverancetidspunkt datetime Det tidspunkt hvor denne komponent har videreformidlet beskeden modtagetfrasystem Aktør Det system, som beskeden er modtaget fra. Det kan være kildesystemet eller en anden beskedfordeler erleveretihenholdtil AbonnementID Specifikation af det abonnement, som har specificeret denne videresendelse. Filtreringsdata Filtreringsdata indeholder de data som er nødvendige for at kunne dels evaluere beskeden i forhold til et abonnementsudtryk (i Beskedfordeleren), dels evaluere beskedens relevans hos Beskedmodtageren for derefter eventuelt at initiere en forretningsproces Data leveres af kildesystemet er (1) Filtreringsdata (1) Beskedkuvert (0..*) Relateret objekt indgår i (1) Filtreringsdata Filtreringsdata indgår i Beskedkuvert for at kunne anvendes til abonnementsfiltrering og til beskedevaluering Beskeden kan indeholde referencer til andre forretningsobjekter, som ikke er ændrede i forbindelse med beskedudsendelsen, men som kan have relevans for filtrering og fortolkning BEMÆRK - denne releation fremgår ikke af
Side: 14 informationsmodellen (0..*) Objektregistrering (1) Filtreringsdata Nul til mange Objektregistreringer kan indgå i Filtreringsdata for at kunne bruges til abonnementsfiltrering Attribut Type beskedtype Klassifikation Deskriptiv klassificering af beskeden - beskedtyper publiceres i en klassifikationskomponent og er tilgængelige for abonnementsopsætningen Beskedtypen kan eventuelt være en sammenstilling af værdierne for objekttype, objekthandling og opgaveemne beskedansvarligaktør Aktør Specifikation af den aktør som har ansvaret for forretningsobjektet, dvs ansvar for udsendelse af beskeden. For den fælleskommunale beskedfordeler er det altid en myndighed. Bruges til at understøtte persondataloven. Anvendelse ved fx udbetaling fra UDK. tilladtmodtager Aktør Angivelse af de aktører,som må modtage beskeden, idet den omhandler begivenheder inden for deres myndighedsområde. Skal være en organisationsaktør for den fælleskommunale beskedfordeler er det altid en myndighed. Bruges til at understøtte persondataloven. Anvendelse ved fx udbetaling fra UDK Blank svarer til alle tværgåendeproces Klassifikation Angivelse af den tværgåede proces - en arbejdsgang, som involverer en række aktører - der startede den interne proces, som forårsagede hændelsesbeskeden. Feltet er optionelt
Side: 15 Objektregistrering Objekter som er relevante for beskeden Der er behov for, at en besked kan omhandle mere end et objekt Ved at sætte multiplicitet til 0..* muliggøres, at beskeden kan udsendes uden at der er reference til et specifikt objekt (hvis det er besked om en forretningshændelse, som ikke afføder objektregistrering), samt at beskeden kan omhandle ethvert antal af objekter større end nul. Data udfyldes af kildesystemet er (0..*) Objektregistrering (1) Filtreringsdata Nul til mange Objektregistreringer kan indgå i Filtreringsdata for at kunne bruges til abonnementsfiltrering (0..1) Lokaludvidelse kan have (1) Objektregistrering Attribut Type objektregistrering GUID Reference til den relevante objektregistrering registreringsaktør Aktør Den aktør, om har foretaget registreringen registreringstidspunkt datetime Det tidspunkt hvor dataobjektet senest er blevet ændret/dannet. Hvis beskeden omhandler mere end et objekt er ikke alle nødvendigvis opdateret på beskedtidspunktet - dette er interessant filterinformation - giv mig besked hvis den nytilflyttede borger har ændret navn inden for seneste 17 måneder objektansvarligmyndighed Aktør Den myndighed, som har overordnet dataansvar for dataobjektet - for eksempel et grunddataregister (person, adresse) eller en kommune (byggesag, institutionsplads)
Side: 16 NOTE: Kunne det være objektansvarlig aktør? det gør modellen mere rummelig - fx en bank som kontoansvarlig objektid GUID Specifikation af det dataobjekt, som regeistreringen vedrører Rammer for objekters id fastsættes i de domæner, hvor objekterne hidrører Eksempel: objektid kan fx også være CPR/CVR dvs urn:dk:cpr:person:2304672377 eller fx urn:dk:cvr:virksomhed:21134151 eller urn:uuid:6e8bc430-9c3a-11d9-9669- 0800200c9a66 eller http://data.gov.dk/person#2807690429 eller http://data.gov.dk#6e8bc430-9c3a-11d9-9669- 0800200c9a66 objekttype Klassifikation Objektets art, svarende til Sag, Dokument, Part fra S&D samt ethvert klassenavn i Grunddatamodellen Værdien må referere til en Klassifikation eller en anden type modelserver objekthandling Klassifikation En forretningsmæssig handling foretaget på objektet i forbindelse med den proces/registrering, som affødte hændelsesbeskeden. Handlingen er typisk en intern proces - en arbejdsgang, som kun involverer beskedafsederen, og som kan være en del af en eller flere tværgående processer Eksempel: Ejerskifte, fx som del af en overordnet udstykningsproces opgaveemne CharacterStrin g Det forretningsemne/opgave i forbindelse med hvilken, objektet blev registreret. Værdien af feltet skal specificere klassifikationssystemet. Foreløbig skal strengen indeholde den
Side: 17 brugervendte nøgle (fx 15.20.50.00) så den ikan indgå i tekstbaseret filtrering af opgaveemnerne Typen kan tilpasses til mere intelligent filtrering når implementeringerne er på plads, uden at xml-skemaet skal ændres. Eksempler: urn:dk:klassifikation:kle:brugervendtnøgle:15.2 0.50.00 http://data.gov.dk/klassifikation/form/brugerve ndtnøgle#15.20.50.00 Med tiden måske: urn:uuid:6e8bc430-9c3a-11d9-9669- 0800200c9a66 http://data.gov.dk#6e8bc430-9c3a-11d9-9669- 0800200c9a66 Relateret objekt Dataobjekter, som er relevante som filtreringsgrundlag i forhold til objektregistreringen er (0..*) Relateret objekt indgår i (1) Filtreringsdata Beskeden kan indeholde referencer til andre forretningsobjekter, som ikke er ændrede i forbindelse med beskedudsendelsen, men som kan have relevans for filtrering og fortolkning BEMÆRK - denne releation fremgår ikke af informationsmodellen Attribut Type objektid GUID Specifikation af det konkrete dataobjekt objekttype Klassifikation Objektets art, svarende til Sag, Dokument, Part fra S&D samt ethvert klassenavn i
Side: 18 Grunddatamodellen Værdien må referere til en Klassifikation eller en anden type modelserver Lokaludvidelse Her placeres profilers eventuelle udvidelser til formatet er (0..1) Lokaludvidelse kan have (1) Leveranceinformation Beskedkuverten kan udvides med domænespecifikke egenskaber Attribut Type beskedfordelersignatur XML Signature Attributten er ikke obligatorisk at udfylde. Attributten indeholder hvis udfyldt Beskedfordelers signatur af følgende attributter: Leveranceinformation.transaktionsID Leveranceinformation.kildesystem Leveranceinformation.kildesystemIPAdresse Leveranceinformation.kildesystemAkkrediti ver Signaturen overholder XML Signature forskrifterne Lokaludvidelse Her placeres profilers eventuelle udvidelser til formatet
Side: 19 er (0..1) Lokaludvidelse kan have (1) Leverancerute Attribut Type antalleveranceforsøg int Angiver antallet af gange, Beskedfordeler har forsøgt at levere beskeden til modtageren. Eksempel: Første gang, Beskedfordeler forsøger på at levere beskeden, har denne attribut værdien 1. Hvis Beskedfordeler ved forsøg på at levere beskeden første gang får en fejl fra modtagersystemet, vil Beskedfordeler den efterfølgende gang levere beskeden med værdien 2 for denne attribut. Hvis det andet forsøg fejler, leveres beskeden med værdien 3 i denne attribut (og så fremdeles). Lokaludvidelse Her placeres profilers eventuelle udvidelser til formatet er (0..1) Lokaludvidelse kan have (1) Objektregistrering Attribut Type
Side: 20 CRUD Klassifikation Den logiske operation (skabelse, læsning, opdatering eller passivering) som registreringen påførte dataobjektet Den skal dø afsendersystemsignatur XML Signature Attributten er ikke obligatorisk at udfylde. Attributten indeholder hvis udfyldt Afsendersystemets signatur af følgende: Leveranceinformation.sikkerhedsklassificeri ng Filtreringsdata.* Objektregistrering.* Relateret objekt.* Signaturen overholder XML Signature forskrifterne. status Klassifikation Angivelse af den status - se http://arkitekturguiden.digitaliser.dk/alleregler/ 6.2 - som registreringen har påført dataobjektet stedbestemmelse Geoobjekt Angivelse af et geografisk område, som objektregistreringen vedrører Besked - Datamodel Besked - Datamodel
Side: 21 Besked - Datamodel Besked - Informationsmodel Besked - Informationsmodel