Indledning
Nærværende dokument udgør udviklervejledningen for FIBS (Fødselsindberetnings-servicen). FIBS fungerer som webservice gateway som modtager indberetninger som følger DenGodeWebservice (DGWS) til Kirkeministeriets jordemoder-service og transformerer dem til webservice protokollen OWSA Model T som jordemoder-service benytter.
Komponenten er udviklet som en Java webapplikation baseret på Spring frameworket og understøttes på JBoss Application Server version 8 (Wildfly). Komponenten bruger Axis2 til at foretage webservice kald til jordemoder-servicen, signering af beskeder håndteres gennem Axis2 modulet Rampart.
Opsætning af udviklingsmiljø
FIBS projektet ligger i nspop subversion repository og kan nås på følgende adresse:
https://svn.nspop.dk/svn/components/fibs/
Krav til software
FIBS deployeres vha. docker. FIBS Docker image baserer sig på NSP platformens base image, hvori der findes nødvendigt software til afvikling.
Der krav til de anvendte udviklingsværktøjer:
- Maven 3.0.3 eller højere anvendes.
- docker
- docker-compose version 3.4 eller højere
Byggevejledning
Komponenten bygges med nedenstående kommando.
mvn package
Tests
Unit- og integrations-tests er placeret under src/test og anvender samme pakkestruktur som de klasser de tester.
Testene er udformet som Junit 4 annoterede test-cases.
Integrationtest
Integrationstest køres ved at kommenter "@Test" ind i dk.rsd.fibs.newborns.NewbornsIntegrationTest.testWildfly.
Afvikling af FIBS
Der henvises til FIBS - Installationsvejledning.
Når man udvikler kan det være praktisk at foretage lokal deployment.
Dette kan gøres vha. docker-compose:
|
Hvis man kører FIBS lokalt med docker-compose, anvendes en leverandørspecifik bruger til CPR's demomiljø
Da der tidliger har været problemer med udløb af password op i mod CPR's demomiljø er der lavet en ændring i development-compose setup'et, således at der anvendes en mock til dette formål.
Release
FIBS releases med følgende kommando
mvn release:prepare -Darguments="-Dfibs.host=<host> -Dfibs.port=<port>"
Hvor <host> og <port> f.eks. er 'localhost' og '8080', hvis integrationstests skal køres mod et lokalt kørende docker-compose setup.