Virtuell tjänst
En virtuell tjänst erbjuder en anslutningspunkt per tjänstekontrakt som standardiserats genom RIVmetoden. I praktiken finns det ofta många tjänsteproducenter (regionala, landstingsspecifika eller gemensamma för ett antal vårdgivare) för ett standardiserat tjänstekontrakt. Virtuella tjänster döljer detta förhållande för tjänstekonsumenter.
Driftsätta virtualiseringar i Virtualiseringsplattformen
Nya tjänster/tjänstekontrakt kan läggas till utan förändringar i VP:s kod under förutsättning att den som skapar tjänsten följer den av Inera publicerade standarden för wsdl:er.
Wsdl-filerna ligger per default i mappen wsdl
under config i installationen. Det går att använda en annan mapp genom att konfigurera värdet wsdlfiles.directory
i application-custom.properties
.
För att VP skall kunna följa FK-16 (VP ska per tjänst kunna besvara ett tjänsteanrop med ?wsdl med motsvarande wsdl-fil) så krävs att wsdl:en och tillhörande xsd-filer läggs i en katalog-struktur som följer angiven standard och under den katalog som specificerats i application-custom.properties
.
Figuren visar ett exempel på hur katalogstrukturen kan se ut för ett tjänstekontrakt.
Det finns även möjlighet att konfigurera en Json-fil (wsdl.json.file
i application-custom.properties
för kontrakt med avvikande struktur, men den ska INTE användas för nya tjänstekontrakt.
Den är till för att äldre, ärvda Tjänstekontrakt ska fungera.
VP kommer hitta alla wsdl:er i den katalog som pekas ut i application-custom.properties
. För wsdl:er som inte har en motsvarande post i wsdlconfig.json (vilket är fallet med alla nya tjänstekontrakt) kommer VP att lägga till denna i en intern map, med en adress som härleds ur namespace för tjänsten i fråga. Innan wsdl:en returneras kommer alla referenser till XSD filer i WSDL:en att expanderas till adressen för VP+?wsdl + parameter med relativa sökvägen för XSD:n i relation till WSDL:en. Den relativa sökvägen i till xsd:n i wsdl:en måste stämma med den relativa katalog struktur den kom i. WSDL:en måste även ha ett namespace som det faktiskt går att härledda URI:n ur.