Page History
...
- Digital Post Adapter
- Type: Webservice
- Filnavn: digital-post-adapter.war
- Statusurl: <serverurl>/digitalpost/status
- Alarmurl: <serverurl>/digitalpost/alarm
- Joburl: <serverurl>/digitalpostOperations/sendDigitalPost
- Endpoint for SendDigitalPost:
- Url: <serverurl>/digitalpost/2024/05/29/send
- Operations
- Type: Webservice
- Filnavn: operations.war
- Statusurl: <serverurl>/digitalpostOperations/status
- Alarmurl: <serverurl>/digitalpostOperations/alarm
- Joburl: <serverurl>/digitalpostOperations/sendDigitalPost
Daglig drift
Dette afsnit beskriver den daglige drift af systemet.
...
DPA forventer at modtage et kald til <serverurl>/digitalpostOperations/sendDigitalPost med jævne mellemrum, f.eks. hvert 5. minut. Når jobbet aktiveres køres det i op mod digitalpost.send.desired.execution.duration tid. Propertien er som udgangspunkt sat til 20 sekunder.
Dette kald vil føre til afsendelse af de breve der ved kald til SOAP-endpointed er skrevet i databasen, og de breve der ved tidligere aktiveringer af dette job er fejlet.
Jobbet vil logge hvor lang tid der er brugt, og hvor mange operationer der er tilbage (svarende nogenlunde til hvor mange breve der ikke er afsendt).
Hvis jobbet aktiveres mens der allerede er en kørsel i gang vil den nye kørsel gå i gang efter første kørsel er færdig (synchronized metode i java). Den vil dog tælle sin kørsels-tid fra punktet hvor kaldet blev foretaget, ikke fra punktet hvor første kørsel var færdig, og der vil derfor ikke blive en uendelig obhobning af jobs.
Hvor ofte jobbet bør aktiveres afhænger af, hvor mange breve der sendes, og kan evt. tilpasses ud fra log-beskeder og antal usendte beskeder i alarm-endpoint.
Konfiguration
Komponenterne afvikles i et docker-compo3 setup, som ligger under https://git.nspop.dk/projects/COM/repos/digital-post-adapter/browse/compose.
...
| Code Block |
|---|
INSERT INTO whitelist (persistent_unique_key, it_system_name, template_id, comment)
VALUES ('some-key-here', 'some-it-system-name-here', 'fgvhr/20241218/BekraeftelseRegistreringFravalg', 'some-reason-for-whitelisting-here'); |
Template konfiguration
Databasen skal indeholde alle de skabeloner som DPK understøtter i det tilsvarende miljø. Disse kan findes på https://github.com/trifork/dpk-docs/wiki/Templates. Her er deres DPK-navn og deres Substitutionsværdier. Der vil som udgangspunkt være 2 DPK-templates med samme indhold, 1 til fysiske breve og 1 til digitale breve. De vil i DPA samles til 1 template, hvis navn er tilsvarende, men uden reference til om den er digital eller physical. F.eks. vil fgvhr/20241218/digital/BekraeftelseRegistreringFravalg og fgvhr/20241218/physical/BekraeftelseRegistreringFravalg blive samlet til fgvhr/20241218/BekraeftelseRegistreringFravalg.
Nye skabeloner tilføjes til databasen med følgende SQL insert:
| Code Block |
|---|
INSERT INTO template (identifier, dpk_identifier, template_type)
VALUES ('DPA-template-key-here', 'DPK-digital-template-key-here', 'DIGITAL'), ('DPA-template-key-here', 'DPK-physical-template-key-here', 'PHYSICAL'); |
Substitutionsværdier indsættes med følgende SQL insert. Regex for date-felter skal være "\d{4}-\d{2}-\d{2}" svarende til et dato-format på "YYYY-MM-DD". For andre felter kan regex være ".*":
| Code Block |
|---|
INSERT INTO template_detail_rule (template_identifier, detail_name, regex, optional)
VALUES ('DPA-template-key-here', 'substitution-value-name-here', 'regex-here', 1 or 0); |
Service konfiguration
Konfigurationen af servicen findes i: compose/configuration/dpa.properties filen
| Property | Beskrivelse | Påkrævet |
|---|---|---|
| dpk.url | URL til Digital Post Komponent | Ja |
| person_information.url | URL til Person Information | Ja |
| datasource.jndi | Navn på jboss datasource (defineret i dpa-ds.xml) | Ja |
| digitalpost.send.limit | Maksimalt antal breve der skal behandles i 1 aktivering af send-jobbet | Ja |
| digitalpost.send.desired.execution.duration | Ønsket varighed af send-jobbet | Ja |
Monitorering
Til statuscheck af DPA udstilles <serverurl>/digitalpost/status som returnerer HTTP 200 hvis servicen i øjeblikket kører fint og HTTP 503 hvis der er opstået en fejl der kræver indgriben.
...
Fejlbeskederne med fejl angiver altid den seneste fejl for et givet brev.
Audit log
...
Hvert servicekald medfører en ny indgang i auditloggen, som kan være udfyldt med følgende komponenter:
| Komponent | Kontekst | Type | Nøgle | Information |
|---|---|---|---|---|
| DPA | UUID for kaldet | Følsom | request | Indhold af kald mod DPK |
| DPA | UUID for kaldet | Følsom | response | Indhold af svar fra DPK |
| DPA | UUID for kaldet | Følsom | modtager-cpr | Modtagerens CPR |
| DPA | UUID for kaldet | Ikke personlig | messageId | Besked ID for kaldet. Samme som Kontekst. |
| DPA | UUID for kaldet | Ikke personlig | skabelon | Navn på skabelonen. Ikke nødvendigvis samme som hos DPK |
Standard fejlsøgning
- Ved problemer med indlæsning af servicens konfigurationsfiler bør man verificere at alle påkrævede properties er sat
- Ved manglende logning hvor der forventes fejlbeskeder bør konfigurationsfilen log4j.properties checkes, da logindstillingerne sættes herigennem.
- En service eller et job kan stoppes og startes gennem docker.
...