Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Borgeren anvender feks. sundhed.dk til at se egen log og det gøres via forespørgsler til Lookup der læser fra databasen.

Af figuren nedenfor fremgår desuden, at MinLogs registreringsservice udstilles på dNSP'erne (foruden på cNSP). Via Kafka flyttes data til cNSP, og skrives i MinLog2-databasen. Fra cNSP udstilles MinLog2 lookup-services til hhv. borgeropslag og til medhjælpsloggen.


MinLog2 Arkitekturtegning.bmpImage Modified

Brugertyper

Der findes følgende brugertyper i Minlog. Se dokumentet med brugerhistorier for yderligere beskrivelse af disse.


  • Systembruger
  • Sundhedsfaglig med autorisation
  • Borger (18+)
    • Borger (15-17 år) er en variant af dette
  • Borger på vegne af: 
    • Borger med forældremyndighed over børn under 15 år
    • Borger som fuldmagtshaver på vegne af borger over 18 år
    • Borger som værge på vegne af borger under værgemål


De nedenstående afsnit er foreløbig kun en skabelon til den fremtidige actor modeling i minlog.

...

Brugertypen: SystembrugerVerifikationMapning til Minlog ServiceActor
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeMå ikke være der

PrincipalUser
Må ikke være der

OrganisationIdentifier

Skal være der og skal være CVR




identifierFormat

Verificeres ikke - må gerne være der



ClientNameVerificeres ikke - må gerne være der

...

Brugertypen: Sundhedsfaglig med authorisationVerifikationMapning til Minlog ServiceActor
SecurityContextTicketAudienceVerificeres ikke - må gerne være der 


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeSkal være HealthCareProfessional


IdentifierFormat

Skal være CPR




Identifier

Skal være sat




GivenNameVerificeres ikke - må gerne være der


SurNameVerificeres ikke - må gerne være der


Credentials.NationalRole

Verificeres ikke - må gerne være der




Credentials.AuthorizationCodeSkal være der


PersistentUniqueKeyVerificeres ikke - må gerne være der

PrincipalUser
Må ikke være der

OrganisationIdentifier

Verificeres ikke - må gerne være der




identifierFormat

Verificeres ikke - må gerne være der



ClientNameVerificeres ikke - må gerne være der

...

Brugertypen BorgerVerifikationMapning til Minlog ServiceActor
SecurityContextTicketAudienceMatche audience som findes som konfiguration i minlog


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeSkal være Citizen


IdentifierFormatSkal være CPR


IdentifierSkal være sat


GivenNameVerificeres ikke - må gerne være der


SurNameVerificeres ikke - må gerne være der


CredentialsVerificeres ikke - må gerne være der


PersistentUniqueKeyVerificeres ikke - må gerne være der

PrincipalUser
Må ikke være der

Organisation
Må ikke være der

Client
Verificeres ikke - må gerne være der

...

Borger på vegne af borgerVerifikationMapning til Minlog ServiceActor
SecurityContextTicketAudienceMatche audience som findes som konfiguration i minlog 


ValidityEr valid

Message
Verificeres ikke - må gerne være der

ActingUserUserTypeSkal være Citizen


IdentifierFormatSkal være CPR


IdentifierSkal være sat


GivenNameVerificeres ikke - må gerne være der


SurNameVerificeres ikke - må gerne være der


CredentialsVerificeres ikke - må gerne være der


PersistentUniqueKeyVerificeres ikke - må gerne være der

PrincipalUser
Skal være sat


IdentifierMå ikke være det samme som Identifier på ActingUser

Organisation
Må ikke være der

ClientNameVerificeres ikke - må gerne være der
Brugertypen: Borger med forældremyndighed over børn under 15 år






vha. ActingUser.Relations ChildCustodyHolder og PrincipalUser.Relations Child sættes relation.


Brugertypen: borger som fuldmagtshaver på vegne af borger over 18 år






vha. ActingUser.Credentials.PowerOfAttorneyPrivileges sættes relation hvis det passer med minlog PowerOfAttorneyPrivileges strenge.


Brugertypen: borger som værge på vegne af borger under værgemål






vha. ActingUser.Relations Guardian og PrincipalUser.Relations Ward sættes relation.


...

  • validering af at audience er til stede
  • at der er en gyldig relation mellem 2 borgere, hvis der søges på vegne af en anden borger. F.eks. i form af en fuldmagt.
  • at en borger som er værge, er whitelistet til dette



Snitflader

MinLog2 løsningen håndterer både MinLog2 og MinLog1 formaterne.

Snitfladerne for MinLog2 beskrives i detaljer i dokumenterne "Guide til anvendere" -   Registration skema beskrivelse og Lookup skema beskrivelse. Der er også her man finder links til WSDL filer. Vedrørende snitfladerne til MinLog1 så henvises der til dokumenterne som findes i svn - https://svn.nspop.dk/public/components/minlog-reg/latest/doc/ og https://svn.nspop.dk/public/components/minlog-ws/latest/doc/

Der henvises til de respektive moduler mht. detaljer omkring wsdl'er og fejlbeskeder.

...

HTML
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/cc47730d-040d-4f3f-8024-32441c1e2e6d.html" name="test" height="740" width="800">You need a Frames Capable browser to view this content.</iframe>   

* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.

Komponenter

Løsningen er designet som en web applikation opdelt i følgende struktur jee bestående af henholdsvis lookup og registration applikationerne, consumer, producer og shared.  

├── service
│   ├── lookup
│   │   ├── lookup-core
│   │   ├── lookup-ear
│   │   ├── lookup-idws
│   │   └── lookup-ws
│   ├── registration
│   │   ├── registration-core
│   │   ├── registration-war
│   │   ├── registration-minlog1-ws
│   │   └── registration-ws
├── shared
│   ├── shared-configuration
│   ├── shared-db
│   ├── shared-domain-api
│   ├── shared-test
│   ├── shared-test-idws
│   └── shared-ws
├── Consumer
└── Producer

...

Consumer

Consumer modulet lytter på et kafka topic efter entries til MinLog2 og ved modtagelse indsættes de i databasen. Koden har taget udgangspunkt i Den Gode Brug af Kafka og følger dennes retningslinier. 

Producer

Producer har tidligere være et selvstændigt modul, men er nu en del af MinLog2. Dokumentation for dette modul findes her: https://www.nspop.dk/display/public/web/MinLogProvider+-+Leverancebeskrivelse

...

dk.nsi.minlog2.registration.webservice.RegisterServiceImpl implements RegisterservicePort
dk.nsi.minlog2.registration.webservice.RegisterServiceImpl implements Service (Minlog1)
dk.nsi.minlog2.lookupid.LookupidImpl implements LookupidServicePortType
dk.nsi.minlog2.lookup.webservice.LookupServiceImpl implements LookupServicePort

...

Bemærk at der efter aftale ikke er gjort brug af whitelisting på det udstillede services.Vær opmærksom på at whitelisting heller ikke er implementeret for MinLog1.

Statuskomponent

Monitorering

...

For Lookup Indeholder domain, JPA klasser til persistering. I Registration er det POJO's.

Data lag

Indeholder logikken til insert af data fra Registration samt forespørgsel fra Lookup.

...

HTML
<iframe src="https://archi.nspop.dk/NSP/570928ca/views/fd898793-0995-4db2-ac58-29d71c50fcf3.html" name="test" height="260" width="800">You need a Frames Capable browser to view this content.</iframe>   

* Hver kasse i ovenstående diagram har en kort forklaring, som kommer frem i et nyt browservindue, når der klikkes på kassen.

Ikke funktionelle krav

Sikkerhed

...