Page History
Navitabs | ||||
---|---|---|---|---|
|
Installationsmiljø
Servicen er siden version 2.0.3 blevet tilrettet til at kunne køre i et multiserver setup.
Benyt følgende installations-vejledning til at installere FIBS på en NSP:
- Den byggede installationspakke fibs-install.zip udpakkes. I det følgende refereres roden i den udpakkede folder fibs som $FIBS_ROOT.
- Kopier folderen fibs fra hhv. $FIBS_ROOT/etc/config/prod/ (for en produktions-installation) eller $FIBS_ROOT/etc/config/test/ (for en test-installation) til modulet $JBOSS_HOME/modules/dk/rsd/fibs/newborns/main/resources/ på den JBoss server, som FIBS skal installeres på.
- For en produktions-installation skal Java keystore og SSL sættes op – følg nedenstående vejledninger. For en test-installation fortsættes til punkt 5.
- Kopier derefter $FIBS_ROOT/target/fibs.war til $JBOSS_HOME/standalone/deployments/ på JBoss serveren.
- Verificer at der ikke er nogen indgang af typen ERROR i $JBOSS_HOME/standalone/log/fibs.log og i $JBOSS_HOME/standalone/log/server.log
- Efterfølgende rettelser I konfigurationen har effekt ved genstart af FIBS-applikationen. Dette kan enten ske ved en komplet server-genstart, via genstart af applikationen, eller ved re-deployment (f.eks. ved at ‘touch’e fibs.war).
Følgende typer WARN indgange kan ignoreres:
Code Block |
---|
15:37:29,720 WARN [org.jboss.as.server.deployment] (MSC service thread 1-14) JBAS015960: Class Path entry activation.jar in /content/fibs.war/WEB-INF/lib/mail-1.4.jar does not point to a valid jar for a Class-Path reference.
15:37:29,730 WARN [org.jboss.as.server.deployment] (MSC service thread 1-14) JBAS015960: Class Path entry xercesImpl.jar in /content/fibs.war/WEB-INF/lib/xalan-2.7.0.jar does not point to a valid jar for a Class-Path reference.
15:37:29,730 WARN [org.jboss.as.server.deployment] (MSC service thread 1-14) JBAS015960: Class Path entry xml-apis.jar in /content/fibs.war/WEB-INF/lib/xalan-2.7.0.jar does not point to a valid jar for a Class-Path reference.
15:37:29,730 WARN [org.jboss.as.server.deployment] (MSC service thread 1-14) JBAS015960: Class Path entry serializer.jar in /content/fibs.war/WEB-INF/lib/xalan-2.7.0.jar does not point to a valid jar for a Class-Path reference.
15:37:29,931 WARN [org.jboss.as.ee] (MSC service thread 1-4) JBAS011006: Not installing optional component org.springframework.http.server.ServletServerHttpAsyncRequestControl due to an exception (enable DEBUG log level to see the cause)
15:37:29,931 WARN [org.jboss.as.ee] (MSC service thread 1-4) JBAS011006: Not installing optional component org.springframework.web.context.request.async.StandardServletAsyncWebRequest due to an exception (enable DEBUG log level to see the cause)
15:37:30,512 WARN [org.apache.axis2.deployment.util.Utils] (MSC service thread 1-6) [JAXWS] - unable to load org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher
15:37:30,512 WARN [org.apache.axis2.deployment.util.Utils] (MSC service thread 1-6) [JAXWS] - unable to load org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher
15:37:30,513 WARN [org.apache.axis2.deployment.util.Utils] (MSC service thread 1-6) [JAXWS] - unable to load org.apache.axis2.jaxws.dispatchers.MustUnderstandChecker
15:37:30,513 WARN [org.apache.axis2.deployment.util.Utils] (MSC service thread 1-6) [JAXWS] - unable to load org.apache.axis2.jaxws.dispatchers.GenericProviderDispatcher
15:37:30,513 WARN [org.apache.axis2.deployment.util.Utils] (MSC service thread 1-6) [JAXWS] - unable to load org.apache.axis2.jaxws.dispatchers.MustUnderstandValidationDispatcher |
Vejledning til opsætning af Java keystore til signering
FIBS signerer alle udgående beskeder og skal konfigureres med et Java keystore indeholdende nøgleparret der skal benyttes til signering. For en test-installation af FIBS ligger der allerede et sådan keystore indeholdende et nøglepar hvor certifikatet er blevet white-listet i Kirkeministeriets eksterne test-miljø for jordemoderservicen. I en produktions-installation skal der derimod konfigureres et keystore ved at følge følgende skridt:
Importér det FOCES nøglepar som NSI har fået udstedt til formålet til et Java keystore ved hjælp af Java’s keytool kommando-linie værktøj. Nøgleparret skal gemmes under aliaset fibs. Kommando bliver noget i stil med nedenstående:
Code Block keytool -importkeystore -v -srckeystore <foces src.pkcs12> -srcstoretype pkcs12 -srcstorepass <src password> -srcalias <src alias> -destkeystore keystore-prod.jks -deststorepass <dest password> -destalias fibs -srckeypass <src keypass> -destkeypass <dest keypass>
Flyt det generede keystore keystore-prod.jks til $JBOSS_HOME/modules/dk/rsd/fibs/newborns/main/resources/.
- Ret de to properties dk.rsd.fibs.crypto.keyStorePassword og dk.rsd.fibs.crypto.keyStore.aliasPassword i $JBOSS_HOME/standalone/configuration/fibs/application.properties til at matche de valgte passwords.
Bemærk at det benyttede FOCES certifikat skal white-listes hos Kirkeministeriet før jordemoder-servicen kan kaldes.
SSL vejledning
Jordemoder-servicen hos Kirkeministeriet (KM) som FIBS kalder udstilles over én-vejs SSL. Der er i FIBS opsætningen to muligheder til SSL håndtering: Enten kan man lade FIBS håndtere trust til server-certifikatet eller man kan lade netværksudstyr håndtere SSL forbindelsen til CPR-kontoret som drifter løsningen for KM.
For at lade netværksudstyret håndtere SSL rettes propertien dk.rsd.fibs.service.endpoint i application.properties til at ramme netværksudstyret som er sat op til at lave SSL forbindelsen til KMs jordemoder-service.
For at lade FIBS selv håndtere trust importeres jordemoder-servicen’s server certifikat til truststore-XXX.jks via Java’s keytool. Derefter ændres passwordet til truststore-XXX.jks og application.properties opdateres med det nye truststore password.
De med releasen leverede truststores (truststore-prod.jks og truststore-test.jks) indeholder de aktuelle SSL certifikater (inklusiv root og intermediate certifikater) som er gældende fra hhv. 24.april 2015 (TEST – kaldt DEMO hos CPR kontoret) og 7. maj 2015 (PROD).
For at kunne holde de to truststores opdateret med de rette SSL certifikater, anbefales der at abonnere på CPR kontorets nyhedsbreve på https://cpr.dk/nyhedsbrev/, hvor opdateringer af SSL certifikater publiceres.
Database
Følgende sql fra sourcekode (src\main\resources\db\) skal på på databasen
- V20190124_0923_Fibs_create_table_cpr.sql
- V20190124_0926_Fibs_create_table_properties.sql
- V20190131_0755_Fibs_krs_views.sql
Konfiguration
Konfigurationsfil
application.properties indeholder udover ovennævnte keystore-konfiguration følgende properties:
...
Beskrivelse
...
dk.rsd.fibs.service.endpoint
...
https://soapmm.cpr.dk/cpr-axis2Jboss/services/MidwifeRegistration_2
...
Introduktion
Formål
Dette dokument indeholder en beskrivelse af hvordan FIBS installeres på et NSP Backend mijlø.
Læsevejledning
Læseren forventes at have kendskab til Sundhedsdatastyrelsens platform NSP, samt generelt kendskab til WildFly applikation server, Docker, Docker Compose samt Ubuntu Linux operativ system.
Definitioner og referencer
NSP | Den nationale service platform |
Driften | NSP Leverandøren og NSP Driftleverandøren |
SDS | Sundhedsdatastyrelsen |
Driftvejledning | FIBS - Driftsvejledning |
Installation
FIBS anvender NSP's Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.
Jenkins
FIBS bygges med NSP's Jenkins server via følgende jobs:
- FIBS_build - Bygger koden
- FIBS_push_snapshot - Pusher det nyeste snapshot image til NSP Docker Registry.
NSP Leverandøren er selv ansvarlige for at pushe release versioner af FIBS til NSP Docker Registry gennem Jenkins.
Docker
FIBS består af følgende Docker image som pushes til NSP Docker Registry:
registry.nspop.dk/components/fibs |
Docker Compose
FIBS leveres samtidig som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/svn/components/fibs/trunk/compose.
For release x.y.z af FIBS findes Docker Compose filerne i folderen https://svn.nspop.dk/svn/components/fibs/tags/release-x.y.z/compose
En leverance af FIBS består af en compose folder som beskrevet ovenfor samt tilhørende tags af det byggede Docker image.
Compose folderen indeholder 5 underfoldere:
configuration | Her ligger konfigurationsfilerne som det forventes af driften tilretter til det produktionsmiljøet. Se FIBS - Driftsvejledning for beskrivelser af de enkelte opsætningsmuligheder. |
database | Her ligger database scripts. |
development | Her ligger en Docker Compose fil til brug for udvikling. Særskilte konfigurationsfiler til FIBS samt konfigurationsfiler til mockserver ligger ligeledes her. Se FIBS - Guide til udviklere. |
test | Her ligger en Docker Compose fil der kan starte FIBS i en standalone test konfiguration. Særskilte konfigurationsfiler til FIBS ligger ligeledes her. |
release | Her ligger den Docker Compose fil som det forventes driften anvender på både test og produktionsmiljøerne. |
Krav til miljø
Krav til applikationsservere
Komponenterne er udviklet og testet i Docker ved anvendelse af imaget "registry.nspop.dk/platform/nsp:latest"
Komponenternes konfiguration er således tilpasset deployering på WildFly 20 applikationsservere med OpenJDK 8.
Krav til operativsystem
Der stilles ingen krav til operativsystemet udover, at det skal være Linux, og Docker skal være installeret.
Krav til database
FIBS anvender en database. Denne database skal være installeret og konfigureret til anvendelse af FIBS. Dette gøres ved at afvikle de SQL scripts, der ligger i folderen compose/database. FIBS anvender ikke Liquibase til management af SQL scripts, så dette skal ske manuelt og varetages af driften.
Selve opsætningen af FIBS adgang til databasen sker i konfigurationen af datasource i filen configuration/fibs-ds.xml som mountes ind i den kørende container på stien:
Afvikling
FIBS startes og stoppes med Docker Compose kommandoerme.
- Opstart: docker-compose up
- Stop: docerk-compose down
Standalone test
For en standalone test af FIBS hentes "compose" folderen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i folderen "test".
NSP Miljø
På et NSP miljø hentes "compose" folderen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i folderen "release"
Database-properties
Efter installation skal FIBS servicen konfigureres via database properties. Properties er opdelt i globale og lokale (for den node/maskine som servicen kører på) properties. Globale properties ligger i tabellen Fibs_Properties, og lokale properties ligger i tabellen Fibs_Properties_Local.De to tabller er ens, pånær at Fibs_Properties_Local er udvidet med en NodeName-kolonne, som indeholder navnet på den node, som property-værdien hører til. Når FIBS skal slå en property op i databasen, tjekkes det først om der er tale om en global eller en lokal property, og opslaget laves derefter i den relevante tabel. Opslag på lokale properties fungerer ved at lede efter en række, hvor property -navnet matcher det der ledes efter, og nodename er det samme, som servicen er konfigureret med i dk.rsd.fibs.node.name.
Det er pt. styret i koden, hvilke properties der er globale og hvilke der er lokale. Lokale properties er de følgende:
- MYNDIGHEDSKODE
- USER
- PW
Alle andre properties er globale.
En global property indsættes således:
Code Block | ||
---|---|---|
| ||
INSERT INTO Fibs_Properties (PropertyKey,PropertyValue) VALUES ("<key>", "<value>"); |
En lokal property indsættes således:
Code Block | ||
---|---|---|
| ||
INSERT INTO Fibs_Properties_Local (PropertyKey,PropertyValue,NodeName) VALUES ("<key>", "<value>", "<nodename>"); |
For lokale properties skal der være en række for hver node, som servicen kører på.
Test
TODO: Når der er bestilt CPR-brugere for hver enkelt test-node, opdateres dette afsnit.
...
Produktion
...
Håndtering af testbrugere
Det kan være nødvendigt at forny password for eller reaktivere testbrugeren, WUS00239, for CPR-service til registrering af nyfødte hos CPR-kontoret, i fald password er forældet, gået tabt eller denne testbruger har været inaktiv over en periode på 90 dage, pga. manglende kald til systemet. Dette gøres ved at oprette en support-sag (Service Request) gennem http://www.cpr.dk/csd, hvor 'customer number' er 0224 og 'username' er WUS00239 og skrive hvad der skal gøres. Endvidere kan det være nødvendigt at reaktivere testbrugeren, WUAVIRK2, for Kirkeministreriets Jordemoder Service ligeledes gennem kontakt til CPR-kontoret. Denne bruger har også 90 dages udløb på inaktivitet.