Gå till slutet av bannern
Gå till början av bannern

SKLTP VP SAD - Användningsfall

Hoppa till slutet på meta-data
Gå till början av metadata

Du visar en gammal version av den här sidan. Visa nuvarande version.

Jämför med nuvarande Visa sidhistorik

« Föregående Version 21 Nästa »

AF1 - Normalflöde genom Virtualiseringsplattformen

Nedan beskrivs normalflödet i detalj genom Virtualiseringsplattformen. VPs grundfunktioner såsom virtualisering och behörighetskontroll är speciellt markerade i flödet nedan.

Beskrivning av flödet

Set connector properties

  • För inkommande HTTP trafik sätts propertyn "featureResponseTimeout" med ett värde som antingen är ett defaultvärde för VP instansen eller ett unikt värde just för denna tjänsteinteraktion (reglerar time-out för utgående trafik från VP).
  • För inkommande HTTPS trafik sätts propertyn "featureResponseTimeout" (se ovan) och propertyn "featureUseKeepAlive" som på samma sätt hämtar värden från VP instansen (reglerar keep-alive för utgående HTTPS trafik från VP).
  • För båda trafikslagen sätts också om keep-alive skall användas samt time-out för denna keep-alive.

Handle request

  • Kontrollerar om HTTP headern x_vp_sender_id är satt i inkommande anrop.
    • Om den är satt kontrolleras att fältet x_vp_instance_id har samma värde som Virtualiseringsplattformen som handhar anropet. Dessutom kontrolleras att anropet kommer från en ip-adress enligt en white-list för denna VP-instans.
    • Om den inte är satt försöker man hämta ut avsändar identiteten ur ett certifikat. Detta finns antingen i headern x_vp_auth_cert (en white-list kontroll görs då också) eller i session efter SSL/TLS handskakningen.
    • Oavsett metod sätts fältet senderid med hittat värde i sessionen.
  • Kontrollerar om HTTP headern x-rivta-original-serviceconsumer-hsaid är satt i inkommande anrop.
    • Spara denna om den är satt
  • Skapa korreleringsid och sätt på inkommande meddelande
  • Plocka ut RIV-version, receiverId, wsdl namnrymd och tjänstekontrakt och spara undan.
  • Logga anropet

RIV transformer

Kontrollerar om den konfigurerade Tjänsteproducenten har en annan RIV version är RIV versionen för inkommande anrop. Om de är olika sker en översättning till den RIV version som Tjänsteproducenten är konfigurerad med.

Get recipients

Hämtar en URL som matchar de parametrar som inkommande anrop har från Vägvalsagenten när det gäller routing. En kontroll att det finns behörighet att göra anropet görs också.

Create recipient endpoint

Skapar dynamisk en representation av den ändpunkt dit anropet skall skickas. Egenskaper som vi konfigurerar för denna ändpunkt är följande:

  • URL till ändpunkten som vi tidigare fick från Get recipients anropet.
  • Response time-out, dvs hur länge vi skall vänta på ett svar från Tjänsteproducenten innan vi signalerar en time-out. Värdet sätts i början av flödet av virtualiseringens connector.
  • Interactionstyp sätts till Request-Response, dvs ett synkront anrop.
  • Encoding sätts till UTF-8.
  • En dynamisk transformer skapas där fler HTTP Headers konfigureras.
  • Följande HTTP Headers läggs till: x_vp_sender_id och x_vp_instance_id
  • Följande HTTP Header läggs till: x-rivta-original-serviceconsumer-hsaid. Antingen propageras den vidare från det inkommande anropet (se Save consumer id) eller så sätts den till samma värde som senderid ( se Check sender id).
  • Slutligen väljer man vilken connector som skall göra utgående anrop. Antingen är det ett HTTP eller ett HTTPS anrop som skall göras. I samband med detta sätts connector properties enligt:
    • HTTP: Här sätts om keep-alive skall användas samt time-out för denna
    • HTTPS: Här sätts bestäms om keep-alive skall användas via propertyn featureUseKeepAlive som sattes redan av virtualiseringen. I VP finns två olika HTTPS connectorer definerade som man väljer beroende på om keep-alive skall användas eller ej.

Route

Här sker själva anropet till Tjänsteproducenten. Innan anropet sparar vi en tidsstämpel och när anropet gjorts sparar vi undan hur lång tid själva anrop tog i en sessions variabel (x_skltp_prt).

Handle response (VägvalRouter)

  • Om ett fel inträffar tar en exception handler vid och hanterar felet så att en Tjänstekonsument får ett SOAPFault som svar med detaljer om felet.
  • Sparar ner en loggpost med information om svaret.

Handle response (Virtualisering)

  • Stänger explicit en connection om keep-alive ej skall användas. Gäller endast HTTPS trafik!
  • Byter ut URL:er i WSDL:er och XSD:er som returneras från ett GET anrop som pekar på interna adresser som en Tjänstekonsument ej kommer åt till att vara anropad host istället.
  • Plockar bort properties ur sessionen som annars blir HTTP Headers i svaret till Tjänstekonsumenten.

AF2 - Ursprunglig avsändare

Nedan beskrivs mer i detalj hur informationen om ursprunglig avsändare propageras genom VP till en tjänsteproducent. Endast de funktioner från normalflödet som är delaktiga i hanteringen av ursprunglig avsändare är med i nedanstående flöde.

Då detta flöde endast innehåller en VP-komponent så kommer ursprunglig avsändare att ha samma värde som senderid. Behörighetskontrollen i VP (GetRecipients) kommer att ske mot detta id.

 

Om det finns en VP-komponent ytterligare i flödet kommer den första VP-komponenten bete sig som ovan, dvs sätta ursprunglig avsändare att vara detsamma som senderid. För den andra VP-komponenten kommer värdet på ursprunglig avsändare att sättas till värdet på den inkommande HTTP headern (x-rivta-original-serviceconsumer-hsaid). Däremot kommer behörighetskontrollen att göras mot det senderid som motsvaras av VP (RTJP)!

 

I det sista fallet har vi ytterligare en VP-komponent i flödet. Den sista VP-komponenten kommer att uppföra sig exakt som den mellersta VP-komponenten. Ursprunglig avsändare propageras vidare för att till slut nå Tjänsteproducenten.

AF3 - Keep-alive

Nedan beskrivs mer i detalj hur keep-alive används i VP. Endast de funktioner från normalflödet som är delaktiga i keep-alive är med i nedanstående flöde.

AF4 - Timeout

Nedan beskrivs mer i detalj hur time-out sätts i VP. Endast de funktioner från normalflödet som är delaktiga i time-out hanteringen är med i nedanstående flöde.

AF5 - Resetcache

 

 

 

AF6 - Reverse-proxy HTTPS

AF7 - Övervakning med PingForConfiguration

 

  • Inga etiketter