Page History
...
Numbered Headings | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Hvad er NSPDen Nationale Service Platform er en teknisk platform, der sammen med en mængde standarder og aftaler gør det muligt at udbyde et antal services til offentlige og private it-systemer. I dette dokument vil de vigtigste elementer af NSP blive gennemgået og forklaret.Den tekniske platformNSP platformen består af en Linux distribution med en Wildfly applikationsserver. Alle komponenterne på platformen kører ovenpå denne applikationsserver og anvender en MariaDB database som persistentlag. Foran Wildfly applikationsserveren er der en loadbalancer. Valget af Wildfly dikterer at alle komponenter er skrevet i programmeringssproget Java (eller andre sprog der kan afvikles i en Java VM), der er dog ingen krav til hvilke sprog anvendere af platformen skal benytte.
WebservicesDe eksternt vendte services på NSP udstilles for nuværende som SOAP/XML webservices typisk som identitetsbaserede web services, der overholder “Den Gode Web Service” (DGWS) eller OIO-IDWS standarderne. Du kan læse mere om DGWS hhv. OIO-IDWS her:
Disse sider redegør også for en række af de sikkerhedshensyn, overordnede sikkerhedsværn og hjælperedskaber, der er udviklet til NSP. Alle forespørgelser og svar sendes som SOAP-XML over HTTP protokollen. Nogle af de webservices som identitetsservicen (STS) udbyder er dog undtaget fra reglen om DGWS. I NSP regi er SEAL.Java og SEAL.Net blevet udviklet for at hjælpe både anvendere og udstillere af services. SEAL pakker de mange XML og sikkerhedsstandarder ind i simple metoder, og sikrer en uniform serialisering og deserialisering af forespørgelser og svar. SundhedsdatanettetNSP er placeret på sundhedsdatanettet og adgang hertil kræver derfor en godkendelse fra MedCom. Anvendelsen af Sundhedsdatanettet gør at konfidentialiteten og integriteten af forespørgelser og svar er sikret. Se evt. ”Kom på NSP – kort forløbsbeskrivelse".Distribueret platformNSP er ikke blot en enkelt platform, men derimod flere instanser distribueret rundt omkring i landet. Der findes en Central NSP (cNSP), regionale NSP'er (dNSP) og en såkaldt BackOffice instans. De regionale og den centrale NSP er stort set ens, men deres anvendere er forskellige. Hver region har sin egen NSP som blandt andet anvendes af hospitalerne, hvorimod den centrale NSPs anvendere f.eks. er lægepraksiser og plejehjem. Denne distribuerede tilgang betyder, at der er et flow af data fra BackOffice platformen til både cNSP og dNSP. F.eks. kommer opdateringer til stamdata ind i BackOffice fra flere kilder for derefter at flyde ud på NSP'erne.MiljøerUd over produktionsmiljøet findes der fire testmiljøer som anvendere kan få adgang til. Adgang kræver en aftale med NSP-operatøren samt oprettelse af testcertifikater mv. En guide til tilslutningsforløbet kan ses i "Adgang til fælles testmiljøer".Hvem styrer NSPDen Nationale Service Platform (NSP) ejes og styres af Sundhedsdatastyrelsen (SDS). Alle opgaver på NSP udliciteres efter gældende EU-regler og er fordelt på et par håndfulde it-firmaer. NSP opereres af Sundhedsdatastyrelsen med bistand fra Capgemini A/S og driftes af Netic A/S. Support til anvendere og udstillere leveres af IBM, Netic A/S og Arosii A/S. Komponenterne på NSP ejes af SDS, men er udviklet af flere forskellige leverandører.Sikkerhed på NSPEn af de vigtigste aspekter af NSP er den sikkerhedsmodel, der er lagt over alle komponenter på platformen. For at kalde en komponent på NSP skal en anvender medsende et id-kort signeret af en identitetsudbyder i hvert kald. De vigtigste aspekter af sikkerhedsmodellen gennemgås i de følgende afsnit, og den samlede model er beskrevet i Den Gode Webervice.CertifikaterSikkerheden på NSP bygger på certifikater udstedt af Nets DanID. Der findes 3 forskellige slags certifikater som kan bruges på NSP:
MedarbejdercertifikaterMOCES certifikater udstedes til en enkelt person ansat ved en virksomhed og repræsenterer dennes relation til virksomheden. Hvert medarbejdercertifikat har et entydigt CVR/RID- nummer der er opbygget af virksomhedens CVR-nummer, samt et ressource identifikationsnummer. Dette CVR/RID-nummer indgår i ejerinformationen i certifikatet.VirksomhedscertifikaterVOCES certifikater udstedes til selve virksomheden og er ikke knyttet til nogen person. Virksomhedens CVR-nummer indgår i ejerinformationen i certifikatet.FunktionscertifikaterFOCES certifikater udstedes til en applikation, en enhed, en proces eller en service hos en virksomhed. De bruges primært til automatiske batch processor. Virksomhedens CVR-nummer indgår i ejerinformationen i certifikatet. NSP anbefaler anvendelsen af FOCES certifikater set i forhold til VOCES.Infrastruktur (Nets og test/prod føderation)Certifikater udstedt af Nets til brug på NSP hører enten til under testmiljøet eller produktionsmiljøet. Et certifikat kan kun bruges i det miljø, det er udstedt til.Id-kortEt id-kort er et XML-dokument der indeholder informationer om den person, virksomhed eller applikation, som foretager en forespørgsel mod en NSP-service. Id-kortet medsendes som en del af SOAP-headeren i alle kald, der foretages mod en komponent på NSP. Id-kortet anvendes af serviceudbyderen til at verificere identiteten af anvenderen, samt til at undersøge om vedkommende er berettiget til at få adgang til servicen. Der er to slags id-kort på NSP, et brugerid-kort og et systemid-kort. Brugerid-kortet anvendes sammen med et medarbejdercertifikat og systemid-kortet anvendes sammen med et virksomhedscertifikat eller et funktionscertifikat. Et id-kort indeholder blandt andet følgende oplysninger:
Føderation og ombytning af id-kortI stedet for at alle komponenter på NSP skal kunne verificere alle de certifikater som er udstedt til samtlige anvendere, er der indført en føderation hvor anvenderens id-kort bliver signeret af en identitetsudbyder (STS). Anvendelsen af en identitetsudbyder er skitseret nedenfor
Hvad findes der på NSPHjælp til anvendereUd over komponenter der udstiller kernefunktioner fra forskellige forretningsområder, er der to komponenter på NSP'en, der hjælper anvendere med at kalde andre komponenter. De to komponenter er afkoblingskomponenten (DCC) og gatewayen (GW).AfkoblingskomponentenI stedet for at kalde de forskellige komponenters webservices direkte, tilbyder afkoblingskomponenten at fungere som en softwarerouter for anvenderen. Komponenten har en konfiguration der indeholder en mapning mellem SOAP Actions og endpoints (Se f.eks. mapningen for cNSP prod her Inventory - cnsp DCC ). På den måde er komponenten i stand til at viderstille et kald ud fra værdien af HTTP-headeren. Det anbefales at anvendere altid kalder komponenternes webservices gennem afkoblingskomponenten.GatewayenFor at anvendere af NSP kan tilbyde Single Sign-on til slutbrugerne, er det nødvendigt at hvert enkelt it-system ikke skal udstede et id-kort for den samme bruger. Gatewayen tilbyder derfor at holde en cache af id-kort som alle anvendere kan deles om. Når en slutbruger logger på et it-system og udfører en handling der kræver et id-kort, sendes forespørgslen gennem gatewayen, der indsætter det korrekte id-kort og vidersender til den valgte webservice. Hvis cachen ikke indeholder et gyldigt id-kort for slutbrugeren må it-systemet oprette et nyt, som herefter gemmes i cachen. Gatewayen anvender WSAddressing standarden når den skal afgøre hvor en forespørgsel skal sendes videre til.ForespørgselFølgende er en kort gennemgang af hvordan anvendelsen af DCC og GW kan foregå fra eksempelsystemet ABC til eksempelservicen XYZ:
StamdataregistreNSP importerer stamdata fra et antal nationale registre og tilbyder adgang hertil gennem Stamdata-komponentens services. Følgende stamdataregistre er tilgængelig på NSP:
ForretningsserviceFølgende forretningsservice er tilgængelige på en NSP:
For yderligere information henvises der til "NSP services" BasisserviceFølgende basisservice er tilgængelige på NSP:
For yderligere information henvises der til "NSP services" StøtteserviceFølgende støtteservice til testformål er tilgængelige på NSP:
Hvilke krav stilles der til komponenterneHusreglerDa der er mange leverandører af komponenter til NSP, er der blevet etableret et sæt husregler, der beskriver en række krav, som stilles til udviklingen og dokumentationen af nye komponenter. Ideen med husreglerne er at skabe en homogen platform, hvor mange forskellige komponenter kan co-eksistere og fungere i et driftsmiljø. Tilsvarende stille der krav om dokumentation Dokumentationskrav til NSP-platformenSeal.JavaDa snitfladerne mod STS'en og selve føderationens struktur er defineret i Seal, anbefales det at komponentleverandører anvender Seal.Java til at verificere anvenderes id-kort samt til eventuelle kald til STS'en. |