Indholdsfortegnelse

Opsætning af udviklingsmiljø

Alt koden kan findes i følgende Subversion repository:

https://svn.nspop.dk/svn/components/sorls

Koden kan derefter importeres som projekt i en ønsket IDE (som Eclipse eller IntelliJ), der er ingen eksplicit grund til at skulle bruge en bestemt.

Projektet bygges af Maven, og er lavet til at køre under Java 8 og Wildfly 8.

Docker er nødvendigt for at køre integrationstests mod lokalt setup.

Beskrivelse af kodens struktur

Opslag servicen har følgende moduler:

NavnBeskrivelse
SorLookupServiceSelve opslag servicen, inklusiv kode genereret fra WSDL og XSD filer, og unit og integration tests

Under hvert eneste modul ligger også en Dockerfile for at generere Docker images af hvert modul.

Opslag servicen er implementeret med Den Gode Webservice (DGWS). Servicen er implementeret i Spring Boot. Biblioteker som leveres af Wildfly, bliver ikke inkluderet i den resulterende war fil.

To Maven plugins benyttes til at generere kode; cxf-codegen-plugin og jaxb2-maven-plugin. JAXB pluginet bliver brugt til at generere klasser ud fra specifikke XSD filer, imens CXF pluginet bliver brugt til at generere klasser ud fra WSDL filer. Klasser genereret af CXF pluginet giver ikke nødvendigvis en afhængighed af Apache CXF, men der er inkluderet et plugin i dette, som genererer en override af toString() på samtlige genererede klasser, som er afhængig af et CXF specifikt bibliotek. Dette bør uden videre kunne fjernes uden tab af funktionalitet, men er praktisk i forhold til debugging.

Apache CXF benyttes til at håndtere JAX-WS klient implementationerne.

Beskrivelse af test setup

Se SORLS - Testvejledning.


Deployment

Et war artefakt kan genereres ved at køre Maven kommandoen:

mvn package

Projektet er opsat efter guidelines beskrevet for NSP's CI/CD opsætning, som kan findes her NSP Continuous Integration & Delivery. Den docker-compose.yml fil som hører til development er den anbefale måde at lave en deployment af lokalt, da det opsætter et produktion-lignende miljø. Alle nødvendige databaser vil blive opsat, og være klar til brug.

Alternativt kan servicen blive deployed på en lokal Wildfly server. Det anbefales at sætte denne op i forhold til hvordan imaget https://registry.nspop.dk/harbor/tags/4/playground%2Fnspbase er defineret, samt beskrivelsen af NSP Access Handler - Installationsvejledning. Filen SorLookupService/target/sor-opslag.war kopieres til standalone/deployment/ mappen i Wildfly. Ligeledes skal SorLookupService/resources/sor-ds.xml og SorLookupService/resources/sdm-ds.xml (som indeholder henholdvis opsætning af datasourcer til whitelisting databasen og SDM databasen) kopieres til standalone/deployment/ mappen, imens at SorLookupService/resources/sorls.properties og SorLookupService/resources/log4j-sorls.properties skal kopieres til standalone/configuration/ mappen i Wildfly.

Opdatering af XSD filer

Hvis der kommer opdatering af XSD filerne for sor objekter, så skal disse lægges ind to steder. Det primære sted SorLookupService/src/main/webapp/schema/sor, da det er hvor at opslag servicen genererer sine klasser ud fra.

Ændringer af SOAP interface WSDL filen skal kun ske i SorLookupService/src/main/webapp/sorls.wsdl. SVN vil se en ændring af linien, hvor at der importeres sortypes.xsd; det anbefales at dette rettes tilbage manuelt til:

<xs:include schemaLocation="schema/sor/sortypes.xsd"/>

  • No labels