Ny CPP/A-tjeneste

SOAP-løsningen for samhandlingsprofiler (CPP) og samhandlingsavtaler(CPA) trengte en modernisering og det har blitt utviklet en forbedret tjeneste på REST.


Noen utfordringer med SOAP-tjenesten:

  • Skalerer dårlig ytelsesmessig
  • Mye teknisk gjeld og lite hensiktsmessig datamodell
  • SOAP Webservice grensesnitt er tunge å jobbe med, har mangelfull feilhåndtering og mange av metodene var ikke i bruk
  • Dårlig visning i brukergrensesnitt
  • Mangelfull prosessmodellering, i praksis ikke mulig å benytte prosesser til å angi hvilken funksjonalitet som er støttet

Hvilke kommunikasjonsprosesser som er tilgjengelige defineres i en mal, her gjøres det blant annet en modellering av hvem som kan sende hva til hvem, hvilket innhold som er tillat, hvor informasjon skal sendes og med hvilken transport. Modelleringen CPP-malen til SOAP-tjenesten var mangelfull og den genererte en CPP XML som ikke validerer i henhold til CPP skjemaet. Det var derfor nødvendig med en "brekkende" endring i malen og i den sammenheng er enkelte nødvendige justeringer tatt inn.

Følgende endringer i mal er gjennomført:

Bedre modellering av role og action. Service og ID for prosesser er beholdt. I den gamle løsningen var role typisk satt som navn på prosessen og lagt til "sender" eller "receiver". Action i mal var typisk satt til navn på prosessen. I ny modell er det derimot mulig å definere hvem som kan sende hvilken informasjon til en annen part. Eksempelvis kan innbygger hente ledige avtaler hos helsepersonell, men det motsatte er ikke støttet.

Det er også gjort endringer slik at når en kommunikasjonspart deaktiveres, får ugyldig sertifikat eller får fjernet AMQP-adresser som er i bruk av prosessene, vil profilen (CPPen) nå slettes. Tidligere ble den liggende med utløpt gyldighetsperiode.

Ny løsning etablerer:

  • Nye REST apier for CPP/CPA
  • Kall mot den gamle SOAP Web servicen routes automatisk videre til ny løsning for å sikre bakoverkompatibilitet
  • Forbedret visning i Adresseregisteret brukergrensesnitt
  • Løsning etablert på moderne plattform og ny datamodell som gir større endringsevne
  • Publisering av hendelser på tjenestebuss når en CPP eller CPA er oppdatert. Disse blir publisert på topic / med event source Cppa
    • Cppa.CppUpdated.{herId}
    • Cppa.CpaCreated.{herIdA}.{herIdB}
    • Cppa.CpaTerminated.{herIdA}.{herIdB}