Versions Compared

Key

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

Indhold

Table of Contents


Indledning

...

Indledning
Dokumenthistorik
Formål
Overblik
Snitflader
Komponenter
Webservice
Sikkerhed
Statuskomponent
Forretningslag
Databasedesign
Caching
Ikke funktionelle krav
Sikkerhed
SLA logning
Audit logning

...

Dokumenthistorik

Version

Dato

Ansvarlig

Beskrivelse

1.207-09-2018OpenmindsSpecificering af OIOIDWS service

1.1

12-12-2017

Openminds

Ny borgerservice

1.0

14-06-2017

Openminds

...

...



...

Formål

Dette dokument giver et overblik over MinLog2 applikationerne med fokus på design og arkitektur.

Dokumentet giver et overblik over løsningens snitflader samt den interne struktur. Desuden indeholder det en beskrivelse af håndtering af ikke funktionelle krav.

...

...

Overblik

MinLog2 er delt i to applikationer, Registration og Lookup.

...

Lookup services findes i 2 sikkerhedsvarianter

  1. DGWS
  2. OIOIDWS

...

Snitflader

Løsningen har en ekstern snitflade, der udstiller de ovenfor nævnte services som webservices.

...

Udover MinLog2's egen database, er løsningen afhængig af stamdatamodulets databaser, til berigelse af logdata ved Lookup. Principperne for anvendelse af stamdata fra stamdatamodulet afviges dermed, idet der ikke anvendes enkeltopslags- services eller kopiregisterservices. Dette er dog accepteret i MinLog 2-sammenhæng.

...



Komponenter

Løsningen er designet som en JEE applikation bestående af følgende komponenter. Hvis der er ting der adskiller sig i de to applikationer, bliver det nævnt specifikt:

...

...

Webservice

CXF webservice komponent, der udstiller de forretningsmæssige services. Denne komponent håndterer protokol og headers.

...

...

Sikkerhed

Sikkerheden er implementeret i 2 varianter DGWS og OIOIDWS.

...

Autenficering af brugeren er foretages premature af STS. Bemærk at der efter aftale ikke er gjort brug af whitelisting på det udstillede services.

...

...


...

Statuskomponent

...

...

Monitorering

En simpel servlet, der returnerer ok (http kode 200), hvis systemet er tilgængeligt. Desuden er det muligt at få detaljer om, hvilke komponenter, der er i live eller fejler.

...

En servlet, der fortælle hvilken version af løsningen, der er den aktuelle.

...

Forretningslag

Indeholder forretningslogikken.

...

En stateless ejb(controller) modtager kald fra webservicelaget og delegerer til andre klasser, der hver især håndterer hhv. validering, caching, groupering samt håndtering af persistens.

...

Domain

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

...

Afhængigheder mellem komponenter.

...

Databasedesign

Log events, består af to dele. En source og en destination. Destination indeholder alt information om logningen, mens source er kaldekæden gennem systemerne. Se Løsningsbeskrivelsen for nærmere beskrivelse. Disse gemmes i hver sin tabel Anchor_Toc368486172_Toc368486172. Database layout kan ses i filen "shared/shared-configuration/src/main/resources/sql/initial_schema.sql".

For at forhindre at der kan forekomme dublikater ved insert, laves der en SHA256 hash over en række værdier, af databasen.

...

...

Caching

I MinLog2-Lookup er der en feature der kan opdele logninger i en række forskellige grupper. Det er et krav at der er mulighed for at bruge paginering ved disse grupper. Det giver problemer da grupperne nødvendigvis skal dannes på baggrund af hele søge resultatet og ikke blot over en delmængde. Hvis det skulle være muligt er man nød til at søge hele resultatet frem hver gang der forespørges på en ny side.

For at imødekomme begge krav, er der anvendt caching(ehcache) i Lookup. Når data er blevet grupperet bliver det cached. Der anvendes en nøgle generet ud fra de forskellige parametere i forespørgselen.

...

...

Ikke funktionelle krav

...

Sikkerhed

Løsningen er sikret med IDCard, der enten kan repræsentere en person eller en myndighed. I tilfælde af Lookupid anvendes OIOIDWS.

Ved hver enkelt servicekald verificeres det, at kalderen har den fornødne rolle (myndighed eller medarbejder), og at det medfølgende IDCard overholder levetidskravet til det konkrete kald.

...

SLA logning

Der logges med brug af NSPUtils biblioteket: Et filter opretter en log entitet, der senere beriges med messageID fra Medcom headeren.

SLAloggen gemmes i en tekstfil, og dens udseende kan konfigureres.

...

Audit logning

Ved alle kald registreres

...