Page History
...
| Navitabs | ||
|---|---|---|
| ||
Table of Contents
...
Introduktion
...
Formål
Formålet med dette dokument er at beskrive, hvordan et udviklingsmiljø til videreudvikling af NXRG kan sættes op, samt hvordan koden bygges, deployes og testes.
...
Kodestrukturen, kodemæssige afhængigheder til tredjeparts moduler og de forskellige servicemodulers ansvar og design beskrives sidst i dette dokument sammen med testdesign.
...
Sammenhæng med øvrige dokumenter
Dette dokument er en del af den samlede dokumentation for NXRG.
Dokumentets relation til de øvrige dokumenter er beskrevet i dokumentationsoversigten for NXRG.
...
Læsevejledning
Læser forventes at have kendskab til Java softwareudvikling med anvendelse af Maven og WildFly. Derudover forventes kendskab til Docker samt docker-compose.
Hvor der i teksten er angivet <component base> refereres til topniveaufolderen for kildekoden for komponenten.
...
Dokument Historik
| 5/5 2021 | Nils Asbjørn Joensen/KIT | Udarbejdet ved etableringen af NXRG |
...
Introduktion til NXRG
Alle NXRG services udstiller en SOAP service. Snitfladen er defineret i en WSDL fil og en række XSD filer.
...
Design og arkitektur er beskrevet: NXRG - Design- og arkitekturbeskrivelse.
...
Opsætning af udviklingsmiljø
I det følgende antages at koden er hentet fra SVN: https://svn.nspop.dk/svn/components/nxrg.
...
Krav til software
NXRG deployeres vha. docker, hvorfor de alle baserer sig på NSP platformens base image, hvori der findes nødvendigt software til afvikling.
...
- Maven 3.0.3 eller højere anvendes.
- docker-compose version 3.4 eller højere
...
Bygge WAR filer
Man skal bruge Maven til at bygge NXRG, hvilket gøres ved at køre kommandoen
...
|
...
Afvikling
Der henvises til installationsvejledningen for nærmere instrukser.
...
Udviklers workstation
Når man udvikler kan det være praktisk at foretage lokal deployment.
...
- HelbredsURL: Se NXRG - Driftsvejledning
- Services: Se NXRG - Guide til anvendere
...
Beskrivelse af systemdesign
Systemdesign er beskrevet i NXRG - Design- og arkitekturbeskrivelse.
...
Beskrivelse af kildekodens strukturering og design
...
Kode strukturering
Kildekoden bygges vha Maven, og kildekoden er struktureret som Maven moduler. NXRG består af følgende moduler:
| nxrg-xds | Sætter dependencies op i forhold til openehealth framework (en række exclusions er tilrådelige for at anvende dette framework på NSP). Derudover indeholder modulet statiske koder (f.eks. OID for CPR registeret og SOR), der anvendes rundt om i NXRG. |
| nxrg-testutilities | Hjælpeklasser, der både skal bruges af unit tests samt af integrationstests for NXRG ligger her. |
| nxrg-app | NXRG service- og forretningsfunktionalitet er samlet her. Se NXRG - Design- og arkitekturbeskrivelse for en grundigere beskrivelse af strukturen i dette modul. |
| nxrg-war | Modul, der er ansvarlig for at pakke NXRG som en NSP service - herunder angivelse af modulafhængigheder i deploymentdescriptor. Indeholder også Dockerfile til selve byg af Docker image. |
| nxrg-qa | Integrationstest for NXRG |
| nxrg-testreport | Modul til at samle jacoco test reports og beregne samlet test coverage. |
...
Dato håndtering
Databaseændringer
Databasemodellen styres ved hjælp af Liquibase. Det betyder at når der skal laves ændringer til databasemodellen, så må man ikke rette i de eksisterende skemafiler. I stedet skal der laves nye filer der beskriver ændringerne.
...
mysql -uopentext -popentext opentext
...
Migrering
Beskrivelse af hvordan man afvikler migreringen fra det gamle Opentext-registry til NXRG findes i Design- og Arkitekturbeskrivelsen og driftvejledningen.
...
Beskrivelse af testsetup
...
Unittests (JUnit)
JUnit anvendes til implementering af unit tests. Der er kontinuert gennemført unit tests på alle komponenter i projektet.
...
Hvis der derimod laves en verify, så vil der også blive genereret code coverage, hvor fremkommende rapport kan ses i testreport/target/site/jacoco-aggregate/index.html
...
Integrationstests
Integrationstests ligger i modulet nxrg-qa og kan afvikles med:
...
Hvis man ønsker af afvikle testen op mod en andet miljø f.eks. test1 eller test2 henvises til NXRG - Testvejledning.
...
Performance test
Performance testen foregår vha. et test framework udviklet af Arosii.
...