Page History
Navitabs | ||||
---|---|---|---|---|
| ||||
Table of Contents |
---|
Dette er en foreløbig beskrivelse, med rettelser på vej.
KOPIERET FRA NAS:
Introduktion
...
Formålet med dette dokument er at beskrive hvordan et udviklingsmiljø , til videreudvikling af Nationalt eCPR-servicen, kan sættes op, samt hvordan koden bygges, deployes og testes.
...
Efter byg kan WAR filen findes under ecpr2-service/target/ecpr2-service-1.28.18
Afvikling
For at bygge dockerimaget docker-imaget udføres kommandoen
docker-compose -f compose/development/docker-compose.yml up -d --build
som både bygger og starter en lokal database og selve servicen ecpr2. Herefter kan eCPR findes på port 8380 (Eller 8080?, se docker-compose i development linje 14-16).
Endpointet kan findes på http://??
Beskrivelse af systemdesign
Systemarkitekturen er beskrevet ieCPR - Design- og Arkitekturbeskrivelse. Nedenfor beskrives systemdesignet vha. sekvensdiagrammer, der viser flowet gennem systemet.
Hvor mange? Af hvilke kald? Skal der laves et designdiagram?
Beskrivelse af kildekodens strukturering og design
Kode strukturering
Kildekoden bygges vha Apache Maven. Overordnet består kildekoden af 5 Maven moduler, et parent modul (ecpr2) og 4 øvrige moduler, som kort beskrives nedenfor:
ecpr2-schemas | ?? |
ecpr2-server-api | ?? |
ecpr2-service | Indeholder selve sourcekoden for systemet. Denne struktur er yderligere beskrevet nedenfor |
ecpr-test | Her ligger integrationstest for det samlede systemet |
Når systemet bygges med kommandoen
mvn clean install -D maven.test.skip=true -e
er bygge orderen
- eCPR2
- ecpr2-schemas
- ecpr2-server-api
- ecpr2-service
- ecpr2-test
ecpr2-service kodestrukturering
Selve eCPR-servicens kodestruktur er uddybet nedenfor, hvor hver mappe under ecpr-service → src → main → java → dk.sds.ecpr2 er beskrevet:
Navn | Beskrivelse |
---|---|
advis | |
constants | |
dao | |
datagenerator | |
domain | |
rest | |
security | |
service | |
util | |
webservice |
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Når alle services er startet er de at finde på følgende port:
...
pullpointfactory
...
pullpoint
...
idlist
...
subscriptionmanager
...
notificationbroker
...
Deres endpoints findes på følgende måde: http://<navn>:<port>/<navn>. Alternativt kan alle services tilgås via en HTTP reverse proxy på port 8090. En service kan så tilgås via adressen http://<navn>:8090/<navn>.
Beskrivelse af systemdesign
Systemdesign er beskrevet i NAS Design og Arkitekturbeskrivelse
Beskrivelse af kildekodens strukturering og design
Kode strukturering
Kildekoden bygges vha Apache Maven, og kildekoden er struktureret som Maven moduler. Følgende moduler er support moduler, som inkluderes efter behov:
...
Derudover findes alle services som moduler under services.-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
Database navnekonvention
For at sikre en ensartet navngivning af tabeller, kolonner osv. er nedenstående navnekonvention indført i forhold til databasen.
...
Unit tests afvikling under byg, men kan separat afvikles ved at køre:
|
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 kan afvikles ved at køre følgende under integration-test modulet:
|
Dette afvikles op mod indlejrede udgaver af alle NAS services. Hvis man derimod ønsker at afvikle testen op mod det kørende udviklingsmiljø (docker-compose setup), så kan man bruge development profilen:
|
Dette forudsætter at alle services er startet som angivet i udviklet docker-compose setuppet. Hvis man ønsker af afvikle testen op mod en andet miljø, skal en række projekt variable defineres (se pom.xml-filen herom)
...
Kildekoden indeholder også performance test til andre services, men i nedestående er NAS servicens dele trukket frem.
|
modules: indeholder kildekoden til de forskellige test
...