Versions Compared

Key

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

...

Table of Contents

Introduktion

Vejledning Dette dokument giver en vejledning til installation og konfiguration af Nap-reference-web og Nap-reference-Facade.nap reference implementation.

En installation betragtes som en lokalt kørende instans af servicen. 

Sammenhæng med øvrige dokumenter

Dette dokument er en del af den samlede dokumentation for NAP Ref.impl.

Dokumentet er udformet, så det i videst muligt omfang opfylder sit formål uafhængigt af de øvrige dokumenter.

Ønskes mere information omkring arkitektur og design findes dette på NAP Ref.Impl. - Design og Arkitektur beskrivelse.

Hvis der ønsker mere information om hvordan et udviklingsmiljø kan opsættes læs på NAP Ref.Impl. - Guide til udviklere

Hvis der er behov for yderligere dokumentation omkring hele NAP platformen, henvises til NAP Platform - Guide til anvendere

Formål

Formålet med dokumentet er, at man med dokumentet i hånden kan installere Nap - reference -web og Nab-reference-Facade uden yderligere informationer.

Forudsætninger

Software requirementsKrav til software installeret:

Software

Version

Java8
Docker EngineDocker Engine version 18.02.0+
node10+

For at kunne køre de compose filer, der bliver beskrevet nedenfor kræves et docker netværk kaldet nap_net. Hvis dette ikke allerede er lavet kør `docker network create nap_net`.

Nap-reference-web

Krav til applikationsservere

Komponenten er udviklet og testet under WildFly-8.2.0.Final på udviklingsplatformen. Service kan deployes i produktion på Wildfly-8.2.0.Final applikationsservere.

Installation


Installation

Nap Reference implementation anvender Continuous Integration og Continuous Deployment miljøer til byg og leverance af komponenten.

nap-reference-web og nap-reference-facade ligger som repositories på svn.nspop.dk. Disse skal hentes for anvende de foreslåede compose-setup.

Jenkins 

Nap-reference bygges på NSP's Jenkins server via følgende jobs:

Build-nap-reference-web - bygger nap-reference web.

Build-nap-reference-facade - bygger nap-reference-facade. I denne byggefase kan det vælges at bygge nap-reference-web, hvis dette ønskes inkluderet.

Push-nap-reference-snapshot - bygger nap-reference-web og ligger bygget ind i roden af nap-refence-facade samt pusher til NSP's docker registry.

Release-nap-reference-facade - laver et release af nap-reference-facade og pusher til NSP's docker registry.

Docker

Nap reference kan findes på registry.nspop.dk/playground/nap/reference

Docker Compose

Nap-reference leveres som et sæt af Docker Compose filer i folderen https://svn.nspop.dk/src/components/nap/nap-reference-facade/trunk/compose/

For release x.y.z findes Docker Compose filerne i folderen https://svn.nspop.dk/src/components/nap/nap-reference-facade/tags/release-x.y.z/

En leverance af nap-reference består af en compose folder som beskrevet ovenfor samt tilhørende tags.

Compose folderen indeholder 4 underfoldere:

Folder

Indhold

configurationHer ligger alle de konfigurationsfiler som det forventes af driften tilretter til det anvendte miljø. Se Driftvejledningen
developmentHer ligger en Docker Compose fil til brug for udvikling. Se Guide til Udviklere.
testHer ligger en Docker Compose fil der kan starte NAS2 i en standalone test konfiguration.
releaseHer ligger den Docker Compose fil som det forventes driften anvender på både test og produktionsmiljøerne.

Krav til applikationsservere

Nap-reference-facade er udviklet i Docker ved anvendelse af imaget "registry.nspop.dk/platform/nsp:1".

Nap-reference-web er udviklet i Docker ved anvendelse af node:12-alpine.

Den samlede deployment unit, nap-reference, er bygget til og testet i Docker med imaget  "registry.nspop.dk/platform/nsp:1"

Konfigurationen er således tilpasset deployering på WildFly 8.2 applikationsservere med OpenJDK 8.

Afvikling

Start

For at kunne køre de ovenstående compose filer kræves et docker netværk kaldet nap_net.

Hvis dette ikke allerede er lavet kør `docker network create nap_net`Er en statisk service som hostes i NSPs wildfly8 image.

Kør `docker-compose up` fra compose/test mappen, for at starte en wildfly server i docker på nap_net netværket.

Således vil containeren være tilgængelig på Herefter er containeren tilgængelig http://localhost:4600/ samt http://localhost:8080/nap/reference/web/ hvis  såfremt (https://svn.nspop.dk/svnsrc/components/nap/nap-compose/) kører på samme netværk som en reverse proxy.

Stop

Kør `docker-compose down`.

Krav til adgang til andre services

Framing

Servicen benytter sig i sin web komponent (nap-reference-web) af nap-angular-sdk og nap-typescript-sdk og er udviklet til at være indlejret i et værtssytem (eksempelvis nap-java-host), hvor den får alt sin kontekst.
Det meste funktionalitet er bundet op på denne kontekst .

Forbindelse til facade

Servicen benytter sig af nap-ref-facade som backend. Det er dog muligt at køre en konfiguration, hvor der køres backend less.

...

og det skal derfor opsættes, for at få det fulde ud af nap-reference-web.

Dokumentdelingsservicen

Konfiguration

For at konfigurerer denne service skal en configurations.json fil volume mappes til src/app/assets/.

Konfigurationen kan ændres runtime, men skal matche loadbalancer indstillingerne.

Nap-reference-facade

Krav til applikationsservere

Komponenterne er udviklet og testet under WildFly-8.2.0.Final på udviklingsplatformen. Service kan deployes i produktion på Wildfly-8.2.0.Final applikationsservere.

...

Servicen benytter sig af dokumentdelingsservicen og det er et krav, at denne kan nåes på den url, der er specificeret i properties.

Det er et krav for at køre tests, at dokumentsdelingsservicen på test2 kan køres. 

Installation

Kør `docker-compose up` fra compose/test for at starte en wildfly server i docker på nap_net netværket.

Konfiguration

Konfiguration

Applikationen læser konfigurationsfiler fra classpath under runtime.

I jboss-deployment-structure.xml er beskrevet en afhængighed til "Alt konfiguration foregår ved at loade filer fra wildfly modulet dk.sds.nsp.nap.reference.facade". 

Den afledte konsekvens er, at dette modul er tilgængelig på classpath.

Derfor skal de følgende konfigurationsfiler, som findes i  https://svn.nspop.dk/src/components/nap/nap-reference-facade/trunk/compose/configuration/, således De følgende konfigurationsfiler skal således volume mappes ind i modulet "dk/sds/nsp/nap/reference/facade/main/" på applikations serveren (/pack/wildfly8/modules/ i docker).

Disse filer bliver loadet ind på classpath wildfly når applikationen deployes.


Konfigurationsfiler
Filnavn
Indhold
Beskrivelse
log4j-nap-reference-facade.xml

log4j configuration

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="false">
<!-- ================================= -->
<!-- Preserve messages in a local file -->
<!-- ================================= -->
<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
<errorHandler class="org.apache.log4j.helpers.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/nap-ref-facade.log"/>
<param name="Append" value="true"/>
<param name="MaxFileSize" value="${dk.nsp.log.MaxFileSize}"/>
<param name="MaxBackupIndex" value="${dk.nsp.log.MaxBackupIndex}"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="timestamp=&quot;%d&quot; threadId=&quot;%t&quot; priority=&quot;%p&quot; category=&quot;%c&quot; requestId=&quot;%X{RequestId}&quot; message=&quot;%m&quot;%n"/>
</layout>
</appender>
<!-- ========== -->
<!-- Categories -->
<!-- ========== -->
<category name="dk.sds.nsp">
<priority value="DEBUG"/>
</category>
<category name="ca.uhn">
<priority value="ERROR"/>
</category>
<!-- ======================= -->
<!-- Setup the Root category -->
<!-- ======================= -->
<root>
<priority value="INFO"/>
<appender-ref ref="FILE"/>
</root>
</log4j:configuration>nap.jksJKS fil indeholdende NAP certifikat til audience /napnap-facade.properties

Applikation properties 

# Sti til nap certifikat
keystorePath=nap.jks
# Password to the service provider certificate
keystorePassword=Test1234
# Path where public certificates of trusted STS services are stored
trustedStsCert=trusted-sts-certs.jks
# Password for the trusted sts certifikate keystore
trustedStsCertPassword=password
# Max clock skew
allowedClockDrift=3
# The audience, SAML-tokens are required to have
expectedAudience=https://audience.nspop.dk/nap
# XDS
xdsIti18Wsdl=wsdl/iti18.wsdl
xdsIti18Endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/ddsregistry/services/xds-iti18
xdIti43Wsdl=wsdl/iti43.wsdl
xdsIti43Endpoint=http://test1-cnsp.ekstern-test.nspop.dk:8080/ddsrepository/services/xds-iti43
trusted-sts-certs.jksJKS fil med certifikater fra STS providers.standalone.confWildfly standalone konfiguration der tillader tilslutning af JVM til remote socket debugging (kun aktuelt for udvikling)

...

Konfiguration af log-4j.

log4j-nspslalog.properties

Konfiguration af nap-reference sla-log.

napref-test.jksKonfiguration af nap-reference.

funktionscertifikatJKS fil indeholdende Sundhedsdatastyrelsen nap reference funktionscertifikat certifikat
oiosamlKonfiguration af OIOSAML

Ved konfigurationsændringer skal wildfly serveren genstartes.

Alle filer skal tilrettes til de forskellige miljøer som nap-reference installeres på.

I Driftvejledningen er hver enkel fil gennemgået i detaljer.

Standalone test

For en standalone test af nap-reference hentes "compose" folderen for den ønskede version med Subversion og kommandoen "docker-compose up" køres i folderen "test".

Logfiler

Servicen kan logge kald til følgende logs:

  • NSP-SLA-log
  • Applikationslog
  • OIOSAML LOG
  • OIOSAML Audit LOG

Servicen logger IKKE til audit log. 
Log er beskrevet i driftsvejledning.