Forprosjektrapport. Høgskolen i Oslo og Akershus. Gruppe 1. Forfattere: Erik H. Forsén Erlend K. Rognes Ole G. Hansen Julie H. Roa

Like dokumenter
S y s t e m d o k u m e n t a s j o n

Programmeringsrammeverk som kan installeres på Windows Mobiloperativsystem

Utvikle en prototype for en digital versjon av helsekort for gravide. Programvareleverandør av ehelse-løsninger for helsevesenet

Forprosjekt Hovedprosjekt ved Høgskolen i Oslo Våren 2008

Institutt for informasjonsteknologi, Høgskolen i Oslo og Akershus, våren Camilla Kaasi(s188070) Roza Moustafa(s188113)

Hovedprosjekt i data ved Høgskolen i Oslo våren 2007

Forprosjektrapport. Gruppe 26. Digitalt læreverktøy for Cappelen Damm

Stikkord: Java EE, EJB, JSF, JPA, SWT, klient/tjener, Glassfish server, Application Client.

Hovedprosjekt i Informasjonsteknologi 2016 Høgskolen i Oslo og Akershus. Forprosjektrapport. Bravo Booking App

Forprosjektrapport. Hovedprosjekt i Informasjonsteknologi. Høgskolen i Oslo og Akershus. Våren 2016

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren Digitalisering av Sentralen UNG Gründer

Web fundamentals. Web design. Frontend vs. Backend Webdesign 17. januar Monica Strand

Artist webside. Gruppe medlemmer Joakim Kartveit. Oppdragsgiver Tetriz Event & Management. Frode Mathiesen. Gry Anita Nilsen.

Forprosjektrapport Gruppe 30

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

FORPROSJEKT KIM LONG VU DUY JOHNNY KHAC NGUYEN ADRIAN SIIM MELSOM HÅKON THORKILDSEN SMØRVIK

Høgskolen i Oslo og Akershus

KRAVSPESIFIKASJON. Tittel: Pris++ Oppgave: Utvikle en Android applikasjon med tilhørende databasesystem. Periode: 1. Januar til 11. Juni.

Bachelorprosjekt 2015

HØGSKOLEN I OSLO OG AKERSHUS. Forprosjektrapport

Forprosjektrapport. Utvikle en plattform for digitalisering av foosballbord.

Forprosjektrapport gruppe 3

Forprosjektrapport. Bachelorprosjekt i informasjonsteknologi ved Høgskolen i Oslo og Akershus, våren Pillbox Punchline

Forprosjektrapport ElevApp

Dokument 1 - Sammendrag

Forprosjektrapport Bacheloroppgave 2017

Høgskolen i Oslo og Akershus. Bachelorprosjekt Hacking Cristin. (midlertidig tittel) Forprosjektrapport

Bachelorprosjekt i informasjonsteknologi, vår 2017

SAS IN A SOA WORLD MARIUS SOMMERSETH TEAM LEAD TECHNICAL ARCHITECTURE

Forprosjektrapport. Bachelorprosjekt ved Høgskolen i Oslo og Akershus, våren Gruppe 11. Mohamed el Morabeti, s198748

1 Forord. Kravspesifikasjon

Gruppe 43. Hoved-Prosjekt Forprosjekt

Høgskolen i Oslo og Akershus Gruppe 27

Forprosjektrapport. Høgskolen i Oslo & Akershus. Gruppe 22. Elisabeth Kongshavn Huebert Miguel Pelegrin Fabros

MS Windows, Linux. Smidig, Scrum, Testdreven utvikling. Tidsrom Firma Tittel Java versjon > Selvstendig konsulent 6

Distributed object architecture

NCE TOURISM FJORD NORWAY. FJORDNETT INTERNETTFORUM 2012 Bergen, 12./13. juni 2012

ISY Park Go og nye ISY Park. Endre Lykke, NoIS

MRS Medisinske Registreringssystem Helse Midt-Norge. Mats B. Pettersen, Monica Ramberg Trondheim 9. oktober 2007

Kravspesifikasjon MetaView

InfoRed Publisering. - produktbeskrivelse. TalkPool WebServices Postboks Åneby

Skøyen, Gruppe 11

VEDLEGG 1 KRAVSPESIFIKASJON

Hovedprosjekt. Høgskolen i Oslo data/informasjonsteknologi våren 2011 Forprosjektrapport. K-skjema og ferie kalender

Studentdrevet innovasjon

Forprosjektrapport. Gruppe 31

Forprosjekt. Accenture Rune Waage,

Forprosjektrapport. Presentasjon. Studentgruppen. Bekk Consulting AS. Android app for aktivering av jakt- og fiskekort

Gruppe Forprosjekt. Gruppe 15

CORBA Component Model (CCM)

Web Service Registry

Innledende Analyse Del 1.2

6 Kravspesifikasjon. 6.1 Presentasjon. Tittel Precision Teaching App for Android

Forprosjektsrapport. Netcompany. OsloMet - Storbyuniversitetet

4.5 Kravspesifikasjon

GRUPPEMEDLEMMER FOR BACHELOROPPGAVE 5E. Mikael Brevik (22 år) Greger Lervik (21 år) Marius Krakeli (21 år)

Forprosjektrapport. Sammendrag. Hovedoppgave våren 2019 Gruppe 3

Høgskolen i Oslo og Akershus

Konsulent-ID: 2225 Curriculum vitae

FORPROSJEKT BACHELOROPPGAVE 2018 KATRINE ALMÅS GINELLE ZAPANTA IGNACIO CHRISTINE LANGELO LIEN FREDRIK NODLAND

Hovedprosjekt 2014, Høgskolen i Oslo og Akershus

DRAFT. Martin Lyckander

Hovedprosjekt i ingeniørfag, data, våren Oslo Gruppe 23 Torstein Frogner, Bernt Kristoffer Helland, Vahid Khairkhah, Jonas Myren Mo

Systemarkitektur. INF1050: Gjennomgang, uke 07

Identitetshåndtering og Single Sign-On (SSO)

Veilederdokumentenes forankring <UTKAST>

ephorte Integration Services (eis) produktbeskrivelse

Presentasjon Sammendrag Dagens situasjon Mål og rammebetingelser Moduler Løsning og alternativer...

3. Kravspesifikasjon. Experior - rich test editor for FitNesse -

- reklamebannere mobil og tablet

Øyvind Horneland.

Forprosjekt. Oppgdragsgiver Unikia, Lille grensen 7, 0159 Oslo, Kontaktperson Anders Kose Nervold,

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Kravspesifikasjon. Android app for aktivering av jakt- og fiskekort. Bacheloroppgave vår Høgskolen i Oslo og Akershus. Charlotte Sjøthun s180495

FORPROSJEKT. Gruppemedlemmer: Raja Zulqurnine Ali Muddasar Hussain (Gruppeleder/Prosjektleder) Zain-Ul-Mubin Mushtaq Christopher Llanes Reyes

UDDI norsk katalog for registrering av tjenester (WMS, WFS, WCS, WS) i Norge digitalt

2/3/2014 INSTITUTT FOR FÔRIT CDS INFORMASJONSTEKNOLOGI, HØGSKOLEN I OSLO OG AKERSHUS. Shahariar Kabir Bhuiyan

Høgskolen i Oslo og Akershus. Forprosjektrapport. Gruppe 11

Forprosjektrapport. Kristian Johannessen, Michael Andre Krog, Lena Sandvik, Alexander Welin, Snorre Olimstad Gruppe

Eventhandler Teknologi, kunst og design Høgskolen i Oslo og Akershus, våren Produktrapport

3. Prosessrapport. Forord

Kravspesifikasjon. Leserveiledning Kravspesifikasjonen består av følgende deler: Presentasjon Om bedriften

Prosjektdagbok. Gruppe 9. Gruppemedlemmer. Eirik Fjellheim Andersen (s198590) Sigurd Witold Aspen (s198593) Jonas Mögenburg (s198741)

Introduksjon til programmering og programmeringsspråk

Gruppe 44. Bachelorprosjekt ved Institutt for informasjonsteknologi, våren Høgskolen i Oslo og Akershus,

Kravspesifikasjon. Aker Surveillance. Gruppe 26 Hovedprosjekt ved Høgskolen i Oslo og Akershus. Oslo,

Forprosjektrapport. Hovedprosjekt for gruppe 13, Anvendt datateknologi våren 2016

Geomatikkdagene 2018 Stavanger

1. Å lage programmer i C++

HOVEDPROSJEKT HIO IU - DATA FORPROSJEKTRAPPORT GRUPPE 18

Denne rapporten er beregnet for dataansvarlig på Grefsenhjemmet, den som skal installere, vedlikeholde og modifisere systemet.

Hovedprosjekt i informasjonsteknologi våren Gruppe 32 - Erik M. Forsman, Lars H. Nordli og Simen A. Hansen

System Dokumentasjon. Team2. Høgskolen i Sørøst-Norge Fakultet for teknologi, naturvitenskap og maritime fag Institutt for elektro, IT og kybernetikk

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

K-Nett. Krisehåndteringssystem for Norges vassdrags- og energidirektorat i en beredskaps- og krisesituasjon. av Erik Mathiessen

Er du nysgjerrig på om det er mulig...

3 Filstruktur. Slik ser filstrukturen til applikasjonen ut når den er lagt ut på server eller når den er deployet.

Forprosjektrapport For gruppe 20:

Hovedprosjekt i Informasjonsteknologi ved Høgskolen i Oslo og Akershus. Forprosjektrapport. Presentasjon

Transkript:

Høgskolen i Oslo og Akershus Gruppe 1 Forprosjektrapport Forfattere: Erik H. Forsén Erlend K. Rognes Ole G. Hansen Julie H. Roa Veiledere: Ismail Hassan Frank T. Johnsen Trude H. Bloebaum 1. juni 2015

Innhold 1 Presentasjon 2 1.1 Oppdragsgiver............................ 2 1.2 Oppgave................................ 3 2 Sammendrag 3 3 Dagens situasjon 4 4 Mål og rammebetingelser 4 4.1 Mål.................................. 4 4.2 Teknologier.............................. 5 4.3 Rammebetingelser.......................... 5 5 Løsninger 6 5.1 Utvikling «back end»......................... 6 5.2 Utvikling «front end»........................ 7 5.3 Produktet............................... 8 6 Analyse av virkninger 8 6.1 «Front end».............................. 8 6.2 «Back end».............................. 9 6.3 Applikasjonsserver.......................... 9 Referanser 11 1

1 Presentasjon Oppdragsgiver Prosjekttittel Oppgave Forsvarets forskningsinstitutt (FFI) Common Operational Picture Secured Webapplikasjon som forstår, dynamisk presenterer- og gir tilgang på differensiert informasjon basert på informasjon om brukeren og vedkommendes rettigheter Periode 05.01.2015-26.05.2015 Gruppenummer 1 Gruppemedlemmer Erik Haider Forsén, s188086 Ole Gunhildsberg Hansen, s188114 Erlend Kristoffer Rognes, s188087 Julie Hill Roa, s188103 Talsmann Erlend Kristoffer Rognes Intern veileder Eksterne veiledere Ismail Hassan Frank Trethan Johnsen, frank-trethan.johnsen@ffi.no, +47 63 80 79 60 Trude Hafsøe Bloebaum, trude-hafsoe.bloebaum@ffi.no, +47 63 80 74 31 Prosjektside http://hov.forsen.no 1.1 Oppdragsgiver FFI driver anvendt forskning innenfor en rekke fagområder, blandt annet informatikk. Felles for nesten all forskningen ved FFI er at den er rettet inn mot Forsvarets behov. FFI har en høy grad av samarbeid med internasjonale partnere, spesielt innen NATO 1. FFI jobber, sammen med representanter fra andre nasjoner, med å utvikle, teste og verifisere standarder og profiler som skal benyttes til utveksling av informasjon mellom nasjonene i NATO. En viktig del av dette arbeidet er å kunne demonstrere nytten av disse løsningene til militære beslutningstagere. Per i dag har FFI ingen god applikasjon som kan benyttes til å demonstrere 1 North Atlantic Treaty Organization 2

nytten av de relevante sikkerhetsstandardene, og det er dette prosjektet skal bidra til. 1.2 Oppgave FFI ønsker en webapplikasjon der autoriserte brukere får differensiert tilgang til informasjon, basert på informasjon om brukerne. Eksempler kan være at kun norske brukere får tilgang til informasjon som kommer fra en gitt kilde, eller at brukeren må være klarert for «NATO Secret» for å kunne se informasjon med denne graderingen. FFI bruker plattformen OpenAM til tilgangskontroll, og denne benytter standarden SAML 2.0 2 til å uttrykke informasjon om brukere. Webapplikasjonen som prosjektet skal lage må kunne forstå denne brukerinformasjonen, og deretter vise frem den informasjonen brukeren har tilgang til. Denne informasjonen skal presenteres dynamisk på kart og blir sendt til en server i form av NATOs egne filformater basert på XML 3. Dette kan typisk være informasjon om posisjon, nasjonalitet, med mer til objekter som vennlige tropper, fly, skip og lignende. 2 Sammendrag Gjennom våren 2015 skal vi utvikle en webapplikasjon i samarbeid med FFI som de vil ta i bruk på en større NATO-øvelse i juni. Frank T. Johnsen og Trude H. Bloebaum vil være våre veiledere fra FFI. Vår interne veileder vil være Ismail Hassan. Oppgaven vi har fått tildelt vil ha fokus på aksesskontroll hvor autoriserte brukere får differensiert tilgang til informasjon. Eksempel kan være at kun norske brukere får tilgang til informasjon som kommer fra en gitt kilde. Måten vi ønsker å løse dette på er å vise informasjon dynamisk på et kart. Norge skal i samarbeid med andre nasjoner definere, verifisere og utvikle sikkerhetsstandarder på informasjonsutveksling. I NATO er det utviklet «Network Enabled Capabilities» 4 Dette innebærer at brukere på operative nivåer skal kunne kommunisere og ha tilgang til informasjon de trenger. For å kunne koble sammen teknologier, har NATO valgt å å satse på tjenesteorientert arkitektur, SOA 5. Vi skal filtrere på SAML 2.0 token for å se hvem som skal ha tilgang til hva på kartet. Vårt hovedmål ved oppgaven er å tilby FFI en webapplikasjon de kan demonstrere sin sikkerhetsløsning på. Vi har stort sett fått frie tøyler til å ta de fleste avgjørelser selv. Noen rammebetingelser har vi likevel fått, slik at løsningen skal fungere i de miljøene FFI ønsker å demonstrere. I forhold til løsninger vi ønsker å bruke for å gjennomføre prosjektet, har vi bestemt oss for Java «back end» og AngularJS, Leaflet og Foundation «front 2 Security Assertion Markup Language versjon 2.0 3 extensible Markup Language 4 NNEC - Nettverksbasert Forsvar 5 Service Oriented Architecture 3

end». Gjennom utarbeidelsen av denne rapporten har vi analysert hva som vil passe oss best i forhold til vår oppgave. I seksjon 6 på side 8 kommer det frem mer detaljert hvorfor vi ønsker å bruke de verktøyene, og hvorfor de passer oss. 3 Dagens situasjon Et av forskningsprosjektene FFI holder per dags dato er informasjonsflyten mellom nasjoner og applikasjoner i forsvaret. Norge i samarbeid med andre nasjoner, skal derfor definere, verifisere og utvikle sikkerhetsstandarder på informasjonsutveksling. I NATO har man utviklet konseptet «Network Enabled Capabilities» som tilsvarer «Nettverksbasert Forsvar» [2]. Dette innebærer at brukere på operative nivåer problemfritt skal kunne kommunisere og ha tilgang til den informasjonen de trenger. Da det er snakk om forskjellige nasjoner med egne systemer er det urealistisk og tro at alle vil bytte ut sin egen teknologi med noe nytt. For å kunne koble sammen de nye og de gamle systemene og oppnå sømløs informasjonsutveksling har NATO valgt å satse på tjenesteorientert arkitektur (SOA). Dette skal de oppnå ved å bruke web services. Dette kan være en utfordring da Web services fungerer best med høy båndbredde, noe man ikke alltid har ute i felt. For tiden er det et driv i NATO mot nye, forbedrede informasjonutvekslingsformater og i 2014 var FFI med i øvelsen CWIX[1] 6. Her ble det gjort eksperimenter med fokus på SOA. FFI samarbeidet med NCIA 7 og partnernasjoner der målet var utvikling og verifisering av FMN 8 -relaterte interoperabilitetsspesifikasjoner for sentrale infrastrukturtjenester. I 2015 skal de videreføre denne forskningen og bygge på resultatene fra 2014. FFI planlegger å bidra på tre områder, informasjonsutveksling, webautentisering, og web service sikkerhet. Vår jobb er derfor å lage en testapplikasjon hvor de kan demonstrere sine resultater for NATO på CWIX 2015. Vi skal ta i mot sanntidsinformasjon på en server og fremvise et situasjonsbilde. Vi skal også filtrere på SAML 2.0 token for så å gi tilgang og rettighet ut ifra det. Dette ved hjelp av web services, SOAP 9 og NATO formaterte XML-filer. 4 Mål og rammebetingelser 4.1 Mål Hovedmålet med arbeidet vårt er å tilby FFI en webapplikasjon de kan demonstrere sin sikkerhetsløsning på. I tillegg har vi disse målene: 6 Coalition Warrior Interoperability exploration experimentation and examination exercise 7 NATO Communications and Information Agency 8 Federated Mission Networking 9 Simple Object Access Protocol 4

lage en «situational awareness» 10 webapplikasjon tilby en komplett webapplikasjon bestående av «back end» og «front end» løsningen skal kunne demonstreres eksternt kildekoden skal kunne vedlikeholdes og videreutvikles av andre utviklere uten store utfordringer 4.2 Teknologier JavaSE Spring Framework Spring Security OpenAM JavaScript Apache TomCat IntelliJ IDEA GIT (Bitbucket som hostingtjeneste) L A TEX JIRA & Confluence 4.3 Rammebetingelser FFI har gitt oss en oppgave der vi tar de fleste avgjørelser selv. Noen rammebetingelser er det likevel, slik at løsningen vår skal fungere i de miljøene FFI ønsker å demonstrere. VMWare (virtuelle maskiner) Benytte web services som maskin-til-maskin kommunikasjon SOAP Må støtte både publish / subscribe og request / response metoder Windows 7 server «Back end» skrives i Java, rammeverk Spring Framework «Front end» skrives i JavaScript, rammeverk AngularJS & Leaflet «Back end» må kunne ta i mot data i henhold til NFFI[3] 11 og NIEM 12 10 En webapplikasjon som viser hvor forskjellige ressurser befinner seg i nærområdet. Kan være vennlige styrker, mistekenkelig aktivitet og lignende 11 Nato Friendly Force Information 12 National Information Exchange Model http://release.niem.gov/niem/3.0/ 5

Systemet må kunne forstå og ta i bruk «tokens» fra OpenAM, SAML 2.0 er formatet som benyttes 5 Løsninger For valg av teknologier har vi i denne seksjonen prøvd å forklare litt rundt våre valg og behov: 5.1 Utvikling «back end» Vi har sett på litt ulike teknologier for bruk i vår «back end». Nedenfor ser man en kort presentasjon om de teknologiene vi kommer til å benytte, samt litt drøfting rundt valgene vi har tatt. Java SE Ved å bruke Java SE får vi tilgang til ny funksjonalitet i Java 8, som vi vil utforsøke og eventuelt benytte. Java SE har god integrasjon mellom Spring Framework, Spring Security og OpenAM, samt Maven som gjør oppsett og avhengighet av disse lett. Spring Framework med Spring Security Spring Framework er et velkjent rammeverk for Java. Spring Framework er godt dokumentert og virker å være et greit rammeverk å sette seg inn i. Med Spring Security kan vi også fokusere på sikkerhet. Dette kan integreres godt med OpenAM som vi skal bruke til innlogging og rettighetskontroll. Deler av rammebetingelsene våre er å bruke web services og SOAP, dette har også Spring støtte for gjennom Spring-WS. OpenAM OpenAM er en tilgangskontroll-, rettigheter- og føderasjonsplattform. Denne gjør det mulig med Single Sign On på tvers av systemer og enheter. Brukernes rettigheter er ikke definert av OpenAM, men av systemeierne. Dette gjør OpenAM til en fleksibel plattform. I vårt prosjekt vil rettighetene leveres i form av SAML 2.0 tokens. Maven Vi har sett på flere forskjellige byggsystem, hovedsaklig Ant, Maven og Gradle. Maven har et mer moderne konfigureringsstruktur enn Ant (konvensjoner istedenfor lange XML konfigurasjonsfiler), og er raskere til å bygge en Gradle. Vi ser at Maven er kapabel til å inkludere OpenAM i prosjektet, samt bygge og 6

«deploye» prosjektet mot TomCat. Fungerer godt i IntelliJ IDEA, som er vårt forløpig valg av IDE 13. TomCat Ved valg av applikasjonsserver så har vi sett litt på GlassFish, JBoss, TomCat og TomEE. TomCat skiller seg her ut ved at den er hovedsaklig en HTTP 14 server med støtte for servlets og jsp. TomCat har altså ikke full støtte for Java EE, men kun et subset av spesifikasjonen. Til vårt prosjekt så har vi konkludert med at TomCat vil være tilstrekkelig. Fordelen med å benytte TomCat kontra de andre er at TomCat har et betydelig mindre «footprint» når det kommer til ressursbruk, og er mer effektiv. Konklusjon Vi har tidligere jobbet sammen med utvikling av webapplikasjon innenfor.netrammeverk. Vi ønsker å tilegne oss kompetanse på begge feltene og samtidig komme litt utenfor komfortsonen. Samtidig er veilederne våre godt kjent med utvikling innenfor Java i tidligere prosjekter. Dette vil være positivt av den grunn at FFI lettere kan videreutvikle vårt produkt og vi kan samtidig få hjelp om vi står fast. 5.2 Utvikling «front end» Vi har sett på flere alternativer til applikasjonen. Vi har ut i fra våre søk kommet frem til disse valgene i forhold til utvikling «front end»: AngularJS Vi har valgt å utvikle «front end» ved hjelp av AngularJS. Dette fordi Angular er et MVC 15 -rammeverk fra Google som hjelper å strukturere JavaScript og dele opp i «models», «views» og «controllers». AngularJS gir en fin arkitektur på koden. Leaflet For applikasjonens karttjeneste har vi valgt å bruke Leaflet. Leaflet er et moderne «open source» JavaScript bibliotek for mobilvennlige, interaktive kart. Leaflet virker effektivt på alle stasjonære og mobile plattformer og drar god fordel av HTML5 16 og CSS3 17 på moderne nettlesere, samtidig som det er lett tilgjengelig på eldre versjoner. 13 Integrated Development Environment 14 HyperText Transfer Protocol 15 Model-View-Controller 16 HyperText Markup Language versjon 5 17 Cascading Style Sheets versjon 3 7

Leaflet har i tilegg mange tilgjengelige utvidelser, veldokumentert API 18 og et eget direktiv i forhold til AngularJS. Foundation Vi ønsker å differensiere vår applikasjon fra Bootstrap sine tema. Vi ønsker å se nærmere på Foundation og vurderer sterkt å benytte det til utvikling av brukergrensesnittet. Foundation har gode verktøy for utvikling av ryddige brukergrensesnitt og har fokus på «mobile first». Selv om Foundation har mindre temautvalg enn Bootstrap vil det passe oss godt i forhold til vår oppgave. Konklusjon Slik det ser ut nå ønsker vi å bruke Leaflet for karttjenesten i applikasjonen, Foundation for å få et pent brukergrensesnitt og AngularJS til resten av «front end» utviklingen. Mer detaljert analyse om valg vi har tatt kommer i seksjon 6. 5.3 Produktet Produktet vil utvikles i to utviklingsprosjekter («back end» og «front end»). Hvor «back end» vil i all hovedsak omhandle Java, og «front end» vil ha fokus på AngularJS, Foundation og Leaflet som nevnt over. 6 Analyse av virkninger Målet med våre teknologivalg er at FFI får en solid, elegant og funksjonell applikasjon å teste sin sikkerhetsløsninger på ved CWIX 2015 og senere øvelser. Samtidig ønsker vi et stort læringsutbytte. Løsningene vi har valgt vil få oss ut av komfortsonen og vi vil bli nødt til å sette oss inn i mye nytt. 6.1 «Front end» Vi ønsker å velge et rammeverk for «front end» som vi kan benytte til å oppfylle alle oppgavens krav i forbindelse med brukergrensesnitt. CSS-rammeverk For CSS-rammeverk har vi sett på to mulige valg. Bootstrap - som vi kjenner godt fra før, og Foundation - som er nytt for oss. For å ta et valg har vi sett på de ulike mulighetene i rammeverkene, se figur 1 på neste side. 18 Application Programming Interface 8

Det er vanskelig å se en klar vinner av de to «front end»-rammeverkene. Både Bootstrap og Foundation har sine fordeler og ulemper, men det er på svært få punkter de utmerker seg i forhold til konkurrenten. Punktet som trekker mest opp for oss på dette tidspunktet er muligheten til å lage et unikt brukergrensesnitt, hvor Foundation er best. Vi har også brukt Bootstrap tidligere. For å utvide vår kompetanse vil det derfor denne gangen være nyttig å lære- og benytte Foundation. 6.2 «Back end» Java har vi kjennskap med fra før, men vi har ikke tidligere benyttet det i forbindelse med webapplikasjoner. Vi velger Java fremfor for eksempel C# (som vi har brukt tidligere) fordi vi ønsker erfaring på begge områder. Veilederne våre har tidligere benyttet seg av Java og kan gi oss gode innspill dersom vi får utfordringer underveis. 6.3 Applikasjonsserver Veileder benytter seg av både TomCat og GlassFish. Vår oppdragsgiver legger ingen føringer på hvilke applikasjonsserver vi skal benytte. Vi har vurdert TomCat, GlassFish, TomEE og JBoss. GlassFish og JBoss JavaEE applikasjonsservere, relativt tunge ressursmessig Et must dersom applikasjonen krever full JavaEE støtte TomCat En HTTP server som støtter Java servlets og JSP spesifikasjonene. Figur 1: Sammenligning av Bootstrap og Foundation 9

Vesentlig «lettere» ressursmessig, men også lettere å sette opp, konfigurere og administrere Vårt valg falt på TomCat, da våre veiledere mener at den applikasjonen vi skal utvikle ikke har behov for full JavaEE støtte, og derfor vil TomCat være det mest fornuftige valget. 10

Referanser [1] Trude Hafsøe Bloebaum og Frank T. Johnsen. CWIX 2014 core enterprise services experimentation, nov 2014. [2] Ketil Lund, Trude Hafsøe, Frank T. Johnsen, Espen Skjervold og Anders Eggen. Information exchange in heterogeneous military networks, dec 2009. [3] Vincenzo de Sortis. NFFI service interoperability profile 3 (sip3) technical specifications. (1.1.5). 11