Page History
...
Det forudsættes at læseren har læst dokumentet Design og Arkitektur (FSK).
Ændringslog
Version | Dato | Ændring | Ansvarlig |
---|---|---|---|
2.0.0 | 2018-08-27 | Initialt dokument | Trifork |
2.0.9 | 2019-25-09 | Ajourført | Trifork |
Introduktion til projektet
...
Kodebasen består af én WAR-fil / komponent fsk-serviceweb.war.
Specielle bemærkninger
Wildfly
...
Databasevedligehold
Servicen benytter i udviklingssammenhæng Flyway, hvilket gør at databasen i udviklingsmiljøet automatisk opdateres til gældende version. Eneste forudsætning er at recreate_database.sql script samt recreate_service_user.sql script, som er placeret i fsk-service/etc/db/, er blevet afviklet mod databasen.På miljøer, hvor der skal være mulighed for rollback, benyttes migrerings scripts fra fsk-service/etc/db/migration.
Klienter til kald af underliggende registre
...
Foretage succesfuldt kald af on-demand webservice i udviklingsmiljø
Efter deployment af fsk-serviceweb.war til en lokal Wildfly installation i udviklingsmiljøet er det muligt at kalde on-demand webservicen. Dette kan eksempelvis gøres ved at afvikle metoden callOnDemandService i klassen OnDemandServiceITCase inde i IntelliJ, og forinden specificere FSK_TEST_PORT til 8080 i den tilhørende IntelliJ runtime-konfiguration.
Som udgangspunkt er det dog ikke er muligt at få et succesfuldt svar tilbage, med mindre alle underliggende services kan kaldes med succes. Dvs. der skal anvendes et cpr-nummer, der findes i SCES, og både LTR-BTR, ODR og SKR skal være deployet korrekt til Wildfly, med tilhørende DGWS/IDWS proxies. Alternativt kan integration til de enkelte services disables i FSK-servicens application.properties, som det f.eks. er gjort i fsk-test modulet.
Afvikling af unit-tests
For at bygge projektet og afvikle unittests anvendes følgende kommando:
mvn clean install
Der genereres en testrapport.
Adgange
Der er behov for adgange til følgende systemer:
- NSP SVN-repository for FSK 1.5: https://svn.nspop.dk/svn/trifork/fsk15
- Dependencies trækkes fra NSP's Nexus-repository: https://nexus.nspop.dk
Opsætning af udviklingsmiljø
Al kode findes i SVN: https://svn.nspop.dk/svn/trifork/fsk15NSP SVN.
Efter at projektet er checket ud vil man typisk gøre følgende:
Opsætte udviklingsmiljø (her antages IntelliJ)
Bygge war-filen med Maven og køre tests
Kodestruktur
Koden er opdelt i 3 maven-moduler:
- fsk-schemas: Indeholder WSDL og XSD-filer for underliggende registre.
- fsk: Indeholder selve service-funktionaliteten, inkl. unittests
- fsk-test: Indeholder integrationstest, som internt benytter deployment til wildfly
...
tests
Bygge WAR filer
Følgende software er nødvendigt for at bygge projektet
En Subversion-klient
Java 8
Maven
MariaDB
Gennemfør følgende steps for at bygge WAR filer:
...
- Check projektet ud fra SVN: https://svn.nspop.dk/svn/trifork/fsk15Opret database via script i fsk-service/etc/db
For at bygge projektets war-fil, samt afvikle unit- og integrationstests, foretages kommandoen: mvn clean install
Opsætning af IntelliJ Idea
Man åbner blot pom.xml fra rodbiblioteket. Efter en mvn clean install bør dependencies være på plads.
...
projektet, foretage unittests samt at bygge war-filer foretages kommandoen: mvn clean install
Deployment med Docker
Når man udvikler kan det være praktisk at deploye applikationen på en lokal Wildfly server, da det er denne applikationsserver som bruges i NSP produktionsmiljø. Der henvises til Installationsvejledning (FSK) for nærmere instrukser.lokalt. Dette kan gøres vha. Docker Compose-filen under compose/development/docker-compose.yml.
docker-compose up -d --build
I forbindelse med udvikling og fejlsøgning kan det være praktisk også at spinne FSK Registry op samt CDA viewer, som giver en brugergrænseflade, der kan anvendes til fremsøgning og hentning af stamkort på udviklingsmiljøet. Der er lavet en docker-compose til dette formål: compose/development/docker-compose-testutils.yml.
Den kan startes med:
docker-compose -f docker-compose-testutils.yml up
hvorefter CDA viewer er tilgængeligt lokalt på: http://localhost:8081/