1. 1. Introduktion
1.1. Formål
Dette dokument er rettet mod systemadministratorer og driftspersoner, som skal kunne håndtere de driftsmæssige aspekter af komponenterne.
Driftsvejledningen indeholder information om hensyn til eksterne afhængigheder, placering af logfiler og konfigurationsfiler.
1.2. Sammenhæng med øvrige dokumenter
Dette dokument er en del af den samlede dokumentation for NAP Platformen.
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 Platform - Design og Arkitektur beskrivelse.
Ønskes mere information omkring installationsvejledning til anvender kan findes på NAP Platform - Installationsvejledning.
Ønskes mere information omkring anvendelse kan dette findes på NAP Platform - Guide til anvendere.
2. Nap-administration
Nap-administration overskriver kontekstroden i jboss-web.xml og forventer derfor, at være udstillet på /admin. se eventuelt https://svn.nspop.dk/svn/components/nap/nap-compose/trunk/haproxy/nap-haproxy.cfg for at se hvordan en ha-proxy konfigureres.
2.1. Service Snitflade
Servicen kalder en database med projekter og udstiller dem på en REST snitfalde.
Endpoints | Funktionalitet |
---|---|
/api/projekter/{id} | Validerer den indkommende SAMLAssertion, kalder databasen og henter Projekt(er) baseret på det cvr nummer som er tilknyttet brugerkonteksten. |
/api/webapps/{id} | Validerer den indkommende SAMLAssertion, kalder databasen og henter WebApp(er). |
/api/session | Returnerer den givne bruger, hvis den findes i databasen. |
2.2. Overvågningssnitflade
Endpoints | Funktionalitet |
---|---|
/isAlive | Bruges af loadbalanceren for at tjekke at servicen er deployet. Returnerer en html side med deployment info. Hvis der kan oprettes forbindelse til den database, der er konfigureret i datasource "java:jboss/datasources/nap-lobby-facade", returneres der statuskode 200, ellers statuskode 500. |
2.3. Login / logout (OIOSAML)
Endpoints | Funktionalitet |
---|---|
/saml/SAMLAssertionConsumer | Validere autentifikations requests og registrere en brugers assertion i en threadlocal session. |
/saml/Logout | Bruges til single til samllogout og sletning af session. |
2.4. Konfiguration
Konfiguration af NAP-reference sker i filerne "compose/configuration" mappen som er beskrevet i NAP Platform - Installationsvejledning. I det følgende gennemgåes konfigurationsfilernes detaljer.
Følgende konfigurationsfiler skal være tilgængelige i classpath under deployment (loades fra applikationsserverens modules/dk/sds/nsp/nap/admin/main).
Konfigurationsfiler | |
---|---|
Filnavn | Indhold |
nap-lobby-ds.xml | Datasource beskrivelse. Vigtigt med jndi navn "java:jboss/datasources/nap-lobby-facade" da dette skal matche konfiguration i persistence.xml |
log4j-napadmin.xml | Log4j opsætninger der følger gængs standard på NSP. |
Konfiguration af oiosaml sker i filerne "compose/configuration/oiosaml".
Der findes en konfiguration til development / localhost-test1 / og test1 (test1 miljøet).
De forskellige konfigurationer adskiller sig primært for singleLogoutService i SPMetadata og iDpMetadata samt og service provider url i oiosaml-sp.properties.
Oiosaml konfigurationerne skal ligeledes være tilgængelig i oiosaml.home under deployment (oiosaml.home sættes med JAVA_OPTS i compose filerne og er sat til /pack/oiosaml).
Konfigurationsfiler | |
---|---|
oiosaml-sp.log4j.xml | lndeholder Log4j opsætninger der følger gængs standard på NSP. |
oiosaml-sp.properties | # Properties used by oiosaml-j oiosaml-sp.certificate.location=
|
funktionscertifikat | JKS fil indeholdende Sundhedsdatastyrelsen reference funktionscertifikat certifikat. Skal være samme navn som oiosaml-sp.certificate.location i oiosaml-sp.properties |
metadata/idP/IdPMetadata.xml | OIOSAML identity provider metadata til konfiguration af OIOSAML filteret |
metadata/SP/SPMetadata.xml | OIOSAML service provider metadata til konfiguration af OIOSAML filteret |
Hele oiosaml-konfigurations-mappen skal udskiftes til de forskellige miljøer. Så fx for localhost og test1 ser mapning således ud :
- ../configuration/oiosaml/localhost-development:/pack/oiosaml # localhost
- ../configuration/oiosaml/test1:/pack/oiosaml # test1
2.5. Database
Adgang til nap-admin databasen styres gennem filen "nap-lobby-ds.xml" - Denne skal matche det NSP miljø hvor komponenten afvikles.
Da en nap- og projektadministratorer, skal kunne tilføje projekter, og database-brugeren skal kunne tilføje nye nap- og projektadminstratorer skal brugeren fx kunne skrive
insert into User (id, cpr, cvr, admin) values (UuidToBin(UUID()), '0501792275', '20921897', false);
For at tilføje nye projektadministrator.
Desuden forgår der også skrive operationer til samtlige tabeller for at oprette / opdatere / slette projekter og web-aps.
Derfor skal brugeren have read / write rettigheder.
2.5.1. Aktiviteter
For at NAP-admin kan deployes skal der være initieret en tabel i den database, der er defineret i nap-lobby-ds.xml, da hibernate vil tjekke at database schemaet matcher entiteterne i applikationen.
Følgende scripts skal derfor køres:
Filnavn | Beskrivelse |
---|---|
create_db_example.sql | Opretter Database |
V1__create_tables.sql | Opretter Tabeller |
V2__insert_data_localhost.sql | Indsætter projekt data med url pegende på localhost (skal opdateres til url svarende til givende miljø) |
V3__update_developer_project_icon.sql | Indsætter projekt ikon for developer projekt |
V4__update_test_project_icon.sql | Indsætter projekt ikon for nap-testweb projekt |
V5__update_nap_ref_web_project_icon.sql | Indsætter projekt ikon for nap-reference-web |
V6__insert_default_user.sql | Indsætter default bruger som projektadministrator |
Opdatere webapp urls svarende til det givne miljø | Eksempel på opdatering af url til test1: use nap; |
2.6. Logning
Alle logfiler er at finde i log/ under WildFly. Herunder findes en liste over alle logfiler med en beskrivelse af hvilke komponenter der skriver til dem.
Logfilnavn | Komponenter der skriver til denne |
---|---|
nap-admin.log | Applikation |
oiosaml-sp.log | OIOSAML |
oiosaml-sp-audit.log | OIOSAML Audit |
2.7. Fejlhåndtering
Applikationsfejl bliver logget ved hjælp af log4j, med type ERROR, INFO, DEBUG alt efter hvor alvorlig fejlen er.
3. Nap-test-web
3.1. Hvordan fungerer servicen
Nap-test-web fungerer som test-suite til værtsystemer.
Den tester, at kommunikationen over broen fungerer som den skal, og der er således ingen konfiguration, opsætning eller logning.
3.2. Håndtering af fejlsituationer og logning
nap-test-web er en stateless webapplikation, og der er derfor ingen logning i denne komponent. Fejl vil dog blive skrevet ud i konsollen. I tilfælde af http fejl bliver klienten præsenteret med en fejl.
3.3. Logging
Log4j konfigurationen skal findes i log4j-napadmin.xml på classpath.
Ved default konfiguration skrives alle modul-relaterede fejl til nap-admin.log
3.4. Fejlhåndtering
Applikationsfejl bliver logget ved hjælp af log4j, med type ERROR, INFO, DEBUG, alt efter hvor alvorlig fejlen er.
4. Nap-java-host
Er et dummy læge praksis system, som ikke kræver nogen drift.