Versions Compared

Key

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

...

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

Forudsætninger

Software requirements:

...

Trafik på localhost:8080 skal routes igennem en lokal reverse-proxy https://svn.nspop.dk/svn/components/nap/nap-compose/, som også er på også docket netværket nap_net og eksponeret på port 8080 på localhost.

Således bliver nap-ref-web facade tilgængelig på http://localhost:8080/reference/ og nap/reference/web-refence-web på  http://localhost:4400/.

Det meste funktionalitet af Nap-Ref-web kræver, at den er framet i en værtsapplikation.  

For at gøre dette, skal opsætning for nap-java-host, nap-lobby-web, nap-admin køres parallelt (NAP Platform - Guide til anvendere).

Nap-reference-web

Funktionalitet

...

Under compose folderen findes forskellige composefiler til udvikling, test og release.Vær opmærksom på kun at køre en service ved navn naprefweb.  Stop derfor altid servicen og kør `docker-compose down`, når der skal skiftes setupen compose fil til udvikling.

For at starte en webpack dev server i docker køres `docker-compose build && docker-compose up` fra compose/development.  

Developper setuppet volume mapper ./src folderen og konfigurationsfiler fra compose/configuration, hvilket betyder, at ændringer i kildekoden bliver compilet og deployet med det samme. 

Hvis dependencies ændres skal containeren bygges igen, ellers er det fremover nok at køre `docker-compose up` når services skal startes. Mere information om konfigurering kan læses på NAP Ref.Impl. - Installationsvejledning.Applikationen kan nu nåes  http://localhost:8080/nap/reference/web/, hvis nap-compose (https://svn.nspop.dk/svn/components/nap/nap-compose/) reverse proxy, står foran som nævnt ovenfor, og ellers på http://Localhost:4600.

compose/release konfigurationen bruges udelukkende i produktions øjemed.

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.

 Konfiguration

Nap-reference-web benytter sig af Angular's environmental variable til at loade en af følgende konfigurations filer fra configurations.service.ts:

  • configurations.json
  • configurations-dev.json

Disse konfigurationsfiler indeholder urler til facaden, og er samtidig de konfigurerbare parametre af apllikationeapplikationen

Key

Value

appointmentsEndpointnap-reference-facades aftale AppointmentsEndpointAftale endpoint
ServerUrlserverUrlRelative path Roden til nap-reference-facade

...

logOutEndpointnap-reference-facades oiosaml logout endpoint


Serverless opsætning

Det kan være en fordel at køre uden om nap-ref-facade, da den har en afhængighed til dokumentdelingsservicen på test1. 

For at køre serverless skal `--configuration=mock` tilføjes startkommandoen i compose filen i  compose/development/.

Alle kalder kald resulterer nu i en indlæsning af ressourcer fra assets/.

...

Hvis den åbnes i nap-java-host, er den eneste debugging mulighed. consol.logs(). Disse statements printes til konsole vinduet af hosten, som kan toggles i toppen.

Byg

For at bygge projektet kan projektet  køres `npm run build`. 

For at køre et produktionsbyg køres `npm run build:-prod`.

CI

Projektet gøres klar til release ved

Jenkinsfilen beskriver en pipeline med install, test og build, der køres i NSPs node-chrome image, for at kunne afvikle test i en headless chromium browser.

...

Under compose folderen findes forskellige composefiler compose filer til udvikling, test og release.

...

Developper setuppet sørger for at kopier target/nap-ref-facade.war og konfigurationerne fra compose/configuration over i NSP's wildfly image. Mere information om konfigurering kan læses på NAP Ref.Impl. - InstallationsvejledningDriftsvejledning.

Applikationen kan nu nåes internt i docker på netværket nap_net på http://napreffacade:8080 og på nap-ref-facade på http://localhost:8080/nap/reference/web/services/main hvis nap-compose reverse proxy, står foran som nævnt ovenfor.

Debugging

Jenkins bygger og deployer i snapshot versioner af NSPs wildfly container. Dette byg kan testes ved at køre at `docker- compose up` i compose/test. 

Aplikationen kan nåes på samme url som ovenfor. 

compose/release konfigurationen bruges udelukkende i produktions øjemed.

Debugging

/development sættes en debug port samt oiosaml.home. 

Der kan attaches en Jvm debugger på localhost:8788 med `-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8788`

...

JUnit anvendes til implementering af unit tests.

Der er kontinuert gennemført unit tests på alle komponenter i projektet.

Unit tests kan afvikles ved at køre: `mvn test` og Coverage rapport generes med maven-surefire og publiceres med jacoco.

integration tests kan afvikles ved at køre : `mvn test P-integrationstest"

Eventuelle fejl printes til STOUT.

Dokumentation

Kodedokumentation følger gængs standard for JAVA dokumentation.

Ci

Nap-reference-facade gøres klar til release med mvn release:prepare

Jenkinsfilen beskriver en pipeline med install og tests, der køres i NSPs java image. Jenkins

Jenkins bygger og deployer i snapshot versioner af NSPs wildfly container.

...