SKLTP VP SAD - Användningsfall
- Göran Erkstam (Unlicensed)
Denna sida beskriver olika användningsfall i virtualiseringsplattformen.
Flödet för ett normalt tjänsteanrop från en intern plattformskomponent, exempelvis en aggregeringstjänst.
| Endast auktoriserade IP addresser tillåts anropa plattformen via HTTP. Så avsändarens IP address valideras mot en vitlista konfigurerad i application.properties. Är avsändarens IP inte konfigurerad kastas ett VP011 fel. |
| vsändarens id tas ut ur http headern x-vp-sender-id. Som ett skydd ifall en konsument skulle sätta x-vp-sender-id headern och anropa via en proxyserver kontrolleras ursprungsanvändarens IP address enligt 1.1.1. Denna IP address tas då ut från headern X-Forwarded-For. |
X.X… | Se de “Gemensamma beskrivningarna för AF1-AF3” nedan. |
Flödet för ett normalt tjänsteanrop från en konsument via proxyserver. I detta fall anropar konsumenten proxyservern med HTTPS/TLS som validerar/terminerar certifikatet och sedan anropar VP med HTTP.
1.1.1 | Endast auktoriserade IP addresser tillåts anropa plattformen via HTTP. Så avsändarens IP address valideras mot en vitlista konfigurerad i application.properties. Är avsändarens IP inte konfigurerad kastas ett VP011 fel. |
1.1.2 | Proxyserverns skickar med konsumentens certifikat i headern x-vp-auth-cert. Avsändarens id parsas sedan ut från certifikatets “subject” via nyckeln SERIALNUMBER. |
X.X… | Se de “Gemensamma beskrivningarna för AF1-AF3” nedan. |
Flödet för ett normalt tjänsteanrop från en konsument via HTTPS direkt till virtualiseringsplattformen.
1.1.1 | Certifikatet utbyts med konsumenten med en “two-way authentication”. VPs truststore och keystore som används är konfigurerbart i properties filer. |
1.1.2 | Avsändarens id parsas ut från certifikatets “subject” via nyckeln SERIALNUMBER. |
X.X… | Se de “Gemensamma beskrivningarna för AF1-AF3” nedan. |
2.1 Read request | Requesten parsas och följande värden tas ut:
|
2.2 Get physical address | Mottagarens fysiska address hämtas från TAK cachen baserat på den logiska adress och tjänstekontrakt. TAK cachen är tidigare hämtad från tjänsteaddresseringkatalogen. Hittas ingen fysisk address kastas ett VP004 fel. |
2.3 Authorization | Med hjälp av TAK cachen kontrolleras om avsändaren är behörig att anropa denlogiska adressen med tjänstekontraktet. Är avändaren ej behörig kastas ett VP007 fel. |
2.4 RIV version | I TAK cachen finns information om vilken RIV version som mottagaren förväntar sig. Skiljer den sig mot den inkommande RIV versionen som lästs ut från requesten görs en konvertering till mottagarens version. RIV20 och RIV21 stödjs. |
3.1 Convert request | Virtualiseringsplattformen anropar alltid producenten med UTF8 encoding av meddelanden. Skiljer sig inkommande encoding från UTF8 görs en konvertering till UTF8. Endast konvertering från UTF16 stödjs. |
4. Request to producer | Requesten skickas till producenten. Vid fel att anropa producenten eller vid timeout att få ett svar kastas ett VP009 fel. Timeouttiden är konfigurerbar. |
3.2 Convert response | Om inkommande request är skiljt från UTF8 görs en konvertering tillbaka till avsändarens ursprungsencoding. Endast konvertering till UTF16 stödjs. |
2.5 Handle response | Ingen parsning av svarsmeddelandet görs men det görs en kontroll att svaret inte är tomt. Vid tomt svar från producenten kastas ett VP009 fel. |
Flödet för ett anrop att uppdatera virtualiseringsplattformens interna TAK cache.
1. Http request | En klient, exempelvis ett skript anropar VP för reset av TAK cache. HTTP addressen för reset av cache är konfigurerbar i property filer. |
2. refresh av TAKCache | VP håller ett object av klassen TakCache som innehåller vägval och behörigheter. VP anropar refresh metoden på TakCache objektet. |
3.1. hamtaAnropsBehorigheter | TakCache objektet uppdaterar sin interna behörighetscache genom att anropa tjänsteaddresseringskatalogen via webtjänsten hamtaAllaAnropsBehorigheter. |
3.3 hamtaAllaVirtualiseringar | TakCache objektet uppdaterar sin interna vägvalscache genom att anropa tjänsteaddresseringskatalogen via webtjänsten hamtaAllaVirtualiseringar. |