OS2 Opgavefordeler Løsningsbeskrivelse Version 2 Udarbejdet af Miracle A/S Simon Møgelvang Bang smb@miracle.dk 15/2/2015
Løsningsbeskrivelse for OS2 Opgavefordeler 1. Introduktion... 3 2. Kontekst... 3 Brugere... 4 Eksterne systemer... 5 3. Funktionelt Overblik... 5 4. Quality Attributes/Nonfunktionelle krav... 5 5. Constraints... 6 6. Principper... 6 7. Software Arkitektur... 7 Containers... 8 Komponenter i Java applikation... 8 Support efter go- live... 9 Servicedesk... 9 Hosting af OS2 Opgavefordeler... 9 Dette dokument er udarbejdet af Miracle A/S for Syddjurs Kommune og OS2 fællesskabet, og må ikke overdrages til tredjemand, hverken helt eller i uddrag, uden Miracle s godkendelse. Side 2 af 10
1. Introduktion Dette skriv giver et overblik over, hvordan det er tænkt at lave OS2 Opgavefordeler. Det inkluderer følgende: 1. Krav, constraints og principper. 2. Software arkitekturen. Miracle har gennem samtaler med Syddjurs Kommune omkring deres nuværende opgavefordeler udarbejdet dette dokument, der beskriver, hvordan løsningen kan etableres for alle landets kommuner som en SaaS løsning, hostet centralt med mulighed for at kommunerne kan abonnere på services omkring KLE og organisatoriske tilhørsforhold. 2. Kontekst OS2 Opgavefordeler laves som Java applikation med REST interface samt tilhørende webapplikation. REST interface giver mulighed for opslag for mapningen mellem KLE- numre og ansvarlig entitet for håndtering af denne. Webapplikationen giver mulighed for at vedligeholde de tilgængelige data/relationer. Følgende konteksdiagram viser applikation og aktører: Side 3 af 10
Formålet med applikationen er at udstille og vedligeholde data for mapning mellem en kommunes opgaver, og dem der er ansvarlige for at udføre dem. Brugere Der er tre slags brugere af applikationen 1. Sysadmin Denne bruger kan administrere de forskellige kommuners opsætning. 2. Kommuneadmin Denne administrator kan vedligeholde en kommunes organisationsstruktur. Side 4 af 10
3. Bruger Denne bruger kan lave fordelinger og flytte ansvar for opgaver. Dette er det typiske scenarie. Eksterne systemer Der er flere eksterne systemer, som interagerer med OS2 Opgavefordeler. 1. KL Mox agent Denne agent leverer KLE- strukturen direkte fra KL, KLE repræsenterer kommunernes opgaver fordelt hierakisk på grupper og emner. (Denne er ikke en del af version 1), i første version indlæses KLE manuelt. 2. Kommuners Mox agent Denne agent leverer information om kommunernes organisationsstruktur. (Denne er ikke en del af version 1) i første version indlæses organisationen manuelt via en CSV fil. 3. Kommunale systemer Disse systemer trækker oplysninger om en kommunes delegering af et KLE- nummer via en rest- service. 3. Funktionelt Overblik OS2 Opgavefordeler handler om en kommunes forbindelse mellem KLE- numre og den entitet, der håndterer det pågældende emne, hvad enten det er en afdeling eller en medarbejder. KLE- numre KLE- numre kommer fra KL og indlæses af sysadmin/miracle. KLE- strukturen er fælles for alle kommuner. Kommuner og Organisationsstruktur Hver kommune kan oprettes som selvstændig enhed i applikationen. De har administratorer, som vedligeholder kommunens organisationsstruktur og har derudover brugere, der vedligeholder mapning mellem KLE- numre og afdelinger eller medarbejdere. Kommuner oprettes og vedligeholdes overordnet set af kommunens sysadmin. REST interface Oplysninger om hvem der håndterer KLE- numre for en kommune, kan trækkes via REST/JSON til brug ved integration. 4. Quality Attributes/Nonfunktionelle krav Performance Alle funktioner i OS2 Opgavefordeler skal svare på under n sekunder for n samtidige brugere. REST interface skal kunne håndtere nn/s. Scalability OS2 Opgavefordeler skal kunne skalere til n gange forventet anvendelse. 2 gange eksisterende KLE- numre (2500). 98 kommuner med: 500 afdelinger. 1000 brugere. 10000 fordelinger. Side 5 af 10
Availability Applikationen skal være tilgængelig og nem at bruge for lejlighdsvise brugere. Eksempler på skærmbilleder er vedlagt. Internationalisation Webapplikationen leveres på dansk. I REST interface benyttes engelsk terminologi. Localisation Webapplikation kører dansk. REST interface engelsk. Browser kompatabilitet Webapplikationen skal virke på nyeste versioner af følgende browsere med Javascript aktiveret: o Google Chrome 30+ o Internet Explorer 9+ o Firefox 30+ o Safari 7+ 5. Constraints OS2 Opgavefordeler skal udvikles med open source teknologi. Der er valgt Java og js. Deployment på Apache webserver og JBoss Wildfly/Red Hat EAP6. Som datastore benyttes PostgresSQL Der benyttes SAML 2.0 til authentication. 6. Principper Continuos integration Der etableres continuos integration til web interface og Java applikation. Automated testing Der etableres automatisk afvikling af unit tests. Configuration Al konfiguration vil foregå i.properties filer for at holde det ude af applikationen og styre deployment på tværs af miljøer. Side 6 af 10
7. Software Arkitektur Her følger et overblik over arkitekturen. Side 7 af 10
Containers Dette diagram viser de forskellige dele af applikationen fordelt på containere. Opdelingen er kun på typer af container og repræsenterer ikke antal. Webapplikationen hostet på Apache giver mulighed for at vedligeholde fordelinger, organisationsstrukturer samt KLE. Det er en applikation lavet i Angular/HTML5 som benytter REST interfacet i Java applikationen. Java applikationen hostes på JBoss og sørger for alt omkring authentication, authorization og udstiller via REST, interface til opslag og vedligehold på KLE, organisationsstrukturer, samt regler for fordeling. Relationel db i form af PostgreSQL benyttes til persistens fra Java applikationen. Komponenter i Java applikation De tre primære komponenter i Java applikationen omhandler KLE, Kommuners organisationsstruktur samt selve fordelingerne. Side 8 af 10
Support efter go- live Miracle udfører applikationssupport på OS2 Opgavefordeleren. Miracle har stor erfaring med lignende opgaver og udfører i dag applikationssupport for en lang række kunder med lignende kompleksitet og mange slutkunder og brugere. Servicedesk Der oprettes 1 indgang og 1 servicedesk til alle henvendelser fra kommunerne, og alle henvendelser registreres til den enkelte kommune og kan afregnes direkte til den enkelte kommune. Hosting af OS2 Opgavefordeler Miracle Hosting A/S hoster OS2 Opgavefordeler i eget hostingcenter placeret i Ballerup. Endeligt tilbud på hosting afventer estimat på forventet servicebrug. Hostingløsningen opbygges, så den løbende kan skaleres, efterhånden som der kommer flere kommuner på, og således sikres den bedst mulige hosting. Side 9 af 10
Side 10 af 10