Versions Compared

Key

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

...

Kildekoden bygges vha Apache Maven, og kildekoden er struktureret som Maven moduler. Følgende moduler findes i  SXA Adaptere:

ModulBeskrivelse
SXA Lab Report Service StubStub til at emulere en Svareksponeringsservice backend. Pakkes som en Wildfly applikation (WAR)
AO Appointment Stub Integration TestIntegrationstests til AO Appointments Provider StubAO Provider
SXA Provider CommonFælleskode, der benyttes både af
AO
SXA Document Metadata Provider og
AO
SXA Document Provider
AO Provider CacheKode til at gemme/hente/slette AO XDS Adapters aftaledokumenter i databaseAO
SXA Document Metadata Provider

Modul til implementation af dokumentsøgning (ITI-18) - dvs "registry-delen"

af AO XDS

af  SXA Adaptere. Modulet har til ansvar at

fremfinde

opbygge dokumentmetadata og reagerer på søgeparametre givet ved forespørgsel på dokumentmetadata

. Modulet har yderligere til opgave at danne de konkrete dokumenter svarende til de fremsøgte metadata og gemmer disse dokumenter i AO Provider Cache.

dog uden at persistere data. I stedet dannes metadata tilpasset patienten.

SXA
AO
Document Metadata Provider WarPakker AO Document Providere som en Wildfly applikation (WAR)
AO
SXA Document Metadata Provider Integration TestIntegrationstests til
AO
SXA Document Metadata Provider. Modulet har til ansvar at fremfinde
dokumenter i AO Provider Cache og reagerer på søgeparametre givet ved forespørgsel på dokumenter
metadatadata.
AO
SXA Document ProviderModul til implementation af dokumenthentning (ITI-43) - dvs "repository-delen" af
AO XDS Adaptere.
SXA Adaptere. Modulet har til ansvar at hente dokumenter indeholdende laboratoriesvar fra Svareksponeringsservice backend.
SXA
AO
Document Provider WarPakker
AO
SXA Document Provider som en Wildfly applikation (WAR)
AO
SXA Document Provider Integration TestIntegrationstests til
AO
SXA Document Provider
AO
SXA Document Sharing Integration TestIntegrationstests for
RN og RM udgaver af AO XDS
SXA Adaptere. Tester fremsøgning af dokumentreferencer (ITI-18) samt afhentning af dokumenter (ITI-43)

Generelt design

De to Java-webservices Svareksponeringsservice XDS Registry Adapter og Svareksponeringsservice XDS Repository Adapter er implementeret ved brug af komponenter fra documentsharing og Dokumentdelingsservices.
JAX-WS er anvendt på baggrund af artefakter fra DDS skabt ved kodegenerering ud fra WSDL-filer og XSD-filer.

Services

Ovenstående modulliste opsumerer kodens struktur.

...

Det drejer sig om følgende:

  • AO Appointments Provider SXA Lab Report Service Stub: Denne service anvendes kun til udvikling og emulerer en bookplan en Svareksponeringsservice backend til levering af aftaledatalaboratoriesvar.
  • AO SXA Document Metadata Provider War: Denne service implementerer "registry-delen" af AO XDS SXA Adaptere. Dette er et generelt modul, der kan konfigureres til hhv. Region Nord (RN) og Region Midt (RM) ved hjælp af konfigurationsfiler.AO
  • SXA Document Provider War: Denne service implementerer "repository-delen" af AO XDS SXA Adaptere. Dette er et generelt modul, der kan konfigureres til hhv. Region Nord (RN) og Region Midt (RM) ved hjælp af konfigurationsfiler.

Byg af

...

SXA Adaptere

Man skal bruge Apache Maven til at bygge NASmodulerne, hvilket gøres ved at køre kommandoen

mvn package


Efter byg kan WAR filer findes her:

./

appointmentsstub

labreportservicestub/

appointmentsstub/

target/

appointmentsstub

sxa-labreportservicestub.war

./xdswrappers/documentmetadataprovider-parent/documentmetadataprovider-war/target/

ao

sxa-documentmetadataprovider.war

./xdswrappers/documentprovider-parent/documentprovider-war/target/

ao

sxa-documentprovider.war

Disse tre WAR filer svarer til de beskrevne services i forgående afsnit.

Deployering af

...

SXA Adaptere

Efter byg kan det være nyttigt at lave en deployering af de genererede services (WAR).

Til udviklingsformål er der udarbejdet en mængde et docker-compose setupssetup. Disse Dette ligger i

./compose/development/docker-compose.

<conf>.<apd-version>.

yml

conf angiver, hviklen konfiguration man ønsker at starte (rn = Region Nord, rm = Region Midt).

...

Det relevante docker-compose setup startes med følgende kommando:

./compose/development/docker-compose

-f docker-compose.<conf>.<apd-version>.yml

up --build

Docker-compose setup'et startere både AO XDS Adapter bådeSXAAdapter services samt bagvedliggende database service og mock Bookplan serviceSvareksponeringsservice. Når alle services er startet kan WSDL for de deployede AO XDS SXA Adapter services nåes på følgende URL'er:

Test af

...

SXA Adaptere

Der er udviklet både unit tests og integrationstests til AO XDS SXA Adaptere. Struktur og afvikling af  disse beskrives i det følgende.

...

Der er udviklet en række unit tests til de forskellige moduler i AO XDS i SXA Adaptere.

Maven sørger for afvikling af unit tests som en del af byg af AO XDS af SXA Adaptere.

Unit tests kan også køres efter et byg med kommandoen:

mvn test

Hvis man ønsker at få opsamlet testresultaterne (og beregnede test coverage) i en samlet rapport vha Maven plugin'et jacoco, kan følgende kommando anvendes:

...

mvn verify

Denne kommando afvikler unit tests og opsamler test coverage rapporten i følgende directory:

...

./testreport/target/site/jacoco-aggregate/

Integrations tests

Maven Failsafe plugin anvendes til gennemførelse af integrationstests i projektet.

Rapporten kan med fordel åbnes i en browser, da den er genereret i både xml og html format.

Integrations tests

Der er udviklet en række integrationstests til AO XDS Adapter .Disse og disse kan være nyttige at afvikle på udviklermaskinen.

Afviklingen forudsætter, at AO XDS Adaptere er bygget og deployeret (ved opstart af relevant docker-compose setup) som beskrevet ovenfor.

Integrations tests kan også køres efter et byg med kommandoen:

mvn verify -P external-test

Jenkins og Code Coverage

SXA kan bygges med NSP's Jenkins server via følgende job:

https://jenkins.nspop.dk/job/LabSvar_build/

Code coverage trends kan følges på:

https://jenkins.nspop.dk/job/LabSvar_build/jacoco/

Og her fra kan man klikke sig ud på JaCoCo Coverage rapporter for hvert byg.TODO