Versions Compared

Key

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

...

Læser forventes at have kendskab til Java softwareudvikling med anvendelse af Maven og WildFly. Derudover forventes kendskab til docker-compose.

Dokument historik

Dato

Ansvarlig

Beskrivelse

26/2-2018KvalitetsITInitiel version
07/04-2021KvalitetsITJusteringer i forhold til docker-compose anvendelse

Definitioner og referencer

...

LAR servicen udstiller en SOAP service med to tre SOAP actions. En action til at læse data, en til at oprette data og en action til at hente opdatere data. Snitfladen er defineret i en WSDL fil og en række XSD filer. 

...

I det følgende antages at koden er hentet ned fra SVN:  https://svn.nspop.dk/svn/kvalitetsitcomponents/lar/ og MSB-util fra https://svn.nspop.dk/svn/kvalitetsit/msbutil/.

...

Derudover er der en række krav til de anvendte udviklingsværktøjer:

  • Maven 3.0.3 eller højere anvendes.

Byg af MSB-util

LAR servicen anvender hjælpe pakken MSB-util. MSB-Util sørger for at kalde MinLog, BehandlerRelation og samtykke. MSB-Util bygges med nedenstående kommando. Resultatet er en jar fil i target folderen under hvert maven modul. 

$ mvn clean install

  • docker-compose version 3.4 eller højere

Bygge WAR filen

Man skal bruge Apache Maven til at bygge CAVE servicen, hvilket gøres ved at køre kommandoen
$ mvn clean install

...

Når man udvikler kan det være praktisk at foretage deploy til en lokal Wildfly. Dette kan gøres vha. docker-compose:

docker-compose -f compose/development/docker-compose.yml up --build

Efter start af docker-compose kan larservicen tilgåes på localhost port 8082. Servicens wsdl kan f.eks. tilgåes på http://localhost:8082/lar/MedicationAllergyService?wsdl

Beskrivelse af systemdesign

...

.

├── larservice-app

├── larservice-cave

├── larservice-consent

├── larservice-dgws

├── larservice-health

├── larservice-intrgrationtest

├── larservice-treatmentrelation

├── larservice-types

├── larservice-war

    └── src

        ├── main
        │   ├── java
        │   ├── resources
        │   └── webapp
        │       └── WEB-INF
        │           ├── jboss-deployment-structure.xml
        │           └── web.xml
        └── test
            ├── conf
            │   ├── application.properties
            │   ├── log4j-larservice-ws.xml
            │   ├── log4j-nspslalog-lar.properties
            │   ├── log4j.properties
            │   ├── module.xml
            │   ├── systemtest19-ca.cer

            │   └── nspslalog-lar.properties

            ├── installation
                └── larservice-ds.xml

...

larservice-cave modulet indeholder funktionalitet til at kalde CAVE servicen og konvertering af data fra det FHIR format CAVE servicen returnerer og det LAR snitfladen definerer. 

larservice-consent modulet indeholder funktionalitet til at kalde MinSpærring. 

larservice-dgws modulet indeholder funktionalitet til at validere DGWS headeren og opbygge en request context.

larservice-health modulet indeholder funktionalitet til at udstille information om servicens health.  

larservice-treatmentrelation modulet indeholder funktionalitet til at kalde BRS.  

larservice-types modulet indeholder WSDL og XSD'er samt de genererede typer til snitfladen. 

...

Integrationstests kan afvikles ved at køre:

mvn test -Pintegration-test   -Dconsentadministration.endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/consent-administration/service -Dlarservice.wsdl=http://localhost:80658082/larservicelar/MedicationAllergyService?wsdl

(samme 2 parametre skal angives ved kørsel i IDE, f.eks. for Eclipse i VM arguments i en run configuration)

Bemærk at dette forudsætter, at LAR Service er deployeret på JBoss-serveren, da integrationstestene afvikles imod kørende service(s). Det forudsættes også at CAVE servicen er tilgængelig. Se flere detaljer i test vejledning under integrationstest.

Performance test

Se afsnit 7 Udvikling af performance test

...