!! › downloads › skltp-box › v1.1 › skltp-box-1.1... · 2013-10-06 ·...
TRANSCRIPT
<Skriv in datum> <Skriv in ditt namn>
<Skriv in ort>
Introduktion till SKLTP och SKLTP-‐box
SKLTP-box v1.1, en demo-paketering av SKLTP v2.2.1
Version: PA3 Datum: 2013-10-03
2
Agenda • Förberedelsearbete
• Introduktion – Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
3
Syfte och icke-‐syfte
• Förkunskap – Grundläggande förståelse för T-boken, RIV-TA och tjänstekontrakt
• Syfte – Introduktion till hur man kan använda SKLTP som en regional
tjänsteplattform enligt T-boken
• Icke-syfte – Göra djupdykningar i T-bokens regelverk, det tar lätt hela dagen...
– Beskriva hur SKLTP kan installeras i ett befintligt systemlandskap
– Beskriva hur SKLTP fungerar under ytan, dvs titta på dess interna uppbyggnad och källkod
+ Ovanstående ”icke-syften” kan dock med fördel adresseras på efterföljande fördjupnings-workshopar J
4
Var är vi? • Förberedelsearbete
• Introduktion – Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
5
Förberedelsearbete Förberedelser som deltagare skall vara klara med före workshopen. Vi har paketerat en virtuell maskin med all mjukvara för SKLTP. Nedan finns instrukAoner över vad som behövs göras för aE kunna använda denna. De#a behöver göras av varje deltagare innan workshopen.
Du behöver ha följande programvaror installerade på din dator.
• VirtualBox • Skltp-‐box -‐ virtuell maskin med SKLTP
Följande sidor beskriver hur du genomför samt verifierar installaAonen.
Din dator bör vara en hyffsat modern utvecklar-‐PC med minst 4GB minne, den virtuella maskinen är inställd på aE ta 2GB minne.
6
Förberedelsearbete, forts…
• Ladda hem och installera VirtualBox • hEps://www.virtualbox.org/wiki/Downloads
• Ladda hem virtuell maskin (.ova fil) för SKLTP (filen är ca 2GB och det därför tar lång Ad aE ladda ner den)
• hEp://skltp.se/downloads/skltp-‐box/v1.1
• Konfigurera VirtualBox nätverksadapter (engångsjobb) samt importera den virtuella maskinen.
• Följ instrukAonerna i skltp-box-virtualbox-network-adapter-setup.pdf på hEp://skltp.se/downloads/skltp-‐box/v1.1
7
Förberedelsearbete, forts… • Logga in med användaren� skltp och lösenord skltp
• Den virtuella maskinen skall då se ut något i sAl med:
8
Förberedelsearbete, forts… • Starta Firefox
• Klicka på Firefox ikonen i menyraden • En startsida visas med eE antal ”bra-‐aE-‐ha” länkar
• Starta SoapUI • Klicka på SoapUI ikonen i menyraden • En förinstallerat SoapUI projekt skall finnas Allgängligt i SoapUI
9
Förberedelsearbete, forts… • Den virtuella maskinen skall då se ut något i sAl med:
10
Förberedelsearbete, forts… • Testa miljön med SoapUI
• Testa nu aE köra mot en Web Service genom aE göra följande:
• Expandera GetSubjectOfCareScheduleResponderBinding > GetSubjectOfCareScedule.
• Dubbelklicka på 'Patient Agda, VC: Kärna' och eE nyE fönster öppnas.
• Det finns två ändpunkter i denna tjänst, en för HTTP som går direkt mot en demo-‐tjänsteproducenten och en för HTTPS som går via en virtuell tjänst i virtualiseringsplaformen.
• Exekvera eE anrop mot vardera ändpunkten genom aE välja ändpunkt och sedan klicka på den gröna pilen, se bild nästa sida.
• EE resultat kommer nu aE dyka upp i fönstret All höger.
11
Förberedelsearbete, forts… Testa miljön med SoapUI
Här hiEar du den gröna pilen:
12
Förberedelsearbete, forts… • Testa miljön med SoapUI
– Det följer också med en enkel testsvit i det för-installerade SoapUI projektet
– Dubbelklicka på ”TestSuite skltp-box” så skall följande formulär visas:
13
Förberedelsearbete, forts… • Testa miljön med SoapUI
– Start testerna genom att klicka på den gröna pilen
– Efter tag skall testerna gått igenom och resultatet se ut enligt: Note #1: En av de fyra testfallen är avstängda, skall användas senare Note #2: Så snart innehåll i databasen för EI och/eller demo-tidbok ändrats så kommer sannolikt dessa tester fallera
14
Förberedelsearbete, forts… • Din lokala skltp-instans är nu installerad och verifierad!
• Du kan nu fortsätta med valfria delar av utbildnings-materialet alternativt prova dig fram på egna vägar J
15
Var är vi? • Förberedelsearbete
• Introduktion – Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
16
Introduktion av referensarkitektur • Övergripande presentationer av
Lennart Eriksson och Lars Erik Röjerås, CeHis
– tjansteplattform_presentation.pdf
– Tekniska_arkitekturen_for_varden_RIVTA 2.1
• Referensmaterial - http://rivta.se/documents/
– ARK_0019 - Referensarkitektur för vård och omsorg - T-boken
– ARK_0001 - 0009 – RIV Tekniska Anvisningar
• Tjänstekontrakt och tjänstedomäner
17
Grundläggande begrepp från T-‐boken
Se kap. 5.3 ”Referensarkitektur – Teknisk Vy” i T-boken
– Tjänsteplattform » Virtualiseringsplattform » Aggregeringsplattform
– Stödtjänster » Tjänsteadresserings-
katalog » Engagemangsindex » Meddelandetjänst
– Tjänsteväxel – Anslutningsarkitektur
Frågor: Varför har vi dessa begrepp (+ RIV TA och tjänstekontrakt)? Svar: För att lösa ett antal problem…
18
• Vård - Sverige är stort… – Stor mängd IT system som behöver utbyta information – Användning av olika protokoll och meddelandeformat
gör det svårt att utbyta information – Ständigt pågående förändringar – Hårda kopplingar och punkt till punkt integrationer
motverkar förändringsbehoven…
• Detta leder till ett antal frågeställningar: – Problem #1: Hur hantera olika protokoll? – Problem #2: Hur hantera olika meddelandeformat? – Problem #3: Verksamheters IT-stöd ändras över tiden.
Vilket IT-system ger en viss verksamhet IT-stöd just nu? – Problem #4: Informationsägande verksamhet skall godkänna
access till informationen, hur kan den göra det?
– Problem #5: Centralistiska lösningar medför risker med t ex centrala störningar och trög central administration. Hur motverka det?
– Problem #6: Var finns information om en viss invånare? – Problem #7: Vilka tidbokningar (osv…) har en viss invånare?
Problemformuleringar
19
Problem #1: Hur hantera olika protokoll? Svar: RIV Tekniska Anvisningar 2.x (RIV-‐TA) • Nationellt standardiserat protokoll för vården • Baserad på etablerad standard ”WS-I Basic Profile v1.1” • Säkerhetsmodell baserad på SSL med mutual authentication
– Etablerar Trust mellan kommunicerande system – Tjänstekonsuments och tjänsteproducents certifikat
innehåller identitet för de kommunicerande systemen » Baserad på CITHS certifikat med HSA-ID
Tjän
ste-
ko
nsum
ent Tjänste-
producent
Klient certifikat Server certifikat
HSA-‐ID Konsument-‐Id
Request
HSA-‐ID Logical-‐Adress
HSA-‐ID Producent-‐Id
20
Problem #2: Hur hantera olika meddelandeformat? Svar: Tjänstekontrakt
• Gemensamma meddelandeformat
<soapenv:Envelope ... <soapenv:Header> <urn:Actor> <urn:actorId>?</urn:actorId> <urn:actorType>?</urn:actorType> </urn:Actor> <urn1:LogicalAddress>HSA-VKK123</urn1:LogicalAddress> </soapenv:Header> <soapenv:Body> <urn2:GetSubjectOfCareSchedule xmlns:urn2="urn:riv:crm:scheduling:GetSubjectOfCareScheduleResponder:1"> <urn2:healthcare_facility>HSA-VKK123</urn2:healthcare_facility> <urn2:subject_of_care>188803099368</urn2:subject_of_care> </urn2:GetSubjectOfCareSchedule> </soapenv:Body> </soapenv:Envelope>
Tjän
ste-
ko
nsum
ent Tjänste-
producent
Request
SOAP body Tjänstekontrakt: - GetSubjectOf-! CareSchedule!
21
Problem #3: Vilket IT-‐system ger en viss verksamhet IT-‐stöd just nu? Svar: Vägval baserat på verksamhetsbaserad adressering
• Verksamhetsbaserad adressering mha headern ”LogicalAddress”
– Exempel: HSA-VKK123 identifierarar i skltp-box vårdcentralen i Kärna
<soapenv:Envelope ... <soapenv:Header> <urn:Actor> <urn:actorId>?</urn:actorId> <urn:actorType>?</urn:actorType> </urn:Actor> <urn1:LogicalAddress xmlns:urn1="urn:riv:itintegration:registry:1"> HSA-VKK123 </urn1:LogicalAddress> </soapenv:Header> <soapenv:Body> <urn2:GetSubjectOfCareSchedule> <urn2:healthcare_facility>HSA-VKK123</urn2:healthcare_facility> <urn2:subject_of_care>188803099368</urn2:subject_of_care> </urn2:GetSubjectOfCareSchedule> </soapenv:Body> </soapenv:Envelope>
Tjän
ste-
ko
nsum
ent Tjänste-
producent Request
SOAP header LogicalAddress: � -‐ HSA-VKK123 (HSA-‐ID)
22
Problem #3: Fortsättning… • Vägval görs baserat på den verksamhets-
baserade logiska adressen • Vägval görs i en central accesspunkt, i en tjänsteplattform
– Varje tjänstekontrakt exponeras i tjänsteplattformen som en virtuell tjänst
• Vägvalsinformation hålls i en tjänsteadresseringskatalog
23
Problem #4: Informationsägande verksamhet skall godkänna access till informationen, hur kan den göra det? Svar: Behörighet baserad på verksamhetsbaserad adressering
• Behörighet görs också baserat på den verksamhetsbaserade logiska adressen
• Behörighet görs också i tjänsteplattformen • Behörighetsinformation hålls också i
tjänsteadresseringskatalogen
24
Problem #1 -‐ #4: Sammanfattning • RIV-TA + tjänstekontrakt + tjänsteplattform
möjliggör tillsammans en lös koppling mellan tjänstekonsumenter och tjänsteproducenter
Tjänste-‐plaform
25
Problem #5: Hur motverka risker med t ex centrala störningar och trög central administration? Svar: Samverkan i federation
• T-boken beskriver att landsting och regioner kan (dvs valfritt) använda en tjänsteplattform lokalt
Service plahorm Tjänste-‐plaform
Service'pla+orm'Service'
pla+orm'
Regional tjänste-‐plaform
26
Problem #6: Var Uinns information om en viss invånare? Svar: Slå upp i Engagemangsindex
Källa: SKLTP EI SAD - Systemsamverkan
27
Problem #7: Vilka tidbokningar (osv…) har en viss invånare? Svar: Fråga aggregerande tjänster
Källa: SKLTP AgP SAD - Systemsamverkan 28
Belysande exempel • Följande exempel kommer användas
återkommande i utbildningsmaterialet Tj
änst
e-
kons
umen
t Nationell Tjänste- plattform
Klient certifikat NTjP certifikat
HSA-‐ID: client!
Tjänste- producent
Server certifikat
HSA-‐ID: Schedulr!
Request
SOAP header LogicalAddress: � -‐ HSA-VKK123 (HSA-‐ID) � SOAP body Tjänstekontrakt: - GetSubjectOf-! CareSchedule!
Tjänstekonsuments IdenAtet: ”client”
Tjänsteproducents IdenAtet: ”Schedulr”
InformaAonsägande verksamhets idenAtet:
”HSA-VKK123”
Tjänstekontrakt: GetSubjectOfCareSchedule
29
Var är vi? • Förberedelsearbete
• Introduktion – Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
30
Introduktion av SKLTP • Öppen källkods projekt enligt direktiv från CeHis
• Referensimplementation av T-boken
• Används i Ineras Nationella Tjänsteplattform och av ett antal landsting och regioner.
• Dokumentation och källkod – Google Code – Ny Wiki under framtagning
• Gå igenom komponenterna i SKLTP – I nuvarande version v2.2 – Kommande komponenter (höst 2013)
• Gå igenom datamodell i TAK (Tjänste Adresserings Katalogen) 31
SKLTP -‐ Komponenter
32
SKLTP – VP och TAK
33
SKLTP – EI och Aggregerande Tjänster
34
SKLTP -‐ Anpassningstjänster
35
SKLTP – Kommande komponenter (höst 2013)
Med
deland
e-‐
hantering
NoA
fierin
gs-‐
tjänst
36
Belysande exempel • Från genomgång av referensarkitekturen
Tjän
ste-
ko
nsum
ent Nationell
Tjänste- plattform
Klient certifikat NTjP certifikat
HSA-‐ID: client
Tjänste- producent
Server certifikat
HSA-‐ID: Schedulr
Request
SOAP header LogicalAddress: � -‐ HSA-‐VKK123 (HSA-‐ID) � SOAP body Tjänstekontrakt: -‐ GetSubjectOfCareSchedule
Tjänstekonsuments idenAtet
Tjänsteproducents idenAtet
InformaAonsägande verksamhets idenAtet
InformaAonsägande verksamhets idenAtet
37
SKLTP – TAK -‐ Datamodell
38
SKLTP – TAK -‐ Datamodell
RIV-‐TA protokoll versioner
39
SKLTP – TAK -‐ Datamodell
Tjänster
40
SKLTP – TAK -‐ Datamodell
InformaSons-‐ ägande
verksamhet
41
SKLTP – TAK -‐ Datamodell
Kommunicerande system, konsument och/eller producent
42
SKLTP – TAK -‐ Datamodell
RouSng-‐informaSon
43
SKLTP – TAK -‐ Datamodell
Behörighets-‐ informaSon
44
Belysande exempel • Från genomgång av referensarkitekturen
Tjän
ste-
ko
nsum
ent Nationell
Tjänste- plattform
Klient certifikat NTjP certifikat
HSA-‐ID: client
Tjänste- producent
Server certifikat
HSA-‐ID: Schedulr
Request
SOAP header LogicalAddress: � -‐ HSA-‐VKK123 (HSA-‐ID) � SOAP body Tjänstekontrakt: -‐ GetSubjectOfCareSchedule
Tjänstekonsuments idenAtet
Tjänsteproducents idenAtet
InformaAonsägande verksamhets idenAtet
InformaAonsägande verksamhets idenAtet
45
Var är vi? • Förberedelsearbete
• Introduktion – Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
46
Genomgång av demo miljön • Arkitekturell översiktsbild • Tekniska integrations och deploy bilder • Installerad mjukvara • Några ”bra att ha” kommandon
47
Arkitekturell översiktsbild
Lägg till EI och Agg Tj för Tidbokning
48
Tekniska integrations och deploy bilder
Lägg till EI och Agg Tj för Tidbokning
49
Tekniska integrations och deploy bilder Lägg till EI och Agg Tj för Tidbokning
50
Installerad mjukvara En virtuell box som innehåller allt du behöver för att köra SKLTP
51
Installerad mjukvara (2) • VP (Virtualiseringsplattform) • TAK - Tjänsteadresseringskatalog) • GetSubjectOfCareSchedule
(virtualisering för tidbokning) • Schedulr
(En demo applikation för Tidbokning med tjänst och webapp)
Lägg till EI och Agg Tj för Tidbokning
52
Installerad mjukvara (3) • CentOS v6.3 (32-bitars) • Java v7.0 (32-bitars) • Apache v2.2.15 • Tomcat v7.0.35 • Mule ESB CE v3.3.1 • ActiveMQ v5.6.0 • MySQL v8.4.2
53
Java • Oracle Java SE Development Kit 7u21 32-bit • JAVA_HOME=/usr/java/jdk1.7.0
54
Apache HTTPD • /etc/httpd • RUN_AS = apache • Port: 80 • Logfiler /etc/httpd/logs/[access.log | error.log] • Config /etc/httpd/conf/httpd.conf • Start, stop och restart
$ sudo /etc/init.d/httpd [ start | stop | restart]
55
Tomcat • $CATALINA_HOME=/opt/tomcat-7.0.35 • RUN_AS = root • HTTP port: 8080 • Admin användare: skltp/skltp • Logfil $CATALINA_HOME/logs/catalina.out
$ less /opt/tomcat-7.0.35/logs/catalina.out • Start, stop och restart
$ sudo /etc/init.d/tomcat7 [start | stop | restart] • Installerade applikationer
– TAK – Schedulr
56
Mule ESB CE • $MULE_HOME=/opt/mule-3.3.1 • RUN_AS = mule • Portar enligt property fil (se nedan) • Konfigurationsfiler $MULE_HOME/conf • Logfil $MULE_HOME/logs/mule.log
$ less /opt/mule-3.3.1/logs/mule.log • Start, stop och restart
$ sudo /etc/init.d/mule-3.3.1 [start | stop | restart] • Applikationer $MULE_HOME/apps
57
TAK – Tjänste Adresserings Katalog • Tjänst och webgränssnitt för administration av
– Tjänstekontrakt – Producenter – Konsumenter – Logiska Adresser – Logiska Adressater – Anropsbehörigheter
58
Virtualiseringsplattform • vp-services-2.1.0
/opt/mule-3.3.1/apps/vp-services-2.1.0 • Virtualiseringar finns i katalogen
/opt/mule-3.3.1/apps/vp-services-2.1.0/lib • Konfigurationsfiler $MULE_HOME/conf
vp-config.properties, vp-security.properties, hsacache.xml, hsacachecomplementary.xml
• Installerad virtualisering : GetSubjectOfCareSchedule (virtualisering för tidbokning)
• Fler virtualiseringar finns i katalogen /home/skltp/virtuell-services
Lägg till dito om EI och Agg Tj för Tidbokning
59
Active MQ • /opt/activemq-5.6.0/ • RUN_AS = activemq • Konfigurationsfil
/opt/activemq-5.6.0/conf/activemq.xml • Portar :
openwire 61616, web console 8161 • Start, stop och restart
/etc/init.d/activemq-5.6.0 [start | stop | restart]
60
My SQL • Rotanvändare: root/secret • RUN_AS = mysql • Port : 3306 • Konfigurationsfil
/etc/my.cnf • Loggfil
/var/log/mysqld.log • Administration
Web konsol - http://33.33.33.33/phpMyAdmin/ Terminal - $ mysql –u root -p
61
Genomgång av demo miljön • Några ”bra att ha” kommandon
– Logga in på demo miljön (pwd=usr): ssh [email protected]
– Öppna terminal Menyval: Applications -> System Tools -> Terminal
– Starta soap-ui soapui-4.5.2/bin/soapui.sh &
– Visa skrivningar till Mule’s logfil: tail -F /opt/mule-3.3.1/logs/mule.log &
– Starta om VP-appen i Mule (fungerar inte alltid, starta då om Mule istället enligt nedan) sudo touch /opt/mule-3.3.1/apps/vp-services-2.1.0/vp-config.xml
– Starta om Mule sudo /etc/init.d/mule-3.3.1 restart
– Command line management tool: CRaSH for Mule ssh -p 4022 -l root 33.33.33.33 (pwd: mule)
62
Var är vi? • Förberedelsearbete
• Introduktion – Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
63
Testa förkonUigurerat tjänstekontrakt 1. Prova Tidboknings demo-app, Schedulr 2. Prova GetSubjectOfCareSchedule tjänsten
– Direkt mot demo producent – Genom VP
3. Ändra routing och behörighetsregler i TAK 4. Integration med HSA’s organisationsträd
Övning 1
64
Testa förkonUigurerat tjänstekontrakt 1. Prova Tidboknings demo-app, Schedulr
– Menyval ”Tidbokning demo app: Schedulr GUI”
Övning 1
65
Testa förkonfigurerat tjänstekontrakt 1. Prova Tidboknings demo-app, Schedulr, forts…
– Visa/ändra/ta bort befintliga tidbokningar: ”Time slots”
Övning 1
66
Testa förkonUigurerat tjänstekontrakt 1. Prova Tidboknings demo-app, Schedulr, forts…
– Skapa ny tidbokning: ”Time slots”
Övning 1
67
Testa förkonUigurerat tjänstekontrakt 2. Prova GetSubjectOfCareSchedule tjänsten mha
soapUI – Expandera GetSubjectOfCareScheduleResponderBinding >
GetSubjectOfCareScedule. – Dubbelklicka på 'Patient Agda, VC: Kärna' och ett nytt
fönster öppnas.
– Det finns två ändpunkter i denna tjänst: » En för HTTP som går direkt mot
demotjänsteproducenten » En med HTTPS som går mot tjänsten i
virtualiseringsplattformen.
Övning 1
68
Testa förkonUigurerat tjänstekontrakt 2. Prova GetSubjectOfCareSchedule tjänsten mha soapUI,
forts…
Övning 1
69
Testa förkonUigurerat tjänstekontrakt 3. Ändra routing och behörighetsregler i TAK
– Ändra Routing-information » Menyval: TAK GUI (skltp/skltp) à Administrera logiska adresser
àVälj Id=1 (Logisk adressat: HSA-VKK123) à Redigera à Ändra Fr.o.m tidpunkt till 2113. à Uppdatera
» Menyval: VP: reset TAK cache » Prova anrop i soapUI mot logisk adress ”HSA-VKK123”
» Återställ routingen, reset cache och prova igen, skall fungera igen!
Övning 1
70
Testa förkonUigurerat tjänstekontrakt 3. Ändra routing och behörighetsregler i TAK, forts…
– Ändra Behörighetsregler » Menyval: TAK GUI (skltp/skltp) à Administrera anropsbehörigheter
àVälj Id=1 (Tjänstekonsument: tp, Logisk adressat: HSA-VKK123) à Redigera à Ändra Fr.o.m tidpunkt till 2113. à Uppdatera
» Menyval: VP: reset TAK cache » Prova anrop i soapUI mot logisk adress ”HSA-VKK123”
» Återställ behörighet, reset cache och prova igen, skall fungera igen!
Övning 1
71
Testa förkonUigurerat tjänstekontrakt 4. Integration med HSA’s organisationsträd
– Problemställning: Routing och behörighet sker på logisk-adressat, ger skalbarhetsproblem då antalet uppkopplade logiska adresser, konsumenter och producenter växer.
» Routing: Varje producent skall kopplas ihop med de logisk-adressater den hanterar per kontrakt
» Behörighet: Varje konsument skall kopplas ihop med de logisk-adressater den ges rätt att anropa, också per kontrakt
Övning 1
72
Testa förkonUigurerat tjänstekontrakt 4. Integration med HSA’s organisationsträd, forts…
– Lösning: Utnyttja HSA’s organisationsträd och ge möjlighet att sätta routing och behörighet ”högre upp” i trädet än på lövnivå’s (dvs de logiska adressaterna, tex Vårdcentraler eller Vårdenheter).
– I övning #2 konfigurerar vi routing och behörighet ”högre upp” i trädet: » Regional tjänsteproducent » Nationell tjänstekonsument » Se bild på nästa sida från övning #2
Övning 1
SKA VI INTE ÖVA DET HÄR OCH NU ISTÄLLET???
73
Från övning#2, konUigurera nytt tjänstekontrakt för samtycke
SE
SLL VGR ÖLL
HSA-‐VKM345
HSA-‐VKK123
HSA-‐VKY567
Vårdcentralen kusten, Kärna
Vårdcentralen kusten, Marstrand
Vårdcentralen kusten, YEerby
RouSng All Regional
tjänsteproducent
Behörighet All NaAonell
tjänstekonsument
Anrop All Logical-‐address= HSA-‐VKM345
Övning 1
74
Var är vi? • Förberedelsearbete
• Introduktion – Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
75
KonUigurera nytt tjänstekontrakt 1. Leta upp tjänstens namn och domän på rivta.se,
sök efter ”Samtycke”. Svar bör bli: – Tjänstedomän: ”ehr:patientconsent” – Tjänst: ”CheckConsent”
2. Lägg på virtuell tjänst
3. Lägg på test stubbe för tjänsteproducent – Routa alla anrop inom VGR till test stubben,
dvs behandla producent som regional
4. Ge behörighet till tjänstekonsument – Ge access på Sverige-nivå,
dvs behandla konsument som nationell
Övning 2
76
KonUigurera nytt tjänstekontrakt
SE
SLL VGR ÖLL
HSA-‐VKM345
HSA-‐VKK123
HSA-‐VKY567
Vårdcentralen kusten, Kärna
Vårdcentralen kusten, Marstrand
Vårdcentralen kusten, YEerby
RouSng All Regional
tjänsteproducent
Behörighet All NaAonell
tjänstekonsument
Anrop All Logical-‐address= HSA-‐VKM345
Övning 2
77
Exempel HSA-‐träd sudo vi /opt/mule-3.3.1/conf/hsacache.xml <?xml version="1.0" encoding="UTF-8"?>
<HsaUnitsResponse xmlns="urn:riv:hsa:HsaWsResponder:3"> <startDate>2013-03-15T15:38:42.597+01:00</startDate>
<endDate>2013-03-15T15:38:45.721+01:00</endDate> <hsaUnits> <hsaUnit>
<hsaIdentity>HSA-VKY567</hsaIdentity> <DN>ou=Vårdcentralen kusten, Ytterby,o=Västra Götalandsregionen,l=VGR,c=SE</DN>
<name>Vårdcentralen kusten, Ytterby</name> </hsaUnit> <hsaUnit>
<hsaIdentity>HSA-VKM345</hsaIdentity> <DN>ou=Vårdcentralen kusten, Marstrand,o=Västra Götalandsregionen,l=VGR,c=SE</DN>
<name>Vårdcentralen kusten, Marstrand</name> </hsaUnit> <hsaUnit>
<hsaIdentity>HSA-VKK123</hsaIdentity> <DN>ou=Vårdcentralen kusten, Kärna,o=Västra Götalandsregionen,l=VGR,c=SE</DN>
<name>Vårdcentralen kusten, Kärna</name> </hsaUnit> <hsaUnit>
<hsaIdentity>HSA-VGR</hsaIdentity> <DN>o=Västra Götalandsregionen,l=VGR,c=SE</DN>
<name>Västra Götalandsregionen</name> </hsaUnit> </hsaUnits>
</HsaUnitsResponse>
Övning 2
78
KonUigurera nytt tjänstekontrakt 2. Lägg på virtuell tjänst
– Kopiera jar-fil till VP-appen i Mule cd sudo cp virtual-services/ehr-patientconsent-CheckConsent-virtualisering-1.0.jar /opt/mule-3.3.1/apps/vp-services-2.2.0/lib/
– Starta om VP-appen i Mule (se ”bra att ha kommandon”)
– Notera i loggen att ny jar-fil laddas 2013-05-29 20:41:10,285 INFO ... - Loading XML bean definitions from URL [.../ehr-patientconsent-CheckConsent-virtualisering-1.0.jar...]
Övning 2
79
KonUigurera nytt tjänstekontrakt
2. Lägg på virtuell tjänst, forts… – Registrera tjänstekontrakt i TAK
» Namnrymd:
– Reset av TAK-cache i VP » Finns färdigt menyval
urn:riv:ehr:patientconsent:accesscontrol:CheckConsent:1:rivtabp21
Övning 2
80
KonUigurera nytt tjänstekontrakt 2. Lägg på virtuell tjänst
– Importera WSDL in i soapUI https://33.33.33.33:20000/vp/CheckConsent/1/rivtabp21?wsdl
– Gör ett provskott (skall ge VP004 No Logical Adress found)
Övning 2
81
KonUigurera nytt tjänstekontrakt 3. Lägg på test stubbe för tjänsteproducent
– Kopiera jar-filer till VP-appen i Mule sudo cp virtual-services/ehr-patientconsent-checkconsent-testproducer-1.0.0-SNAPSHOT.jar /opt/mule-3.3.1/apps/vp-services-2.2.0/lib/ sudo cp virtual-services/ehr-patientconsent-schemas-1.jar /opt/mule-3.3.1/apps/vp-services-2.2.0/lib/
Övning 2
82
KonUigurera nytt tjänstekontrakt 3. Lägg på test stubbe för tjänsteproducent, forts…
– Lägg på property för inbound-endpoint på test stubbe sudo gedit /opt/mule-3.3.1/conf/vp-config.properties EHR_PATIENTCONSENT_ASSERCONTROL_CHECKCONSENT_TESTSTUB_INBOUND_URL=http://localhost:20001/teststubservice/CheckConsent/1/rivtabp21
– Starta om VP-appen i Mule
– Notera i loggen att ny jar-fil laddas 2013-05-29 20:41:10,285 INFO ... - Loading XML bean definitions from URL [.../ehr-patientconsent-checkconsent-testproducer-1.0.0-SNAPSHOT.jar...]
Övning 2
83
KonUigurera nytt tjänstekontrakt 3. Lägg på test stubbe för tjänsteproducent, forts…
– Testa anrop direkt mot test stubbe i soap UI med URL: » Klicka på URL’en och välj ”Add new endpoint” » Ange: http://33.33.33.33:20001/teststubservice/
CheckConsent/1/rivtabp21
Övning 2
84
KonUigurera nytt tjänstekontrakt 3. Lägg på test stubbe för tjänsteproducent, forts…
– Registrera test stubbe i TAK som producent för all samtycke i VGR
1. Registrera teststubbe som tjänstekomponent
2. Registrera logisk adressat för VGR (identitet på verksamhet)
3. Registrera logisk adress (verksamhetsbaserad routing till test stubben)
Övning 2
85
KonUigurera nytt tjänstekontrakt 3. Lägg på test stubbe för tjänsteproducent, forts…
– Registrera test stubbe i TAK som producent för all samtycke inom VGR
1. Registrera teststubbe som tjänstekomponent HSA-id: Samtycke-test-stubbe Adress:
http://33.33.33.33:20001/teststubservice/CheckConsent/1/rivtabp21
Övning 2
86
KonUigurera nytt tjänstekontrakt 3. Lägg på test stubbe för tjänsteproducent, forts…
– Registrera test stubbe i TAK som producent för all samtycke i VGR 2. Registrera logisk adressat för VGR (identitet på verksamhet)
Övning 2
87
KonUigurera nytt tjänstekontrakt 3. Lägg på test stubbe för tjänsteproducent, forts…
– Registrera test stubbe i TAK som producent för all samtycke i VGR
3. Registrera logisk adress (verksamhetsbaserad routing till test stubben)
– Välj värden enligt bilden!
Övning 2
88
KonUigurera nytt tjänstekontrakt 3. Lägg på test stubbe för tjänsteproducent, forts…
– Reset av TAK-cache i VP (finns färdigt menyval)
– Gör ett nytt provskott mot den virtuella tjänsten (skall ge VP007 Authorization missing) » Ange HSA-VKM345 (vårdcentralen i Marstrand) som
LogicalAddress!
Övning 2
89
KonUigurera nytt tjänstekontrakt 4. Ge behörighet till tjänstekonsument på Sverige-nivå
– Registrera en Sverige-adressat
Övning 2
90
KonUigurera nytt tjänstekontrakt 4. Ge behörighet till tjänstekonsument på
Sverige-nivå, forts…
– Registrera behörighet för test cert (hsa-id: tp) på Sverige-nivå för CheckConsent
– Använd värden enligt bilden!
Övning 2
KonUigurera nytt tjänstekontrakt 4. Ge behörighet till tjänstekonsument på Sverige-nivå, forts…
– Reset av TAK-cache i VP (finns färdigt menyval)
– Nu skall anrop genom virtuell tjänst fungera!
Ange HSA-VKM345 (vårdcentralen i Marstrand) som LogicalAddress!
Övning 2
92
Var är vi? • Förberedelsearbete
• Introduktion – Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
93
TO DO • Update – demotidbok • FindContent – soap ui • ProcessNotifications – EI event viewer
Övning 3
94
Var är vi? • Förberedelsearbete
• Introduktion – Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
95
TO DO • Lägg på bokning för Marsstrand
– Visa indexpost i EI • SOAP UI
– Visa att den inte syns i sökning mot kärra eller den andra
– Prova Ag Tj mot samma TK med Inera som logisk-adress
Övning 4
96
Summering, vad har vi gjort idag? • Introduktion
– Referensarkitektur: T-boken, RIV-TA och tjänstekontrakt – Referensimplementationen av T-boken: SKLTP
• Genomgång av demo miljön: SKLTP-box – Vad har vi i lådan?
• Övningar – Övning 1: Testa förkonfigurerat tjänstekontrakt i VP/TAK – Övning 2: Konfigurera nytt tjänstekontrakt i VP/TAK – Övning 3: Testa gränssnitten i EI – Övning 4: Testa en aggregerande tjänst
97
Frågor och nästa steg? • Frågor från dagen?
• Vad är nästa steg?
Exempel: – Göra djupdykningar i T-bokens regelverk...
– Planera hur SKLTP kan installeras i ett ert systemlandskap…
– Beskriva hur SKLTP fungerar under ytan, dvs titta på dess interna uppbyggnad och källkod…
98