Versions Compared

Key

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

...

5.1. Kodestruktur for fælleskomponenter

Image RemovedImage Added


Strukturen for fælleskomponenterne består af

  • java - indeholder koden for fælleskomponenter
  • etc - indeholder modul definition af biblioteket
  • java - indeholder koden for fælleskomponenter
  • pom.xml - indeholder definition af afhængigheder til 3. parts komponenter 

5.2. Kodestruktur for stamdataindlæser

Image Removed

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

Image Added

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.


Image Added

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.
  • bean indeholder koden for de komponenter der orkestreres af pipelinen
  • config indeholder indlæsning og udstilling af eksterne konfigurations-variable
  • database indeholder model og database adgang for entiteter
    • dao indeholder database adgang til at læse, skrive og opdatere entiteter
    • model indeholder 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 pipelinen
  • resources - indeholder bl.a. konfiguration af applikations- og NSP-logfiler
    • db-migration - indeholder sql scripts, der udføres af flyway til at vedligeholde og migrere databasen
    • events - indeholder specifikation af AVRO skema på JSON format - specifikationen beskriver struktur og indhold af de events, der flyder gennem pipelinen
    • xsd - indeholder skema for Yderindlæserens stamdatafil og bruges under validering af en modtagen fil
  • webapp - indeholder visningsdelen for status-servlet
  • test - 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.

...