Page History
...
Version | Dato | Ansvarlig | Beskrivelse |
1.3 | 30-10-2019 | Openminds | Opdatering som følge af ændringer til MinLog2 |
1.2 | 07-09-2018 | Openminds | Specificering af OIOIDWS service |
1.1 | 12-12-2017 | Openminds | Ny borgerservice |
1.0 | 14-06-2017 | Openminds |
- Hovedkomponenter og deres relationer (tilstrækkeligt niveau til at man kan se hvilke klasser der udfører de forskellige opgaver i løsningen)
- Beskrivelse af udvalgte datastrukturer som anvendes/opbygges i løsningen, specielt i forhold til visning
- Datamodel og beskrivelse af database-tabellernes formål og opbygning. Hvilke data må/kan placeres i tabellerne. Må felter være tomme, er der begrænsninger i tabelværdierne; f.eks. gyldig SOR kode mv.
- Kald til øvrige services og systemer uden for løsningen
- Logfiler og deres indhold/formattering.
- Sekvensdiagrammer for de væsentligste operationer
- Særlige forhold omkring synkronisering/trådhåndtering
...
Nedenfor ses en sekvens diagram over registreringsdelen.
Og opslagsdelen:
Sikkerhed
Sikkerheden er implementeret i 2 varianter DGWS og OIOIDWS.
...
En servlet, der fortælle hvilken version af løsningen, der er den aktuelle.
Arkitektur lag
Indeholder forretningslogikken.
Forretningslogik
Der er fortaget en traditionel lagdeling af løsningen:
Gliffy Diagram | ||||
---|---|---|---|---|
|
Webservice
Dette lag indeholder kode som interceptorer til håndtering af audit- og slalogning - hvis er kode relateret til sikkerhed som ikke håndteres af webservicestakken, skemavalidering af data (hvor det giver mening).
Controller
Stateless ejb'er 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.
...
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.
Registration afleverer data til Kafka igennem NSP komponenterne.
Lookup og Consumer, gør udelukkende brug af JPA til at håndtere forbindelsen til databasen. Alt insert sker via standard preparedStatements. Dette er gjort med henblik på af holde JPA ude af domain pakken, da direkte insert i databasen, fra servicen, er en midlertidig løsning.Lookup, bruger JPA dels til forbindelsen, men også mapning til domain. Dog er alle queries defineret som rå SQL, i koden, således at intet bliver autogeneret. Dette er gjort for at imødekomme tidligere erfaringer på platformen, om at autogeneret SQL fra JPA kan blive unødig kompleks og forringe performance.
...
Databasedesign
Log events, består af to deleprimærer tabeller. En source og en destinationlogentry. Destination indeholder Logentry 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. Database layout kan ses i filen "shared/shared-configuration/src/main/resources/sql/initial_schema.sql".
...