SHS version 2.0 Håkan Svenson, CTO.

Slides:



Advertisements
Liknande presentationer
Leverantör.
Advertisements

Heart to Change – att leda förändringsarbete
Federativa lösningar Hur blir federativa lösningar en naturlig grund för elektronisk samverkan mellan kommuner, myndigheter, landsting, privata utförare.
Skadeståndsrätt I och II
Märkning uteblev – patient opererades på fel sida
Nils Schönström Din Journal på nätet Nils Schönström Dagar om Lagar Nils Schönström.
Tillgänglighet till webben – en del i den nationella handlingsplanen 29 oktober 2002 Sören Hansson Tillgänglighetscentret vid Handikappombudsmannen.
Picsara Mobile Capture Anders Fransén, Produktchef
Informationsnätverk för Vården
Affärsplaner för samhällsentreprenörer?
ebXML Awareness Hvorfor, hvornår, og hvordan skall man bruge ebXML? Gösta Mellquist Senior Consultant, e-ComLogistics.
Demokrati.
– ny invånartjänst för hantering av läkarintyg
BEANS NÖJD KUND INDEX (e-survey undersökning)
Principiell uppläggning av kampanjen, distribution av spelet •Grundversionen av spelet distribueras fysiskt i form av en DVD. Anledningen till att välja.
Mashups Per K, Vad är en mashup? • Mashup är en typ av webbapplikation som sammanställer information och funktionalitet från fler av varandra.
Lektion 6 Mahmud Al Hakim
IT Arbetsplatsen Hur kan det fungera i vår verksamhet
AU Digital samverkan LO Information
”Ett sätt att distribuera Business Objects via webben”
Centrala innehåll och kunskapskrav
Tjänster.
Schemaläggnings- och bokningssystem för Linnéuniversitetet HT12
STANLI Metadata 2005/02/17 Nationellt arbete om Metadata Vilka problem kan vi lösa?
Dialogkort - arbetsmiljö och hälsa
Virus och skräppost
En introduktion till ’Hård Infrastruktur’
Sammanfattning och summering Offentliga rummet 2014
Kammarkollegiets upphandlingsstöd Birgitta Nelson ,
En PowerPoint om PowerPoint
Från Kartago till WMS Mikael Grimheden Kristianstads kommun
Kartdistribution med Web Map Services
Att få rätt saker att hända
Ehälsokommitténs diskussionspromemoria ”Nästa fas i e-hälsoarbetet”
Vården i siffror September 2014.
Picsara DICOM Modulen Från Picsara Picsara DICOM Modulen Från Picsara 10.1.
TEI Header Mats Dahlström Digitalisering av kulturarvet April 2007.
Säkerhetskrav vid informationsutbyte med aktörer inom vård och omsorg
Projekt och Arkitektur
1 Standardiserade Nyttomeddelanden med testbänk nyttomedd_testbaenk_ ppt.
Röd zon Grön zon Grön zon Röd zon.
Viktigt när du upphandlar molntjänster
XHTML & CSS Introduktion Erik Nahkala
”Skolarea”/”skolportal” kommunikation mellan hem och skola
Offentlig sektors ramavtal för ärendehanteringssystem
Lågnivåprogrammering Översikt av I/O-mekanismer i hårdvara Olika språkkrav och modeller för komponent- hantering(device driving) Modeller för komponent-hantering.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Avropsprocessen, del 2 Jan Lundh, Enheten för IT-upphandling.
Medieteknik forskning Dr. Peter Parnes. Bakgrund  Översyn av forskningsämnen  Tekniska fakultetsnämnden  Ca 10 ämnen bort och förslag på ett.
Mashups Per K, Vad är en mashup? Mashup är en typ av webbapplikation som sammanställer information och funktionalitet från fler av varandra.
UTVECKLING MED RAMVERKET.NET Marcus Medina. Dagens visdomsord ” Oavsett om du tror att du kan, eller om du tror att du inte kan, har du helt rätt. ” -
FunktonalitetRIV TA ProfilWS-I ProfilCentrala Specifikationer Grundläggande interoperabilitet Protokoll baserad säkerhet Basic Profile v2.0 Basic Profile.
Funktonalitet RIV TA Profil WS-I Profil Centrala Specifikationer
Textilarbete Alice Höök.
Procedurellt potpurri Dagens samtalsämnen –Klipp (Cut) –If-then-else –fail/0 –repeat/0 Att läsa –The Art of Prolog, kapitel 11 –Relevant avsnitt i Learn.
XML, scheman och mappningar
Föreläsning om RUP RUP – Rational Unified Process
HSA Integration.
Bättre kundupplevelse med relevant och effektfull kommunikation.
Frågor och svar Svensk e-legitimation VästKom
Introduktion till SAML federation Varför använda SAML federation för elektronisk legitimering och underskrift Stefan Santesson Martin Lindström.
Jag ser dig – jag ser dig inte! Om hat.
För enklare verksamhetsutveckling och samverkan mot en smartare välfärd SKL har, tillsammans med GR, tagit fram en digital samverkansplattform där man.
Projektnamn Företagsnamn Presentatör
Projektnamn Företagsnamn Presentatör
Automated and sustainable IT
PoC Mobilt Efos
Test & Kvalitetssäkring
Vad är det som faxas? Analys av faxanvändning inom vård och kommun
Projektets namn | Företagets namn | Presentatör
Presentationens avskrift:

SHS version 2.0 Håkan Svenson, CTO

Vad är SHS? Toppledarforum 1996 ”Gemensamma IT-plattformar för informationsutbyte” SHS = Spridnings och HämtningsSystem” Några år senare ”återfann” man begreppet då RFV, RSV och Statskontoret specificerade och upphandlade en ”produkt” för säker kommunikation Det är en teknisk specifikation och har också blivit ett begrepp

Bakgrund SHS tuffar på i det tysta, säkert och med stora volymer Men det har länge funnits ett behov och ett tryck att modernisera konceptet SHS NG har länge varit i vardande European eLink FGS Verva projekt SHS 2.0 Samarbete med vården på G med RIV 1.0… … men det blev verklighet kring RIVTA 2.0 Det har hänt en del sedan 1998. Det fanns saker som behövde moderniseras

Bakgrund Försäkringskassan har tagit över ansvaret för SHS-specifikationen från Kammarkollegiet 2010 Ett SHS-råd med myndigheter och leverantörer har bildats och träffats ett par gånger per år En hopsamling och uppstädning av specifikationen kallad ”SHS 1.3” Arbetat med SHS version 2.0 Under våren 2013 fastslog man version 2.0 av SHS

Utgångspunkter Samarbeta/samordna med liknande arbeten inom vården (Inera) dvs RIVTA 2.0 Stärk SHS där det behövs, behåll det som är bra Undvika stora ingrepp i såväl specifikation som implementeringar Ta ett steg i taget

SHS starka och svaga sidor Styrkor Känd säkerhet Filöverföring, speciellt stora filer Ostrukturerat innehåll Asynkron hantering Svagheter Direktåtkomst/synkron hantering Strukturerat innehåll

SHS-stacken från version 2.0 Katalog Web Service (från RIVTA) ”Classic” Sync-engine Async-engine Gemensamt SHS (produkttyp, avsändare, mottagare, katalog, adressering, spårbarhet…)

SHS version 2.0 Tillägg till specifikationen (SOAP-based protocol) Baserat på Inera’s RIVTA 2.0 (och i någon mån SSEK) Som är baserat på WS-I Basic Profile 1.1 Som är: The WS-I Basic Profile (official abbreviation is BP), a specification from the Web Services Interoperability industry consortium (WS-I), provides interoperability guidance for core Web Services specifications such as SOAP, WSDL, and UDDI. (Wikipedia) Samt hantering av bilagor enligt XOP/MTOM Mappning till SHS-koncepten Samt allt från ”Classic” SHS

Användningsscenarie 1 Infrastruktur Stor aktör kommunicerar med en annan stor aktör via sina SHS-noder Inblandade verksamhetssystem kommunicerar alltid via noderna Soap:Header med Adressinformation, korrelationsid mm Typ direktåtkomst mellan myndigheter Klassiskt SHS scenario Bilateralt (eller många till en) med routing

Användningsscenarie 2 Liten aktör Liten aktör kommunicerar med stor aktörs SHS-nod Det är ett verksamhetssystem knutet till noden som tar emot eller besvarar Man vill använda renodlad Web Service, d.v.s. utan soap:Header Typ FK Tanden Bilateralt eller många till en, utan routing Saknad shs.label = ”implicit addressing”

Tjänsteinteraktionstyper Fråga-svar (requset-response) Alltid ett helt igenom synkront anrop beskrivet i ett tjänstekontrakt Informationsspridning (oneway) I grunden ett synkront anrop beskrivet i ett tjänstekontrakt. Svaret har ingen semantisk betydelse utöver ok eller fel. Hanteras SHS-mässigt synkront. Genom lokal konfiguration (regel) i den nod som servar anropet kan man välja om ev. fortsatt bearbetningen skall vara synkron eller asynkron men det är utanför specifikationen Uppdrag-resultat (request-reply) Två från varandra fristående synkrona anrop, oftast av typen Informationsspridning Hanteras SHS-mässigt synkront. Genom lokal konfiguration (regel) i den nod som servar uppdrag eller resultat-anropet kan man välja om ev. fortsatt bearbetningen skall vara synkron eller asynkron men det är utanför specifikationen De inblandade noderna behöver inte ha någon kunskap om att en relation finns mellan uppdraget och resultatet. En stark rekommendation är dock att av spårbarhetsskäl relatera dessa med varandra genom samma värde på korrelationsid Allt är i grunden synkront (Web Service är i grunden synkront)

Produkttyper och adressering SHS-label Kan utelämnas. Det tolkas som till den lokala noden Avsändare. Kontrolleras mot certifikat (funktion från SSEK) alternativt skapas från certifikat Mottagare Produkttyp (skapas av 1’a nod) TxId (skapas av 1’a nod) CorrId (optionellt) Fysisk Adressering Sker via katalogen pss som tidigare, dvs en ändpunkt slås upp i adressobjektens attribut ”shsDelieveryMethods” med mottagare och produkttyp som nyckel

Hur bestäms produkttyp? <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tan="http://fk.se/SHS/xsd/tanden"> <soapenv:Body> <tan:FK.TV.TestRoundTripRequest organization-number="1234567898" request-id="a4924e42-4214-ba93-0014-98739237ba27" shs-invoked-interface="Submit Claim v2" vendor-name="Klinik X" product-name="Undersökning Y" version-number="1" user-id="197701011234"> <tan:clinic-id>33312341</tan:clinic-id> </tan:FK.TV.TestRoundTripRequest> </soapenv:Body> </soapenv:Envelope> Root-element och/eller root-elementets namespace slås upp i en regeltabell som ger produkttyp.

Felhantering Den totala bilden är ganska komplex Vi vill ha : Två skikt är inblandade, SHS och applikation. Behoven i dessa är olika och vi vill inte heller att de ska blanda sig i varandras göranden I applikationerna används olika verktyg och programvaror som har sina olika egenheter i t.ex. hur exceptions hanteras i genererad kod Vi har två olika scenarier med olika målgrupp av utvecklare Vi vill ha : Bra felhantering inom SHS Möjlighet till bra felhantering appl till appl Möjlighet till bra mappningar av fel till exceptions i olika verktyg Att i största möjliga mån slippa se något av SHS-skiktet vid utveckling av tjänster i applikationer Man kanske inte alltid kan få allt utan måste kompromissa

Att se eller inte se SHS I det här enkla scenariot vill vi helst inte se något alls av SHS i tjänstekontrakten. Varken header eller faultMessages. Risken för SHS-relaterade fel är även ganska liten I det mer komplexa scenariot måste vi hantera ett schema för SHS headerelement i tjänstebeskrivningen. Då är det ingen stor sak att även hantera ett extra faultMessage för SHS

Att komponera tjänstekontrakt (mycket översiktligt) SHS header elements schema WSDL MyServiceRequest schema MyServiceRequestMessage MyServiceResponseMessage MyServiceResponse schema MyServiceFaultMessage SHSServiceFaultMessage MyServiceFault schema SHSServiceFault schema

Felhantering Interna fel inom SHS hanteras med en fördefinierad faultData-struktur som innehåller relevanta uppgifter om felet Specifikationen innehåller ett schema för faultData Felhantering mellan applikationer end-to-end är öppet för tjänsteutvecklarna att själva bestämma Använda soapFault eller… …använda andra (egna) mekanismer för felhantering Felhantering mellan applikationer är inte svart eller vitt utan ett ganska så grått område. Det finns goda skäl att i olika fall hantera det på olika sätt SHS version 2.0 tillåter olika felhanteringsstrategier i applikationsutvecklingen

Smått och gott Skillnader mot RIVTA minimala Interoperabilitet mellan statliga myndigheter, kommuner och landsting inom räckhåll Samarbetsgrupp SHS-RIVTA diskuteras Promotas av e-delegationen och passar in i EU’s arkitektur-ramverk (EIF) Från RIVTA har SHS ärvt en handboksdel med riktlinjer om hur man konstruerar scheman mm för tjänster FK kommer att ta fram en exempeltjänst inklusive en guide för utvecklare av tjänster

SHS version 2 till iipax 5.3 Som ny protokollmodul Stöd för SHS 2.0 standarden Samt Produkttypsmappning från url (finns i spec WSGW men inte SHS 2.0) Standardplugin för vidareanrop Web Service Standardplugin för lokal lagring (asynkron överföring) Protokollbryggningar