Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.

Innehållsförteckning

Tillgång till källkoden

Se Instruktioner för utvecklare.

Produktval som påverkar implementationen

För att spara in på Licenskostnader licenskostnader bör VP byggas om till att kunna köra utan Mule. Som ersättare till Mule som ramverk för virtualiseringsplattformen har Spring Boot + Apache Camel valts.
Camel är ett moget ramverk med stöd för de funktioner som implementeras implementerats i Mule i nuvarande tidigare lösning.

Apache Camel är också öppen källkod som distribueras under Apache 2.0 license.

Paketstrukturer för VP-camel

Nedan redovisas de mest intressanta paketstrukturernapaketen i koden.

se.skl.tp.vp

  • certificate - koden kod som hämtar data från certefikatcertifikaten
  • errorhandling -  koden   kod som hanterar olika fel situationer som händer inträffar under flödet
  • exceptions - olika definerade fel som används i VP
  • httpheader -Processors/helpers som jobbar med hanterar http-headrar

  • service - TAK och HSA services

  • status - service som returnerar VP status

  • timeout - koden kod som hanterar konfiguration för timeout per tjästekontrakt
  • vagval - koden  kod som determinerar hanterar vägval och behörigheter att anropa för konsumenten/tjänstekontraktet
  • wsdl - returnerar wsdl'er för olika " virtuella tjänster"

Loggning Hawtio 
Ankare
Hawtio
Hawtio

För loggning används log4j2. Ovanpå det används Hawtio som är ett logg-ramverk som visar information om olika delar av tjänsteplatformentjänste-plattformen.

Det finns möjliget möjlighet att ändra loggnivåer on the fly, under drift. Det går även att få systeminformation som:
processorutnyttjande, minne, diskutrymme, javaversion, java classpath, threads etc, .
Samt att debugga Camel-flöden.

...


Se vidare här: LänkLoggning

Monitorering Statustjänst 
Ankare
status_tjanst
status_tjanst

Vp VP Camel exponerar en status-platformen innehåller status tjänst. Den returnerar information om plattformen. Genom anrop av denna tjänst kan man på ett enkelt sätt kontrollera att VP inte har avslutats.

T.ex.

Kodblock
{
  "Name": "vp-services-camel",
  "Version": "4.0.0-RC1",
  "BuildTime": "2019-09-18T08:19:27.550Z",
  "ServiceStatus": "Started",
  "Uptime": "5 hours 1 minute",
  "ManagementName": "vp-services",
  "JavaVersion": "1.8.0_161",
  "CamelVersion": "2.24.0",
  "TakCacheInitialized": "true",
  "TakCacheResetInfo": "Date:2019-09-18T10:23 Status:REFRESH_OK vagval:566 behorigheter:1034",
  "HsaCacheInitialized": "true",
  "HsaCacheResetInfo": "Date:2019-09-18T10:23 Status:true oldNum:0 newNum:31468",
  "JvmTotalMemory": "827 mB",
  "JvmFreeMemory": "383 mB",
  "JvmUsedMemory": "443 mB",
  "JvmMaxMemory": "1365 mB",
  "Endpoints": [
    "https://0.0.0.0:20000/vp",
    "http://0.0.0.0:8080/vp",
    "http://0.0.0.0:8080/status",
    "http://0.0.0.0:24000/resethsacache",
    "http://0.0.0.0:23000/resetcache"
  ]
}

I application.properties finns parametrar för den tjänsten:

Kodblock
vp.status.url=http://${vp.host}:1080/status

är igång och fungerar som avsett.
Se vidare här: länkStatus 


TAK cache
Ankare
tak_cache
tak_cache

VP har sin egen kopia av TAK data i en cache. Den inhåller vägval och anropsbehörigeter. VP använder en Tak cashe -cache för:

  • information om faktiska Prodicent om faktisk url till en producent
  • bestämma Bestämma om den Producent konsumenten har behöriget att anropa den Kosument via den Tjänstekontrakten viss producent med ett visst tjänstekontrakt

Man kan göra en uppdatering av TAK cache via url url: 

Kodblock
http://[vp-url]:23000/resetcache

...

HSA trädet för en HSA enhet ligger i en kommaseparerad komma-separerad lista i DN fältet där förälder är nästa del i listan. 

...

"Nässjö Primärvårdsområde" ligger i sin tur under "Höglandets sjukvårdsområde" osv.
Image Modified


VP använder informationen för att kontrollera om det finns vägval och behörigheter för organisationer högre upp i trädet om den inte hittar ett för en specifik enhet.

...

SE0000000002-1234(Nässjö Primärvårdsområde) osv. ända tills den hittar en behörighet eller når rooten roten SE.


Webb-service/SOAP/WSDL

...

Exakt hur WSDL:er som exponeras av VP skall se ut finns beskrivet i Ineras styrdokument. Verifiering och testning av nya tjänster i VP skall ha gjorts innan dessa exponeras i produktionsmiljön för NTJP. WSDL:erna skall då vara färdiga inklusive scheman som beskriver data som skall skickas. Dessa placeras sedan i en katalog under VP varpå de är tillgängliga via anropsadrerss+?wsdl. Mer om hur installationen av WSDL:erna finns här Installation av Virtuella tjänster.

Exceptions

Felsituationer Fel rapporteras av virtualiseringsplattformen VP enligt VP standariserade felkoder. Om ett fel uppstår loggas det och ett VpSemanticException kastas. Det görs senare om till SoapFaultException vilket är den exception som når klienten.

...