Dette dokument beskriver, hvordan MinLog2-løsningen bygges og hvad de forskellige moduler indeholder.
Dokumentet kan med fordel læses sammen med dokumentet "arkitektur_design" for overordnet forståelse. Desuden henvises der undervejs til "testvejledning" og "installationsvejledning".
Læseren forventes at have kendskab til National Sundheds-IT's platform NSP, samt generelt kendskab til WildFly applikation server, MariaDB og java.
Version | Dato | Ansvarlig | Beskrivelse |
| 1.2 | 20-09-2018 | Openminds | Yderligere specifikation i forbindelse med borgerservice |
1.1 | 12-12-2017 | Openminds | Ny borgerservice |
1.0 | 15-06-2017 | Openminds |
Definition | Beskrivelse |
NSP | Den nationale service platform (inden for sundheds-IT) |
Udover java (JDK 1.8) og WildFly, så kræver MinLog2 2 databaser for at kunne afvikles lokalt
MinLog2 databasen kan oprettes via script fra sql/initial_schema.sql fra modulet shared-configuration.
Stamdata databasen kan oprettes via script fra sql/stamdata_tables.sql som dog kun opretter de tabeller som er relevant for MinLog2. Det anbefales at importere et databasedump fra feks. et testmiljø.
MinLog2 er et standard maven projekt og bygges med
mvn clean install |
Helt som det er standard fører det til et byg af alle moduler, herunder ear-filer som indeholder den kode, der skal deployes.
Projektet er delt i 2:
├── jee
└── kafka
Maven kan afvikles i de respektive foldere. Som en del af bygget afvikles alle unit-tests. Der er ingen af disse unit-tests, der har afhængigheder til netværk, database eller lignende.
Her er det muligt at få dannet en projektrapport i targetfolderen – herunder coverage (folderen site) – ved at køre
mvn site |
Der findes 2 undermoduler
├── lookup
│ ├── lookup-core
│ ├── lookup-ear
│ └── lookup-ws
├── registration
│ ├── registration-core
│ ├── registration-ear
│ └── registration-ws
Dette modul håndterer opslag udstillet som webservice og der er overvågningservices til rådighed.
Webservicen er beskrevet i en wsdl fil (contract first) og på baggrund af denne dannes java klasser med CXF.
Dette modul håndterer opslag udstillet som webservice og der er overvågningservices til rådighed.
Webservicen er beskrevet i en wsdl fil (contract first) og på baggrund af denne dannes java klasser med CXF. Vær opmærksom på at sikkerhed på denne service er defineret vha. WS-Policy.
Databasekonfiguration er angivet i en persistence unit, der peger på datasource.
Indeholder service (forretningskode) og domain delene.
Indeholder webservice implementeringen.
Artifaktet som kan deployes til JBoss. Find ear-filen i target/.
Databasekonfiguration er angivet i en persistence unit, der peger på datasource.
Shared ligger i roden af projektet side om side med jee. Den indeholder komponenter, der på den ene eller anden måde er delt mellem registration, lookup og consumer.
Nedenfor beskrives indholdet af de enkelte komponenter.
Dette modul gør det muligt at få dannet de filer, der skal være på JBoss serveren. Indeholder primært filer til opsætning af logning og datasources.
Folderen src/main/environments indeholder miljøspecifik konfiguration af disse filer.
Ved at udpege en af disse, når man bygger, kan man på den måde få danne konfigurationsfiler til et givet miljø.
Eksempel:
Byg til test | Tilret /src/main/environments/test.properties |
Ønsker man at føje yderligere miljøer til, skal man blot lave en propertyfil hørende til miljøet og udpege den i pom.xml.
De genererede filer kan efterfølgende findes i target/classes.
Dokumentet installationsvejledning indeholder yderligere information om brugen af disse.
Fælles kode til blandt andet håndtering af sikkerhed, audit, SLA logning og en del utility klasser.
Fælles kode til skrivning af log entries til database.
Objekter, der udveksles via Kafka.
Dette modul har to formål
Anvendelsen af dette er beskrevet i dokumentet "testvejledning".
Som shared-test anvendes dette modul delse i forbindelse med afviklingen af integrationtests, dels til generering af klient kode og eksekvering af webservicerequests.
Anvendelsen af dette er beskrevet i dokumentet "testvejledning".