Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

Innehållsförteckning

Produktval

Som ramverk för aggregeringsplattformen har Spring Boot + Apache-Camel valts.
Apache-Camel är ett moget ramverk med stöd för de funktioner som krävs för att realisera en aggregeringsplattform.

Apache-Camel är öppen källkod som distribueras under Apache 2.0 license.

Struktur

Implementationen är uppdelad i:

...

Aggregeringsplattformen laddar in alla tjänsteimplemntationer tjänsteimplementationer som den hittar i sin classpath.

Struktur aggregeringsplattformen

Aggregeringsplattformen är uppdelad i ett antal java moduler:

  • agp-application - Implementation av den körbara aggregeringsplattformen. 
  • agp-core - Innehåller de inteface som tjänsteimplementationerna måste implementera samt hjälpfunktioner.
  • agp-schemas - Innehåller de scheman aggregeringsplattformen behöver för att anropa EI och TAK.
  • agp-test-core - Gemmensam testfunktionalitet
  • agp-test-service - En test implementation av en tjänst för integrationtester.
  • agp-test-stub - En bas för stubbning av EI, TAK samt för tjänster.

...

  • Innehålla wsdl:er för den specifika tjänsten
  • Implementera interfacet AgpServiceConfiguration för den tjänstespecifika konfigureringen
  • Implementera interfacet AgpServiceFactory för den tjänstespecifika funktionaliteten.

Se TODO för information hur man implementerar en ny tjänst.

Källkod

Se 

...

AgP - Instruktioner för utvecklare

Exceptions

Fel från producenter rapporteras i  SOAP headern "ProcessingStatus" men skapar inga interna exceptions eller SoapFaults. 

Interna fel som kastar exceptions eller fel mot EI/FindContent genererar ett SoapFualt tillbaka till anropande konsument.

Monitorering

Statustjänst 

AGP exponerar en status-tjänst som returnerar information om plattformen. Genom anrop av denna tjänst kan man på ett enkelt sätt kontrollera att aggregeringsplattformen är igång och vilka tjänster den laddat in.
Se:

...

 AGP - Status tjänst

Hawtio

Hawtio använd för monitorering och som "manager" verktyg.

Det finns möjlighet att ändra loggnivåer under drift, få systeminformation som processorutnyttjande, minne, diskutrymme, javaversion, java classpath, threads etc.

Loggning

För loggning används log4j2. Meddelanden genom plattformen loggas i ett format som gör det enkelt att ta in och monitorera med Kibana.
Se: 

...

AGP - Loggning

TAK cache

VP har sin egen kopia av TAK data i en cache implementerad i en fristående komponent https://github.com/skltp/takcache som innehåller vägval och anropsbehörigeter.

Denna används för:

  • Kontrollera att det finns ett vägval till producenten och att konsumenten har behörighet för denna. Se Arkitektuella krav #8. 

Man kan göra en uppdatering av TAK cache komponenten via ett REST anrop.