Skip to content

navikt/ebxml-processor

Repository files navigation

Build and deploy ebms-provider

eMottak ebXML

Dette prosjektet håndterer meldinger mottatt på ebXML-standarden.

Prosjektet består av fire hovedmoduler for behandling av ebXML-meldinger.

  • EbMS Provider
  • EbMS Payload behandling
  • CPA Repo

I tillegg er det en modul for asynkron trafikk som lytter på epost, og router meldinger til ebMS-Provider for behandling.

  • SMTP-Listener

EbMS Provider

Selve motoren i ebMS-håndteringen. Det er her ebMS-spesifikasjonen er implementert. Validerer ebXML-konvolutten, pakker ut fagmeldingen og sender den til ebMS-payload. REST-endepunkt: https://ebms-provider-fss.intern.dev.nav.no/ebms/sync (post)

EbMS Payload

Behandling av fagmeldingene som er pakket inn i ebXML. Mottar meldinger fra ebMS-provider, og validerer at innholdet er en korrekt fagmelding og er klar for videreformidling til fagsystem. REST-endepunkt: https://ebms-payload-fss.intern.dev.nav.no/payload (post)

CPA Repo

Holder på alle godkjente CPAer. Mottar ebXML-header informasjon fra ebMS-provider, og validerer innholdet mot relevant CPA. REST-baseUrl: https://cpa-repo-fss.intern.dev.nav.no

Utvikling

Teknologi

Alle modulene kjører som selvstendig applikasjoner, og er bygd opp av følgende teknologier

  • Kotlin
  • Ktor
  • Gradle

Avhengigheter

Avhengigheter og relasjoner til andre repoer i teamet

Bygg prosjektet

For å bygge prosjektet brukes gradle.

./gradlew build

Noen av testene bruker testcontainers for å bygge opp et mer komplett kjøretidsmiljø. Disse er avhengig av et fungerende Docker-miljø. For eksempel Docker, Colima på mac, eller Rancher Desktop (win/mac/linux).

Hvis du har en mac som bruker de nyere "M"-chipene (eks. M3) vil du møte på problemer når du spinner opp testcontainers i dette prosjektet. Dette gjelder containerne for Oracle DB (gvenzl/oracle-xe:21-slim-faststart) når man bruker docker desktop. For å unngå dette må man heller bruke Colima. Under er steg for hvordan:

  1. Installér Colima.
  2. Sett DOCKER_HOST env-variabel til Colima (mulig dette må reverseres når man bygger andre prosjekter).
    • export DOCKER_HOST="unix://${HOME}/.colima/default/docker.sock"
  3. Start Colima med x86_64.
    • colima start
  4. Bygg prosjekt/kjør tester.

Oppsett av Github PAT

For å kunne dra inn de riktige dependenciene, må man opprette en github PAT. Denne trenger rettigheten read:packages og må autoriseres for tilgang til organisasjonen navikt. img

Denne PATen må settes som en environment variable, for eksempel globalt i ditt foretrukne shell eller IDE.

export GITHUB_TOKEN=ghp_abcdefghijklmnopqrstuvwxyzABCD012345

ebXML standarder og dokumentasjon

Målet for prosjektet er å være i tråd med spesifikasjon fra e-helse.

ebXML hos e-helse

Les dokumentasjon fra e-helse for deres tolkning av ebXML-standarden.

ebXML hos Oasis

Oasis står bak ebXML-standarden, og spesifikasjonen er dokumentert i detalj på følgende sider:

Har du spørsmål? 😵

Vi er hovedsakelig tilgjengelige på slack i følgende kanal:

Alle spørsmål relatert til dette prosjektet er velkomne. Alternativt setter vi også pris på pull requests og issues direkte her på Github.

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 16

Languages