Versions Compared

Key

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

...

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

...

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

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

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

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.

...