Innehållsförteckning |
---|
Användningsfall
Tjänsten uppfyller följande användningsfall för att möta de arkitekturella kraven i referens [1Arkitekturella krav]:
Tjänstekonsument anropar aggregerande tjänst
Tjänstekonsument anropar aggregerande tjänst
Användningsfallet beskrivs av följande löptext och tillhörande sekvensdiagram. Som belysande exempel i texten används tjänstekontraktet för att hämta tidbokningar, GetSubjectOfCareSchedule, samt den nationella tjänsteplattformen, NTjP, som SKLTP instans.
Då en tjänstekonsument anropar den aggregerande tjänsten för tidbokningar så anropar tjänsten engagemangsindexet för att få redan reda på var nuvarande bokningar för angivet patientId finns, dvs hos vilka mottagningar. Därefter anropas respektive källsystem parallellt (för att minimera svarstiden) och ett aggregerat svars sätts samman.
...
Teknisk information om bearbetningen sammanställs i svaret tillbaka till tjänstekonsumenten i en SOAP header med namnet "ProcessingStatus". SOAP headern "ProcessingStatus" innehåller en lista med en rad per anropat källsystem och ger per källsystem information huruvida anropet gick bra eller om ett fel uppstod i anropet. Se interoperability_headers_1.01.xsd för för detaljer.
Notera att SOAP headern "ProcessingStatus" inte beskrivs i de tjänsteinteraktioner (WSDL-filer) som en aggregerande tjänst följer, detta för att kunna använda samma tjänsteinteraktioner som de underliggande tjänsteproducenterna använder. Det innebär att SOAP headern "ProcessingStatus" behöver beskrivas vid sidan av tjänsteinteraktionerna, förslagsvis som ett appendix till gällande RIV-TA version.
Not: I sekvensdiagrammet nedan är NTjP's Virtualiseringplattform bortabstraherad i syfte att öka diagrammets läsbarhet men den används i samtliga externa samband, dvs i anrop mellan den aggregerande tjänsten och konsumenter, engagemangsindex och källsystem.
Hantering av flera huvudversion av ett tjänstekontrakt
...
Detta görs genom en integration med TAK som håller vilken version av tjänstkontraktet en vis viss logisk-address exponerar.
Informationen om vilken version av tjänstkontraktet som är aktuellt finns i befintlig konfiguration av aktuell aggregerande-tjänst.
Sync with TAK success
- setContext.
När mule context sätts i singleton-bönan TakCacheBean triggas metoden updateCache asynkront. - updateCache.
TakCacheBean anropar TAK-tjänsten hamtaAllaVirtualliseringar och sorterar ut de virtualliseringar som exponerar rätt version av tjänstekontraktet. - populateCache
Metoden poppulerar cachen med den logiskaaddressat som finns i det filterarde sättet med virutalliseringar. - writeTakLocalCache
Skriver sättet med logiskaddresser till specifierad fil.
Sync with TAK fail
- setContext
När mule context sätts i singleton-bönan TakCacheBean triggas metoden updateCache asynkront - updateCache.
TakCacheBean anropar TAK-tjänsten hamtaAllaVirtualiseringar men misslyckas. - loadTakLocalCache
TakCacheBean laddar specifierad fil ifrån filsystemet. - populateCache
TakCachen populeras med värden från uppläst fil.
Aggregeringsplattformen håller denna information i lokal cache som även persisteras på disk för att minska risken för störningar ifall TAK applikationen är nere.
Den lokala cachen ska uppdateras vid omstart av aggregeringsplattformen samt på kommando via ett rest anrop som kan utföras av exempelvis servicedeskpersonal.