LUPP API ett API för 3:e-partsleverantörer från LUPP 6.0 Insamling av önskemål 2010-07-01
MSB:s kontaktpersoner: Stefan Jönsson, 010-240 52 97 Patrik Tengström (konsult), 070-218 62 61 2
3 Innehållsförteckning 1. Bakgrund... 5 2. Integration med andra system... 7 2.1. Funktion... 7 2.2. Teknisk bas... 8 2.3. Exempel på funktioner... 8 2.3.1. Uttag av information till Insatsrapportering... 8 2.3.2. Import av bemanningslistor... 8 3. Insamling av önskemål... 9 3.1. Tidplan... 9 4. Exempel... 11
Medvetet lämnad tom. 4
5 1. Bakgrund Figur 1. LUPP 6.0 är en del av RIB Ledning Datorsystemet för ledning och uppföljning av räddningsinsatser, LUPP, är ett verktyg för lednings- och stabsarbete. Systemet är särskilt utvecklat för att svara upp mot den kommunala räddningstjänstens krav. LUPP utgör dock endast ett delsystem inom räddningstjänstens och andra organisationers totala datorstöd. Det finns därför ett behov av datautbyte med andra system. En vanligt förekommande synpunkt bland användarna är: jag vill inte mata in samma sak på flera ställen. Under 2010 utvecklas nästa version av LUPP och ett av målen är att utöka möjligheterna att dela information med andra system. Detta dokument syftar till att sprida en första information om arbetet med att ge tredjepartsleverantörer möjlighet att integrera sina system mot LUPP.
Medvetet lämnad tom. 6
7 2. Integration med andra system LUPP 6.0 kommer att ha integration med flera system, SOS ZeRed och Zenit, RAKEL positionering, utalarmeringssystem m.m. Målsättningen är att data både ska kunna flöda in i, och kunna tas ut ifrån, ledningssystemet. Vi planerar att använda RIB Exchange för att bygga ett API som utvecklare kan använda för att bygga integration mot LUPP. LUPP är en applikation av flera som hålls samman av RIB Exchange. Vi redogör här kort för vad RIB Exchange är. Figur 2, Struktur från RIB Exchange:s vy. Flera program, i röd rektangel ovan, kan vara personalhanteringssystem, insatsrapporteringssystem, etc. 2.1. Funktion Systemets huvudsakliga uppgift är att fungera som värd för tjänster och därigenom förmedla meddelanden mellan olika processer. Processerna kan vara på samma maskin, på olika maskiner och i extremfall också i olika nätverk. RIB Exchange har inte ett eget stöd för synkronisering av data mellan flera enheter, men detta stöd finns inbyggt i LUPP Services.
8 2.2. Teknisk bas RIB Exchange kan fungera som värdprocess för arbetartrådar, t.ex. positionering och SOS-import. Den kan också agera som värd för WCF 1 -tjänster, av vilka flera finns i LUPP Services. API-funktionen är planerad att vara implementerad som en WCFtjänst i LUPP Services. 2.3. Exempel på funktioner 2.3.1. Uttag av information till Insatsrapportering Vi planerar att bygga ett API med möjlighet att plocka ut LUPPs information om insatser. Tanken är att det ska gå att prenumerera på förändringar av insatser, t.ex. när nya dagboksanteckningar görs, lägesrapporter skrivs, nya enheter knyts till en pågående insats och när enheters status ändras. Idén är att en tredjepartsprodukt då ska kunna ta del av den information som finns i LUPP och använda valda delar som en grund till insatsrapporten. Som i tidigare versioner av LUPP kommer inte LUPP 6.0 att ha stöd för att själv kunna skapa en insatsrapport. Denna funktionalitet finns redan i verksamhetsprogrammen. 2.3.2. Import av bemanningslistor Vi planerar även för möjligheten att skicka in bemanningslistor vid t.ex. skiftstart och kunna lägga dessa på rätt fordon/enheter. Detta för att snabbare kunna få ut en med namn bemannad enhet på en insats. I flera verksamhetssystem finns idag administration av kommenderingslistor. Denna information skulle kunna återanvändas även i LUPP. Som i tidigare versioner av LUPP kommer inte LUPP 6.0 att ha stöd för att själv kunna skapa eller redigera kommenderingslistor. Denna funktionalitet finns redan i verksamhetsprogrammen. 1 Microsoft Windows Communication Foundation, se http://blogs.msdn.com/johanl/pages/msdn-tv-livewindows-communication-foundation.aspx.
9 3. Insamling av önskemål Denna typ av tjänst, som kommer att kunna användas av flera tredjepartleverantörer, har enbart som syfte att underlätta för brukare av ledningssystemet. Det kan finnas flera önskemål som vi kan ha möjlighet att implementera. Det vi vill få tillbaka av önskemål är: Vilken information behöver tas ut (specificera exakt, inklusive objektstruktur)? Vilken information skall lämnas till LUPP 6 (specificera exakt, inklusive objektstruktur)? Vilken är er tidplan för implementationen av er lösning? Synpunkter och önskemål skickas till rib@msb.se senast 2010-09-06. Frågor om detta dokument: Stefan Jönsson, 010-240 52 97 (projektledare, utvecklingsansvarig) Patrik Tengström (konsult), 070-218 62 61 (teknik) De leverantörer av verksamhetssystem som lämnat synpunkter/önskemål om informationsutbyte kommer att få en inbjudan till en workshop som hålls i Karlstad den 21 september 2010. Temat för workshopen är att bearbeta de önskemål om informationsutbyte som inkommit till MSB. 3.1. Tidplan Planeringen är att kunna ge ut en uppsättning av servicekontrakt och datakontrakt för WCF-tjänsten under november 2010. Planerad driftsättning är mars 2011. Detta gör sammantaget att önskemål och synpunkter bör vara MSB tillhanda senast 2010-09-06.
Medvetet lämnad tom. 10
11 4. Exempel Nedan är ett exempel på en enkel insatsklass. Den innehåller ett id för insatsen, ett namn på insatsen, när insatsen skapades, när insatsen avslutades (null om den inte avslutats) och en lista över kopplade delar till insatsen, t.ex. skadeplatser, brytpunkter och ledningsplatser. Från varje sådan del kan sedan information om enheter tas ut, liksom bemanning. namespace MSB.RIB.Lupp.Services.API { /// <summary> /// Data contract class for mission /// </summary> [DataContract] [KnownType(typeof(MSB.RIB.Lupp.Services.API.IncidentSite))] public class Mission { /// <summary> /// The Guid of the mission /// </summary> [DataMember] public Guid MissionId { get; set; } /// <summary> /// The mission name /// </summary> [DataMember] public string MissionName { get; set; } /// <summary> /// The mission created date and time /// </summary> [DataMember] public DateTime Created { get; set; } /// <summary> /// The mission closed date and time (null if not closed) /// </summary> [DataMember] public DateTime? Closed { get; set; } /// <summary> /// The items connected to the incident. /// </summary> [DataMember] public System.Collections.Generic.IEnumerable<IIncidentItem> IncidentItems { get; set; } } }
12 MSB Myndigheten för samhällsskydd och beredskap 651 81 Karlstad Tel 010-240 240 www.msb.se