Page History
...
5.1. Kodestruktur for fælleskomponenter
Strukturen for fælleskomponenterne består af
java- indeholder koden for fælleskomponenteretc- indeholder modul definition af biblioteketjava- indeholder koden for fælleskomponenterpom.xml- indeholder definition af afhængigheder til 3. parts komponenter
5.2. Kodestruktur for stamdataindlæser
Her er strukturen eksemplificeret fra Yderindlæseren hvor
Java delen består af følgende pakker:
- components indeholder interfaces der skal anvendes af indlæserne
- config indeholder konfiguration af databaser, logning og andet relevant
- database.dao indeholder klasser til database adgang
- database.model indeholder den model som dao klasserne arbejder med
- monitoring indeholder logik til status servicen
- route indeholder default ruter, som indlæserne kan anvende til at bygge deres ruter med
- route.components og route.components.impl indeholder de klasser default ruterne bruger, for at pakke camel/rute relateret logik fra fra yder indlæserne
- route.model indeholder modellen, der generaliserer de events, som default ruterne arbejder på.
- service og service.impl indeholder pt kun logik til at operer på dataset og datasetlog.
- utils indeholder pt. funktionalitet til at tjekke ftp forbindelser, men har til formål at indeholde diverse utils klasser.
5.2. Kodestruktur for stamdataindlæser
Her er projektets struktur eksemplificeret fra Yderindlæseren hvor der er følgende moduler/foldere:
- compose folder der indeholder docker-compose filer til test og relateret configuration
- yder-event folder, som har ansvaret for at generere source kode/klasser ud fra det aktuelle avro format
- yder-integrationtest, der indeholder integrations testen for yder indlæseren. Herunder de test filer, der anvendes i testen
- yder-service, der indeholder selve yder indlæser logikken
- yder-testreport, der sammenfatter test rapporter fra de andre moduler til een.
- yder-war, bygger runtime filen og indeholder den Dockerfile, der anvendes til at skabe docker containeren.
Her er det essentielle modul, hvor selve indlæser logikken findes, eksemplificeret fra Yderindlæseren med følgende pakker:
- components.impl indeholder implementeringen af fælles bibliotekes interfaces i samme pakke
- config indeholder konfiguration af database og rute.
- database.dao indeholder klasser til database adgang
- database.model indeholder den model som dao klasserne arbejder med
- route indeholder opsæt af yder indlæseren rute. Den anvender i høj grad default ruten fra fælles biblioteket.
- route.components indeholder yder specfikke klasser, der anvendes af componets.impl
- route.components.field indeholder felt specifik håndtering.
- route.model indeholder de interne POJOs der arbejdes på som Events. YderIndlaeserEvent "starter" træ-strukturen, og den implementerer IndlaeserEvent fra fælles biblioteket.
- service indeholder de servlet indlæseren stiller til rådighed.
beanindeholder koden for de komponenter der orkestreres af pipelinenconfigindeholder indlæsning og udstilling af eksterne konfigurations-variabledatabaseindeholder model og database adgang for entiteterdaoindeholder database adgang til at læse, skrive og opdatere entitetermodelindeholder java klasser til at repræsenterer de entiteter som DAO klasserne håndterer
monitoring- indeholder koden der anvendes af status servlet til monitorering af stamdataindlæserens tilstand.parser- indeholder hjælpeklasser for parsning af stamdata filer, for Yderindlæseren er det SAX parser event handlere.route- indeholder den grundliggende opsætning af Camel router som orkestrerer udførelsen af pipelinenresources- indeholder bl.a. konfiguration af applikations- og NSP-logfilerdb-migration- indeholder sql scripts, der udføres af flyway til at vedligeholde og migrere databasenevents- indeholder specifikation af AVRO skema på JSON format - specifikationen beskriver struktur og indhold af de events, der flyder gennem pipelinenxsd- indeholder skema for Yderindlæserens stamdatafil og bruges under validering af en modtagen fil
webapp- indeholder visningsdelen for status-servlettest- indeholder unit- og integrations-tests
5.3. Versionskontrol
Kildekoden for hhv. fælles komponenter og stamdataindlæsere ligger i NSP'ens Subversion (SVN) installation eller GIT. For en given stamdataindlæser opretter NSP driften en placering som udvikleren af den givne stamdataindlæser kan anvende.
...




