Formål

Dette dokument har til formål at gøre det muligt for andre end den oprindelige leverandør at overtage videreudvikling af DGWS/IDWS Proxy.

Dokumentationen er være rettet mod udviklere og IT-arkitekter, som ikke på forhånd har kendskab til komponenten, og som ikke har adgang til komponentens oprindelige udviklere.

Det forudsættes at læseren har læst dokumentet Design og Arkitektur.

Ændringslog

Version

Dato

Ændring

Ansvarlig

1.0

2017-12-11

Initielt dokument

Trifork

1.12018-05-12Tilrettet i henhold til ændringer i version 1.7.5Trifork

Introduktion til projektet

DGWS / IDWS Proxy komponenten er en applikation, der kan fungere som proxy for andre applikationer, der udstiller services på DGWS og/eller IDWS form.

Den samme applikation kan således stå for verifikation af ID-kort og IDWS-tokens for flere forskellige ”service provider applikationer”. Dette sikrer at disse tokens valideres korrekt og ensartet for en række forskellige applikationer.

Samtidig kan komponenten stå for en række andre opgaver, som er ensartet for disse typer applikationer og derfor med fordel kan placeres i en fælles proxy:

Proxyen kompileres til en enkelt WAR-fil/komponent WSProxy.war. Herudover indeholder kodebasen også en testservice, som kompileres til en særskilt war. Denne anvendes hovedsageligt til integrationstests.

Proxyen giver kun mening i forbindelse med en ”service provider applikation”, som requests kan forwardes til, og vil således altid skulle installeres på samme server som en anden service.

Specielle bemærkninger

Applikationsserver

Til drift benyttes Wildfly 8.2, men servicen kan også afvikles under f.eks. Apache Tomcat.

Database

Den aktuelle version af proxyen har ingen database. Dette vil dog skulle tilføjes for at understøtte retransmission.

Logs

Der kan som udgangspunkt logges til følgende logfiler:

hvor name er navnet på war-filen.

Se eksempel på konfiguration af logning i installationsvejledningen for FSK, som anvender DGWS/IDWS proxyen.

Opsætning af udviklingsmiljø

Al kode findes i NSP's Subversion: https://svn.nspop.dk/svn/trifork/dgws_idws_proxy/

Efter at projektet er checket ud vil man typisk gøre følgende:

Kodestruktur

Koden er opdelt i følgende submoduler:

Bygge WAR filer

Følgende software er nødvendigt for at bygge projektet

Gennemfør følgende steps for at bygge WAR filer.

Opsætning af IntelliJ Idea

Man åbner pom.xml fra rodbiblioteket. Efter en mvn clean install bør dependencies være på plads.

Der anvendes Lombok-annotationer i projektet (f.eks. @Data og @Log4j2), så IntelliJ Lombok plugin skal installeres for at de automatisk genererede get-, set- og log-metoder opfattes rigtigt af IntelliJ.

Lokal deployment/udførsel

Hvis man ikke har installeret Wildfly, kan proxy og testservicen deployes til Tomcat i IntelliJ. Opret en Tomcat runtime konfiguration (Tomcat 7 kan anvendes), og specificer deployment af hhv. testservice.war og wsproxy.war.

Deployment på Wildfly

Når man udvikler kan det være praktisk at deploye til en lokal Wildfly server, da det er denne applikationsserver som bruges i NSP produktionsmiljøet. Der henvises til Installationsvejledningen for nærmere instrukser.