Utfärdad Sven-Håkan Olsson Godkänd av Janne Dicander Dokumenttyp Öppen teknisk plattform Status Fastställd Identitet ÖTP V2.1 Version Utgåva av 2.1 Sid 1 (82) Versionsdatum 2011-03-08 Öppen Teknisk Plattform (ÖTP) V2.1 Sambruk_OTP_v2_1_2011-03-08.doc Projektledare ÖTP Janne Dicander janne.dicander@jonkoping.se
2(82) Historik och beslutade ändringar: Datum Ändring Ändrad av 2003-08-22 Utgåva av ÖTP v1.0 Sven-Håkan Olsson 2004-03-22 Utgåva av ÖTP v1.1 Sven-Håkan Olsson 2005-03-31 Utgåva av ÖTP v1.2 Sven-Håkan Olsson 2007-09-19 Utgåva av ÖTP v2.0. Sven-Håkan Olsson 2009-10-22 Arbetsversion 0.1 inför ÖTP 2.1 Sven-Håkan Olsson 2010-02-08 Arbetsversion 0.2 inför ÖTP 2.1 Sven-Håkan Olsson 2010-05-23 Arbetsversion 0.9 inför ÖTP 2.1, Sven-Håkan Olsson för synpunktsinhämtning Version 092 att konkret provanvända i en Sven-Håkan Olsson 2010-09-12 upphandling. 2011-03-08 Utgåva av ÖTP v2.1 Sven-Håkan Olsson Bilagor: Nr Beteckning Identitet - Referenser: Referensnamn Beteckning Identitet [ÖTP-Intro] Introduktion till ÖTP Sambruk_intro_OTP_v2_1_2011-03- 08.doc [ÖTP- Upphandl] Dokument om upphandling eller andra anskaffanden, baserat på ÖTP. (De konkreta kravformuleringarna som fanns inom huvuddokumentet för ÖTP2.0 är numera utbrutna i detta sseparata dokument.) Sambruk_kravmaster_OTP_v2_1_2011-03-08.xls samt relaterade dokument
3(82) Innehåll: 1. Inledning, dokumentförutsättningar... 5 1.1. ÖTP-dokumentets roller... 6 1.2. Mål och visioner med användning av ÖTP... 6 1.3. ÖTP över tiden... 7 1.4. Anskaffningsdokument... 10 1.5. Roadmap krav på sikt... 10 1.6. Funktionell bakgrund... 11 1.7. Att vara ÖTP-kompatibel... 13 2. Applikationsarkitektur - Referensarkitektur... 14 2.1. Relation till andra referensarkitektursinitiativ... 14 2.2. Remissvar från Sambruk... 18 2.3. Referensarkitekturen i ÖTP... 19 2.4. Relation till Enterprise Architecture... 22 2.5. Översikt referensarkitektur applikationsintegration generellt... 24 2.5.1. Inkapsling betoning på gränssnitt... 24 2.5.2. Integration nära användargränssnitt eller ej... 26 3. Mallarkitekturer inom referensarkitekturen... 30 3.1. Tjänsteorienterad arkitektur, SOA... 30 3.2. Olika behov av anpassningslogik mot verksamhetsapplikation... 32 3.2.1. Direkta anropsgränssnitt... 32 3.2.2. Mönstret "läs online, skriv till fil"... 34 3.2.3. Screen-scraping... 36 3.3. Olika behov av anpassningslogik mot centrala register, eid mm... 38 3.4. Generella applikationsaspekter... 40 3.5. Applikationsintegration EAI, ESB... 40 3.6. SOA understött av EAI/ESB... 42 3.7. Processtöd... 44 3.7.1. Generellt om process-aspekten... 44 3.7.2. Processtöd med hjälp av EAI/ESB... 46 3.7.3. Styrlogik inom EAI/ESB... 47 3.7.4. Processtöd med hjälp av några enklare workflow-funktioner... 47 3.7.4.1. Enkel inkorg... 48 3.7.4.2. Medborgaröverblick, enkel Mina Sidor... 49 3.7.4.3. Enkel timeout... 50 3.7.4.4. Extraenkel, alternativ inkorg... 51 3.8. Ärendeknutpunkt... 52 3.8.1. Ärendeknutpunkt SOA-anrop... 54 3.8.2. Ärendeknutpunkt händelseöverföring... 54 3.8.2.1. Teknik för händelseöverföring... 56 3.9. Mönster för batchuppdatering... 58 3.10. Webb-integration... 61 3.11. Användbarhet... 63 3.12. Sammanhållen inloggning/användarkatalog... 64 3.13. Notifiering... 66 3.14. E-blankett vs interaktiv webbapplikation... 67 3.15. Var datalagring sker... 70 3.16. Stora, asynkrona dataflöden... 70 3.17. Återanvändning vid ytterligare e-tjänst... 71 4. Rörläggning... 72 5. Principer för Nyttomeddelanden... 72 5.1. Nyttomeddelanden via SHS... 77 6. Regler, konventioner, drift... 78 6.1. Informationsöverföring... 78 6.2. Driftsegenskaper och infrastruktur... 79 6.3. Kommunikationsprofiler... 79 6.3.1. Kommunikationsprofil SBR_KPOL... 80 6.3.2. Kommunikationsprofil SBR_KPBA... 80
4(82) 7. Införandeprojekt... 81 7.1. Sambruks grundprocedur för acceptanstest... 81
5(82) 1. INLEDNING, DOKUMENTFÖRUTSÄTTNINGAR Sambruks Öppen Teknisk Plattform (ÖTP) är en specifikation för hur e-tjänster och verksamhetsstöd bör designas tekniskt för att kunna både leda till höjd servicegrad för medborgarna och höjd inre effektivitet i kommunen. Ordet öppen syftar främst på att ett av de viktigaste medlen för att uppnå detta dubbla mål är att olika delar av kommunens IT-stöd inte är inlåsta utan ska kunna samfungera vara interoperabla. Den tänkte läsaren till ÖTP-dokumentet förutsätts vara väl insatt i IT-området och är troligen ofta vara någon person inom Sambruk, kommunernas IT-avdelningar, upphandlingsenheter, IT-leverantörer m fl intresserade. Den mer verksamhetsnäre läsaren, eller den som har översiktligt intresse av ÖTP hänvisas till introduktionen till ÖTP (se [ÖTP-Intro] i referenslistan i inledningen). Specifikt i samband med upphandlingar eller andra anskaffanden hänvisas till ÖTP:s upphandlingsdokument, främst referensen [ÖTP-Upphandl]. Ett stort antal begrepp som används inom IT-världen förekommer i detta dokument. Istället för att inkludera omfattande begreppsförklaringar i dokumentet så hänvisas till lätt tillgängliga beskrivningar på Internet, t ex på www.wikipedia.org och hos sökmotorer. Endast då en formulering i dokumentet för sin entydighet behöver en extra noggrann begreppsdefinition inkluderas en sådan, antingen direkt i löpande text eller som fotnot.
6(82) 1.1. ÖTP-dokumentets roller Föreliggande huvuddokument för ÖTP har flera samtidiga roller: Att tillföra en delomgång leverabler till kommuninitiativet Sambruk inom dess projekt för ÖTP. Föreliggande dokument utgör alltså därmed en version av specifikationen för ÖTP. Att ge roadmap -information till kommunleverantörer så att dessa har möjlighet att med god framförhållning skapa lösningar som kommer att passa gentemot framtida kommunkrav. Att utgöra referensarkitektur vid anskaffanden (upphandlingar, avrop, systemutveckling i egen regi mfl former). Sambruk har vad gäller IT framförallt fokuserat på e-tjänster (med målet att effektivisera kommunverksamhet och samtidigt ge bättre service) vilket avspeglas i ÖTP-dokumentens avgränsningar. I vissa fall har dock även i ÖTP medtagits delar som mer syftar till intern ITeffektivitet i sig. Ett exempel är kravlistor för mer allmänna icke-funktionella krav, se [ÖTP- Upphandl]. 1.2. Mål och visioner med användning av ÖTP Vad gäller e-tjänster och verksamhetsstöd inom Sambruk, så har bl a följande Sambruksmål och -visioner beaktats vid framtagandet av referensarkitekturen i ÖTP (ej rangordnat): Alla IT-projekt bör leda till effektiviserad kommunverksamhet och samtidigt till bättre service till medborgare, företag, organisationer mfl intressenter. Inriktningen ska vara att så mycket som möjligt ska gå att återanvända i många sambrukskommuner trots dessas varierande IT-strategier och olika val av verksamhetsapplikationer. Inlåsningsproblem i olika leverantörers specifika lösningar ska minimeras. Att ingen speciell programutvecklings- eller driftmiljö ska föreskrivas. Sambrukskommunerna har gjort mycket varierande val härvid och ÖTP använder black box-synsättet vilket innebär att det är funktionalitet och gränssnitt som är det viktiga, inte detaljinnanmäte. Tillverkning av applikation, anpassningslogik mm ska alltså kunna ske i någon vanligt förekommande utvecklingsmiljö och för någon vanligt förekommande driftmiljö, t ex baserat på ASP.NET, Java, Tomcat, JBoss, IIS, SQL Server, MySQL, Windows, Unix, Linux e dyl. Dock förutsätter vi att alla miljöer ska stödja gränssnittsinteroperabilitet genom enkla Web Services.
7(82) Kommunikation med registerhållande centrala myndigheter och med e-legitimation/eunderskrifts-leverantörer ska kunna stödjas. S k Standardmeddelanden 1 via SHS 2 ska prioriteras, men baserat på andra parters val kan välstandardiserade Web Services etc också användas. Både kostnads- och kalendertidsaspekterna är viktiga. Vad gäller det mer generella sambruksarbetet, så har dessutom bl a följande Sambruksmål och -visioner beaktats vid framtagandet av referensarkitekturen (ej rangordnat): Både specifikationsprojektens funktionella resultat i Sambruk (processdefinitioner mm) och föreliggande referensarkitektur i ÖTP ska gå rimligt lätt att använda för flera olika kommuner inom ramen för samarbetet i Sambruk. Modularisering, komponentuppdelning, konfigurerbarhet och tillförande av maskingränssnitt ska vara väl genomförd så att andra kommuners varierande krav i rimlig grad kan tillgodoses och att återanvändning underlättas. 1.3. ÖTP över tiden Öppen teknisk plattform har tidigare arbetats fram i flera steg, år 2003 2010. Detta successiva arbetssätt satsar vi på även i framtiden varför vi finner det nödvändigt att ha en sammanhållen versionsnumrering (och att i efterhand tillföra versionsnummer även för de tidiga utgåvorna av ÖTP): ÖTP version 1.0: Dokumentfilen Sambruksplatt_tekn_V1.0.doc Grundläggande rapport från 2003 om egenskaper hos en Öppen Teknisk Plattform ÖTP version 1.1: Dokumentfilen Sambrplform_Borl_Ark_v10.doc Öppen teknisk plattform och applikationsarkitektur från 2004, dels generellt, dels för den dåvarande s k Borlängepiloten (Bistånd). ÖTP version 1.2: Dokumentfilen Sambrplform_OTP_v12.doc Våren 2005. Öppen teknisk plattform och applikationsarkitektur, dels generellt, dels för de samtidiga verksamhetspiloterna. Versionen innefattar tidigare versioners specifikationer (eventuellt i redigerad form) så läsaren ska inte behöva gå tillbaka till de tidigare versionerna (annat än av historikskäl). ÖTP version 2.0: Dokumentfilen Sambrplform_OTP_v20.doc Utkom hösten 2007. Med nummerbytet till 2 som major version signalerades att dokumentet tillförts en ny struktur mer direkt anpassad för att utgöra kravbilaga vid 1 Standardmeddelande är ett begrepp som Statskontoret/Verva tagit fram inom området informationsöverföring, man anger rekommendationer för hur sådan bör utformas. Sedan Vervas stängning, se www.kammarkollegiet.se och www.edelegationen.se. Sambruk har gett ut ett antal specifikationer på sk Nyttomeddelanden, vilka följt råden för Standardmeddelanden. 2 SHS: Spridnings och HämtningsSystem. Sedan Vervas stängning, se www.kammarkollegiet.se och www.openshs.se.
8(82) anskaffanden. I övrigt hade arkitekturmönstren utvidgats, uppdaterats samt moderniserats. Några få saker hade utgått. ÖTP version 2.1: Dokumentfilen Sambruk_OTP_v2_1_2011-03-08.doc Föreliggande version, våren 2011. Genomgång och modernisering. Införande av begreppet referensarkitektur. Upphandlingsspecifika delar såsom kravskrivningar är överlagda i separata dokument för att göra dokumentstorleken mer behändig. Förutom dessa utgåveversioner av ÖTP förekommer även arbetsdokumentversioner under framställningen. Dessa sistnämnda är alltså av betydligt mer temporär karaktär. T ex: Sambruk_OTP_v2_0_dokv_12_2007-01-01.doc. där v20 är utgåvan av själva ÖTP medan 12 är versionen hos ett arbetsdokument under färdigställandet av utgåvan. (Filnamnsstandarden har f ö ändrats i Sambruk våren 2011.) Föreliggande version av ÖTP bygger vidare på förra versionen (v2.0). Resonemangen kring applikationsarkitektur från de tidigare versionerna 2.0 och även 1.2 har stått sig väl och är fortfarande i takt med IT-världen. Dock var det till v2.1 dags att modernisera och förtydliga vissa avsnitt, införa begreppet referensarkitektur samt dra erfarenheter av utförda projekt i branschen. Den struktur med ett stort antal konkreta kravformuleringar insprängda i arkitekturkapitlen som infördes till v2.0 var i och för sig bra för detta gav en närhet och enkelhet vid läsandet av kravsammanhang. Men det har ibland upplevts som ett problem att alla kravskrivningarna skymde sikten för de mer resonerande arkitekturdelarna samt att dokumentet blev alltför voluminöst. V2.1 är därför uppdelad så att de mer upphandlingsspecifika delarna lagts i egna dokument. Samtidigt hänvisar de specifika upphandlingskraven ofta direkt till arkitekturbeskrivningar i huvuddokumentet till ÖTP. Huvuddokumentet är alltså tänkt att läsas för att ge förståelse för sammanhang i kraven. Det bör här nämnas (liksom det redan poängterats i ÖTP v1.0) att det blir avgörande för framgången över tiden att resurser och entusiasm finns för att långsiktigt förvalta/versionera plattform/arkitektur, missionera om dess egenskaper och skapa kokböcker och liknande vägledningar när plattformen ska användas och vid tillverkning och införande av e-tjänster. Föreliggande referensarkitektur är ett försök att finna en optimal ambitionsnivå. Kraven och förväntningarna kunde teoretiskt sett vara enormt stora. Om man skulle ta riktigt hög höjd för alla sådana teoretiska aspekter skulle kalendertidsåtgång, kostnader och genomföranderisk bli synnerligen höga. Gjorda val för referensarkitekturen försöker vara pragmatiska så att något vettigt går att leverera inom rimlig tid, men att samtidigt en tillräckligt bra framtidssäkring åstadkoms. Detta synsätt tillsammans med iterationer och successiv förvaltning och vidareutveckling av ÖTP torde ge bästa optimering av kostnad/nytta/risk över tiden.
9(82) Ett problem med alla specifikationer och referensarkitekturer är hur man följer med i tiden. Följande tids-skiss visar ÖTP-projektets ansats att arbeta med successiva iterationer och att ändå behålla kontinuitet och framtidssyn: Konkreta leveranser och kontinuitet Första e-tjänst, Biståndsprojektets webb-applikation + adaptrar Samtidigt skapas de ÖTP-delar som behövs just till denna e-tjänst. Inom respektive e-tjänsts budget. Flera lev. är tänkbara parallellt. Nuvarande e-tjänster inom Sambruk skapas Samtidigt skapas de ÖTP-delar som behövs just till dessa e-tjänster. Uppsyn Nästa e-tjänst... ÖTP-delar... Nästa e-tjänst... ÖTP-delar... Nästa e-tjänst... ÖTP-delar... ÖTP-förvaltning Slimmad, lätt men kontinuerlig organisation som bl a förvaltar arkitektur & planer. Missionerar för ÖTP hos kommunerna. Uppsyn över sambruksprojekten. Bevakar teknikutvecklingen. Har leverantörskontakter. tid Figur 1 För ÖTP2.1 har vi efter 2.0 beaktat vissa resultat från Sambruksprojekt, framförallt införandet av den upphandlade lösningen för Lokalbokning och föreningsstöd, förstudien Sammanhållen ärendehantering, Bistånd (Multifråga och e-tjänst) mm. Föreliggande dokument är författat av Sven-Håkan Olsson (Definitivus), i samverkan med Janne Dicander (Sambruk och Jönköpings kommun). Anders Lindgren (Know IT) och Anders Thoursie (DocAccount) deltog också i arbetet 2008 med s k typupphandlingar som inkluderats i helheten för ÖTP v2.1. Stort värde för arbetet har också skapats i och med ett antal Sambruksmöten med ÖTP-projektgrupperingen, genom samverkan med SKL (Sveriges Kommuner och Landsting), KSL (Kommunförbundet Stockholms Län), Verva/Kammarkollegiet, myndigheter som CSN mfl.
10(82) 1.4. Anskaffningsdokument Ett antal anskaffanden (upphandlingar, ramavtalsavrop, utvecklingsprojekt etc) av IT-stöd till verksamheten görs under varje år inom Sambruk och medlemskommunerna. I kravdokumentationen för anskaffandena bör det ingå både funktionella och icke-funktionella krav. Med tanke på att återanvändning allmänt är mycket önskvärd så uppstod idén om en palett av återanvändbara kravformuleringar inom ÖTP. ÖTP-huvuddokumentet bör ha stort värde i samband med anskaffanden för att ge riktlinjer för applikationsarkitektur, ge referensarkitektur etc. De konkreta kravformuleringarna är dock till ÖTP2.1 utbrutna i egna dokument, se bl a [ÖTP-Upphandl]. 1.5. Roadmap krav på sikt Vanligen ställs vid anskaffande ett antal Skall-krav och vissa Bör-krav. Förutom att de sistnämnda förstås bör uppfyllas av offerent redan i dagsläget, bör de parallellt tolkas som krav som om något år kan komma att upphöjas till Skall-krav i senare anskaffanden. På samma sätt är det med krav i den generella paletten som i en viss specifik upphandling inte refereras alls - dessa icke-refererade krav ger ändå en indikation till leverantören om vilka krav som torde ställas om några år. Stort roadmap-värde bör också de mer resonerande arkitkturavsnitten ha. Där beskrivs bl a Sambruks önskade mönster och principer för samverkande IT-lösningar. På detta vis hoppas vi att vi kan ge input i förväg till leverantörernas utvecklingsverkstad om vilka krav leverantörer bör börja överväga att införa i sin roadmap - så bör hela utvecklingsoch anskaffandeprocessen totalt sett kunna bli billigare och effektivare över tiden, både för kund och för leverantör.
11(82) 1.6. Funktionell bakgrund Sambruk arbetar bl a med den dubbla målsättningen att ge medborgare (och andra intressenter) bättre service och samtidigt göra kommunerna efffektivare internt. För att stödja den målsättningen handlar en stor del av ÖTP om olika sorts öppenhet, samfunktionalitet och applikationsintegration. Applikationsintegration fanns redan på hålkortens tid; man har alltid haft behov av att skicka data mellan applikationer. Däremot har behoven ökat över tiden och karaktären av behoven har ändrats. Framförallt har vi fått ökat behov av tillgång till sekundfärskt data "online". Vi har också fått en ökad kundfokusering inom IT-branschen, vilket inom kommunvärlden motsvaras av en medborgarfokusering. Det innebär bl a att en medborgare (eller annan extern intressent såsom företag, förening etc) har en ökad förväntan att kunna se samlad info om sej själv, t ex på en kommuns e-tjänst - medborgaren är komplett ointresserad av hur kommunen har valt att organisera sitt arbete internt och bör normalt inte behöva veta vilken förvaltning en viss sak lyder under. Ett annat exempel är s k kontaktcenter. Om dessa ska kunna ge en hög servicegrad till medborgarna bör de ha tillgång till (viss) information ifrån en mängd applikationer inom kommunen och det är inte rimligt att de ska separat logga in i och använda samma tunga, många och olika användargränssnitt som expertanvändarna däremot har nytta av inom förvaltningarna. Exempel på behov där många verksamhetsapplikationers information behöver nås samtidigt: Kontaktcenter Medborgarkontor Medborgaröverblickswebb (Mina Sidor etc) E-tjänster Telefonapplikationer (tonvalsknappar) Dokument-och ärendehantering över förvaltningsgränserna. Automatiserade diariekopplingar. När tillfälliga verksamhetsprocesser kan behöva skapas (inför t ex stora evenemang eller kommunsatsningar) Generellt sett för att minska inlåsning i stuprörslösningar. Allt detta ger ändrade och större krav på integration. För medborgaren blir internetbanken måttstocken för hur e-tjänster bör fungera välintegrerat.
12(82) Följande figur visar denna funktionella situation, uttryckt i termer av "stuprör" och "hängrännor": Hängrännor - stuprör Barnomsorgsförvaltningen Socialförvaltningen Byggnadsnämnden E-post Sedan länge Diarie Ibland befintlig integration Kontaktcenter Medb-web E-tjänster Workflow... Tillkommande potential... Figur 2 Hängrännor vs stuprör Integrationen är ofta av olika karaktär. Oftast beror det på vilket färskhetsbehov man har för informationen - är det sekundfärskhet online som behövs eller duger det om det kommer fram om en stund eller nästa dag? Integrationslösningarna blir ofta tekniskt mycket olika för dessa olika behov. T ex är behovet nära användargränssnittet (det som kan kallas front-end-integration) ofta mer av onlinekaraktär, med sekundfärskt data, medan överföring till t ex bokföringssystemet kan få ta längre tid (kan kallas back-end-integration). Hybrider finns naturligtvis, bl a när man använder back-end-integration för att förse en speciell databas som ligger nära användargränssnittet med data vilket inte behöver ske sekundsnabbt, bara användargränssnittet i sin tur kan nå denna databas sekundsnabbt.
13(82) 1.7. Att vara ÖTP-kompatibel Det finns ett behov av något sätt att uttrycka att en viss applikation eller komponent övergripande följer ÖTP eller är ÖTP-kompatibel. Dock finns det ett problem med ett sådant uttryckssätt eftersom ÖTP är en referensarkitektur med ett antal mallar för olika användningsområden och en palett med ett stort antal kravformuleringar som ska kunna återanvändas i helt olika sammanhang i kommuner. Alltså behöver man egentligen veta vad det är en viss lösning ska åstadkomma för att kunna bedöma ifall dess utförande följer ÖTP. Icke desto mindre finns det en styrka med att uttrycka ÖTP:s kärna med några få krav. Priset man får betala för detta är att kraven nedan måste innehålla några relativiserande formuleringar. En lösning är övergripande ÖTP-kompatibel ifall den: 1. Är öppen i så motto att den är interoperabel med andra lösningar hos kunden, vad gäller för funktionsområdet relevant information i relevanta processteg. 2. Inte ger inlåsning i begränsande lösningar och går att byta ut med rimlig insats.
14(82) 2. APPLIKATIONSARKITEKTUR - REFERENSARKITEKTUR Olika begrepp lanseras över tiden för hur man beskriver applikationsinteraktion. Även om detta i vissa fall kan betraktas som modevågor, så är icke desto mindre många sådana begrepp av nytta för att kommunciera kärnvärden och bli förstådd. När första versionen av ÖTP skapades år 2003 beskrevs en teknisk plattform bestående av rörläggning (i hög grad Web Services), Nyttomeddelanden, regler och konventioner samt teknikadministrativa delar. I senare versioner betonades applikationsarkitektur, applikationsinteraktion och SOA (Service Oriented Architecture - tjänsteorientering). Nu när vi skriver 2010 har SOA kommit att ha gett många framgångar men också i viss mån förknippats med orealistiska förväntningar. Vi vill dock hävda att den typ av SOA som ÖTP2.0 stod för fortfarande är en modererad och vettig arkitektur, varför vi behåller den i 2.1. Ett begrepp som har seglat upp de senaste åren är referensarkitektur. På samma sätt som vi sedan första versionen av ÖTP getts ut, med rätta i efterhand kunde åsätta namnet SOA på dess arkitektur, anser vi oss nu i efterhand kunna kalla ÖTP2.0 för en referensarkitektur, även om ordet inte nämndes av oss när versionsutgåvan gjordes 2007. Att nu för ÖTP2.1 anamma begreppet referensarkitektur är pedagogiskt eftersom begreppet håller fram att ÖTP innehåller mallar för konkreta arkitekturer. De sistnämnda kan införas i någon faktisk implementation. En referensarkitektur är alltså något man använder just som en referens, något att förhålla sig till. Däremot är inte referensarkitekturen exakt införbar i praktiken, hel och odelad, den är på det viset mer abstrakt. Eftersom alla projekt har olika behov och syften måste man alltid välja ut de delar av referensarkitekturen som ger nytta. Detta utväljande kan exempelvis göras i samband med upphandling varvid ÖTP utgör en samling referenskrav, en palett av krav där man måste välja ut de mest relevanta, för en viss upphandling. 2.1. Relation till andra referensarkitektursinitiativ Offentlig sektor tar vissa olika initiativ vad gäller referensarkitektur och relaterade områden. Delvis är problemet att det finns många parallella initiativ. Staten har hittills inte utövat någon större samordning. Kontinuiteten i de initiativ som faktiskt tagits har också varit bristande. Några exempel på organisationer som arbetat ett tag inom området men som sedan slutat är Statskontoret, Samset, Verva, 24-timmarsdelegationen och E-nämnden. Dessutom är inte staten överställd kommunerna och kan därför inte formellt utöva samordning inom Sambruks kommunala intresseområde. Den nya E-delegationen kan dock förhoppningsvis spela en kraftfullare roll än vad staten gjort hittills. Ett område där faktiskt en hel del referensarkitekturarbete har genomförts är inom hälsa/vård/omsorg men detta område relaterar förstås endast delvis till kommunernas alla breda verksamhetsområden. De initiativ som ändå tagits är dock mycket väl värda att bejaka. Vad vi kan bedöma har ÖTP en samsyn med andra initiativ och vi erfar inga besvärliga krockar. Däremot kan det finnas klart olika tyngdpunkter inom olika initiativ vilket gör att ÖTP oftast kompletterar dem väl. Nedan görs några mycket kortfattade jämförelser av tyngdpunkter med några av initiativen.
15(82) Som genomgående notering kan vi därvid nämna att många andra dokument är infrastrukturorienterade medan ÖTP framförallt är orienterat mot applikationsarkitektur. Första versionen av ÖTP tillkom också före många av de andra initiativen och Sambruk har av kontinuitetsskäl ett starkt behov av att fortsätta förvalta och vidareutveckla de ÖTParkitekturer och krav som utförda Sambruksprojekt baseras på. För framtida utgåvor/versioner av ÖTP blir det en fortsatt grannlaga uppgift att förhålla sig till andra specifikationer att välja ifall man ska inkludera sådana i ÖTP eller hellre referera till ÖTP-externa dokument. Att kopiera in specifikationer och kan ibland vara vettigt men ibland ger det bara en besvärlig duplicering (och därmed en versionshantering som inte självklart följer med den egentliga specifikationskällan). Vi förutsätter som en självklarhet att olika delar av offentlig sektor ska ta nytta av varann och återanvända varandras resultat, samt att vi därmed är fria att referera till relevanta dokument som publicerats inom området. På samma sätt är vi självklart positiva till att andra refererar till våra publicerade dokument, såsom ÖTP, Begreppsmodellen och Nyttomeddelandena. Det kan samtidigt nämnas att Sambruk har skapat en struktur för rättigheter till Sambruksinterna dokument och andra resultat som kallas SGM (SambruksGemensamt Material), se information på. Eftersom det har förekommit en oro vad gäller kontiniutet hos dokumenttillgång via Internet (exempelvis när statens olika initiativ tillkommit och försvunnit) och för att göra det ännu enklare att snabbt hitta dokument som vi refererar till så har vi valt att skuggkopiera några av dem till, under ÖTP-rubriken. Detta är naturligtvis endast att se som en kompletterande service i liknande stil som när sökmotorer som Google cachear dokument för ökad tillgång. Rättigheterna kvarstår självklart hos respektive ursprungspublicerare och för auktoritativ referens liksom för kontroll av att nyare versioner och eventuella rättningar kan ha tillkommit hänvisas till ursprungspubliceraren. För att nå dokument som vi inte skuggkopierat får vi naturligtvis hänvisa till de andra organisationernas webbsajter eller till sökmotorer. Nedan följer således en lista av vissa initiativ av särskilt intresse. Varje specifikt Sambrukseller kommunprojekt får utgå efter sina förutsättningar och utröna ifall det finns behov av att referera särskilt till någon annan organisations dokument, eller ifall paletten inom ÖTP:s referensarkitektur räcker att välja mönster ur för refererens i olika specifikationer och anskaffanden. SKL (Sveriges Kommuner och Landsting), framförallt Carelink, har arbetat med en högsäkerhetsinfrastruktur för hälsa/vård/omsorg, främst för landsting men i viss mån också för primärkommuner genom det numera delade ansvaret inom området. Sjukvårdsrådgivningen AB, sedermera Inera, har tagit över delar av Carelinks arbete liksom delvis publiceringen av dokument. Hittillsvarande verksamhetsprojekt som bedrivits inom Sambruk har vanligen inte kommit att ha behov av att relatera tätt till detta arbete (möjligen undantaget LSS/LASS/BITA-projektet) men detta kan det säkert förväntas mer av i framtiden eftersom intressant specifikationsarbete har kommit att kunna bedrivas inom Carelink mfl organisationer.
16(82) RIV (Regelverk för Interoperabilitet inom Vård och omsorg) - riktlinjer och protokoll för säker kommunikation samt semantisk och teknisk interoperabilitet Sambruks Begreppsmodell handlar huvudsakligen om andra verksamhetsdomäner än RIV men är publicerad i samma anda av att behovet av att definiera semantik är mycket stort. Sambruks publicerade specifika Nyttomeddelanden liksom ÖTP:s generella kapitel om Nyttomeddelanden strävar på liknande sätt efter teknisk interoperabilitet och har också ett förhållningssätt till den variation som man praktiskt behöver klara för att få interoperabilitet med befintliga applikationer och parter (t ex principerna om transportoberoende). RIV använder samma grundprinciper som ÖTP:s Nyttomeddelanden. Dock är RIV-meddelanden knutna till SOAP, medan Nyttomeddelanden är tänkta att vara transportoberoende (även om de ofta torde skickas via SOAP eller SHS). RIV kan tillföra en extra hög säkerhet och i de fall som sådan hög säkerhet behövs relativt verksamhetskraven kan man utmärkt väl använda RIV-specifikationen för att skicka Nyttomeddelanden. Grundtanken inom ÖTP har dock varit att SHS istället används i de fall som extra hög extern säkerhet behövs. Hur Nyttomeddelanden överförs via SHS finns angivet i ÖTP-kapitlet Nyttomeddelanden via SHS. Andra sätt att höja säkerhetsnivån även baserat på SOAP är naturligtvis också tänkbara, såsom exemplifierats 2009 av Försäkringskassans tjänst LEFI- Online. ÖTP kompletterar även RIV genom ytterligare fokus på applikationsarkitektur och SOA. BIF (Bastjänster för InformationsFörsörjning) bastjänster inom vårdområdet för bl a rättighetstilldelning och spårbarhet (loggning) av den starkt autentiserade aktören. ÖTP har inte arbetat med någon motsvarighet till BIF. I vissa kommande Sambruksprojekt kan man förmodligen komma att vilja använda BIF varvid vi hänvisar till dess dokument. HSA (Hälso- och Sjukvårdens Adressregister) - katalogtjänst inom vårdområdet för stark autentisering, vårdrelation etc. ÖTP har inte arbetat med någon motsvarighet till HSA. I vissa kommande Sambruksprojekt kommer man förmodligen att vilja använda HSA varvid vi hänvisar till dess dokument. SITHS (Säker IT i Hälso- och Sjukvård) - grundfunktioner inom vårdområdet för stark autentisering, sekretess, riktighet och oavvislighet. ÖTP har inte arbetat med någon motsvarighet till SITHS. Däremot har ÖTP börjat kategorisera olika grader av autenticeringskvalitet så att det går att välja lämplig nivå relativt aktuell informations sekretessbehov. Detta eftersom en stor del av kommunal verksamhet inte handlar om sekretessbelagd information alls, utan kan exempelvis vara ren service såsom för biblioteket eller simhallen, varför helt olika grader av säkerhet behövs. I vissa kommande Sambruksprojekt kommer man med stor sannolikhet att
17(82) vilja använda SITHS varvid vi hänvisar till dess dokument. Sjunet - ett slutet bredbandsnät inom vårdområdet för hög tillgänglighet och tillit. ÖTP har istället förutsatt samma ansats som SHS, dvs att kommunikation över öppna Internet normalt ger tillräcklig kvalitet förutsatt att den kompletteras med standardiserade säkerhetsmekanismer (beskrivs i ÖTPkrav kan exempelvis röra sig om SHS i sig eller säkerhetskrav för Web Services) men endast när så behövs utifrån sekretessbehov, för att därmed undanröja onödig komplexitet. I vissa kommande Sambruksprojekt kommer man dock eventuellt att vilja använda Sjunet ifall en önskad kommunikationspart endast kan nås den vägen, varvid vi hänvisar till dess dokument. Carelink PLUS - en kortfattad referensarkitektur på övergripande nivå, specifikt för vårdområdet. ÖTP har gemensamma drag med PLUS även om PLUS är specifik för vårdområdet och ÖTP istället behöver ta höjd för den stora spridning som finns inom kommunernas varierande förvaltningar, verksamhetssystem, servicegivning, kulturverksamheter, sport, ärendehantering mm. Några gemensamma drag mellan ÖTP och PLUS som förtjänar framhållas är: Fokusering på tjänsters maskingränssnitt och inte hur tjänsterna ska implementeras inuti den princip som också brukar kallas black box. Att PLUS listningar i avsnitten Implementationsteknik och Gränssnittsteknik sammanfaller i hög grad med ÖTP:s. Nationell IT-strategi för vård och omsorg har skapats i ett samarbete av Socialdepartementet, Sveriges Kommuner och Landsting, Socialstyrelsen, Läkemedelsverket, Apoteket AB och Carelink och utgetts 2006 som en skrivelse av regeringen till riksdagen. Däri ingår två insatsområden som relaterar väl till ÖTP, Teknisk infrastruktur och Informationsstruktur. ÖTP kompletterar genom mer fokus på applikationsarkitektur och SOA. Västra Götalandsregionen har publicerat en referensarkitektur som förra versionen av ÖTP, 2.0 redan hade likheter med. För version 2.1 har vi funnit viss inspiration däri. ÖTP har dock inte haft anledning att definiera sig så detaljerat i form av ramverkskod, Java-principer eller detaljerade regelverk, bl a eftersom ÖTP bygger på black-boxprinciperna och är neutral till programutvecklingsspråk. KSL (Kommunförbundet Stockholms Län) och IT-Forum Stockholms län har publicerat Sexton principer för samverkan inom områdena informationsklassning, autentisering, katalogsamverkan, identitetsfederering, signering, kryptering, åtkomst, spårbarhet och transport. Principerna handlar huvudsakligen om autenticering och om hur en inloggad person ska kunna nå olika tjänster. Principerna går bra ihop med ÖTP och många av dem finns redan sedan tidigare inkluderade i kravpaletten i ÖTP2.0.
18(82) Vi noterar dock att inloggningsfederering behöver kunna baseras på varierande autenticeringskvalitet. Denna krävda kvalitet ska i sin tur bero på sådan informationsklassning som nämns som princip ett. Exempelvis finns det servicegivning inom sport, bibliotek och fritidsverksamheter där enklare inloggning räcker väl. Vi måste också kunna tänka oss en öppen attityd till autenticering gjord via nytillkommande kanaler som sociala medier, genom smartphones, läsplattor eller lösningar som Google Docs och Microsoft Live ID i alla de sammanhang som enklare autenticering räcker relativt informationsklassningen. Dock bör man av bekvämlighetsskäl om möjligt samtidigt erbjuda medborgaren att använda starkare autenticering som kanske finns tillgänglig då han/hon faktiskt sitter vid en dator med eid installerat. ÖTP kompletterar också de sexton principerna genom ytterligare fokus på applikationsarkitektur och SOA. KBM (Krisberedskapsmyndigheten), numera Myndigheten för samhällsskydd och beredskap (MSB) har gett ut Basnivå för informationssäkerhet (BITS) som bland annat handlar om hur man kan klassificera sekretessbehov för olika sorters verksamhetsinformation (samt andra säkerhetsöverväganden). Sekretessklassning nämns på flera ställen i ÖTP som en viktig del i att förstå hur ett informationskontrakt mellan två parter (och vanligen mellan två verksamhetsapplikationer) bör utformas. Därmed ska det framgå vilken ökad säkerhetsmotiverad komplexitet (och därmed kostnad) som kan behövas för ett visst informationsutbyte eller inte. BITS är numera anpassad till den formella standarden SS-ISO/IEC 17799. ÖTP har inte tagit som sin uppgift att täcka även detta område utan hänvisar till BITS (och eventuellt till KSL:s ovan nämnda Sexton principer för samverkan som också tar upp informationsklassning). Statskontorets mallregelverk OffLIS är numera inarbetat i ovan nämnda BITS varför vi lämnar det därhän. OASIS 3 har publicerat en Reference Architecture Foundation for Service Oriented Architecture. Om man är intresserad av en teoretiskt mycket utarbetad model kan man läsa denna, liksom om man är intresserad av SOA i sig. Emellertid är modellen också ett exempel på en mycket komplex och ibland kanske onödigt teoretisk modell. ÖTP har av resurs- och praktikalitetsskäl tagit en enklare väg där vi t ex inte förtecknar definitioner av saker som det finns god samsyn om inom kommunvärlden och ITbranschen, utan går mer direkt på arkitekturmönstren i sig. 2.2. Remissvar från Sambruk Sambruk har gett flera remissvar inom Sverige i arkitektursammanhang (framförallt vad gäller interoperabilitet och standardisering), i samklang med ÖTP. Följande dokument kan t ex återfinnas på, under Dokumentation: Sambruk_Synpunkter_NRI_v4.pdf Sambruk_Synpunkter_IT-standardisering.pdf 3 Organisationen beskriver sig själv så här: OASIS (Organization for the Advancement of Structured Information Standards) is a not-for-profit consortium that drives the development, convergence and adoption of open standards for the global information society
Funktionella krav påverkar Versionering av ÖTP 19(82) Också på EU-nivå tas initiativ. Sambruk har även gett flera remissvar inom EU som är i samklang med ÖTP. På återfinns t ex: Sambruk_Synpunkter_EIF2_v3.pdf Sambruk_Synpunkter_CAMSS_final.pdf Ett referensarkitekturarbete inom Europa som särskilt kan nämnas som intressant är HISA (Health Informatics - Service Architecture). 2.3. Referensarkitekturen i ÖTP Som vi nämnt ovan var redan ÖTP 2.0 i praktiken en referensarkitektur. I detta kapitel mycket kortfattat och kondenserat sammanfatta en del av elementen i ÖTP:s referensarkitektur som sedan finns manifesterade i de övriga och betydligt mer detaljerade kapitlen. En referensarkitektur är alltid en abstrakt arkitektur, alltså inte en arkitektur som direkt tas i bruk i en IT-lösning, utan som istället används som mall för hur IT-lösningens konkreta arkitektur sedan utformas. I varje projekt får man alltså välja ut relevanta arkitekturmallar ur referensarkitekturen som passar till de funktionella behoven och andra krav. ÖTP:s referensarkitektur Motiv för referensarkitekturen i ÖTP Referensmodeller Styrande principer Inkluderade mallarkitekturer
20(82) Motiv för referensarkitekturen Hela ÖTP bygger på att större nytta ska kunna uppstå både för medborgare och kommun om adekvat information görs tillgänglig för användarna genom applikationer som samverkar på ett funktionabelt sätt (vilket idag ofta inte är fallet). Interoperabiliteten måste därmed förbättras vilket är ÖTP:s viktigaste del. En referens till kapitel där detta utttrycks vidare i ÖTP: o 1. Inledning, dokumentförutsättningar Funktionella krav påverkar ÖTP är inget som ska finnas för sin egen skull nyttan uppstår inte i teknikplattformar i sig utan endast när en funktionell användning sker i verksamheten. Endast baserat på att det finns funktionella verksamhetskrav ska således något finnas i ÖTP. Några referenser till kapitel där detta utttrycks vidare i ÖTP: o 1.3. ÖTP över tiden o 1.6. Funktionell bakgrund Referensmodeller Med detta menas modeller för hur begrepp inom referensarkitekturen används. Modellen i ÖTP är översiktligen mycket enkel och i grunden influerad av SOA: o Olika verksamhetsapplikationer kapslar in detaljerad verksamhetslogik och informationslagring. o Olika verksamhetsapplikationer publicerar vardera två sorters gränssnitt: Användargränssnitt (vanligen flera) Maskingränssnitt (vanligen flera) o Synonymer för verksamhetsapplikation som används i ÖTP: Black box SOA-domän Några referenser till kapitel där detta utttrycks vidare i ÖTP: o 2.5. Översikt referensarkitektur applikationsintegration generellt o 2.5.1. Inkapsling betoning på gränssnitt o 2.5.2. Integration nära användargränssnitt eller ej o
21(82) 3. Mallarkitekturer inom referensarkitekturen Styrande principer Information och funktioner ska tillgängliggöras användarna baserat på referensmodellen (således grundat på inkapsling och på publicerade användargränssnitt och maskingränssnitt) Ansvar för varje inkapsling och gränssnitt ska vara klarlagt Interoperabilitet betonas för att kunna klara att skapa sammanhängande IT-stöd Minska inlåsningsproblem i levarantörers lösningar Ingen speciell programutvecklings- eller driftmiljö ska föreskrivas Olika Sambrukskommuner som kan ha fattat varierande inriktningsbeslut kring teknikplattformar och lösningar ska oavsett detta kunna ha nytta av framtagna lösningar baserade på ÖTP. Några referenser till kapitel där detta utttrycks vidare i ÖTP: o 1.2. Mål och visioner med användning av ÖTP o 2.5. Översikt referensarkitektur applikationsintegration generellt o
22(82) 3. Mallarkitekturer inom referensarkitekturen Inkluderade mallarkitekturer Större delen av ÖTP-dokumentet består av sådana mallarkitekturer Versionering av ÖTP ÖTP måste vidareutvecklas parallellt med IT-branschens utveckling, samt med vunna projektefarenheter mm. En referens till kapitel där detta utttrycks vidare i ÖTP: o 1.3. ÖTP över tiden 2.4. Relation till Enterprise Architecture Inom IT-branschen används ibland begreppet Enterprise Architecture (EA) och i det sammanhanget lyfts ofta ramverket Zachman Framework fram. Dessa modeller skulle kunna vara fruktbara för kommunvärlden, men det finns samtidigt ett problem med rimlig ambitionsnivå inom ÖTP-projektet. Vissa EA-användningar har tenderat att bli alltför teoretiska och ge stora dokumentbyggen som inte levererat så mycket praktisk nytta. Man måste också förstå att Zachman Framework inte är en konkret applikationsarkitektur som kan användas för att skapa ett visst IT-stöd, utan ramverket är ett sätt att uttrycka en s k ontologi 4. Dock kan en modererad användning av EA vara till god hjälp. 4 Ontologi, synonymord: metafysik, en beskrivning av verkligheten
23(82) Figur 3 Zachman Framework (källa: Wikipedia maj 2010) ÖTP definierar delar av det som kan beskrivas i matrisen i Zachman Framwork, framförallt inom rad 2-4 samt främst kolumnen What, men även i viss mån inom kolumnerna How, Where och Who och kanske något lite om When. För mer info, se litteratur om Zachman Framework. Figur 4 ÖTP:s fokus relativt föregående figur Det finns en stor mängd personer och grupper som har känt sig kallade att skapa modeller för organisationer och IT-stöd, i stil med Zachmans ramverk. En av dessa modeller som har fått en ganska stor användning är TOGAF som har en indelning i de fyra områdena Business Architecture, Applications Architecture, Data Architecture och Technical Architecture,. TOGAF-modellen mappar ganska väl in i Zachmans ramverk på raderna 1-4, även om dess uppdelning är lite annorlunda. Det innebär att ÖTP framförallt fokuserar på det område i TOGAF som ger utrymme för att beskriva Applications Architecture, samt i viss mån Technical Architecture och Data Architecture, men endast i mindre grad Business Architecture. Även om EA och tillhörande ramverka kan ha stort intresse har vi inte bedömt att det är nödvändigt för ÖTP-dokumentets användbarhet att definiera en eller flera EA-modeller, utan att det i så fall vore ett arbete som finge utföras inom något annat Sambruks-scope. Man bör också nämna att det pågår andra arkitekturarbeten inom t ex Statskontoret/Verva/Kammarkollegiet, SKL (Sveriges Kommuner och Landsting), KSL (Kommunförbundet Stockholms Län) och Carelink/Sjuvårdsrådgivningen/Inera. Vad vi kan förstå finns det en hög grad av samklang med ÖTP därvid, även om fokus kan vara olika.
24(82) 2.5. Översikt referensarkitektur applikationsintegration generellt I nedanstående arkitekturbilder med tillhörande kommentarer anges ett antal arkitekturprinciper och modulariseringssätt. Eftersom många avvägningar måste göras mellan önskemål om hög flexibilitet och att vara konkret och tydlig, inkluderas också en del orsaksresonemang i samband med arkitekturskisserna för att ge kravspårbarhet. Plattformen och arkitekturen måste självklart versioneras och utvecklas över tiden och därför är det extra viktigt att veta varför olika val togs vid olika tidpunkter. Först behandlas översikter, sedan följer renodlingar av ett antal aspekter. 2.5.1. Inkapsling betoning på gränssnitt Att utforma alla detaljer inuti alla applikationer i enlighet med exakt samma riktlinjer är i princip omöjligt i en kommun. Oftast har man inte råd att skräddarsy applikationer utan man får köpa färdiga standardapplikationer, vilka baserar sig på varierande plattformar. Även om man skulle specialutveckla applikationer så fortgår teknikutvecklingen så att en nyskriven applikation lämpligen inte använder exakt samma plattform som en fem år gammal applikation, trots att den sistnämnda kan vara ge god nytta flera år ytterligare. Dessutom tillkommer fall där man startar kommunsamarbeten (såsom inom Sambruk, mellan grannkommuner, inom kommunalförbund etc) där man vill dela på applikationer, och då skulle inte alla viljor kring innanmätesdetaljer kunna uppfyllas. Det har därföra varit en fruktbar trend i många år, både inom näringsliv och kommuner, att låta omgångar av applikationslogik tillåtas få utformas på varierande sätt men inkapslat i s k svarta lådor eller black boxes. Det som är det viktiga är inte exakt hur innanmätet råkar vara utformat, utan istället vilken verksamhetsnytta som applikationen gör, vilket användargränssnitt den har och vilka maskingrässnitt som den interagerar med andra applikationer och parter via. I ÖTP-dokumenten skriver vi vanligen verksamhetsapplikation och menar då samtidigt att en sådan ska utgöra en black box, med väldefinierade gränssnitt. Inom SOA-skrifterna skriver man ofta tjänst för att mena samma sak (eller ibland mindre block), men ordet tjänst används synnerligen inkonsekvent i IT-branschen så vi undviker ordet inom ÖTP. Möjligen använder vi begreppet SOA-domän för att markera att något håller ihop som en black box, har väldefinierade gränssnitt samt handhar något visst verksamhetsområde verksamhetsdomän. En mycket viktigt aspekt är att det finns en ägare till varje black box, som har ett tydligt ansvar för innanmätet i den. Detta ansvar gäller även för de maskingränssnitt och användargränssnitt som publicerats av den svarta lådan. För att definiera behoven av sådana gränssnitt behövs självklart en kravprocess där verksamhetspersoner deltar, men när väl gränssnitten är definierade ska de tydligt ansvaras för av black box-ägaren.
25(82) Inkapsling black box Användargränssnitt hos black box 1 Verksamhetsapplikation 1 Verksamhetsapplikation 3 Black box Black box Maskingränssnitt hos black box 1 Verksamhetsapplikation 2 Maskingränssnitt hos black box 2 Black box Figur 5 Inkapsling black box, och gränssnitt De flesta applikationer har användargränssnitt dessa kan sägas vara en överenskommelse mellan människa och system. Sambruks Nyttomeddelanden handlar i hög grad om att också definiera maskingränssnitt av det slag som visas i figuren ovan. I det fallet handlar det om att skapa en överenskommelse mellan två system som utgör black boxes. I ökande grad hoppas vi också att inköpta verksamhetsapplikationer har färdiga maskingränssnitt redan från början, i efterföljd av vad som för många år sedan skedde inom näringslivet, och i enlighet med SOA-vågen som gått genom IT-världen. Man inser ur figuren ovan att ett vanligt fall kan bli att färdiga maskingränssnitt från två olika black boxes som behöver kommunicera med varann inte direkt är kompatibla. Någon form av översättning måste då göras. I ÖTP kallar vi normalt komponenter som gör sådan översättning för adaptrar.
26(82) 2.5.2. Integration nära användargränssnitt eller ej Samfunktion, integration, mellan olika verksamhetsapplikationer nära användargränssnittet behöver vissa typiska egenskaper medan integration längre bak i kedjan behöver andra. Back-end front-end Engagemangsbild Skr.sytt. syst Barnoms Front-endintegration (ofta SOA) Std.syst Soc Std.syst Byggnnämnd Black boxes Bokfsyst Back-endintegration (ofta EAI) Kommentar: Strecken i figuren utgör integration (samfunktion) Figur 6 Back end front end Front-end-integration har under några år nu i hög grad utgjorts av Service Oriented Architecture (SOA) 5, oftast utfört med Web Services 6 som teknik. Ofta behöver användaren information som är färsk på sekunden, som i en Internetbank eller i en skolschemaapplikation där en lärare kanske lägger in att man ska vara i ett anant klassrum. Back-end-integration har historiskt brukat kallas Enterprise Application Integration (EAI) 7. Datafärskhetskrav i klass med sekundsnabbhet har sällan funnits med i kravbilden för EAI. Inom kommunvärlden har en dominant integrationsprodukt (Decapus) varit av enklare slag och knappast kunnat kallas EAI, men produkten har funktionalitet för att få grundläggande fil-integration att fungera (vilket ibland är fullt tillräckligt). 5 SOA: Service Oriented Architecture, arkitektur orienterad mot anropbar programvara som utför tjänster 6 WS: Web Services, ett sätt att återanvända webbprotokoll för maskin-till-maskin-anrop 7 EAI: Enterprise Application Integration, integration som betonar överföring av större dataflöden
27(82) I mitten på 2000-talet har ett begrepp dykt upp, Enterprise Service Bus (ESB) 8 som förenklat innebär EAI fast som dessutom kan gå sekundsnabbt och klara prenumeration på information. Emellertid går dessa världar ihop nu, EAI-plattformar klarar ofta SOA och ESB t ex. Dock är det inte säkert att de är fullständigt optimerade för detta, de kan också vara onödigt bra och därmed ha en dyr prislapp. Ett stort antal kommuner har också uppgraderat från Decapus till den nyare produkten TEIS som har vissa EAI/ESB egenskaper, så denna produkt har också en slags särställning i praktiken idag. SOA brukar utgöra s k funktionsintegration där man ser det som att programkod för verksamhetslogik körs i serverändan när ett anrop ankommer, och att i många fall ett svar skickas tillbaka. Dataintegration däremot är gamla EAI:s kärnområde där det vanligen endast är information som ska skickas från ett system till ett annat, utan att man inom integrationen fokuserar på exekvering av verksamhetslogik. Genom dessa skillnader passar SOA extra bra för front-end-integration och EAI extra bra för back-end-integration, även om detta börjar flyta ihop mer idag, t ex vad gäller ESB. Om nu införande av integrationslösningar bedöms lämpligt, vad står man sedan inför för utmaningar? Det svåraste brukar vara själva öppenheten, inkopplingen i stuprörssystemen. Ifall man har egna skräddarsydda applikationer så kan man själv utveckla maskingränssnitt, adaptrar etc. Vanligast i kommunvärlden är dock standardapplikationer och dessa är tyvärr ofta inte så öppna idag. Denna typ av öppenhet är däremot redan mycket vanlig inom näringslivets standardapplikationer, det finns därmed god erfarenhet av hur detta kan utformas tekniskt, oavsett man har använt äldre teknikmiljöspecifik kommunikation (som t ex Microsoft DCOM eller Java-RMI), eller interoperabla Web Services med XML-meddelanden (såsom enligt ÖTP:s specificerade Nyttomeddelandestruktur vilka följer Statskontorets / Vervas / Kammarkollegiets s k Standardmeddelanden). Inom kommunsektorn har alltså standardapplikationerna släpat efter ur öppenhetssynvinkel. Vi förväntar oss dock att detta ska kunna lösas, dels baserat på generella systemutvecklingstrender, dels grundat på Sambruks och andras påverkan och upphandlingstryck. Nyttomeddelanden tänks specificeras för att vara s k transportoberoende. Det innebär att en och samma meddelandedefinition ska gå att använda genom helt olika sorters datakommunikation, beroende på aktuella behov. Ifall filöverföring är lämpligt av olika skäl så bör Nyttomeddelandet gå att transportera på det sättet. Ifall Web Services, SHS, Decapus etc är lämpligt bör Nyttomeddelandet gå att överföra på de sätten, allt efter behov. Det som avgör är ofta ifall verksamheten behöver sekundfärskt data eller inte, liksom vilka kommunikationsprodukter som redan finns tillgängliga. Se även det separata kapitlet om Nyttomeddelanden. 8 ESB: Enterprise Service Bus, enkelt uttryckt EAI plus större snabbhet och vanligen ej nav-struktur