Introduktion

Dette dokument giver en vejledning til installation og konfiguration af nap-reference-web og nap-reference-facade.

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 udviklings 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 Nap-reference-Facade uden yderligere informationer.

Forudsætninger

Krav til software installeret:

Software

Version

Java8
Docker Engine18.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 og nap-reference-facade ligger som repositories på svn.nspop.dk. Disse skal hentes for anvende de foreslåede compose-setup.

Nap-reference-web

Krav til applikationsservere

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

Start af projektet

nap-reference-web 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.

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

Krav til adgang til andre services

Framing

Servicen benytter sig 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 og det skal derfor opsættes, for at få det fulde ud af nap-reference-web.

For opsætning af dette, skal nap-java-host, nap-lobby-web, samt nap-admin køres parallelt, og opsætning af det er yderligere beskrevet i NAP Platform services

Forbindelse til facade

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

For at gøre dette skal compose filen i compose/develop køres efter at command parameteren 

command: npx ng serve --port 8080 --host 0.0.0.0 --disableHostCheck --public-host=localhost/nap/reference/web/

er blevet rettet til

command: npx ng serve --port 8080 --host 0.0.0.0 --disableHostCheck --public-host=localhost/nap/reference/web/ –-configuration=mock

Konfiguration

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


Konfigurationen kan ændres runtime, men skal matche indstillingerne for loadbalanceren (https://svn.nspop.dk/svn/components/nap/nap-compose/).

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.

Krav til adgang til andre services

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

Installation

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

Konfiguration

Alt konfiguration foregår ved at loade filer fra wildfly modulet dk.sds.nsp.nap.reference.facade.

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
FilnavnIndhold
log4j-nap-reference-facade.xml
log4j configuration for applikations log

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration debug="false">

<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>

<category name="dk.sds.nsp">

<priority value="DEBUG"/>

</category>

<category name="ca.uhn">

<priority value="ERROR"/>

</category>

<root>

<priority value="INFO"/>

<appender-ref ref="FILE"/>

</root>

</log4j:configuration>
nap.jksJKS fil indeholdende NAP certifikat til audience /nap
nap-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)

Ved konfigurationsændringer skal wildfly serveren genstartes.

Logfiler

Service kan logge kald til følgende logs:

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