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 JBoss 6 applikationsserver. Alle komponenterne på platformen kører ovenpå denne applikationsserver og anvender en MySql database som persistentlag. Foran JBoss applikationsserveren er der en loadbalancer.Valget af JBoss 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.
WebservicesAlle webservices der udbydes på NSP overholder standarden "Den Gode WebService (DGWS)" fra MedCom. 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 instance (DoDi).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 to 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 National Sunheds-It (NSI) der er en sektor under Statens Serum Institut (SSI). Alle opgaver på NSP udliciteres efter gældende EU-regler og er fordelt på et par håndfulde it-firmaer.NSP opereres af 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 NSI 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åes 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æsentere 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.Infrastruktur (DanID og test/prod føderation)Certifikater udstedt af Nets DanID til brug på NSP hører enten til under testmiljøet eller produktionsmiljøet. Et certifikater kan kun bruges i det miljø det er udstedet 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. Idkortet 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 idkort 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 anvender 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 valid 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:
StamdataNSP importerer stamdata fra et antal nationale registre og tilbyder adgang hertil gennem Stamdata-komponentensservices. Følgende stamdataregistre er tilgængelig på NSP:
KomponenterFølgende komponenter er tilgængelige på en NSP:
I de følgende afsnit gennemgåes kort hver komponents webservices. For yderligere information henvises der til "Overblik over NSP services" National AdviseringsserviceFølgende services er tilgængelige i NAS:
Pull point factory er i stand til at oprette pull points som derefter kan anvendes i Pull Point servicen til indhentning af adviseringer. Id list servicen anvendes til oprettelse og vedligeholdelse af Id lister. Subscription manager tilbyder operationer til abonnering på emner og Notification broker muligheden for at publicere adviseringer til abonnenter. BehandlingsrelationsservicenFølgende services er tilgængelige i BRS:
Behandlingsrelationer kan slåes op via Behandlingsrelationsservicen. Opsamlinger bestilles i generisk opsamlingsservicen og notifikationsservicen. De kan derefter bruges til at tjekke eventuelle notifikationer som opsamlingen har givet anledning til. CPR abonnementsservicen kan bruges til at forespørge på eventuelle ændringer i CPR data for de CPR-numre man abonnerer på. AfkoblingskomponentenFølgende services er tilgængelige i DCC:
Afkoblingskomponenten virker som en software router der sender et request videre til en anden service baseret på den SOAP Action der angives. FødselsindberetningsserviceFølgende services er tilgængelige i FIBS:
Fødselsindberetningsservicen fungere som en proxy til Kirkeministeriets jordemoder-service. Min logFølgende services er tilgængelige i MINLOG:
Minlogservicen kan anvendes til at lave opslag i opsamlede logs i MINLOG systemet baseret på et CPR-nummer. MinLog registreringsservicen kan bruges til at oprette logs i MinLog systemet. Nationalt Patient IndeksFølgende services er tilgængelige i NPI:
NPIservicen gør det muligt at foretage opslag i Det Nationale Patient Indeks. NSP Test serviceFølgende services er tilgængelige i NTS:
Testservicen anvendes til at teste om en forespørgelse mod en anden komponent overholder standarden "Den Gode Webservice (DGWS)". Stamdata modulFølgende services er tilgængelige i SDM:
Kopiregisterservicen gør det muligt for en anvender at hente en komplet kopi af et bestemt register. Enkeltopslagsservicen til Autorisationsregisteret og CPR registeret gør det muligt at lave enkelte opslag i disse registre. Gateway GWFølgende services er tilgængelige i GW:
Idkortservice anvendes til at få udstedt og cachet et id-kort. Proxyservice bruges til at få udskiftet et usigneret id-kort med et der tidligere er blevet oprettet i cachen, og sende forespørgelsen videre til den ønskede webservice. Security Token ServiceFølgende services er tilgængelige i STS:
SecurityTokenService og NewSecurityTokenService anvendes til at få udstedt et id-kort, IdentityTokenService omveksler et id-kort til en OIOIDWS-H Identity Token og de to sidste listede services bruges til at veksle mellem NemLogin tokens og id-kort. 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ø.Seal.JavaDa snitfladerne mod STS'en og selve føderationens struktur er defineret i Seal, er det anbefalet at komponentleverandører anvender Seal.Java til at verificere anvenderes id-kort samt til eventuelle kald til STS'en. |