Introduktion

Formål

Dette dokument er ment som en vejledning til anvendelse af den Nationale Afprøvningsplatform (NAP). 

På baggrund af dokumentet, er det muligt for leverandører af både lægepraksissystemer og afprøvningsprojekter, at udvikle systemer som integrerer med NAP. 

Den Nationale Afprøvnings platform

Kom i gang med NAP / opsætning

3. Kom i gang med NAP som projektudvikler

I følgende beskrives opsætningstrinene for at komme i gang med NAP platformen.


Krav til software:

Docker skal være installeret, da opsætningen foregår via docker-compose.

Et docker netværk kaldet nap_net skal laves (`docker network create nap_net`)

Komponenterne fra https://svn.nspop.dk/svn/components/nap/ skal hentes ned.

3.1. Start nap-host-java

OBS vi har ikke nogen distributionskanal for denne executeable endnu. Så foreløbigt: 

Kør `mvn install -P generateexecutable` og start den executable det bliver generate i /target.

Login ved at trykke på localhost og bruge default login credentials. Dette vil trække en SAMLassertion fra STS på test1. Du kan bruge denne i 30 min.

Skriv et cpr nummer på en test person (Eksempelvis "2708599967", som er et hyppigt anvendt test cpr nummer). Du kan nu browse rundt i fanerne.

For at fanen "afprøvningsplatformen" fungere, skal Nap-Compose og Nap-Lobby startes, som er de næste trin i opsætning.

Dette vil hoste lobbyen på http://localhost:8080/nap/lobby/web/, som er den url hosten kigger efter. 

3.2. Nap-Compose

Ideen med nap-compose er, at denne reverse proxy fungerer som en NSP loadbalancer med path rewriting.

For at starte denne reverse proxy køres `docker-compose up`. Dette vil åbne port 8080 på localhost.

3.3. Nap-Lobby

Nap-lobby er kataloget for de afprøvningsprojekter, der findes i nappen.

Kør `docker-compose up` fra compose/test. Med Nap-compose kørende, er denne nu tilgængelig for nap-host-java.

For at at Lobby skal vise nogen projekter skal den have forbindelse til Nap-admin.

3.4. Nap-admin

Kør `docker-compose up` fra compose/test. Med Nap-compose kørende, er denne nu tilgængelig for Lobbyen og projekter bliver vist

3.5. Ny implementering / Dit projekt

Der ligger et Developer projekt, der hurtigt kan sætte gang i anvendelsen af NAP - platformen som udviklingsmiljø.

Hvis dette projekt trykkes på, vil java-host åbne en hvilken som helst applikation der hostes på lokalhost:4600.


3.5.1. Konfigurer din løsning ind i NAP

Når en ny applikation skal ind på platformen, er der 2 steder platformen skal konfigureres før det fungerer.

3.5.1.1. Reverse proxy

Denne reverse proxy konfigureres ved at opdatere nap-httpd.conf.

<VirtualHost *:8080> ServerName nap

ProxyPass /nap/reference/web/services/main http://napreffacade:8080

ProxyPassReverse /nap/reference/web/services/main http://napreffacade:8080

ProxyPass /nap/reference/web http://naprefweb:8080

ProxyPassReverse /nap/reference/web http://naprefweb:8080

</VirtualHost>

Lav en konfiguration magen til ovenfor hvor reference og naprefweb udskiftes efter ønske.

Urlen skal dog passe med, den url der indsættes nedenfor

3.5.1.2. Database

For at dit projekt skal vises i lobbyen, skal projektet optræde i din lokale napadmindb.

Du kan gøre dette med sql inserts direkte eller opdatere compose/db/migration/V2__insert_data_localhost.sql med en kopi af nedenstående, som bare opdateres med dit nye info

insert into administration.Project (active, description, releaseDate, version, name, id) values (true, 'Dit udviklingsprojekt kan åbnes her.', '2018-11-30', '1.0.0', 'Nap Web Develop',  UuidToBin(UUID()));
insert into administration.Manifest (releaseDate, url, version, id) values ('2019-11-30', 'http://localhost:8080/nap/developer/web/', '1.0.0', UuidToBin(UUID()));
insert into WebApp (active, manifest_id, name, id, project_id) values (true, (select id from administration.Manifest where url LIKE 'http://localhost:8080/nap/developer/web/' ), 'Nap Web Developer version 0.0.1', UuidToBin(UUID()), (select id from administration.Project where name LIKE 'Nap Web Develop'));
insert into WebApp_cvr (WebApp_id, cvr) values ((select id from administration.WebApp where name LIKE 'Nap Web Developer version 0.0.1'), '20921897');
insert into Manifest_eventCatalogueVersions (Manifest_id, eventCatalogueVersions) values ((select id from administration.Manifest where url LIKE 'http://localhost:8080/nap/developer/web/' ), 1);


database og flyway skal således køres igen med `docker-compose up & docker-compose down`

Værtssystem-/ LPSudviklere





NOTE: INTRODUKTION TIL VISIONER OG HVORDAN DET SKAL BRUGES.