...
Versionshistorik | ||
Version | Författare | Kommentar |
PA1 | Mattias Nordvall | Första utkast |
PA2 | Mattias Nordvall | Uppdaterat efter intern remiss |
PA3 | Lars Erik Röjerås | Justeringar efter genomläsning |
1.0 | Mattias Nordvall | Dokumentets underrubrik är nu ”Tekniska krav” istället för ”Regler för interoperabilitet”. Lagt till kapitel med definition av termer. Tagit bort texter om reverse proxy (betraktas som implementationsdetalj). Lagt till felkoder för virtualiseringsplattform. Tagit bort regel om loggning av förändringar av TAK-information (inte ett tekniskt krav). Tagit bort skrivning om godkännande av tjänstekontrakt i 3.1.1 (inte ett tekniskt krav). Ändrat regel om uppbyggnad av URL:er till att enbart beskriva slutet på adresserna (det enda som är reglerat i RIV TA). Förtydligat att anropsbehörighet i TAK avser närmast anropande tjänstekonsument. Kapitlet om TAK använde begreppet ”logisk adress” om två olika saker. Lagt till översiktligt kapitel om Tjänsteväxel. Korrigerat ordval och stavfel. Uppdaterade illustrationer. |
1.0.1 | Mattias Nordvall | Korrigerat vissa formuleringar och illustrationer. Nytt stycke om förhållandet mellan nationella och regionala tjänsteplattformar. |
1.1 | Mattias Nordvall | Kapitlet om anpassningsplattform och tjänsteväxel omskrivet och felaktigheter korrigerade. Regel ”Exponering av URL:er” i kapitel 4 korrigerad för att överensstämma med underliggande regelverk. Exempel från den senaste versionen av RIV-TA Basic Profile, t.ex. SOAP Headers, är ändrade till mer generella begrepp |
1.2 | Mattias Nordvall | Lagt till regler i kapitel 4 från RIV TA Basic Profile 2.0. Dessa regler behöver följas av tjänsteplattformar. Lagt till Regel #6 under kapitlet Aggregeringsplattform. |
1.3 | Mattias Nordvall | Uppdaterat Regel #6 under kapitlet Aggregeringsplattform. |
Inledning
Hälso- och sjukvårdssektorn i Sverige har på uppdrag av Sveriges Kommuner och Landsting och under ledning av CeHis, nuvarande Inera, gemensamt tagit fram en nationell teknisk arkitektur i syfte att stödja samarbete över organisationsgränserna.
...
Tjänsteplattform med ingående komponenter. Vissa komponenter är valfria.
1.1 Syfte
Syftet med dokumentet är att underlätta utvecklings- och valideringsinsatser genom att samla de krav och regler som ställs på en tjänsteplattform.
1.2 Målgrupp
Målgruppen för detta dokument är tekniska arkitekter och utvecklare som ska realisera en tjänsteplattform enligt T-boken och RIV Tekniska Anvisningar.
1.3 Avgränsningar
Denna anvisning beskriver enbart tekniska regler. Därmed utelämnas ämnen som t.ex. godkännandeprocess kring tjänstekontrakt och krav på loggning.
1.4 Fallstudier
Det har gjorts ett antal implementationer av tjänsteplattformar av den typ som beskrivs i detta dokument. Genom att studera dessa kan kompletterande information fås kring hur reglerna i detta dokument har tolkats och realiserats.
Namn | Adress | Beskrivning |
SKL TP | Officiell referens-implementation. Bygger på Mule ESB. | |
Regional tjänsteplattform, Landstinget Dalarna | Landstinget Dalarnas implementation av SKL TP |
1.5 Referenser
Ref | Dokument | Beskrivning |
[R1] | T-boken | Referensarkitektur för vård och omsorg |
[R2] | RIV Tekniska Anvisningar – Översikt | |
[R3] | RIV Tekniska Anvisningar – Basic Profile | RIV-TA:s tillägg till WS-I Basic Profile |
[R4] | RIV Tekniska Anvisningar – Basic Profile – Valfria Tillägg 2.1 | |
[R5] | RIV Tekniska Anvisningar – Tjänsteschema | Beskrivning av schema-filer för tjänstekontrakt. |
[R6] | Tjänstekontrakts-beskrivning Engagemangsindex | Beskrivning av tjänstekontrakt i domänen itintegration:engegementindex. |
[R7] | WS-I Basic Profile 1.1 | En specifikation på protokollanvändning i syfte att kunna implementera interoperabla webbtjänster. |
[R8] | Tjänstekontrakts-beskrivning Tjänsteadressering | Beskrivning av tjänstekontrakt i domänen infrastructure:itintegration:registry. http://rivta.se/domains/infrastructure_itintegration_registry.html |
2. Terminologi
Följande termer förekommer i dokumentet.
Term | Definition |
Tjänstekonsument | En tjänstekonsument är en tjänstekomponent (informationssystem) där agerandet leder till ett automatiskt informationsutbyte med andra tjänstekomponenter (exempelvis tjänsteproducenter). En tjänstekonsument kan t ex vara en eTjänst, ett verksamhetssystem, en partneringång eller en tjänsteplattform. Tjänstekonsumenten agerar som initiativtagare i ett informationsutbyte. |
Tjänsteproducent | En tjänsteproducent är en tjänstekomponent som har ett tekniskt gränssnitt som möjliggör för tjänstekonsumenter att genom meddelanden förändra eller begära information. |
Tjänstekomponent | Avgränsad mängd programvara som kan utvecklas, integreras, testas, driftsättas och förvaltas fristående. |
Tjänstekontrakt | Specifikation som beskriver ett nationellt standardiserat gränssnitt som förekommer mellan tjänstekomponenter i en tjänsteorienterad arkitektur. |
Tjänstedomän | En enligt VIFO-kartan övergripande, verksamhetsbaserad indelningsgrund för nationellt standardiserade tjänsteinteraktioner. |
Tjänsteinteraktion | Informationsutbyte mellan tjänstekomponenter baserat på tjänstekontrakt. |
3. Allmänt
3.1 Regelverk
Följande regelverk ställer krav på tjänsteplattformar:
3.1.1 T-boken
T-boken beskriver en referensarkitektur samt definierar styrande principer. Dessa syftar till att all utveckling av e-tjänster ska sträva mot samma mål och uppfylla de långsiktiga behoven. T-boken ger också motiv till de arkitekturella mönster som har valts. Se [R1].
3.1.2 RIV Tekniska Anvisningar
RIV Tekniska Anvisningar är den tekniska realiseringen av de koncept som beskrivs i T-boken. Här definieras t.ex. RIV TA Basic Profile (förkortat RIV TA BP), som anger hur den tekniska kommunikationen mellan tjänstekomponenter ska gå till. RIV TA BP baseras på WS-I Basic Profile, som i sin tur bygger på SOAP. Se [R7].
3.2 Nationella och regionala och tjänsteplattformar
Tjänsteplattformar förekommer dels i en nationell instans, men även hos regionala aktörer inom hälso- och sjukvårdssektorn. Oavsett vilket, skall tjänsteplattformarna tillämpa de regler som beskrivs i detta dokument.
...
Observera att anrop direkt mellan regionala tjänsteplattformar inte får förekomma. Anrop mellan tjänstekomponenter anslutna till olika tjänsteplattformar skall alltid ske via den nationella tjänsteplattformen.
4. RIV Tekniska Anvisningar
RIV Tekniska Anvisningar (RIV TA) är en samling specifikationer på hur elektronisk information ska utbytas för att kunna tolkas av tjänstekomponenter byggda på olika mjukvaruplattformar.
...
Då RIVTA Basic Profile 2.0 är en äldre version finns dess dokumentation inte publicerad på rivta.se. Kontakta arkitektur@inera.se vid behov av denna dokumentation.
4.1 Information
4.1.1 Användning av tjänstekontrakt
Allt meddelandeutbyte ska baseras på tjänstekontrakt, som utformats enligt gällande versioner av RIV TA.
4.2 Kommunikation
Följande regler gäller för all kommunikation mellan tjänstekomponenter, inklusive tjänsteplattformars delkomponenter, om inte annat nämns.
...
Detta regleras inte i RIVTA Tjänsteschema 2.0.
5. Virtualiseringsplattform
Virtualiseringsplattformen agerar som en ställföreträdare för alla tjänsteproducenter som implementerat ett tjänstekontrakt och anslutit till aktuell tjänsteplattform. Den uppträder som om det enbart fanns en tjänsteproducent, men dirigerar frågemeddelanden vidare till de faktiska tjänsteproducenterna och förmedlar svarsmeddelandet i retur.
...
Virtualiseringsplattformen har tillkommit för att uppfylla T-bokens arkitekturella princip om lös koppling mellan tjänstekonsumenter och -producenter.
5.1 Regler
Regel #1: Datakommunikation
...
* Terminologi från SOAP 1.1
6. Tjänsteadresseringskatalog
Tjänsteadresseringskatalogen (TAK) har till uppgift att översätta logiska adresser till tekniska adresser, i praktiken URL:er.
Den primära konsumenten av informationen i tjänsteadresseringskatalogen är Virtualiseringsplattformen (VP). Kommunikationen mellan VP och TAK regleras inte av några nationella tjänstekontrakt.
6.1 Regler
Regel #1: Lagring av vägvalsinformation
...
Tjänsteadresseringskatalogen skall implementera den nationella tjänstedomänen infrastructure:itintegration:registry. Kontrakten i denna domän används av vissa avancerade tjänstekonsumenter och -producenter och kan komma att utökas med ytterligare funktionalitet. Se [R8].
7. Aggregeringsplattform
Aggregeringsplattformen har till uppgift att ge en tjänstekonsument ett svar som sammanställts genom att kontakta flera tjänsteproducenter, baserat på information i Engagemangsindex (se kap 8). Detta är en frivillig komponent i en tjänsteplattform.
Aggregeringsplattformen exponerar aggregerande tjänster baserade på RIV TA tjänstekontrakt. Varje aggregerande tjänst exponerar ett specifikt tjänstekontrakt. Villkoret för att kunna använda ett tjänstekontrakt i en aggregerande tjänst är att kontraktets svarsmeddelande är utformat i form av en lista och därigenom stöder att flera svar sammanfogas.
7.1 Relationer till andra tjänster
7.1.1 Virtualiseringsplattform
...
Detta gör att aggregerande tjänster kan anropas via virtualiseringsplattformen, förutsatt att tjänstekonsumenter anger rätt logisk mottagaradress.
87.1.3 Engagemangsindex
Enligt mönstret i T-boken använder sig aggregeringsplattformen av tjänsten engagemangsindex för att få information om vilka tjänsteproducenter som innehåller information som behövs i aggregeringen. Detta leder till att aggregeringsplattformen även behöver en lokal instans av tjänsten engagemangsindex.
...
7.2 Regler
Regel #1: Datakommunikation
...
Då detta utelämnande inte beror på något tekniskt fel, skall Aggregeringsplattformen inte returnera information om utelämnade källsystem i ProcessingStatus (se Regel #5).
8. Engagemangsindex
Den gemensamma arkitekturen beskriver en stödtjänst kallad Engagemangsindex. Den har till uppgift att avlasta aggregeringsplattformen genom att registrera vilka tjänsteproducenter som har uppgifter av en viss typ för en viss person. Denna information gör att en aggregerad tjänst enbart behöver kontakta dessa tjänsteproducenter för att kunna leverera ett fullständigt resultat.
...
Om en tjänsteplattform har en aggregeringsplattform skall även tjänsten engagemangsindex implementeras. Här beskrivs de regler som tjänsten behöver uppfylla.
8.1 Regler
Regel #1: Datakommunikation
...
Se tjänstekontraktsbeskrivning, [R6], för komplett information.
9. Tjänsteväxel och anpassningstjänst
Tjänsteväxel och anpassningstjänst är benämningar på två olika koncept som används för att översätta kommunikation till och från RIV TA.
9.1 Tjänsteväxel
En tjänsteväxel används för att översätta mellan den modell för teknisk kommunikation som används inom hälso- och sjukvårdssektorn och modeller som tillämpas av externa parter, såsom myndigheter. Ett exempel är översättning mellan RIV Tekniska Anvisningar och myndigheters SHS-arkitektur.
...
För mer information se [R1] kapitel 5.2 och 5.3.
9.2 Anpassningstjänst
Anpassningstjänster används för att anpassa IT-system inom hälso- och sjukvårdssektorn till RIV TA-standarden. En anpassningstjänst konstrueras vanligtvis för ett specifikt, icke RIV-kompatibelt, IT-system och anpassar in- och utgående anrop mellan RIVTA och systemet. Detta kan innebära att såväl protokoll, adressering, säkerhetsmekanismer och meddelandeinnehåll förändras.
En anpassningstjänst är en valfri komponent som främst används inom regionala tjänsteplattformar. Anpassningstjänster i en tjänsteplattform bör endast användas om leverantören för det aktuella IT-systemet inte kan tillhandahålla en RIV TA-kompatibel anslutningspunkt inom ramen för sitt förvaltningsobjekt.
9.3 Jämförelse
Både tjänsteväxel och anpassningstjänst används för att översätta kommunikation, men har olika syfte och omfattning:
...