En värdtjänst för mjukvaruutvecklingsprojekt

Storlek: px
Starta visningen från sidan:

Download "En värdtjänst för mjukvaruutvecklingsprojekt"

Transkript

1 DEGREE PROJECT, IN, FIRST LEVEL STOCKHOLM, SWEDEN 2013 En värdtjänst för mjukvaruutvecklingsprojekt UTVECKLING AV ETT VERKTYG FÖR ATT EFFEKTIVISERA PROGRAMMERING DAVID BRINNEN AND RASMUS NORD KTH ROYAL INSTITUTE OF TECHNOLOGY ICT, INFORMATION AND COMMUNICATIONS TECHNOLOGY

2 Kungliga Tekniska Högskolan En värdtjänst för mjukvaruutvecklingsprojekt som använder versionshanteringssystemet Git Utveckling av ett verktyg för att effektivisera programmering vid svenska universitet och högskolor DAVID BRINNEN RASMUS NORD 30 september 2013 Handledare & Examinator Anne Håkansson

3

4 Sammanfattning Att lära sig använda verktyg för att effektivisera mjukvaruutveckling vid en högskoleutbildning borde vara en självklarhet med tanke på den hårdnade konkurrensen bland företag i branschen. Avsaknaden av direktiv att använda versionshanteringssystem vid mjukvaruutveckling för studenter i Sverige låg till grund för uppsatsen. Uppsatsen dokumenterar implementationen av en värdtjänst för mjukvaruutvecklingsprojekt som använder versionshanteringssystemet Git, vilket inkluderar en webbapplikation, lagring, API samt autentisering av studenter. Projektet resulterade i en fungerande värdtjänst och en mindre undersökning om dagens Svenska studenters användarvanor av versionshanteringssystem under sina studier. Nyckelord: Värdtjänst, Git, enkät, versionshantering, källkod, SAML, API, Node.js, MongoDB, OpenSSH, Nginx.

5 Abstract Title: A hosting service for software development projects that use the Git revision control system To learn using tools to make software development more effective should be self-evident at a high level institution as the competitive industry races on. The absence of directives for programming students in Sweden to use source code management (SCM) was the basis for this report. The report describing the developing of a hosting service for software development to use SCM of Git, which includes a web application, storage, API and authentication of students. The project resulted in a hosting service and a smaller survey of how the today Swedish students using habits of SCM during their studies.

6 Innehåll 1 Introduktion Bakgrund Problembeskrivning Syfte Mål Metod Avgränsningar Disposition Bakgrund Versionshantering Varför versionshantering? Begrepp inom versionshantering Versionshanteringssystem Lokala Centraliserade Decentraliserade Git Mjukvaror och teknologier Linux OpenSSH SAML Nginx SSL Node.js Express MongoDB API REST AngularJS

7 3 Metod Arbetsmetod Utveckling av en värdtjänst Design Programmering Testning Att undersöka en stor målgrupp Plannering Verktyg och administration Implementation av värdtjänsten Introduktion Projekt namn Systemöversikt SSH-Server Utökning av källkoden till OpenSSH Access Serve Databas Användare Git-katalog SSH-nyckel Webbserver Autentisering med SAML Hantering av SAMLRequest och SAMLResponse meddelande API Hämta en specifik användare Uppdatera en specifik användare Hämta en specifik användares Git-kataloger Skapa en ny Git-katalog Hämta en specifik Git-katalog Uppdatera en specifik Git-katalog Radera en specifik Git-katalog Hämta en specifik användares SSH-nycklar Skapa en ny SSH-nyckel Hämta en specifik SSH-nyckel Radera en specifik SSH-nyckel Webbapplikation Enkät 35

8 5.1 Implementation Frågor Resultat av enkät Analys Arbetsmetod Enkät Implementation Framtida arbete Slutsats Litteraturförteckning 47 A Utlämnade resultat på frågor i enkäten 49 B Organisationer och tjänster 53 B.1 SWAMID - Swedish Academic Identity B.2 Ipeer Elastic Cloud Server C Kodavsnitt 55 C.1 SAML C.1.1 Förfrågan C.1.2 Svar

9 Figurer 2.1 Visuallisering av benämningar i versionshantering Hur SCCS och RCS sparade lagringsutrymme med hjälp av deltas Centraliserat versionshanteringssystem Decentraliserad versionshanteringssystem UGIT Logotyp Översikt av värdtjänsten Programflöde Access Programflöde Serve Meddelandeflöde emellan, SP, användare och IdP vid autentisering vid utbyte mot SP resurs Webbapplikationen Tillståndsdiagram av enkäten Säkerhetskopierar du den källkod du skriver? Hur ofta skriver du källkod tillsammans med andra i grupp? Hur ofta använder du något versionshanteringssystem? Vilket eller vilka versionshanteringssystem använder du? Varför använder du inte versionshanteringssystem? A.1 Programmerar du i skolan? A.2 Hur säkerhetskopierar du din källkod oftast? A.3 Hur delar ni källkod oftast? A.4 Var använder du versionshanterigssystem? A.5 Betalar du eller någon annan på något sätt för versionshanteringen?.. 51

10 Kapitel 1 Introduktion Högskoleutbildningar ska ge studenter kunskaper och färdigheter inför det framtida arbetslivet. Det är därför viktigt att utbildningarna motsvarar de kunskaper som företagen och arbetsgivarna söker, annars kan inlärningsperioden för de utexaminerade studenterna bli onödigt lång när de kommer ut i arbetslivet, vilket är en tidskrävande process som kostar pengar. 1.1 Bakgrund Grundförutsättningen för att ett företag ska fungera är att det har en omsättning som motsvarar dess kostnader. Företag som lyckas bra går även med vinst. Det finns egentligen bara två sätt att öka vinsten, antingen att öka intäkterna eller att minska kostnaderna. Att öka intäkterna är kanske det enklaste av de två, men leder direkt till ökade priser för kunderna och indirekt till risken att bli utkonkurrerad av andra på marknaden. Således blir det viktigt att alltid försöka minska kostnaderna. För företag i IT-branchen som utvecklar mjukvara är det viktigt att källkoden skrivs och underhålls effektivt för att hålla nere kostnaderna. Ett idag mycket vanligt hjälpmedel utvecklarna använder är versionshanteringssystem [1]. Fördelarna med att använda ett versionshanteringssystem är många, men tre exempel är säkerhetskopiering, samarbete och versionshantering. Alla tre leder till tidsbesparingar, vilket i sin tur leder till minskade kostnader [1]. Kom ihåg, tid är pengar Benjamin Franklin 1

11 KAPITEL 1. INTRODUKTION Studier vid universitet och högskolor ska vara förberedande inför arbetslivet [2]. Under sin akademiska tid tillbringar de som studerar datorvetenskap och informationsteknik ofta en hel del tid åt att skriva kod vid kurslaborationer och inlämningar som en del av examinationen. Från universiteten och högskolornas håll finns det generellt inget tryck på att använda versionshantering. Så trots att det en mycket viktig del vid mjukvaruutveckling i arbetslivet så förbereds inte studenterna för detta. Peter Klerehag, idag mjukvaruingenjör på företaget DigitalRoute och tidigare student vid Kungliga Tekniska Högskolans (KTH) kandidatprogram Informations- och kommunikationsteknik säger att använda versionshanteringssystem vid utveckling av mjukvara är självklart. Ett hjälpverktyg vilket han under sina studier inte fick lära sig att använda. Istället fick han lära sig använda versionshanteringssystem på arbetsplatsen. Erik Övelius även han tidigare student vid KTH på civilingenjörsprogramet Informationsteknik med inriktning på datalogi och idag utvecklare på Google. Han menar att gapet mellan de verktyg man använder under sina studier och de verktyg man använder i sitt arbete är större än vad det behöver vara. Det är viktigt att man ger en överblick av metoder och verktyg för samarbete som är en viktig del av arbetslivet, men som lätt försvinner i studiernas fokus på rena akademiska kunskaper. Det är varje individs ansvar att aktivt lära sig, men att göra inlärning av kunskap naturligare minskar dess komplexitet. Med direktiv och vägledning kan tröskeln mellan ord och handling minskas. Berätta för mig och jag glömmer, undervisa mig och jag kanske minns, engagera mig och jag lär mig Benjamin Franklin 1.2 Problembeskrivning Klara direktiv från universitet och högskolor i Sverige finns inte idag gällande hur studenter kan använda versionshanteringssystem för att effektivisera sina studier. Denna uppsats kommer fokusera på två frågor. Hur utvecklar vi en värdtjänst för mjukvaruutvecklingsprojekt som använder versionshanteringssystemet Git? Hur säkerhetskopierar, samarbetar och versionshanterar studenter sin källkod? Används versionshanteringssystem? 2

12 1.3. SYFTE 1.3 Syfte Ändamålet med uppsatsen är att dokumentera implementationen av en värdtjänst för mjukvaruutvecklingsprojekt som använder versionshanteringssystemet Git. Syftet är också att undersöka studenters kännedom och användning av versionshanteringssystem. 1.4 Mål Att få studenter i Sverige att använda versionshanteringssystem och bli mer förberedda inför arbetslivet. 1.5 Metod Strävan att utföra ett bra projektarbete med ett önskat resultat är en given målsättning. Hur syftet med projektet uppfylls, vilka forskningsmetoder att använda är däremot inte lika självklart. Därför är det viktigt att projektet klassificeras i ett tidigt skede som kvantitativ eller kvalitativ. Kvantitativa metoder är av numerisk karaktär där statistik i någon form används för att uppnå projekts mål. Kvalitativ är motsatsen till kvantitativ och därefter av en icke numerisk karaktär [3]. Kvalitativ och kvantitativ forskningsmetod används i projektet, men huvudsakligen används den kvalitativa metoden. Det sätt arbetet utförs på är antingen deduktiv eller induktiv. Med ett deduktivt arbetssätt ska en bestämd hypotes verifieras eller falsifieras av ett stort antal observationer i en vald miljö. Induktivt arbete innebär att man av insamlad information skapar en teori utifrån informationen för att förstå varför eller hur det fungerar som det gör. Induktivt arbete lämpar sig väl för utveckling av system och är i klar majoritet av användning i detta projekt [3]. 1.6 Avgränsningar Instruktioner för användning av programmeringsspråk, protokoll och versionshanteringssystem har utelämnats på grund av att det redan finns tillgängliga sådana på Internet eller i bibliotek. 3

13 KAPITEL 1. INTRODUKTION 1.7 Disposition Kapitel 2 Bakgrund beskriver vilken nytta versionshantering har samt de olika typer av versionshanteringssystem som finns och vad som skiljer dem åt. Mjukvaror och tenkniker använda vid implementationen av värdtjänsten beskrivs. Kapitel 3 Metod presenterar de forskningsmetoder och det arbetssätt som används under projektet, arbetsmodell, hjälpverktyg för administration och dokumentation. Kapitel 4 Implementation av värdtjänsten dokumenterar utvecklandet av värdtjänsten. Kartläggning av alla detaljer rörande systemet, allt från användargränssnitt till funktionalitet. Kapitel 5 Enkät beskriver hur en enkät formulerades för att undersöka hur studenter i Sverige idag säkerhetskopierar, sammarbetar och versionshanterar sin källkod. Kapitel 6 Analys innehåller analyser av arbetsmetod, implementation och enkät. Personliga tankar och idéer kring systemets utformning och framtid presenteras också. 4

14 Kapitel 2 Bakgrund Versionshanteringssystem är idag ett välanvänt verktyg av mjukvaruutvecklare och anses som en självklarhet av många. En annan självklarhet vid utvecklingsprojekt är ett undersöka tillgängliga och fri standarder, mjukvaror och ramverk att använda istället för att utvecklare implementerar det själva. 2.1 Versionshantering Det första versionshanteringssystemet konstruerades redan 1972 av Marc J. Rochkind med inriktning på källkod [4]. Sedan dess har många olika system såväl centraliserade som decentraliserade vidareutvecklat det fundamentala konceptet att bevara olika versioner av datafiler och möjligheten att återskapa dem Varför versionshantering? Att kunna återgå till ett tidigare stadium av en kod möjliggör att ångra felaktiga förändringar. Möjligheten att återvända till olika nyckelpunkter i utvecklingsskedet är ett verktyg vilket efter bekantskap, blir lika självklart som textredigeraren för utvecklaren [5] Begrepp inom versionshantering En förutsättning för versionshantering är att datafiler övervakas och förändringar (engelska deltas) av dem förvaras i en katalog (engelska repository). När förändringar görs i en datafil eller i flera datafiler, kan de skrivna förändringarna anses vara beständiga till att urskilja en egen version av katalogen. På detta sätt lagras 5

15 KAPITEL 2. BAKGRUND ändringarna i ett indexerat händelseförlopp över skapade versioner, där den senaste versionen består av samtliga indexerade förändringarna konjugerade tillsammans. Att skapa en version (engelska commit) görs manuellt och kan samtidigt tilldelas en beskrivande text. Grafiskt kan händelseutvecklingen i en katalog gestaltas som ett träd där olika versioner utgör punkter längs en tidsaxel, baslinjen (engelska trunk). Se Figur 2.1 där kvadraterna gestaltar olika commits. Liknelsen av ett träd görs då sidospår till denna baslinje kan uppstå och liknas som en förgrening (engelska branch) för att sedan överges eller sammanfogas (engelska merge) med baslinjen. Trunk Branch Merge Branch Branch Merge Figur 2.1. Visuallisering av benämningar i versionshantering Versionshanteringssystem Vanligtvis itereras källkod fram och olika stadium av koden kan motsvara olika lanserade versioner av det kompilerade programmet. Det är även vanligt att utvecklare underhåller flera versioner av mjukvaran simultant för att förbättra just den specifika versionen där ett problem upptäcktes. När uppsatsen skrevs hade det utvecklats fram mer än 30 olika system för versionshantering, med startår 1972 [4]. Idag går det att kategorisera dessa i tre olika modeller för hur systemen tillhandahåller användaren versionshantering. Tre systemmodeller med en betydande skillnad av funktionalitet: lokala-, centraliserade- och decentraliserade versionshanteringssystem. Lokala SCCS (Source Code Control System) 1 och efterträdaren RCS (Revision Control System) 2 är de första versionshanteringssystemen som utvecklades fram i syfte att

16 2.1. VERSIONSHANTERING utgöra riktlinjer och underlag för att minska de misstag som gjordes med tidigare versionshanteringsmetoder. Ett exempel på ett sådant kan ha varit att spara och kopiera datorfiler i olika kataloger, märkta med förhoppningsvis något urskiljande för versionen. Problemet med detta tillvägagångsätt var att mängden utrymme för att bevara de olika versionerna tog slut. SCCS och RCS löste det problemet med att endast bevara förändringarna mellan de olika versionerna i en indexerad struktur i en katalog. Det medförde möjligheten av att återskapa en specifik skapad version igenom att peka ut vilken förändring som utgör den sista. Se Figur 2.2. Klient delta 3 delta delta 2 delta 1 Figur 2.2. Hur SCCS och RCS sparade lagringsutrymme med hjälp av deltas Centraliserade En gemensam nätverksresurs för lagring av data tillåter en effektivare delning av kod mellan flera utvecklare. Tidigare kunde källkoden delats med hjälp av exempelvis e-post. CVS (Concurrent Versions Systems) använder denna klient-server-modell. CVS utvecklades 1986 av Dick Grune [6]. Dick Grune utnyttjade RCS till att versionshantera singulära datafiler och samlade dessa i en katalog, vilken var placerad på en server i ett delat nätverk bland klienter, se Figur 2.3. De engelska uttrycken commit och repository började att användas i sammanhanget. Ett annat centralt versionshanteringssystem är SVN (Subversion) som lanserades år 2000, vilket är ett av de populäraste versionshanteringssystemen idag [7]. Problemet med en centraliserad lösning är just sårbarheten av att all data är placerad på en server. Om servern inte är säkerhetskopierad och havererar, då finns endast versionen av koden som klienter har lokalt, alla tidigare versionser är förlorade, en felkritisk systemdel (engelska single point of failure). 7

17 KAPITEL 2. BAKGRUND Server Klient commit 3 Klient commit commit 2 commit 1 commit 1 2 Figur 2.3. Centraliserat versionshanteringssystem Decentraliserade Ett system med en decentraliserad modell (se Figur 2.4) minskar risken att förlora data igenom att klienterna har en kopia av katalogen. Detta resulterar i en naturlig redundans av data. En annan funktionalitet är att klienter kan samarbeta sinsemellan utan att kommunicera via en server. Exempel på versionshanteringssystem med denna modell är Bazaar, Mercurial och Git. Server Klient Klient commit 3 commit 2 commit 1 Figur 2.4. Decentraliserad versionshanteringssystem 8

18 2.2. MJUKVAROR OCH TEKNOLOGIER Git Anledningen till att Git togs fram var att utvecklarna av operativsystemet Linux behövde ett nytt versionshanteringssystem efter konflikt med BitKeeper 3 om pengar. Linus Torvalds, grundare av Linux hade tre utformningskriterier för Git [8]: Att använda centraliserade versionshanteringssystem som negativa exempel och motsatser Stödja ett distribuerat arbetsflöde likt BitKeeper Vara tolerant mot misstag och sabotage Lanseringen av Git genomfördes år 2005 och har sedan dess utvecklats vidare och blivit ett allt populärare versionshanteringssystem. Studier visar att Git inom kort blir världens mest använda versionshanteringssystem [9]. Git skiljer sig mycket mot tidigare utvecklade versionshanteringssystem. Ett exempel är hur versioner hanteras och urskiljs. Git arbetar med hela katalogen av filer vilka är under versionshantering som ett litet filsystem. Då en specifik version av filerna ska arkiveras görs en bild (engelska snapshot) av filsystemet och versionen. Innan indexeringen görs jämförs den nya bilden med tidigare bilden i händelseförloppet för att inte lagra hela kopior av filer. Om en fil inte har ändrats så skapas en länk till den oförändrade filen vilken bevaras i versionen. 2.2 Mjukvaror och teknologier Det många öppna och tillgängliga standarder, mjukvaror och protokoll att använda vid utvecklingen av ett system. Att använda dessa kan bespara utvecklare tid genom att inte behöva utveckla och implementera samma funktionalitet Linux Linux är ett UNIX-liknande operativsystem skapat av finländaren Linus Torvalds i början av 90-talet och blev snabbt populärare bland utvecklare av operativsystem än UNIX-baserade BSD som då hade rättsliga problem med licenser. Det finns idag många Linux-distributioner, en del kommersiella, men majoriteten är det inte. Linux används idag överallt. Några exempel är New Yorks aktiehandel, kontroll av CERN partikelaccelerator och Googles webbtjänster. Det finns mycket information 3 BitMove är idag ägare av det distribuerade versionshanteringssystemet BitKeeper 9

19 KAPITEL 2. BAKGRUND och vägledning gällande administration av Linux, vilket gör det attraktivt bland användare [10]. Mängden serverar som köps färdigkonfigurerade med Linux växer idag medan konkurrerande plattformar som Windows och UNIX minskar[11] OpenSSH OpenSSH är en mjukvara som möjliggör krypterade sessioner mellan datorer med hjälp av SSH-protokollet (Secure Shell). SSH-protokollet designades 1995 av Tatu Ylönen och blev snabbt ett populärt protokoll av dess funktionalitet av att skicka krypterad data emellan två datorer eller att exekvera fjärrkommandon (engelska remote commands) på en annan dator. Tidigare användes FTP 4 och Telnet 5 för ändamålet [12]. Protokollet använder sig av både symmetrisk och asymmetrisk kryptering. Asymmetrisk kryptering, det vill säga nyckelparsbaserad kryptering används av en SSH server och klient för att kryptiskt utbyta ett lösenord. Det framtagna lösenordet används för att symmetriskt kryptera och dekryptera data vilket är säkrare och prestanda effektivare än asymmetrisk kryptering [13]). Idag förlitar sig många system världen över på SSH trafikbaserad överföring, Open- SSH är den populäraste mjukvaran för ändamålet och är standardimplementationen i Unix och Linux system. OpenSSH erbjuder en rad funktionaliteter, exempelvis [12]: Fjärrstyra en dator från en annan dator Att koppla ihop flera geografiskt spridda nätverk till ett enda nätverk, ett virtuellt privat nätverk (VPN) Att trafikera applikationsdata mellan två eller flera datorer SAML SAML (Security Assertion Markup Language) är en öppen standard för utbyte av autentiseringsdata mellan två parter med hjälp av XML 6. SAML utvecklas av OASIS med början 2001 och har kommit i tre versioner, SAML 2.0 är den senaste [14]. 4 FTP, File Transfer Protocol är ett protokoll för dataöverföring på ett nätverk 5 Telnet är ett protokoll vilket möjliggör fjärrstyrning av datorer 6 XML (engelska Extensible Markup Language) definierar regler för kodning av textdokument att vara läsbara för människor och maskiner 10

20 2.2. MJUKVAROR OCH TEKNOLOGIER Hur utbytet av autentiseringsdata går till kan profileras på olika sätt för att motsvara egna restriktioner. SAML 2.0 innehåller åtta olika standardprofiler för utbyteslösningar av autentiseringsdata, en profil är Single sign-on (SSO). SSO är ett koncept för att autentisera sig via en central portal för att få tillgång till flera olika platser, vilket är ett koncept för att minska mängden lösenordsprompter i applikationer. Portalen upprätthålls av en så kallad Identitettillhandahållare (engelska identity provider (IdP)) vilket kan vara exempelvis en bank eller ett universitet. Tjänsttillhandahållare (engelska service provider (SP)) vilka efter överenskommelse med vald IdP, erbjuda tjänsten vilken SPn tillhandahåller genom autentisering mot IdPn. För att allt ska fungera är det viktigt att båda parter innehar kritisk information i form av adresser och tillvägagångsätt för omdirigering och kryptering av utbyte av data [14] Nginx När Internet blev allt mer populärare under början av 2000-talets början uppkom intresset av att göra webbservrar mer kapabla till att hantera en stor mängd förfrågningar samtidigt. Utvecklare världen över slöt upp för att ta i tu med det så kallade c10k problemet 7. Nginx är en webbserver som använder de utvecklade systembiblioteken av asynkron eventbaserad teknik efter c10k problemet. Nginx kräver mindre process- och minneskapacitet i jämförelse med Apache 8 webbserver per anslutning, men erbjuder fortfarande efterfrågad funktionalitet av lastbalansering, hantering av SSL trafik, mellanhand av trafik (engelska reverse proxy), komprimering av data och hantering av statisk webbdata [15]. Nginx är fortfarande under aktiv utveckling och påbörjades av Igor Sysoev 2002 och lanserades första gången publikt Idag använder populära webbsidor som Facebook, Dropbox och Wordpress Nginx för hantering av sina webbplatser [15][16] SSL Secure Socket Layer (SSL) eller efterföljaren Transport Layer Secure (TLS) används till att trafikera krypterad trafik med hjälp av X certifikat, benämns fortsättningsvis SSL-certifikat. Krypteringen går till på liknande tillvägagångssätt som SSH-protokollet använder, först asymmetrisk krypteringen för att utbyta ett lösenord för symmetrisk kryptering av data [17] parallella anslutningar (engelska concurrent ten thousand connections, c10k) var ett mål att uppfylla med att utveckla effektivare ramverk för nätverkstrafik, se c10k.html för mer information 8 Apache är idag den populäraste valet av webbserver, 9 X.509 är standard för utformning av certifikat med en publik-nyckel-infrastruktur (engelska Public Key Infrastructure, PKI)) 11

21 KAPITEL 2. BAKGRUND SSL utvecklades av Netscape Communications mellan åren 1994 och 1996 för att göra HTTP (HyperText Transfer Protocol) säkert, vilket resulterade i HTTPS (HyperText Transfer Protocol Secured). Utvecklingen av SSL togs över av Internet Engineering Task Force (IETF) och döptes då om till TLS, dock används fortfarande benämning SSL i generella sammanhang. SSL version 3.0 och TLS 1.0 är nästan identiska implementationsmässigt, dock anses den senare vara säkrare. Idag är TLS 1.2 den senaste och standard [17]. Att själv skapa ett SSL-certifikat till en webbplats är trivialt. Problem med ett självutfört certifikat är att det inte anses trovärdig. Ett icke trovärdigt certifikat resulterar i att webbläsare varnar användaren för att webbplatsens certifikatutgivare inte är betrodd, användaren kan då välja att inte besöka hemsidan eller att besöka hemsidan ändå. För att få ett certifikat verifierad att vara trovärdig behöver man vända sig till en certifikatutfärdare (engelska Certificate Authority (CA)) och be dem verifiera certifikatet. Med en betrodd tredjeparts CA verifierad certifikat anses webbplatsen vara betrodd processen för att skicka och ta emot krypterad data påbörjas automatisk Node.js Node.js är en mjukvaruplatform skriven i C++ och byggd på Googles V8-motor 10. För att interagera med Node.js skrivs kod i JavaScript. Standardbibliotek för hantering av HTTP och HTTPS trafik finns i Node.js vilket ger utvecklare möjligheten att utveckla fullständiga webbapplikationer igenom att skriva JavaScript på både klient- och serversidan [18]. Express Express.js är ett ramverk för att organisera webbapplikationsutveckling ovanpå Node.js [19] MongoDB Till skillnad från traditionella relationsbaserade databaser är MongoDB en dokumentbaserad NoSQL 11 databas. I en MongoDB databas kan varje dokument innehålla ett unik dynamisk struktur, det vill säga vara helt schemafri. JavaScript Object Notation (JSON) utgör strukturen för dokumenten, vilket idag är standard 10 Google V8 är en JavaScript motor som tolkar och exekverar JavaScript. 11 NoSQL är en benämning för databaser vilka använder sig av mindre restriktioner och relationer än SQL (engelska Structured Query Language) 12

22 2.2. MJUKVAROR OCH TEKNOLOGIER på moderna webben. MongoDB utvecklas fortfarande och har sedan starten haft skalbarhet, flexibilitet, tillgänglighet och prestanda i fokus [20]. Replikering av MongoDB-databaser kan göras på två sätt. Antingen görs replikeringen med en huvuddatabas (engelska Master) till en sekundär databas (engelska Slave) (Master-Slave replikering) eller med vad MongoDB kallar ett Replica Set. Ett Replica Set är ett självkonfigurerande Master-Slave kluster bestående av minst tre noder. Klustret av noder känner av om någon nod har tappat kontakten. Om nodens roll var av stor vikt, exempelvis Master, väljs en utav Slave-noderna till att vara ny Master. En ny Master utses genom att alla noder i klustret röstar. Antalet noder i klustret behöver vara udda, vilket justeras emellanåt med hjälp av en skiljedomare (MongoDB Arbiter) som endast är aktiv vid röstning. Detta ger databasen en automatisk felhanteringsmekanism för att försäkra åtkomst till databasen och att den är replikerad [20]. MongoDB har en inbyggd funktionalitet av automatisk partitionering av data och balansering av data för att distribuera databasen över flera noder. Detta medför att databasen kan skalas ut horisontellt för att prestandamässigt motsvara mängden förfrågningar till databasen [20] API Ett applikationsprogrammeringsgränssnitt (engelska Application Programming Interface (API)) ger externa användare eller system ett strukturerat tillvägagångsätt att interagera med ett systems data och funktioner. Ett Systems API gör det möjligt att kontrollerat förändra data på ett strukturerat sätt för externa användare eller andra system. REST Representational State Transfer (REST) är en paradigm för distribuerade systems arkitektur. Paradigmen introducerades år 2000 av Roy Fielding, en person som också var involverad i utvecklandet av HTTP/1.1. REST beskriver hur resursers tas om hand och hanteras generiskt med unika identifierare. Interaktion mellan klienter och server är tillståndsfria och rollerna är tydligt skilda gällande lagring av och återanvändning (engelska caching) av data. Roy Fielding skapade REST med enkelhet och skalbarhet i åtanke. RESTful är en benämning för webbplatser som implementerar REST med Hyper Text Transfer Protocol (HTTP) för att bilda ett API för webbplatsen. REST för- 13

2014-2015 Alla rättigheter till materialet reserverade Easec

2014-2015 Alla rättigheter till materialet reserverade Easec 1 2 Innehåll Introduktion... 3 Azure Client SDK Libraries... 4 Översikt: Azure Client Libraries... 5 Azure SDK... 6 Azure SDK (forts.)... 7 Azure SDK (forts.)... 8 Cloud Services... 10 Cloud Services...

Läs mer

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna.

Plattform as a Service, leverantör tillhandahåller plattformen, jag tillhandahåller applikation och ansvarar för denna. Modul 1: Molntjänst Publikt moln Privat moln Hybrid moln IaaS PaaS SaaS DaaS DaaS SLA Infrastructure as a Service, leverantör tillhandahåller infrastrukturen, jag tillhandahåller virtuella maskiner eller

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

Systemkrav och tekniska förutsättningar

Systemkrav och tekniska förutsättningar Systemkrav och tekniska förutsättningar Hogia Webbrapporter Det här dokumentet går igenom systemkrav, frågor och hanterar teknik och säkerhet kring Hogia Webbrapporter, vilket bl a innefattar allt ifrån

Läs mer

Diagnostisktprov Utveckla i Azure

Diagnostisktprov Utveckla i Azure .easec Diagnostisktprov Utveckla i Azure Mats Johannesson 2015-06-08 1 o Indikerar ett svar önskas. Flera svar önskas. Maxpoäng: 86 Din poäng: Godkänt: 43 poäng Väl Godkänt: 60 poäng 2 1. Vilka fyra alternativ

Läs mer

Modul 6 Webbsäkerhet

Modul 6 Webbsäkerhet Modul 6 Webbsäkerhet Serverskript & Säkerhet Webbservrar & serverskript exponerar möjlighet för fjärranvändare att skicka data och köra kod vilket medför risker. Man ska aldrig lita på att alla vill göra

Läs mer

Innehåll. Dokumentet gäller från och med version 2014.3 1

Innehåll. Dokumentet gäller från och med version 2014.3 1 Innehåll Introduktion... 2 Före installation... 2 Beroenden... 2 Syftet med programmet... 2 Installation av IIS... 2 Windows Server 2008... 2 Windows Server 2012... 6 Installation av webbapplikationen

Läs mer

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011 Webbteknik II Föreläsning 4 Watching the river flow Web Service XML-RPC, SOAP, WSDL, UDDI HTTP Request, Response, Headers, Cache, Persistant Connection REST Hype or the golden way? Web Service / Webbtjänst

Läs mer

Modul 3 Föreläsningsinnehåll

Modul 3 Föreläsningsinnehåll 2015-02-03 2015 Jacob Lindehoff, Linnéuniversitetet 1 Modul 3 Föreläsningsinnehåll Vad är ett certifikat? Användningsområden Microsoft Certificate Services Installation Laboration Ingår i Klustringslabben

Läs mer

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

Läs mer

Apotekens Service. federationsmodell

Apotekens Service. federationsmodell Apotekens Service Federationsmodell Detta dokument beskriver hur Apotekens Service samverkar inom identitetsfederationer Datum: 2011-12-12 Version: Författare: Stefan Larsson Senast ändrad: Dokumentnamn:

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

Säker e-kommunikation 2009-04-22

Säker e-kommunikation 2009-04-22 Säker e-kommunikation 2009-04-22 Leif Forsman Logica 2008. All rights reserved Agenda - Inledning - Bakgrund och historik - Vilka risker och hot finns? - Vilka säkerhetslösningar finns det för att skydda

Läs mer

Administratör IT-system Kursplan

Administratör IT-system Kursplan Administratör IT-system Kursplan Administratör IT-system Kursöversikt Obligatoriska kurser Kurs Poäng Advanced Enterprise System Administration 25 CCNA 45 CCNA Security 20 Drift i virtuella miljöer 20

Läs mer

Kursplaner för Administartör IT-System Innehåll

Kursplaner för Administartör IT-System Innehåll Kursplaner för Administartör IT-System Innehåll Hårdvara och operativsystem (15 Yhp)... 2 Advanced Enterprise System Administration (25 yhp)... 2 Advanced Linux Security (25 yhp)... 2 CCNA (35 yhp)...

Läs mer

OBS! Det är av största vikt att innan konfiguration av modulen, genomfört de inställningar som presenteras med bilagorna till denna manual.

OBS! Det är av största vikt att innan konfiguration av modulen, genomfört de inställningar som presenteras med bilagorna till denna manual. 1 LB-M-EX 0001 2010 LB-M-EX 0001 2010 Användarmanual för Lockbee Backup Exchange 2007 Användarmanualen är avsedd att ge en närmare introduktion av Lockbee Backup Exchange 2007 och dess funktioner och nyttjande.

Läs mer

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser.

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser. WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 4 Nätverk och Internet Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-23 IT och medier 1 Innehåll Nätverk Benämningar Topologier Sammankoppling

Läs mer

ATT GÖRA WEBBSIDOR. Frivillig labb

ATT GÖRA WEBBSIDOR. Frivillig labb Numerisk analys och datalogi KTH 100 44 Stockholm Kerstin Frenckner, tel 790 7143, e-post kfrenck@nada.kth.se 2D1339 Programkonstruktion Hösten 2001 Datorintroduktion Frivillig labb ATT GÖRA WEBBSIDOR

Läs mer

Novi Net handelsbolag. Produkter och tjänster

Novi Net handelsbolag. Produkter och tjänster Novi Net handelsbolag Produkter och tjänster 25 november 2008 Sammanfattning Dokumentet innehåller prisuppgifter och information om tjänster och produkter levererade av Novi Net handelsbolag. Samtliga

Läs mer

Instruktion. Datum. 2013-06-19 1 (12) Coverage Dokument id Rev Status? - 1.0 Godkänd. Tillhör objekt -

Instruktion. Datum. 2013-06-19 1 (12) Coverage Dokument id Rev Status? - 1.0 Godkänd. Tillhör objekt - 20130619 1 (12)? 1.0 Godkänd Secure Manager Guide Hantera användarprofiler i tjänsten Telia Secure Manager Dokumentet beskriver hur du som administratör beställer och hanterar användarprofiler i administrationsportalen

Läs mer

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år Javautvecklare 400 YH-poäng, 2 år Utbildningsfakta Kurser (12 stycken) Grundläggande programmering och javaverktyg 50 yhp Grafiskt gränssnitt och interaktion 20 yhp Internet, webb och webbramverk 40 yhp

Läs mer

Decentraliserad administration av gästkonton vid Karlstads universitet

Decentraliserad administration av gästkonton vid Karlstads universitet Datavetenskap Opponent(er): Markus Fors Christian Grahn Respondent(er): Christian Ekström Per Rydberg Decentraliserad administration av gästkonton vid Karlstads universitet Oppositionsrapport, C/D-nivå

Läs mer

F5 Exchange 2007. 2013-01-16 Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 1

F5 Exchange 2007. 2013-01-16 Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 1 F5 Exchange 2007 2013-01-16 Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 1 Spam Control and Filtering Elektronikcentrum i Svängsta Utbildning AB 2013-01-16 2 Idag: Relaying Spamhantering och filtrering

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

[VIRTUAL APPLICATION]

[VIRTUAL APPLICATION] rva Red Cloud IT AB Juha Jurvanen whitepaper [VIRTUAL APPLICATION] rcloud Virtual Application r C l o u d V i r t u a l A p p l i c a t i o n 2 Innehåll Inledning... 3 VDI och rva... 3 Internet... 3 Uppkoppling...

Läs mer

Innehållsförteckning:

Innehållsförteckning: Dokumenttitel Datum Godkänd av Sid SIT24 Manual E-post 2007-03-09 Sign 1(14) Utgivare/Handläggare Dokumentbeteckning Version Info Klass Björn Carlsson SIT24 mailmanual.doc 1.0.2 Öppen SIT24 Manual E-Post

Läs mer

Skicka och hämta filer med automatik till och från Försäkringskassan

Skicka och hämta filer med automatik till och från Försäkringskassan Skicka och hämta filer med automatik till och från Försäkringskassan 1 (25) Innehållsförteckning Revisionshistorik... 3 Inledning... 4 1 Förutsättningar... 4 1.1 Registrera... 4 1.2 Certifikat... 4 2 Skicka

Läs mer

Continuous Integration med Jenkins. Linus Tolke Enea Experts

Continuous Integration med Jenkins. Linus Tolke Enea Experts Continuous Integration med Jenkins Linus Tolke Enea Experts Föredraget Grunderna i mjukvaru-cm Trender inom mjukvaruutveckling Continuous Integration Vad är Jenkins Demo Jenkins i ArgoUML-projektet Problem

Läs mer

Probably the best PKI in the world

Probably the best PKI in the world Probably the best PKI in the world Agenda TLS kort repetition Server- vs klient-autentisering Var passar PKI in i TLS? Asymmetrisk vs symmetrisk kryptering Vad är PKI Publik CA vs Privat CA Trust store

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

Quick Start CABAS. Generella systemkrav CABAS / CAB Plan. Kommunikation. Säkerhet

Quick Start CABAS. Generella systemkrav CABAS / CAB Plan. Kommunikation. Säkerhet Gunnel Frogedal 2014-07-17 6 32753 1 of 5 Quick Start CABAS Generella systemkrav CABAS / CAB Plan Applikationen stöds av följande operativsystem: Windows Vista SP2 Windows 7 SP1 Windows 8 (inte RT) Windows

Läs mer

IP-baserade program. Telnet

IP-baserade program. Telnet Det här kapitlet behandlar några klassiska TCP/IP-baserade program. Främsta fokus är HTTP men även lite enklare applikationer som telnet och FTP behandlas. Kapitlet är tänkt att kunna läsas fristående

Läs mer

Apple Remote Desktop 3. Viktor Glemme Systemingenjör - Apple glemme.v@euro.apple.com 2006-06-07

Apple Remote Desktop 3. Viktor Glemme Systemingenjör - Apple glemme.v@euro.apple.com 2006-06-07 Apple Remote Desktop 3 Viktor Glemme Systemingenjör - Apple glemme.v@euro.apple.com 2006-06-07 Datorer Kontrollerade datorer har 40% lägre TCO! Kontrollerad Hård och mjukvara Drift Administration Slutanvändare

Läs mer

Daniel Akenine, Teknikchef, Microsoft Sverige

Daniel Akenine, Teknikchef, Microsoft Sverige Daniel Akenine, Teknikchef, Microsoft Sverige Quincy Invånare: 5,300 Arbete: 52% jordbruk 18 % byggsektor 18 % offentlig sektor Språk: Spanska 57% Företaget Inköp Företaget Inköp Installering Lång

Läs mer

Innehåll Molntjänster... 4 Vad är detta?... 5 Cirkeln sluts... 6 The Cloud... 7 The Cloud (forts.)... 8 Definition av molntjänster...

Innehåll Molntjänster... 4 Vad är detta?... 5 Cirkeln sluts... 6 The Cloud... 7 The Cloud (forts.)... 8 Definition av molntjänster... 1 2 Innehåll Molntjänster... 4 Vad är detta?... 5 Cirkeln sluts... 6 The Cloud... 7 The Cloud (forts.)... 8 Definition av molntjänster... 9 Definition av molntjänster (forts.)... 11 Tjänster... 12 Skikt

Läs mer

Storegate Pro Backup. Innehåll

Storegate Pro Backup. Innehåll Storegate Pro Backup Välkommen! I denna manual kan du bland annat läsa om funktioner och hur du ska konfigurerar programmet. Läs gärna vårt exempel om versionshantering och lagringsmängd innan du konfigurerar

Läs mer

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 EIT060 Datasäkerhet - Projekt 2 Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 Innehåll 1 Introduktion 1 2 SSL 1 2.1 Anslutningsprocessen.........................

Läs mer

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport Collector en Android-app för att samla saker Kim Grönqvist (kg222dk) 2013-06-10 Slutrapport Abstrakt Jag har gjort en Android-app för att samla saker, Collector. Med den kan man upprätta att göra-listor

Läs mer

Kriswebb och Krisserver ur ett tekniskt perspektiv

Kriswebb och Krisserver ur ett tekniskt perspektiv Kriswebb och Krisserver ur ett tekniskt perspektiv Av Johan Olsson vid IT avdelningen på HTU Johan.Olsson@htu.se Definition av kriswebb Kriswebb är ett system som möjliggör snabb publicering av information

Läs mer

EVRY One Outsourcing Linköping AB. Erfaranheter av daglig drift och nyttjande av IFS Applications 8.

EVRY One Outsourcing Linköping AB. Erfaranheter av daglig drift och nyttjande av IFS Applications 8. EVRY One Outsourcing Linköping AB Erfaranheter av daglig drift och nyttjande av IFS Applications 8. Vår erfarenhet IFS Applications 8 Ca 10 st genomförda eller pågående uppgraderingar till IFS 8. Första

Läs mer

Pragmatisk programmering. Cyberrymden 2001-10-03. Marcus Rejås Pragmatisk programmering,16 december 2002 1(29)

Pragmatisk programmering. Cyberrymden 2001-10-03. Marcus Rejås <marcus@rejas.se> Pragmatisk programmering,16 december 2002 1(29) Pragmatisk programmering,16 december 2002 1(29) Pragmatisk programmering Cyberrymden 2001-10-03 Marcus Rejås $Id: slides.tex,v 1.14 2002/12/16 14:52:59 rejas Exp $ Metainformation Denna

Läs mer

Statistik från webbplatser

Statistik från webbplatser Statistik från webbplatser problem och möjligheter Ulf Kronman Föredragets huvuddelar Frågorna och motfrågorna Vilka frågor ställer chefen, BIBSAM och ISO? Varför ställer webmastern krångliga motfrågor?

Läs mer

idportalen - Stockholms stads Identifieringsportal

idportalen - Stockholms stads Identifieringsportal Systembeskrivning idportalen - Stockholms stads Identifieringsportal Version 2.25 2004-10-20 Revisionshantering Vernr Datum Notering Ansvarig 2.0 061003 Modifierad version Arne Fredholm 2.1 061016 Mindre

Läs mer

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING SFÖRTECKNING 1. RFID-Kurser... 2 1.1. RFID Grundkurs... 2 1.2. RFID Fortsättningskurs... 3 1.3. RFID dator programmering... 4 1.4. RFID Systemadministration... 5 1.5. RFID Aktiv Systemadministration...

Läs mer

2011-11-02. E-legitimationer. Jonas Wiman. LKDATA Linköpings Kommun. jonas.wiman@linkoping.se

2011-11-02. E-legitimationer. Jonas Wiman. LKDATA Linköpings Kommun. jonas.wiman@linkoping.se E-legitimationer Jonas Wiman LKDATA Linköpings Kommun jonas.wiman@linkoping.se 1 Många funktioner i samhället bygger på möjligheten att identifiera personer För att: Ingå avtal Köpa saker, beställningar

Läs mer

Installationsguide fo r CRM-certifikat

Installationsguide fo r CRM-certifikat Installationsguide fo r CRM-certifikat För att säkerställa en säker inloggning till CRM Finance webb så behöver alla kunder installera ett kund-unikt klientcertifikat innan man kan försöka logga in i systemet.

Läs mer

TMP Consulting - tjänster för företag

TMP Consulting - tjänster för företag TMP Consulting - tjänster för företag Adress: http://tmpc.se Kontakta: info@tmpc.se TMP Consulting är ett bolag som utvecklar tekniska lösningar och arbetar med effektivisering och problemslösning i organisationer.

Läs mer

Systemkrav WinServ II Edition Release 2 (R2)

Systemkrav WinServ II Edition Release 2 (R2) Systemkrav WinServ II Edition Release 2 (R2) Observera: Alla rekommendationer är aktuella vid den tid då dokumentet publicerades och visar den senaste informationen för nödvändig mjukvara. Systemkrav för

Läs mer

Säkerhet. Säkerhet. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Säkerhet. Säkerhet. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449 Säkerhet Säkerhet Webbteknik II, 1DV449 Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet F06 Säkerhet Dagens agenda HTTPS Autentisiering - Egen autentisiering - Lösenordshantering

Läs mer

Tekniskt ramverk för Svensk e- legitimation

Tekniskt ramverk för Svensk e- legitimation Tekniskt ramverk för Svensk e- legitimation ELN-0600-v1.4 Version: 1.4 2015-08-14 1 (10) 1 INTRODUKTION 3 1.1 IDENTITETSFEDERATIONER FÖR SVENSK E- LEGITIMATION 3 1.2 TILLITSRAMVERK OCH SÄKERHETSNIVÅER

Läs mer

Årsskiftesrutiner i HogiaLön Plus SQL

Årsskiftesrutiner i HogiaLön Plus SQL Årsskiftesrutiner i HogiaLön Plus SQL Installation av HogiaLön Plus version 14.0 samt anvisningar till IT-ansvarig eller IT-tekniker Installation på Terminal Server: En korrekt installation i Terminal

Läs mer

Modul 10: Lagra information i Azure SQL Database

Modul 10: Lagra information i Azure SQL Database 1 Modul 10: Lagra information i Azure SQL Database Är av typen Database as a Service (DaaS). Bestämbar prestanda ger möjlighet att välja tier som matchar krav från din applikation. Funktionen har inbyggd

Läs mer

Designprinciper för säkerhet och Epilog. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Designprinciper för säkerhet och Epilog. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Designprinciper för säkerhet och Epilog Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Designprinciper för säkerhet Tumregler och utgångspunkter

Läs mer

Dokumentation för VLDIT AB. Online classroom

Dokumentation för VLDIT AB. Online classroom Dokumentation för VLDIT AB Online classroom 2 Introduktion VLDIT AB önskar area för att tillhandahålla ett kursutbud online för sina befintliga deltagare, men även för nya. Syfte för applikationen: tillhandhålla

Läs mer

Molntjänster -- vad är molnet?

Molntjänster -- vad är molnet? En e-bok från Visma Spcs Molntjänster -- vad är molnet? Vad du bör tänka på för att göra rätt val till ditt företag Molntjänster -- vad är molnet? En guide till att förstå molntjänster Innehåll Hänger

Läs mer

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser Lagring & berarbetning av data 1IK426 Introduktion till informationsteknik Patrik Brandt Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser Dagens agenda Filer

Läs mer

Införande av Skolfederation. Erfarenheter i Sundsvalls kommun

Införande av Skolfederation. Erfarenheter i Sundsvalls kommun Införande av Erfarenheter i Sundsvalls kommun Innehåll 1. OM DOKUMENTET... 3 2. OM SKOLFEDERATION... 3 3. INFÖRANDE AV SKOLFEDERATION... 3 3.1 FASTSLÅ VERKSAMHETENS MÅLBILD FÖR SKOLFEDERATION... 3 3.1.1

Läs mer

<script src= http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js></script> AngularJS Skriven av: Isak Glans. Datum: 2015-04-29. Kurs: Webbutveckling. Lärare: Per Sahlin. Utbildning: Systemutvecklare i.net, Newtons Yrkeshögskola. 1 Sammanfattning Syftet med denna uppsats är att

Läs mer

Christer Scheja TAC AB

Christer Scheja TAC AB Byggnadsautomation för ingenjörer Byggnadsautomation för ingenjörer VVS-tekniska föreningen, Nordbygg 2004 Christer Scheja TAC AB resentation, No 1 Internet/Intranet Ihopkopplade datornät ingen ägare Internet

Läs mer

QC i en organisation SAST 2008-09-16

QC i en organisation SAST 2008-09-16 QC i en organisation SAST 2008-09-16 1 Agenda Hur är vi organiserade inom test på SEB? Hur är QC uppsatt på SEB? Hur arbetar vi med QC i en stor organisation? Uppfyllde QC våra förväntningar och hur har

Läs mer

Kapitel 10, 11 o 12: Nätdrift, Säkerhet. Publika telenätet. Informationsöverföring. Jens A Andersson. Telenäten är digitala.

Kapitel 10, 11 o 12: Nätdrift, Säkerhet. Publika telenätet. Informationsöverföring. Jens A Andersson. Telenäten är digitala. Kapitel 10, 11 o 12: Nätdrift, Säkerhet Jens A Andersson Publika telenätet Digitalt lokalstation Trunknät Accessnät Analogt Analogt 2 Informationsöverföring Telenäten är digitala. PCM i lokalstationerna

Läs mer

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. Administrera din SAS miljö med SAS Metadata Server och SAS Management Console. Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved. SAS Intelligence Value Chain

Läs mer

ANVÄNDARHANDBOK Advance Online

ANVÄNDARHANDBOK Advance Online ANVÄNDARHANDBOK Advance Online 2013-09-27 INNEHÅLL Innehåll... 2 Välkommen till Advance Online!... 3 Allmän information... 3 Idén bakom Advance Online... 3 Att logga in på en terminalstation... 4 Allmänt...

Läs mer

ANVÄNDARHANDBOK. Advance Online

ANVÄNDARHANDBOK. Advance Online ANVÄNDARHANDBOK Advance Online INNEHÅLL Innehåll... 2 Välkommen!... 3 Allmän information... 3 Idén bakom Advance Online... 3 Att logga in på en terminalstation... 4 Allmänt... 4 Citrix-klienten... 4 Inloggning...

Läs mer

Telia Centrex IP Administratörswebb Handbok

Telia Centrex IP Administratörswebb Handbok Telia Centrex IP Administratörswebb Handbok Telia Centrex IP Administratörswebb Handbok 2 Handbok Telia Centrex IP Administratörswebb Du hittar alltid senaste versionen av denna handbok på https://ipac.telia.com

Läs mer

Handledning för applikationsägare

Handledning för applikationsägare Tjänstebeskrivning Handledning för applikationsägare Version 2.25 2006-10-24 Revisionshantering Vernr Datum Notering Ansvarig 2.0 061004 Något modifierat dokument Arne Fredholm 2.1 061016 Korrigeringar

Läs mer

Priskamp. En prisjämförelsesite Björn Larsson 130609

Priskamp. En prisjämförelsesite Björn Larsson 130609 Priskamp En prisjämförelsesite Björn Larsson 130609 Abstrakt Detta är en post-mortem slutrapport om mitt projekt "Priskamp" inom ramen för kursen Individuellt Mjukvaruutvecklingsprojekt VT 2013. Projektets

Läs mer

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4

Läs mer

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola

Litteratur. Nätverk, Internet och World Wide Web. Olika typer av nätverk. Varför nätverk? Anne Diedrichs Medieteknik Södertörns högskola Litteratur Nätverk, Internet och World Wide Web Anne Diedrichs Medieteknik Södertörns högskola Beekman kap 9-11 Varierar i olika upplagor. Läs alla kapitel om nätverk och Internet och webb Olika typer

Läs mer

Slutrapport. APFy.me

Slutrapport. APFy.me Slutrapport APFy.me Innehållsförteckning 1 Inledning... 3 2 Mål och syfte... 3 3 Projektbeskrivning... 3 4 Leverabler... 4 5 Resultat... 4 6 Utvärdering och analys... 4 6.1 Utvärdering av resultat... 4

Läs mer

Skydd av personuppgifter för användare som registrerats av EU-kommissionens identitetshanteringstjänst (Identity Management Service)

Skydd av personuppgifter för användare som registrerats av EU-kommissionens identitetshanteringstjänst (Identity Management Service) Skydd av personuppgifter Skydd av personuppgifter för användare som registrerats av EU-kommissionens identitetshanteringstjänst (Identity Management Service) 1. Vad är identitetshanteringstjänsten? EU-kommissionens

Läs mer

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1 Välkommen! SAPSA Impuls Mobilitet 81 Impuls sponsorer 2012 Guldsponsorer SAPSA Impuls Mobilitet 81 Mobilitet 81: Mobil reseräkningsapp med möjlighet att fotografera kvittona Christer Ingemarsson Lena Kågedal

Läs mer

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet WP-Edit Robin Larsson Martin Davik 2014 Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet Handledare: Anders Jackson Examinator: Carina Pettersson WP-Edit av Robin Larsson Martin

Läs mer

Kort om World Wide Web (webben)

Kort om World Wide Web (webben) KAPITEL 1 Grunder I det här kapitlet ska jag gå igenom allmänt om vad Internet är och vad som krävs för att skapa en hemsida. Plus lite annat smått och gott som är bra att känna till innan vi kör igång.

Läs mer

Skapa din egen MediaWiki

Skapa din egen MediaWiki Skapa din egen MediaWiki Inledning och syfte I detta moment skall du installera en egen wiki (Mediawiki), som du skall konfigurera. Du har möjligheten att använda en egen wiki på din dator eller webbhotell

Läs mer

Certifikatbaserad inloggning via SITHS, tillämpningsexempel

Certifikatbaserad inloggning via SITHS, tillämpningsexempel Certifikatbaserad inloggning via SITHS, tillämpningsexempel För att logga in i en webbapplikation med hjälp av SITHS-kort och certifikat behöver webservern och applikationen konfigureras för hantering

Läs mer

Hur kan medborgaren få bättre vård?

Hur kan medborgaren få bättre vård? Hur kan medborgaren få bättre vård? Säkert informationsutbyte med federationslösning för utökad vårdkvalitet över organisationsgränser Presentatörer Stefan Wittlock, Hultsfreds kommun Tommy Almström, Nordic

Läs mer

Grundläggande nätverksteknik. F2: Kapitel 2 och 3

Grundläggande nätverksteknik. F2: Kapitel 2 och 3 Grundläggande nätverksteknik F2: Kapitel 2 och 3 Kapitel 2 COMMUNICATING OVER THE NETWORK Grundstenar i kommunka;on Tre grundläggande element Message source The channel Message des;na;on Media Segmentering

Läs mer

KAi SENSEMAKING SYSTEM

KAi SENSEMAKING SYSTEM Alexander Hall, 791023-8554 Individuellt mjukvaruutvecklingsprojekt 7,5 hp Linnéuniversitetet 2013-06-09 KAi SENSEMAKING SYSTEM ABSTRAKT KAi Sensemaking System är en webbapplikation för feedback/återkoppling

Läs mer

Compose Connect. Hosted Exchange

Compose Connect. Hosted Exchange Sida 1 av 15 Compose Connect Hosted Exchange Presentation av lösningen: Compose Hosted Exchange Följande möjligheter finns för hantering av e-post 1. Lokalinstallerad Outlook-klient För att kunna använda

Läs mer

E12 "Evil is going on"

E12 Evil is going on E12 "Evil is going on" Föreläsning 12, HT2014 AJAX Kurs: 1dv403 Webbteknik I Johan Leitet E12 Evil is going on Dagens agenda AJAX XMLHttpRequest-objektet JSON Vad är AJAX? Asynchronous JavaScript and XML

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Inledande programmering med C# (1DV402) Introduktion till C#

Inledande programmering med C# (1DV402) Introduktion till C# Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i

Läs mer

Handbok Fjärranslutning till skrivbord. Brad Hards Urs Wolfer Översättare: Stefan Asserhäll

Handbok Fjärranslutning till skrivbord. Brad Hards Urs Wolfer Översättare: Stefan Asserhäll Handbok Fjärranslutning till skrivbord Brad Hards Urs Wolfer Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Protokollet Remote Frame Buffer 6 3 Använda Fjärranslutning till skrivbord 7 3.1 Ansluta

Läs mer

LABORATION 2 DNS. Laboranter: Operativsystem 1 HT12. Martin Andersson. Utskriftsdatum: 2012-09-12

LABORATION 2 DNS. Laboranter: Operativsystem 1 HT12. Martin Andersson. Utskriftsdatum: 2012-09-12 LABORATION 2 DNS Laboranter: Kurs: Klass: Operativsystem 1 HT12 DD12 Handledare: Hans Ericson Martin Andersson Utskriftsdatum: 2012-09-12 Mål, syfte, förutsättningar Mål Laborationen skall ge insikt i

Läs mer

Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad:

Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad: I N T E R N T Säkerhetskrav på extern part För enskild individs direktåtkomst till Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad: Dokumentnamn: Säkerhetskrav på extern part

Läs mer

Introduktion till programmering, hösten 2011

Introduktion till programmering, hösten 2011 Föreläsning 1 Programmering är ett hantverk. Det betyder att man inte kan läsa sig till den förmågan, man måste träna och man tränar genom att skriva mer och mer avancerade program. Programmering förutsätter

Läs mer

Version 1.0 Januari 2011. Xerox Phaser 3635MFP Extensible Interface Platform

Version 1.0 Januari 2011. Xerox Phaser 3635MFP Extensible Interface Platform Version 1.0 Januari 2011 Xerox Phaser 3635MFP 2011 Xerox Corporation. XEROX och XEROX and Design är varumärken som tillhör Xerox Corporation i USA och/eller andra länder. Detta dokuments innehåll ändras

Läs mer

Inte bara det, vi har dessutom fått allt fler arbetsredskap. När vi inte har kontroll på enheterna är det svårare att skydda dem.

Inte bara det, vi har dessutom fått allt fler arbetsredskap. När vi inte har kontroll på enheterna är det svårare att skydda dem. 1 Jobbet har slutat vara något vi går till och det är numera något vi gör. Våra kollegor är vana att använda ny teknik hemma, de vill nu göra det på jobbet. Helst vill de dessutom jobba från sina enheter

Läs mer

Kursplanering Utveckling av webbapplikationer

Kursplanering Utveckling av webbapplikationer Kursplanering Utveckling av webbapplikationer Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-WEB Klass Systemutvecklare.NET Syfte och koppling till yrkesrollen För att kunna arbeta som systemutvecklare

Läs mer

Vägen till en modern. integrations plattform

Vägen till en modern. integrations plattform Vägen till en modern integrations plattform Integrerade säkerhetssystem Integrerade säkerhetssystem Basen i det integrerade säkerhetssystemet utgörs alltid av olika funktionssystem, inbrottslarm, överfallslarm,

Läs mer

Introduktion till Wiki

Introduktion till Wiki Introduktion till Wiki Hans Frimmel Inst. för informationsteknologi Introduktion till Wiki p. 1 Webbsidor Skrivs i "språket" HTML Utsnitt ur http://www.it.uu.se/datordrift/faq: Introduktion till Wiki p.

Läs mer

Installera SoS2000. Kapitel 2 Installation Innehåll

Installera SoS2000. Kapitel 2 Installation Innehåll Kapitel 2 Installation Innehåll INSTALLATION MDAC och ODBC...2 Installera SoS2000 i arbetsplatsen...2 SoS2000 serverprogramvara...2 SoS2000 och övriga Office program...3 Avinstallera SoS2000...3 Brandväggar...3

Läs mer

2-faktor autentisering

2-faktor autentisering 2-faktor autentisering Ladok-Inkubatordagar 23-24/10 KTH Joakim Nyberg ITS Umeå universitet Projektet 2-faktor autentiserings projektet är ett fortsatt arbetet från Swamids tidigare arbete inom 2-faktor.

Läs mer

2 Pappersfullmakter/Skannade fullmakter

2 Pappersfullmakter/Skannade fullmakter 2014-12-18 2015-01-14 Frågor och svar 1 Fullmaktstyper 1.1 Vilka fullmaktstyper ska Fullmaktskollen hantera? Fullmaktskollen kommer initialt att utgå ifrån sex standardiserade fullmakter. Pappersfullmakter

Läs mer

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka Webben som verktyg Idag: Hur hänger det ihop? Viktiga tekniker Stegen i ett webbprojekt Verktyg Dreamweaver Photoshop Joomla CMS Storyboard och flödesschema Fixa webbhotell Hur hänger det ihop? För att

Läs mer

Programmering B med Visual C++ 2008

Programmering B med Visual C++ 2008 Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,

Läs mer