Page History
...
├── jee
│ ├── lookup
│ │ ├── lookup-core
│ │ ├── lookup-ear
│ │ ├── lookup-idws
│ │ ├── lookup-minlog1-ws
│ │ └── lookup-ws
│ ├── registration
│ │ ├── registration-core
│ │ ├── registration-ear
│ │ ├── registration-minlog1-ws
│ │ └── registration-ws
├── shared
│ ├── shared-configuration
│ ├── shared-db
│ ├── shared-domain
│ ├── shared-domain-api
│ ├── shared-test
│ ├── shared-test-idws
│ └── shared-ws
└── Consumer
JEE
Er opdelt i 3 moduler, lookup , og registration og shared.
Som det fremgår er der flere webservices i modulerne lookup og regstration - de deler deres kode i xxxx-core. Modulerne med postfix "-ws" indeholder selve implementeringen af webservicens operationer. Ear modulerne er udelukkende holdere af deployment information.
Shared-configuration modulet indeholder log4-konfigurationer, applikationskonfigurationer, datasources, DDL og sql. Nærmere beskrivelse findes i installationsvejledningerne til Registration og Lookup.
Shared-test-xxx modulerne indeholde integrationstests og hjælpeværktøjer - der henvises til Integrationstests.
Consumer
Consumer modulet lytter på et kafka topic efter entries til MinLog2 og ved modtagelse indsættes de i databasen. Koden har taget udgangspunkt i Den Gode Brug af Kafka og følger dennes retningslinier.
...
Dette modul har forskellige anvendelsesformål.
Konfiguration
...
- shared-configuration indeholder DDL og konfigurationer - herunder muligheden for dem generet til specifikke miljøer
Der er ikke kode i denne
Delt kode
- shared-db indeholder kode, der deles mellem komponenter, der indsætter i databasen (consumer og lookup)
- shared-domain-api indeholder objekter, der udveksles via Kafka (registration og consumer)
- shared-ws indeholder kode relateret til adgange, SLA o.lign og benyttes i modulerne, der udstiller webservices (lookup og registration)
Disse komponenter deployes med i consumer, registration og lookup via maven afhængigheder
Delt testkode
shared-test-xxx modulerne indeholde integrationstests og hjælpeværktøjer - der henvises til Integrationstests.
Denne kode bliver ikke deployet.
Webservice stakken
Der er anvendt Apache CXF som webservice stak. Udgangspunktet er WSDL filer - som vha. maven danner klasser hvorfra MinLog2 implementeringerne arver fra:
...
Dette lag indeholder kode som interceptorer til håndtering af audit- og slalogning - hvis er kode relateret til sikkerhed som ikke håndteres af webservicestakken, skemavalidering af data (hvor det giver mening).
Controller
Stateless ejb'er Laget modtager kald fra webservicelaget og delegerer til andre klasser, der hver især håndterer hhv. validering, caching, groupering samt håndtering af persistens.
...