Plattformsoberoende apputveckling Vilket är det mest lämpliga verktyget för att utveckla en cross-platform-app?

Storlek: px
Starta visningen från sidan:

Download "Plattformsoberoende apputveckling Vilket är det mest lämpliga verktyget för att utveckla en cross-platform-app?"

Transkript

1 Plattformsoberoende apputveckling Vilket är det mest lämpliga verktyget för att utveckla en cross-platform-app? Examensarbete inom högskoleingenjörsprogrammet JONAS BERGLUND ANDERS JOHANSSON Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Göteborg, Sverige 2014

2 Plattformsoberoende apputveckling Vilket är det mest lämpliga verktyget för att utveckla en cross-platform-app? Jonas Berglund, Anders Johansson JONAS BERGLUND, ANDERS JOHANSSON, 2014 Institutionen för data- och informationsteknik Chalmers tekniska högskola Göteborg Tel: Fax: Institutionen för data- och informationsteknik Göteborg, 2014 II

3 If you aren t embarrassed by v1.0 you didn t release it early enough - Andy Brice III

4 Abstract Cross -platform is a method for developing a single software system that is compatible with multiple platforms. Because of all the different platforms in the mobile market and the demand for apps, it is now interesting to be able to develop apps that can run on as many platforms as possible. This report examines which is the most appropriate tool for the development of a cross-platform app. An evaluation of Intel XDK, PhoneGap and Xamarin has been made. Different solutions for the apps back-end were also evaluated. Intel XDK was chosen as the most appropriate tool for the project. An app was developed with Intel XDK together with a back-end containing of a LAMP-server. The goal of the app is to replace the current distribution of advertisement to people s homes. The result shows that it is possible to develop a cross-platform app in Intel XDK. There are pros and cons with all the tools available and it is therefore important to choose the tool that satisfies the requirements of the product in the best way. This report is written in Swedish. Keywords: Cross-platform, app development, Intel XDK, PhoneGap, Xamarin. Sammanfattning Cross-platform är en metod för att utveckla ett mjukvarusystem som är kompatibelt med flera olika plattformar. Eftersom det finns flera olika plattformar på den mobila marknaden och efterfrågan på appar är stor, har det blivit intressant att utveckla appar som fungerar på så många plattformar som möjligt på ett smidigt sätt. Rapporten undersöker vilket som är det mest lämpliga verktyget för utveckling av en plattformsoberoende app. Intel XDK, PhoneGap och Xamarin har utvärderats som utvecklingsmiljöer för appen och olika alternativ för backend har undersökts. Intel XDK valdes som det mest lämpliga utvecklingsverktyget i projektet. En komplett app har utvecklats med Intel XDK tillsammans med en back-end bestående av en LAMP-server. Målet med appen är att ersätta dagens distribution av utdelad reklam till privatpersoner. Resultatet visar att det är möjligt att utveckla en cross-platform-app i Intel XDK. Det finns för- och nackdelar med alla verktyg och det gäller därför att välja det som tillfredsställer de krav som ställs på produkten på bästa sätt. Nyckelord: Cross-platform, app-utveckling, Intel XDK, PhoneGap, Xamarin. IV

5 Förord Vi vill tacka Alten för en härlig, lärorik och rolig tid, innanför och utanför skrubben. Främst av allt vill vi tacka vår handledare Joakim Östberg för all support och stöd under examensarbetet, specifikt skönsången under seglingen. Göteborg, maj 2014 Anders Johansson, Jonas Berglund V

6 Ordlista ARM Back-end Burn down chart Cross-site request forgery Darwin GNU GPL GUI Hybridapp IDE JQuery Mobile JSON Klient LAMP ARM är en processorarkitektur som tillverkare kan följa mot en licens. Back-end är ett begrepp för att beskriva bearbetningen av all data som inte är synligt för användaren. En grafisk representation av arbetsflödet för en sprint där sambandet mellan arbetet som är kvar att göra och tiden visas. En attack utformad för att utnyttja användarinformation som finns sparad i webbläsaren. Attacken skickar egna förfrågningar från en webbplats en användare surfar på till en annan webbplats användaren är inloggad på. Attacken använder användarens uppgifter som finns sparade i cookies webbläsaren. Genom attacken kan en angripare till exempel handla på en webbplats genom att använda information i webbläsaren utan att användaren upptäcker det. Darwin är ett Unix-liknande operativsystem och släpptes av Apple som open source år GNU är ett Unix-liknande operativsystem. GNU General Public Licence är en upphovsrättslicens för programvara som är fri att använda, ändra och sprida vidare. GPL skapades i samband med GNU-projektet. Graphical User Interface. Grafiskt användargränssnitt. En hybrid-app är en app som är skriven i ett programmeringsspråk som fungerar på flera olika operativsystem, och skiljer sig från språket i telefonens operativsystem. Integrated Development Environment. En integrerad utvecklingsmiljö som oftast innehåller en texteditor, debugger samt kompilator. Ett touch-anpassat JavaScript bibliotek för att kommunicera med hårdvaran i en smarttelefon. JavaScript Object Notation är ett format för överföring av data. Formatet är kompakt och lätthanterligt, namn och efternamn för en person kan kodas på följande sätt i JSON ( namn : Stina, efternamn : Andreasson ). Den som begär/efterfrågar information, eller initierar kommunikationen. LAMP är fyra stycken produkter, Apache, Linux, MySQL samt PHP som tillsammans bildar en komplett webb-plattform. Alla produkterna i en LAMP plattform finns i form av öppen källkod och är gratis att använda. Native-app Native betyder naturlig eller gedigen. Att en mobilapp är utvecklad native betyder att den är utvecklad i utvecklingsmiljön som tillhandahålls av företaget appen utvecklas för. Native-appar skrivs då i samma programmeringsspråk som telefonens operativsystem. Server Den som svarar på en förfrågan eller tillhandahåller informationen. VI

7 Stateless XML Det innebär att varje förfrågan innehåller all information som behövs för att besvara frågan. Samma förfrågan från klienten kommer alltid att ge samma svar från servern, oberoende av tidigare förfrågningar. När kommunikationen är stateless ska det i princip gå att starta om en server mellan klientens förfrågningar utan att klienten noterar omstarten. Extensible Markup Language är en formatmall för data. Fördelen med XML är att den är läsbar både för människor och maskiner. VII

8 Innehållsförteckning 1. Inledning Bakgrund Syfte Mål Avgränsningar Precisering av frågeställning Metod Teknisk bakgrund Mobila plattformar Android ios Windows Phone BlackBerry Operativsystem Linux Windows Server Webbserver Apache HTTP Server IIS Databaser MySQL Microsoft SQL Server Skriptspråk PHP ASP.NET Ruby on Rails Ruby Rails Webbtekniker HTML CSS JavaScript HTML Cross platform- tekniker Cordova PhoneGap Intel XDK Xamarin Kommunikation HTTP - HyperText Transfer Protocol SSL - Secure Sockets Layer SOAP - Simple Object Access Protocol REST - Representational State Transfer VIII

9 4. Genomförande Kravspecifikation Analys av utvecklingsverktyg PhoneGap Intel XDK Xamarin Motivering till val av utvecklingsverktyg Analys av operativsystem Windows Server Linux Motivering till val av operativsystem Analys av skriptspråk för webbserver PHP Ruby on Rails Motivering till val av skriptspråk för webbserver Analys av databashanterare MySQL Microsoft SQL Server Motivering till val av databashanterare Designspecifikation Användarfall Design av serverlösning Design av databasen Applikationens arbetsflöde Vyer Implementation Implementation av server Implementation av databasen Implementation av webbserver SSL/TLS Hantering av PDF- filer Cache Appens grafiska utseende Push- meddelanden Resultat av implementationen Resultat Resultat av produkten Slutsats Resumé Kritisk diskussion Samhällsaspekter Framtida utveckling IX

10 1. Inledning 1.1 Bakgrund Examensarbetet har utförts åt Teqnet i samarbete med Alten. Alten är ett internationellt konsultbolag med kontor i sju städer i Sverige, samt 16 länder världen över. Teqnet är ett nystartat svenskt IT-bolag. Appar till smarta mobiltelefoner och läsplattor är en marknad som har ökat markant de senaste åren. Idag finns många olika operativsystem och modeller av smarta mobiltelefoner och läsplattor. För att nå en bred marknad behöver en app utvecklas för flera operativsystem. Detta är resurskrävande både i utveckling- och underhållsfasen. Crossplatform är ett begrepp inom datavetenskap som beskriver en metod för att utveckla endast en applikation eller ett system till flera olika operativsystem [1]. Med dagens teknik är det möjligt att tillgodose människors behov och intressen på effektivare sätt. Genom digitalisering av reklamblad finns en stor samhällsnytta. Reklamblad som delas ut till privatpersoner använder stora mängder energi i sin framställning. Delar av den utdelade reklamen trycks och delas ut i onödan eftersom efterfrågan för alla reklamblad saknas. 1.2 Syfte Syftet med projektet är att utveckla en applikation för att läsa reklamblad från en server på läsplattor. Applikationen ska vara utvecklad i en plattformsoberoende miljö för att göra underhållet minimalt och nå en så stor marknad som möjligt. 1.3 Mål Målet med projektet är att identifiera en utvecklingsmiljö som tillfredsställer de tekniska kraven för appen och gör den kompatibel med flera mobila plattformar, samt att utveckla applikationen. 1.4 Avgränsningar Endast en cross-platform-lösning kommer att användas för att utveckla applikationen. Vid analysen av utvecklingsverktyg kommer inte några test-applikationer att utvecklas för att utreda varje verktyg, utan istället sammanställs och undersöks slutsatser från tidigare utredningar. I projektet ingår endast att testa applikationen till Android och ios. Applikationen kommer inte att kunna editera dokument, men det kommer att ges utrymme för det i en vidareutveckling. Applikationen kommer endast att hantera dokument i PDFformat. 1.5 Precisering av frågeställning Vilket är det mest lämpliga verktyget för att utveckla en cross platform-app? 1

11 2. Metod Projektet kommer att genomföras agilt med arbetsmetodiken Scrum. En sprint ska planeras med två veckors intervall, varpå en demonstration av projektet kommer att genomföras tillsammans med kund. Dagliga scrummöten ska genomföras varje morgon, även de tillsammans med kund. Kunden kommer att agera både product owner och Scrum master. Planeringsverktyget Trello kommer att användas för att organisera product backlog, user stories och tasks. En tidsplan tas fram för att få en överblick av arbetet, samt att bedöma projektets omfattning. Tidsplanen görs med ett Gantt-schema, där varje fas kan användas i backlogen. Projektet inleds med en förstudie som undersöker tidigare utredningar, samt artiklar inom området. Förstudien ska identifiera ett antal olika metoder och verktyg för cross-platformutveckling, varpå en analys av de olika alternativen ska göras. Ytterligare en förstudie ska genomföras för att välja det mest lämpliga alternativet för val av serverlösning. Två olika operativsystem ska utvärderas med tillhörande tekniska utvecklingsmiljöer och språk. En serverlösnig ska implementeras och appen ska utvecklas med hjälp av det utvecklingsverktyget som väljs för projektet. Under projektets utvecklingsfas används versionshanteringssystemet Git för hantering och synkronisering av all kod. 2

12 3. Teknisk bakgrund 3.1 Mobila plattformar Av alla smarta mobiltelefoner som säljs idag använder mer än 90 % operativsystemet Android eller ios, vilket visas i figur 3.1. De konkurrenter som utmanar på marknaden är bland annat Microsoft och BlackBerry. Trots en låg marknadsandel, sålde Microsoft över 30 miljoner enheter Antal sålda Android-enheter samma år var cirka 760 miljoner och ios 150 miljoner [2]. Figur 3.1: Andelar av antalet sålda enheter på smarta mobiltelefoner i världen 2013, sorterat på operativsystem [2] Android Android är ett operativsystem för mobila enheter som används främst i smarta telefoner och läsplattor. Android är utvecklat av Android Inc som ägs av Google [3]. Operativsystemet är baserat på en Linuxkärna och utvecklingsspråken är Java och XML. Det är även möjligt att utveckla med språken C/C++. Android använder öppen källkod och ligger under Apache Lisence 2.0 [4]. Appar för Android distribueras via Google Play Store ios ios är ett operativsystem utvecklat av Apple som används i deras mobila enheter ipod, iphone och ipad. ios är baserat på Darwin och körs på ARM-baserade processorer. Applikationer till ios utvecklas i Objective C, men det är även möjligt att använda sig av C/C++. Utvecklingsmiljön Xcode innehåller fullständiga verktyg för att skriva, kompilera och debugga ios-produkter. Appar för ios distribueras via Apple App Store. För att publicera appar på App Store krävs medlemskap i Apple Developer Program, samt ett godkännande från Apple för varje app [5] Windows Phone Microsofts senaste operativsystem för mobila enheter heter Windows Phone 8. Den senaste versionen (8.1) släpptes i april 2014 [6]. Utveckling av applikationer för Windows Phone görs i Microsoft Visual Studio och skrivs i C/C++. Windows Phone körs på ARM-baserade processorer [7]. 3

13 3.1.4 BlackBerry BlackBerry 10 är utvecklat av BlackBerry Ltd och släpptes i januari 2013 [8]. Operativsystemet körs på företagets egenutvecklade telefoner. Utveckling av appar till BlackBerry 10 görs med BlackBerry SDK där koden skrivs i C/C++ [9]. Sedan tidigare finns även BlackBerry OS som är ett operativsystem utvecklat i Java [10]. 3.2 Operativsystem Linux Linux är ett Unix-liknande operativsystem som bygger på öppen källkod under GNU General Public Licence (GPL) [11]. Linux använder en modulärt uppbyggd kärna, vilket möjliggör att Linux kan anpassas och formas beroende på plattform. Linux finns i flera olika distributioner, utvecklade av både företag, organisationer och privatpersoner. En distribution är ett operativsystem utvecklat på Linuxkärnan med tillhörande programvara. Skalbarheten medför att Linux används i allt från superdatorer till telefoner [12] Windows Server Windows Server är en utbyggnad av Microsofts operativsystem Windows. Windows Server tillför funktionalitet för att skapa en fullständig serverlösning. Den senaste versionen Windows Server 2012 släpptes i samband med Windows 8. Windows Server har ett välutvecklat GUI som förenklar för användaren att konfigurera servern och installera tillägg. Windows Server kräver licenser för att användas och är således inte gratis [13]. 3.3 Webbserver Apache HTTP Server Apache HTTP Server är en webbserver som bygger på fri och öppen källkod enligt Apache License. Apache HTTP Server är ett projekt hos Apache Software Foundation som strävar efter att bygga robust, högkvalitativ, samt gratis programvara. Kvalitén ska vara så hög att servern går att använda i kommersiella produkter [14]. Apache HTTP Server används av mer än 95 miljoner aktiva Internetservrar [15] och fungerar tillsammans med flera olika operativsystem. Servern kan anpassas genom att installera tilläggsmoduler för utökad funktionalitet. Tilläggsmodulerna utvecklas både genom Apache Community och av kommersiella aktörer [16] IIS 8.0 IIS, Internet Information Services, är en webbserverlösning från Microsoft. IIS kan bara köras på Microsoft Windows operativsystem [17]. IIS är en modulärt uppbyggd webbserver som användaren kan konfigurera. Moduler tillhandahålls av Microsoft och kommersiella aktörer, men det finns även en community med gratis moduler. Säkerhet och minnesutnyttjande har stort fokus sedan version 6.0. Funktionalitet som efterfrågas, installeras av användaren för att minimera att säkerhetsluckor uppstår på grund av felaktiga inställningar i IIS. IIS 8.0 kan till skillnad från IIS 7.0 hantera flera SSL-webbsidor med egna certifikat med hjälp av endast en IP-adress [18]. 4

14 3.4 Databaser MySQL MySQL är ett relationsbaserat databashanteringssystem som är utvecklat av det svenska företaget MySQL AB. Idag ägs företaget av Oracle. MySQL använder öppen källkod under GNU General Public Licence (GPL) [19]. Det är fritt att använda, men finns även i en kommersiell företagsversion och en klusterversion. Företagsversionen har utökad funktionalitet och support, medan klusterversionen innefattar stöd för flera noder [20]. Enligt Oracle används MySQL av nio av de tio mest trafikbelastade webbplatserna. MySQL är plattformsoberoende och har stöd för alla standardfunktioner [21] Microsoft SQL Server Microsoft SQL Server är Microsofts system för att hantera databaser. Det är en programvara som tillåter användaren att hantera databaser där data sparas i en SQL-databas [22]. Den senaste versionen släpptes i mars 2014 [23]. 3.5 Skriptspråk PHP PHP är ett objektorienterat skriptspråk som kan används tillsammans med webbservrar. PHP agerar som koppling mellan server och webbsidan och används för att hantera koppling mellan en webbapplikation och en databas. PHP lanserades 1995 [21]. Den senaste versionen, 5.5, släpptes i maj 2014 [24] ASP.NET ASP.NET är en plattform för att bygga dynamiska webbapplikationer. Den är utvecklad av Microsoft och bygger på deras.net Framework. ASP.NET släpptes i januari Det finns tre olika versioner av programmet som heter ASP.NET Web Forms, ASP.NET Web Pages och ASP.NET MVC. För att utveckla i ASP.NET används verktyg i Visual Studio [25]. 3.6 Ruby on Rails Ruby on Rails är ett samlingsnamn för Ruby och Rails som tillsammans utgör ett framework för att skapa webbapplikationer Ruby Ruby är ett objektorienterat programmeringsspråk skapat i Japan i början av 1990-talet. Det är ett plattformsoberoende språk, vilket innebär att det är körbart på bland annat Windows, Linux och Mac OSX [26] Rails Rails är ett open source-framework som använder programmeringsspråket Ruby. Det är utvecklat för att vara enkelt att använda och snabbt att komma igång med. Att Rails är ett framework innebär att utvecklaren får stöd genom att kod autogenereras för till exempel databashantering. Rails ser till att utvecklaren följer designmönstret Model View Controler. Rails är även designat för att undvika duplicering av kod och funktioner. Då Rails är ett framework kan det även begränsa möjligheterna för utvecklaren då det är svårt att implementera funktionalitet som det inte finns inbyggt stöd för [27]. 5

15 3.7 Webbtekniker HTML HTML, Hyper Text Markup Language, är ett programmeringsspråk som ligger till grunden för webbaserade system och applikationer. HTML kombinerar och möjliggör visning och interaktion med multimedia. HTML är ett XML-baserat språk. HTML bygger på att webbsidan avgränsas med taggar där information beskriver för webbläsaren hur HTML-koden ska tolkas. HTML används för att koden lätt kan förstås av både människor och maskiner [28] CSS CSS, Cascading Style Sheets, beskriver hur webbsidor representeras grafiskt, vilket kan till exempel vara definiering om storlek, färg, stil eller typsnitt på text. CSS är separerat från HTML och fungerar även till andra XML-baserade språk [29] JavaScript JavaScript är ett objektorienterat skriptspråk och används bland annat för att göra webbsidor mer interaktiva och dynamiska. JavaScript utvecklades av Netscape och stödjs av alla dagens webbläsare. Språket använder syntax från Java och C, men som språk är det, trots namnet, helt skilt från Java. JavaScript kan köras lokalt i användarens webbläsare eller enhet och kan med stöd av bibliotek, till exempel JQuery Mobile, användas för att interagera med en mobiltelefons hårdvara [30] HTML5 HTML5 är en vidareutveckling av HTML-standarden och är specificerad av World Wide Web Consortium (W3C). W3C strävar efter att all funktionalitet i en webbsida eller webbapplikation ska vara inbyggd i HTML5, utan stöd från extra tilläggsprogram som till exempel Adobe Flash eller Microsoft Silverlight. HTML5 stödjer funktionalitet för att begränsa kommunikation mellan klient och server, genom att förhandsgranska ifyllda formulär innan meddelandet skickas till servern. På så sätt begränsa omskickning av data. HTML5 har utökad kapacitet för att spara (cache) information direkt i webbläsaren. Den utökade möjligheten för cache i webbläsaren möjliggör att produkter utvecklade i HTML5 kan designas för att fungera optimalt även då tillgången till Internet är begränsad [31]. 6

16 3.8 Cross platform-tekniker Cordova Cordova är ett open source-projekt från företaget Apache. Det är ett verktyg för att utveckla cross-platform-appar för smarta telefoner genom att använda sig av webbspråken HTML, CSS och JavaScript [32]. Cordova är en samling APIer som sammankopplar funktioner i JavaScript med mobilernas hårdvarusystem. Detta ger möjlighet att hantera och använda mobilens hårdvarukomponenter, som till exempel kamera och GPS. Kopplingen mellan Cordova och mobilens hårdvara är unik för varje operativsystem, vilket medför att endast en produkt behöver utvecklas för att fungera till flera plattformar, se figur 3.2. Därför är det möjligt att skriva en cross-platform-app i HTML, CSS och JavaScript [33]. Figur 3.2: Med hjälp av Cordova kan en app i HTML utvecklas för att fungera på flera mobila plattformar PhoneGap PhoneGap är ett ramverk som möjliggör utveckling av mobila cross-platform-applikationer i HTML, CSS och JavaScript. PhoneGap är utvecklat av Nitobi, men ägs idag av Adobe Systems [34]. PhoneGap använder Cordova som grundkärna. PhoneGap bygger om en app från HTML till appar som kan köras på flera olika mobila operativsystem [35]. Appar som byggs med PhoneGap laddas upp till en molntjänst som heter PhoneGap Build. PhoneGap Build omvandlar då HTML-koden och bygger native-appar för varje plattform. 7

17 3.8.3 Intel XDK Intel XDK är en IDE för att utveckla cross-platform-appar i HTML, CSS och JavaScript [36]. Apparna kan sedan användas på flera olika mobila operativsystem. Utvecklingsmiljön i Intel XDK är anpassad för att kunna skriva kod, emulera appar virtuellt, samt bygga appar till flera olika enheter. Intel XDK använder sig av Cordova som grundkärna för att koppla apparna mot telefonens hårdvara, se figur 3.3. Intel XDK släpptes i oktober 2013 [37]. Figur 3.3. Strukturen för appar utvecklade i Intel XDK, AppMobi AppMobi är en produkt som tillhandahåller integrering av tjänster i cross-platform-appar. AppMobi är inbyggt i Intel XDK. AppMobi erbjuder tjänster som push-meddelande, användaranalys, lösningar för micro-transaktioner med mera. Cross-platform-lösningen innebär att tjänsterna fungerar för flera operativsystem och appar på olika app-butiker [38] Xamarin Xamarin är ett utvecklingsverktyg där det är möjligt att utveckla native-appar genom att skriva kod i C#. Xamarin stödjer ios och Android och har två olika utvecklingsmiljöer [39]. Det är möjligt att utveckla appar i Visual Studio eller Xamarin Studio. Xamarin Developer Center tillhandahåller dokumentation för utveckling av apparna. 8

18 3.9 Kommunikation HTTP - HyperText Transfer Protocol HTTP är ett kommunikationsprotokoll för utbyte av HTTP-meddelanden mellan en klient och en server. HTTP-meddelanden använder TCP som transportprotokoll, där HTTP definierar ramarna för hur meddelandet ska se ut och hur det ska sändas [40]. HTTP-meddelanden lagrar ingen användarinformation och är därför stateless SSL - Secure Sockets Layer SSL utvecklades av Netscape för att säkerställa att kommunikation med TCP är konfidentiell och säker. Data skickad med SSL är krypterad. Genom autentisering av server, och ibland även klient, säkerhetsställs att ingen obehörig har manipulerat kommunikationen. SSL bygger på användning av certifikat av typ X.509 för verifiering av identitet. Certifikatet innehåller bland annat information om utfärdare, version och ägarens publika nyckel [40]. Den sista versionen av SSL var 3.0 som vidareutvecklades till TLS 1.0. TLS står för Transport Layer Security och senaste version är TLS 1.2. SSL är inte längre aktuellt, men uttrycket används ofta för att beskriva en säker anslutning. En SSL/TLS-session mellan en klient och server fungerar enligt figur 3.4. Figur 3.4: En detaljerad beskrivning av hur en SSL/TSL-session fungerar. Efter den inledande TCP-anslutningen ber klienten om serverns certifikat. Servern svarar med sitt certifikat, som bland annat innehåller serverns publika nyckel. Klienten kontrollerar att certifikatet är signerat av en pålitlig aktör och skapar en ny nyckel för användning under sessionen. Klienten krypterar sedan den skapade nyckeln med serverns publika nyckel som finns i certifikatet. Den krypterade nyckeln sänder klienten till servern och nyckeln används fortsättningsvis för att kryptera/dekryptera meddelanden under den följande sessionen. 9

19 Certifikatet används, förutom till att sända serverns publika nyckel, även till att bekräfta identiteten av servern. Detta för att förhindra att någon utger sig för att vara servern, en så kallad Man-in-the-middle -attack (MITM). En MITM-attack fungerar enligt figur 3.5. Figur 3.5: En detaljerad beskrivning av en Man-in-the-middle -attack. En klient A anropar en server B, meddelandet fångas dock upp av en avlyssnare C, A väntar nu på svar från B men B har aldrig fått någon begäran då C behöll meddelandet. C svarar istället A med sitt egna certifikat, Certifikatet som C sänder till A innehåller C egna publika nyckel, C anropar därefter B som svarar med sitt certifikat, A skapar en ny nyckel för sessionen, krypterar med certifikatet från C och sänder den till C, C dekrypterar meddelandet sparar nyckeln för kommunikation med A, skapar en ny nyckel för kommunikation med B samt krypterar nyckeln med B:s certifikat och sänder till B, B dekrypterar meddelandet från C, sparar nyckeln för att kryptera/dekryptera meddelanden till/från C, A kommer nu att tro att kommunikationen med B är säker, men C läser allt som skickas mellan A och B. En MITM-attack kan stoppas genom att certifikatet som B skickar till A kontrolleras. Certifikatet innehåller information om servern och är utfärdat av en certifikatutfärdare (CU). Genom signeringen bekräftar utfärdaren att certifikatet är godkänt. Klienten undersöker att CU är en godkänd certifikatutfärdare mot en lista som finns sparad lokalt. Om det finns avvikelser i certifikatet avbryts uppkopplingen. 10

20 3.9.3 SOAP - Simple Object Access Protocol SOAP är ett överföringsprotokoll utvecklat av Microsoft och bygger på strukturerade meddelanden i XML-format. Tillgängliga tjänster och datatyper i en SOAP-server beskrivs med språket WSDL (Web Services Description Language). När en klient vill använda en SOAP-server begär den serverns WSDL-fil. WSDL-filen beskriver vilka tjänster servern tillhandahåller på liknande sätt som en funktionsdeklaration i programspråket C beskriver en funktion. SOAP är inte bundet till HTTP och kan använda andra protokoll [41] REST - Representational State Transfer REST är en designmodell som definierar kommunikation mellan klient och server. REST är stateless. Idén grundar sig på att använda enkla förfrågningar för att manipulera/efterfråga data från en server. REST använder tre olika operationer i sin kontakt med servern - skriva (skapa/uppdatera), läsa (hämta information) samt radera (ta bort data). HTTP är väl anpassat till REST då HTTP har definierade operationer för att skapa, läsa, uppdatera och radera [42]. Ett REST-anrop använder en mindre overhead än SOAP vid överföring av samma data. SOAP förpackar meddelandet i ett SOAP-omslag som är större än motsvarande RESTmeddelande, vilket leder till att belastning på nätverket blir lägre vid användning av REST [43]. 11

21 4. Genomförande 4.1 Kravspecifikation Det finns idag flera olika utvecklingsverktyg, dock är många av alternativen tidigt i sin utvecklingsfas. En kravspecifikation utformades tidigt i projektet för att fastställa appens krav på funktionalitet. Utifrån kravspecifikationen analyserades utvecklingsverktygen. Det bestämdes att appen ska: ha möjlighet att kunna läsa dokument från en databas, kunna kommunicera med en server via en krypterad anslutning, hantera användarkonton med information om användarens val om innehåll, ladda ner samt ta bort dokument lokalt, skicka push-meddelande när nya dokument finns tillgängliga, hantera swipe-rörelser, vara användbar i offlineläge. För att anpassa utvecklingsprocessen till projektets storlek valdes även några tekniska avgränsningar. Det bestämdes att appen inte behöver: hantera andra filer än PDF, endast utvecklas och testas för Android och ios. 4.2 Analys av utvecklingsverktyg Analys av utvecklingsverktyg utfördes genom att först samla information om vilka olika alternativ som var tillgängliga. Därefter valdes tre alternativ ut som bedömdes som mest lämpliga. En sammanställning av för- och nackdelar av dessa tre alternativ gjordes, se figur 4.1. Därefter genomfördes en mer noggrann genomgång dessa, innan ett alternativ valdes som utvecklingsverktyg. Figur 4.1: Sammanställning av fakta kring de tre utvecklingsverktygen som utvärderades. 12

22 4.2.1 PhoneGap PhoneGap är ett väletablerat verktyg för att utveckla cross-platform-applikationer. Eftersom det är ett populärt verktyg har många plugins utvecklats för funktionalitet som inte stöds av Cordova. Appar i PhoneGap kan utvecklas i valfri texteditor eller utvecklingsmiljö, såsom Eclipse eller Xcode. För utveckling av flera plattformar måste en SDK för varje plattform sättas upp lokalt Intel XDK Intels utvecklingsverktyg bygger på samma kärna som PhoneGap använder, Cordova. Dock stödjer inte Intel XDK plugin som är skrivna för PhoneGap. Det som Intel XDK tillhandahåller är en komplett utvecklingsmiljö där inga övriga konfigurationer är nödvändiga. Den största fördelen med Intel XDK är den enkla och kompletta utvecklingsmiljön. Eftersom all utvecklig sker med hjälp av Intel XDK, som fungerar på både Mac och PC, krävs det ingen Mac för att utveckla appar för ios Xamarin Xamarin möjliggör utveckling av Android och ios-applikationer i C#. Projektet i C# kompileras om för att stödja Java och Objective-C. I Xamarin utvecklas bara de logiska delarna i C#, medan GUI för varje plattform måste byggas separat i olika utvecklingsmiljöer. Xamarin gör det således möjligt att skriva native-liknande appar för cross-platformutveckling. Den stora fördelen med Xamarin är att apparnas GUI utvecklas i separata miljöer, eftersom det ger utvecklarna tillgång till native-funktioner i användargränssnittet. Det finns begräsningar i gratisversionen av Xamarin för hur många rader kod som får skrivas. När maxgränsen är uppnådd behövs ett betalkonto för att fortsätta utvecklingen Motivering till val av utvecklingsverktyg Med ovanstående bakgrund valdes Intel XDK som utvecklingsmiljö i detta projekt. Projektet krävde ett verktyg som på ett smidigt sätt kan bidra till att utveckla en app till flera plattformar. Xamarin valdes bort för att den enbart stödjer två plattformar och för begräsningarna i gratisversionen. För att behålla smidigheten och enkelheten valdes Intel XDK före PhoneGap för att Intels verktyg innehåller allt som behövs från start, samt att det inte krävs en Mac för att utveckla ios-appar. 13

23 4.3 Analys av operativsystem Valet av operativsystem är ej kritiskt för valet av serverlösning. Apache, MySQL och PHP går att applicera både under Windows och Linux. Även SQL Server 2012 går att köra på både Windows och Linux. Ruby går att använda tillsammans med både Windows och Linux Windows Server 2012 Windows Server 2012 (WS) är stabilt, driftsäkert och har fördelen att uppdateringar sker via Windows Update, vilket innebär att alla uppdateringar kommer från en säker källa. WS tar allt större marknadsandelar från Linux och en stor anledning är att användarna känner igen sig i WS med ett välfungerande GUI. WS marknadsandel för webbserver är 31 % kontra Apache Server 38 % [15]. WS finns i olika utföranden beroende på funktionalitet. Priset sträcker sig från ca 3000 kr för enklaste versionen upp till kr för Datacenterversionen, som kan hantera upp till 1024 virtuella maskiner eller upp till 8000 stycken i ett kluster Linux Linux är driftsäkert och används i stor skala till att driva webbservrar. Sex av de tio mest trafikerade webbplatserna 2012 använder Linux, kontra en av tio för Windows. Skalbarheten i Linux medför att operativsystemet kan optimeras till att endast innehålla nödvändiga processer för webbservern. Det leder till att resurserna i systemet nyttjas till fullo. Communityn kring Linux är stor. Linux bygger på öppen källkod där medlemmar dagligen bidrar med buggfixar och uppdateringar till operativsystemet. Alla ändringar i kärnan granskas av communityn, vilket säkerställer att uppdateringarna håller hög kvalité. Då uppdateringar skrivs av tredjepart krävs det att användaren är källkritisk vid installation av uppdateringar Motivering till val av operativsystem För projektet valdes Linux som operativsystem för back-end. Linux valdes för att det är gratis och driftsäkert. Projektet använder en Ubuntu-distribution med endast konsolfönster. Fördelen med att endast använda konsolfönster är att minimera antalet säkerhetsluckor i operativsystemet. Säkerheten i ett operativsystem påverkas genom att minska andelen installerade program som kan innehålla eventuella svagheter. Antingen genom att kombinationer av programvara medför risker eller att programvaran inte är uppdaterad. 14

24 4.4 Analys av skriptspråk för webbserver Då Linux valdes som operativsystem för back-end så föll valet av skriptspråk för servern mellan PHP och Ruby on Rails PHP Projektgruppen har tidigare erfarenhet av PHP. PHP är gratis och har en stor community vilket gör det enkelt att söka information och hitta exempel om eventuella problem. PHP.net tillhandahåller välskriven dokumentation om all funktionalitet i PHP Ruby on Rails Ruby on Rails (RoR) avlastar utvecklaren genom att flertalet funktioner finns inbyggda direkt i Rails. RoR har till exempel inbyggt skydd mot Cross-site request forgery och autogenererar all kod för databashanteringen. RoR har gedigen dokumentation för hur en blogg-sida kan byggas på 15 min, men att gå därifrån till att utveckla ett eget program och förstå hur RoR fungerar kräver en stor investering i tid Motivering till val av skriptspråk för webbserver PHP valdes till back-end språk på grund av tidigare erfarenhet av språket. Utveckling av en cross-platform-applikation är kärnan i projektet och då kan antalet okända faktorer i tidsplanen minimeras genom valet av PHP. Det är då enklare att upprätta en korrekt tidsplan med PHP, till skillnad från Ruby on Rails. 4.5 Analys av databashanterare Valet stod mellan MySQL samt Microsoft SQL Server MySQL MySQL finns i en gratisversion. Det medför att det finns ett större utbud av webhotell som använder MySQL. Det finns utvecklat stöd för MySQL i PHP Microsoft SQL Server Microsoft SQL Server tillhandahåller liknande funktionalitet som MySQL, men finns inte i någon gratisversion Motivering till val av databashanterare MySQL valdes till databashanterare för att den är gratis och tillhandahåller den funktionalitet som projektet eftersöker. 15

25 4.6 Designspecifikation Användarfall För att bestämma hur appen skulle designas specificerades användningsområdet utifrån ett användarperspektiv. Därigenom specificerades olika användarfall för att bestämma vad som var viktigt för appens innehåll. Som användare ska det gå att: 1. registrera sig i appen, 2. logga in i appen, 3. se alla kategorier, 4. välja en kategori, 5. begära nytt lösenord, 6. se alla företag tillhörande en kategori, 7. välja ett företag som favorit, 8. läsa reklamblad från ett företag, 9. se en lista på alla favoriter, 10. välja att spara ner ett dokument till cache, 11. ta bort sparade dokument från cache, 12. få en notifikation när nya meddelanden finns att hämta, 13. ställa in om appen ska skicka push-meddelanden eller inte, 14. logga ut Design av serverlösning Serverlösningen består av en Linux-server som kör Ubuntu tillsammans med Apache, PHP och MySQL. För projektet införskaffades en domän till servern. Webbdomänen använder ett certifikat utfärdat av StartSSL till att kryptera trafiken mellan klient och server. Varje vy i applikationen har en egen PHP-fil som ligger på servern. Företag på webbservern är uppdelade i underkataloger, där varje företag har sin egen katalog (enligt Katalogen innehåller alla dokument och bilder som företaget vill publicera i applikationen. Applikationen hämtar information från databasen om vad som ska hämtas ur katalogen. Push-meddelanden till applikationen utformas, adresseras samt skickas med en HTML-sida på webbservern. 16

26 4.6.3 Design av databasen Databasen designades med ER-modellen (entitets-relationsmodellen) för att beskriva relationerna mellan de olika tabellerna i databasen, se figur 4.2. Modellen visar tydligt hur databasen ska implementeras. Figur 4.2: Databasmodellen visar hur strukturen i databasen är uppbyggd. En användare är definierad med ett unikt id, men innehåller även andra attribut. Användaren har en epost-adress, ett lösenord som krävs vid inloggning, information om när användaren senast loggade in i appen och vilka inställningar som har valts. Ett reklamblad tillhör en eller flera regioner, men kan bara tillhöra ett företag. Företaget kan ha en eller flera kategorier och det finns en tabell för att spara information om vilka företag som de olika användarna har valt som favoriter. En tabell innehåller också information om när en användare har läst ett specifikt reklamblad. 17

27 4.6.4 Applikationens arbetsflöde Ett flödesdiagram skapades för att beskriva hur applikationen arbetar och i vilken ordning olika processer anropar varandra, se figur 4.3. Figur 4.3: Flödesdiagram över appens funktionalitet. 18

28 4.6.5 Vyer Ett antal vyer designades som appens användare kan navigera emellan, se figur 4.4. Första gången som appen öppnas kommer användaren till en inloggningssida. Här kan användaren logga in med befintliga användaruppgifter, välja att navigera till sidan för att återställa lösenord eller till Registrera-sidan. När en användare har registrerat sig loggas användaren in automatiskt. Då användaren är inloggad går det att navigera mellan de tre olika vyerna Hem, Favoriter och Inställningar. Figur 4.4: Strukturen på hur de olika vyerna relaterar till varandra i appen Vyerna i applikationen använder sig av funktioner i JavaScript för hantering av dynamisk data i applikationen. Funktionerna hanterar appens kommunikation med databasen via webbservern. Följande delkapitel beskriver varje vys koppling mot servern samt de olika JavaScriptfunktioner som är specificerade för varje uppgift som appen utför. 19

29 Login-vyn När användaren trycker på knappen Logga in anropas funktionen auth_user som skickar användarens epost och lösenord till webbservern, se figur 4.5. Webbservern gör en förfrågan till databasen som antigen svarar med true eller false. Om användaren finns i databasen och lösenordet stämmer skickas användaren vidare till favoritsidan. Om uppgifterna är felaktiga ombeds användaren försöka på nytt. I det fall användaren har loggats in tidigare och användaruppgifterna finns sparade lokalt på telefonen, loggas användaren in automatiskt. Figur 4.5: Login-vyn skickar en förfrågan via webbservern för att kontrollera om inloggningsuppgifterna stämmer eller inte Registrera-vyn Vid registrering av en ny användare skickar appen uppgifterna som användaren har valt att registrera med till webbservern. Webbservern sparar uppgifterna i databasen och användaren loggas in i appen, se figur 4.6. Figur 4.6: När en användare har registrerat sig sparas uppgifterna i databasen. 20

30 Återställa lösenord-vyn Ifall en användare har glömt sitt lösenord kan det återställas. Användaren skriver den e- postadressen som valdes vid registrering. Appen skickar då en förfrågan till webbservern som återställer lösenordet och skickar ut ett mail till användaren med uppgifter om det nya lösenordet, se figur 4.7. Figur 4.7: Användaren har möjlighet att återställa sitt lösenord Hem-vyn På Hem-vyn visas en lista med olika kategorier. När en kategori har valts presenteras en ny lista med samtliga företag som användaren kan välja att spara som favorit. När ett nytt företag valts som favorit uppdateras webbservern och reklambladen för det valda företaget visas på Favoriter-vyn när användaren väljer att navigera dit, se figur 4.8. Figur 4.8: På Hem-vyn kan användaren välja vilka företag som ska vara favoriter. 21

31 Favoriter-vyn På vyn för favoriter visas alla de reklamblad som tillhör de företag som användaren har valt som favoriter. När användaren väljer ett reklamblad öppnas en PDF-fil med det reklambladet. Användaren kan trycka på uppdatera-knappen som laddar om från databasen och hämtar all den senaste informationen. Användaren har också möjlighet att spara ner en PDF till cachen, se figur 4.9. Figur 4.9: Användarens favoriter visas på Favoriter-vyn Inställnings-vyn På Inställnings-vyn kan användaren välja att ta emot push-meddelanden eller inte, se figur Webbservern kontaktar push-servern som då uppdaterar användarens val. Webbservern svarar sedan ifall uppdateringen lyckades. Figur 4.10: På inställnings-vyn finns möjlighet att stänga av eller sätta på push-meddelanden. 22

32 4.7 Implementation Implementation av server Servern kör Ubuntu LTS som operativsystem och installationen använder endast kommandoraden som visuellt gränssnitt. Kommandoraden i Ubuntu används istället för ett grafiskt gränssnitt för att minimera riskerna för intrång. Apache används som webbserver tillsammans med PHP och MySQL OpenSSL installerades för att kunna kommunicera krypterat med servern och phpmyadmin för att få ett gränssnitt mot databashanteraren Implementation av databasen ER-diagrammet från designspecifikationen översattes till MySQL-kod och importerades via phpmyadmin. För att underlätta sökningar i databasen konstruerades tre stycken vyer: companies, my_favourites och my_non_favourites. Vyn companies används för att i en tabell visa alla kopplingar mellan företag och kategorier. De andra två vyerna visar kopplingen mellan användare och företag. Vyn my_favourites visar alla användare och vilka företag som har valts som favoriter, figur Vyn underlättar sökningar i databasen då all information finns i samma tabell. Vyn my_non_favourites är en motsats till my_favourites och visar alla företag som en användare inte har valt. Den finns för att kunna ta fram en lista med alla företag i appen, oavsett om användaren har valt företaget som favorit eller inte. Figur 4.11: Illustration av vyn my_favourites. För att kunna verifiera och testa tabellernas struktur fördes testvärden in för de olika tabellerna. Kommunikationen mellan appen och databasen sker via REST-anrop till en webbserver Implementation av webbserver Webbservern tar emot REST-anrop från appen riktade mot specifika PHP-filer. Anropen behandlas av filerna och webbservern svarar på REST-anropen i form av JSON. En HTMLsida skapades för att hantera push-meddelanden ut till användare av appen. 23

33 4.7.4 SSL/TLS HTTPS används för att kryptera all trafik mellan appen och servern. Genom att använda HTTPS förhindras Man-in-the-middle attacks och att trafiken blir avlyssnad. Ett certifikat utfärdat av StartSSL, som bekräftar att domänen är kopplad till servern, möjliggör att använda HTTPS tillsammans med Intel XDK. StartSSL är en certifikatutfärdare som ger ut gratis certifikat till privatpersoner. Tidigt i projektet användes först ett självsignerat certifikat på webbservern för att kryptera trafiken, men Intel XDK tillåter inte självsignerade certifikat utan avbryter då HTTPS-anslutningen utan att lämna något felmeddelande Hantering av PDF-filer Reklambladen i appen är av filformatet PDF. Att hantera PDF-filer på de olika operativsystemen visade sig inte fungera på samma sätt. Anpassning av appen till olika operativsystem var nödvändigt för att få en fungerande lösning. Genom att kontrollera vilket operativsystem enheten har är det möjligt att anropa olika funktioner i appen. För att öppna en PDF-fil i ios används den inbyggda PDF-läsaren i operativsystemet. Android har ingen inbyggd PDF-läsare i sitt operativsystem. För att öppna en PDF-fil i Android finns tre olika alternativ. Det första är att använda en extern PDF-läsare, till exempel Adobe Reader. Det andra alternativet är att öppna PDF-filen i en PDF-läsare online, till exempel Google Drive. Det sista alternativet är att implementera en PDF-läsare utvecklad i JavaScript, till exempel Mozillas PDF-läsare. Valet föll på att använda en extern PDF-läsare, eftersom det saknas stöd för Mozillas JavaScripts-läsare i Intel XDK. Samt att en onlineläsare inte kan uppfylla kravet för att läsa reklambladen offline Cache Det finns funktioner i Cordova och Intel XDK för att hantera lagring av data till mobilens cache-minne. Med hjälp av funktionerna kan filer sparas lokalt på enheten. Det gör det möjligt för användaren att läsa PDF-filer när det inte finns någon anslutning till Internet. I appen fungerar det att spara PDF-filer för både ios och Android, men eftersom hanteringen vid läsning av filerna skiljer sig mellan operativsystemen behövde två olika lösningar implementeras. I ios fungerar läsning av PDF-filerna eftersom de öppnas av systemets inbyggda PDF-läsare inuti appen. I Android går det inte öppna de sparade filerna i en extern PDF-läsare eftersom olika appar inte delar minne. En lösning är att spara PDFfilerna till enheters filsystem. Stödet för filhantering saknas för närvarande i Intel XDK, vilket medförde att en implementation av cache-hantering valdes bort i Android inom tidsramen för projektet. 24

34 4.7.7 Appens grafiska utseende Appens grafiska utseende skapades i Intel XDK. Uppbyggnaden av de olika elementen kunde enkelt skapas i utvecklingsmiljön med hjälp av att dra och släppa. Även de olika sidorna skapades via samma verktyg, likaså kopplingen mellan knappar och dess funktioner, figur Figur 4.12: Utvecklingsverktyget Intel XDK. Det grafiska gränssnittet genererar kod i HTML, vilket gör det möjligt att redigera utseendet även utan det grafiska verktyget. All HTML-kod för alla vyer är samlad i samma HTML-fil, index.html. Appens utseende anpassas efter olika plattformar. Detta är möjligt genom att använda App Framework som tillhandahålls av Intel och är inkluderat i Intel XDK. 25

35 4.7.8 Push-meddelanden En funktion som var högt prioriterad var att användaren ska få ett push-meddelande när ett nytt reklamblad finns tillgängligt från ett av de företag som valts som favorit. Funktionen gör det möjligt att sända ett meddelande till den mobila enheten, även då användaren inte aktivt kör appen. Varje plattformsutvecklare äger egna servrar och har utvecklat en egen standard för hantering av push-meddelanden till sitt operativsystem. I Intel XDK finns inbyggt stöd för AppMobi, en tredjepartsservice som kan implementeras för att appen ska kunna ta emot push-meddelande. AppMobi är utvecklat för cross-platform-appar och med hjälp av det implementeras Push-funktionalitet till samtliga plattformar. Ett meddelande skickas från webbservern till AppMobis push-server där meddelandet formateras för att skickas på rätt sätt till servrarna för de olika plattformarna som sedan levererar meddelandet till den egna plattformen, se figur Figur 4.13: Beskriver hur AppMobi Push Message Service fungerar till flera plattformar [44]. När ett företag lägger upp ett nytt reklamblad, kontrollerar webbservern vilka användare som har det företaget som favorit. Sedan skickas ett meddelande ut till dessa användare om att ett nytt reklamblad finns att läsa. Det finns även inbyggd funktionalitet för systemägaren att skicka ut ett meddelande till alla användare av appen. Funktionaliteten kan användas till att informera om nya företag eller uppdateringar. Användaren kan välja att stänga av mottagning av meddelanden på vyn för inställningar. 26

36 4.7.9 Resultat av implementationen Första vyn som visas för användaren efter inloggning är Favoriter-vyn, figur Här kan användaren se alla reklamblad som valts som favoriter. Det finns möjlighet att sortera sina favoriter i kategorier, bokstavsordning eller på datum. Det görs via rullgardinsmenyerna längst upp på sidan. Varje oläst reklamblad markeras med en symbol i reklambladets över högra hörn. I ios-versionen visas antingen ett moln eller en soptunna i reklambladens nedre högra hörn. Symbolerna är klickbara. Molnet symboliserar att reklambladet kan laddas ner lokalt för att öppnas i offline-läge. Soptunnan gör det möjligt att ta bort ett reklamblad som är sparat offline. För Android-versionen visas inga symboler då offline-funktionaliteten inte är implementerad. Figur Favorit-vyn är den första sidan som användaren kommer till när appen startas. Här visas samma vy för ios (till höger) och Android (till vänster). 27

37 Hem-vyn består av olika listor som användaren kan navigerar runt emellan. Den första listan är sorterad på kategorier. När en användare valt en kategori visas en ny lista på alla företag som tillhör den valda kategorin, figur Användaren väljer ett företag som favorit genom att klicka på raden för företaget. Då kommer kryssrutan att fyllas i, vilket är en markör för att företaget är valt som favorit. För att ta bort ett företag som favorit klickar användare på samma rad och kryssrutan avmarkeras. När ett företag är valt som favorit visas det bland favoriterna på Favoriter-vyn. Figur 4.15: Hem-vyn där användaren kan välja företag som favoriter baserat på kategori. Till vänster visas listan på alla tillgängliga kategorier (ios) och till höger en lista på företag tillhörande en viss kategori (Android). 28

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

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie 2017-03-09 Justering för krav på Windows Server 2012 1.2 Micke 2017-04-07 Vitec Ekonomi från x.60 kräver IIS 8 och websocket.

Läs mer

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion Webbteknik En kort introduktion Innehåll Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender 1 Historisk återblick 89 CERN Tim Berners Lee Ett plattformsoberoende sätt att sprida

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

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

Snabbstart för Novell Vibe Mobile

Snabbstart för Novell Vibe Mobile Snabbstart för Novell Vibe Mobile Mars 2015 Komma igång Mobil tillgång till Novell Vibe-webbplatsen kan inaktiveras av din Vibe-administratör. Om du inte kan använda Vibemobilgränssnittet enligt beskrivningen

Läs mer

Guide för konfigurering av Office 365 konton

Guide för konfigurering av Office 365 konton Guide för konfigurering av Office 365 konton Office 365 Kiosk konto Sid 1, Konfigurera Kiosk konto i Outlook 2007 Sid 2, Konfigurera Kiosk konto i Outlook 2010 Sid 3, Konfigurera kiosk/pop konto på Mac

Läs mer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.

Läs mer

Installationsanvisningar

Installationsanvisningar Installationsanvisningar Hogia Webbrapporter INNEHÅLLSFÖRTECKNING Systemkrav version 2013.x 3 Installation av IIS för Windows Server 2008 5 Nyinstallation av Hogia Webbrapporter 8 Installation och inloggning

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

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

Uppdragsbeskrivning. Paddel-appen Utmärkta kanotleder. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

Uppdragsbeskrivning. Paddel-appen Utmärkta kanotleder. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info. Paddel-appen Utmärkta kanotleder Version 1.0 Distributionslista Befattning Bolag/en het Säljare Sogeti Bengt Löwenhamn Konsultchef Sogeti Åsa Maspers Mentor/handledare Sogeti Student KaU Claes Barthelson

Läs mer

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

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET Olika slags datornätverk Förberedelse inför laboration 4. Historik Protokoll, / Adressering, namnservrar WWW, HTML Föreläsning 5 Internet LAN Local Area Network student.lth.se (ganska stort LAN) MAN Metropolitan

Läs mer

UTVECKLINGSVERKTYG. Praktiska tips för PUM-projekten

UTVECKLINGSVERKTYG. Praktiska tips för PUM-projekten UTVECKLINGSVERKTYG Praktiska tips för PUM-projekten TEKNIKER I PROJEKTEN ios 2 C#.NET 1 Java (inkl Android) 6 Webb (HMTL/JS) 4 En genomskumning av de tilldelade projektförslagen ger ovanstående uppfattning

Läs mer

Installationsanvisningar

Installationsanvisningar Installationsanvisningar Hogia Webbrapporter INNEHÅLLSFÖRTECKNING Systemkrav version 2011.XX 3 Installation av IIS för Windows Server 2003 5 Installation av IIS för Windows Server 2008 8 Nyinstallation

Läs mer

FLEX Personalsystem. Uppdateringsanvisning

FLEX Personalsystem. Uppdateringsanvisning FLEX Personalsystem Uppdateringsanvisning Innehållsförteckning UPPDATERING... 3 Allmänt... 3 Förberedelser... 3 Informera om uppdatering... 3 Ladda hem uppdateringsfiler... 4 Att observera vid uppdatering...

Läs mer

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare PRERELEASE 03/07/2011 Juridisk information Juridisk information Juridisk information finns på http://help.adobe.com/sv_se/legalnotices/index.html. iii

Läs mer

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se

Läs mer

Micro Focus Vibe Snabbstart för mobil

Micro Focus Vibe Snabbstart för mobil Micro Focus Vibe Snabbstart för mobil September 2018 Komma igång OBS: Mobil tillgång till en Micro Focus Vibe-webbplats kan inaktiveras av din Vibe-administratör. Om du inte kan använda Vibe via mobilgränssnittet

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

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

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

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

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

DIG IN TO Nätverksadministration

DIG IN TO Nätverksadministration DIG IN TO Nätverksadministration Nätverksadministration Datormolnet The Cloud Agenda IT förändras kontinuerligt IT infrastruktur behöver byggas ut Högre krav på IT infrastrukturen Vad är datormoln? Vad

Läs mer

ALEPH ver. 16 Introduktion

ALEPH ver. 16 Introduktion Fujitsu, Westmansgatan 47, 582 16 Linköping INNEHÅLLSFÖRTECKNING 1. SKRIVBORDET... 1 2. FLYTTA RUNT M.M.... 2 3. LOGGA IN... 3 4. VAL AV DATABAS... 4 5. STORLEK PÅ RUTORNA... 5 6. NAVIGATIONSRUTA NAVIGATIONSTRÄD...

Läs mer

Handbok Simond. Peter H. Grasch

Handbok Simond. Peter H. Grasch Peter H. Grasch 2 Innehåll 1 Inledning 6 2 Använda Simond 7 2.1 Användarinställning.................................... 7 2.2 Nätverksinställning..................................... 9 2.3 Inställning

Läs mer

Webbappar med OpenLayers och jquery

Webbappar med OpenLayers och jquery Webbappar med OpenLayers och jquery Johan Lahti GIT-utvecklare Malmö stad ULI Uppsala, 3 oktober 2011 smap (www.smap.se) Samarbete sedan maj 2009 Kartramverk byggt på OpenLayers och jquery Gemensam server

Läs mer

KTH Programutvecklingsprojekt med mjukvarukonstruktion 2D1362. Projektpresentation

KTH Programutvecklingsprojekt med mjukvarukonstruktion 2D1362. Projektpresentation KTH Programutvecklingsprojekt med mjukvarukonstruktion 2D1362 Projektpresentation Fakturasystem Total Office Mobile Systems http://www.nada.kth.se/projects/prom04/fakturasystem/ Uppdragsgivare: Örjan Melin

Läs mer

Manual HSB Webb brf 2004 03 23

Manual HSB Webb brf 2004 03 23 TERMINOLOGI I Polopoly används ett antal grundläggande begrepp för publicering och hantering av information, eller innehåll som det också benämns. Nedan följer en kort genomgång av denna grundläggande

Läs mer

Linuxadministration 2 1DV421 - Laborationer Webbservern Apache, Mailtjänster, Klustring, Katalogtjänster

Linuxadministration 2 1DV421 - Laborationer Webbservern Apache, Mailtjänster, Klustring, Katalogtjänster Linuxadministration 2 1DV421 - Laborationer Webbservern Apache, Mailtjänster, Klustring, Katalogtjänster Marcus Wilhelmsson marcus.wilhelmsson@lnu.se 22 augusti 2013 Instruktioner Organisation och genomförande

Läs mer

HI1028 Projektkurs inom programvaruutveckling

HI1028 Projektkurs inom programvaruutveckling 2012 HI1028 Projektkurs inom programvaruutveckling Johan Frisell, Joakim Hammer, Johannes Hedman, Jimmy Niemelä JJJJ Söderberg & Partners 0 4/27/2012 PROJEKTRAPPORT TEMA: TITEL: GRUPP: DELTAGARE: Projektkurs

Läs mer

XML-produkter. -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: Version: 1.

XML-produkter. -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: Version: 1. XML-produkter -Registret över verkliga huvudmän (RVH) Teknisk handledning för webbtjänst mot RVH (Web Services) Datum: 2018-09-18 Version: 1.0 Innehållsförteckning 1. Inledning... 3 1.1. Syfte 3 1.2. Målgrupp

Läs mer

Molnplattform. Version 1.0. Användarhandbok

Molnplattform. Version 1.0. Användarhandbok Molnplattform Version 1.0 Användarhandbok September 2017 www.lexmark.com Innehåll 2 Innehåll Ändringshistorik...3 Översikt... 4 Komma igång...5 Systemkrav... 5 Öppna molnplattformen...5 Öppna Print Management-webbportalen...

Läs mer

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

Mobila tjänster för lojalitets system. Mobila tjänster för lojalitetssystem Mobile services for loyalty network

Mobila tjänster för lojalitets system. Mobila tjänster för lojalitetssystem Mobile services for loyalty network Mobila tjänster för lojalitets system Mobila tjänster för lojalitetssystem Mobile services for loyalty network Andreas Björklund EXAMENSARBETE 2012 Datateknik Postadress: Besöksadress: Telefon: Box 1026

Läs mer

O365- Konfigurering av SmartPhone efter flytt till Office 365 alt ny installation

O365- Konfigurering av SmartPhone efter flytt till Office 365 alt ny installation O365- Konfigurering av SmartPhone efter flytt till Office 365 alt ny installation Denna guide är avsedd att hjälpa användare vars epost har blivit flyttad till Exchange Online och Office 365, samt för

Läs mer

Användarmanual. Meetings 1.5

Användarmanual. Meetings 1.5 Användarmanual Meetings 1.5 Revisionsnummer: 1 Dokumentnamn: FormPipe Meetings 1.5 - Användarmanual ipad Datum: 2013-12-05 Formpipe Software AB. All rights reserved. 2 (23) Innehållsförteckning 1 INLEDNING...

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

Systemkrav Bilflytt 1.4

Systemkrav Bilflytt 1.4 Systemkrav 1.4 Systemkrav 2018-08-28 2 (9) Systemkrav 1.4 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet. Nedan

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

Byggsektorns Miljöberäkningsverktyg Användarmanual

Byggsektorns Miljöberäkningsverktyg Användarmanual IVL Svenska Miljöinstitutet Byggsektorns Miljöberäkningsverktyg Användarmanual Version 1.1 December 17, 2018 Författare: Anders Sidvall Nils Boberg 12/17/2018 Page 1 Innehållsförteckning INSTALLERA BYGGSEKTORNS

Läs mer

Webservice & ERP-Integration Rapport

Webservice & ERP-Integration Rapport Webservice & ERP-Integration Rapport Hardwood AB Mustafa Lazem 930916-9713 Jonas Ahrne 920325-0379 Hasan Nerjovaj 940130-7195 Stefan Liden 920628-0639 2014-05-18 Innehåll Bakgrund... 2 Syfte... 2 Projektbeskrivning...

Läs mer

Systemkrav Tekis-Bilflytt 1.3

Systemkrav Tekis-Bilflytt 1.3 Systemkrav 1. Systemkrav Systemkrav 2015-06-09 2 (8) Systemkrav 1. Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet.

Läs mer

Komma igång med Qlikview

Komma igång med Qlikview Denna instruktion är till dig som är ny i Qlikview och snabbt vill komma igång med grundläggande funktioner. Innehåll 1 Introduktion... 2 1.1 Behörighet... 2 1.2 Webbläsare... 2 2 Installation av Qlikview

Läs mer

Filleveranser till VINN och KRITA

Filleveranser till VINN och KRITA Datum Sida 2017-04-25 1 (10) Mottagare: Uppgiftslämnare till VINN och KRITA Filleveranser till VINN och KRITA Sammanfattning I detta dokument beskrivs översiktligt Vinn/Kritas lösning för filleveranser

Läs mer

Operativsystem och användargränssnitt

Operativsystem och användargränssnitt Operativsystem och användargränssnitt Som du fick läsa tidigare behöver datorn förutom hårdvara också ett program för att hantera hårdvaran, dvs. ett operativsystem. Denna sida behandlar bland annat följande

Läs mer

30 år av erfarenhet och branschexperts

30 år av erfarenhet och branschexperts 30 år av erfarenhet och branschexperts Integrerad Säkerhet Integrerad Säkerhet Varför överordnat system Användarvänlighet Kvalitet Trygghet Kostnadseffektivitet Varför ett överordnat system? Med stora

Läs mer

Innehålls förteckning

Innehålls förteckning Programmering Uppsats i skrivteknik Axxell Företagsekonomi i informationsteknik 19.3.2015 Respondent: Tomas Björklöf Opponent: Theo Wahlström Handledare: Katarina Wikström Innehålls förteckning 1. Inledning...3

Läs mer

Guide för Google Cloud Print

Guide för Google Cloud Print Guide för Google Cloud Print Version A SWE Beskrivning av anmärkningar Följande anmärkning används i den här bruksanvisningen: Information om hur du agerar i en viss situation eller hur du använder en

Läs mer

iphone, ipad... 9 Anslut... 9 Anslutningsproblem... 9 Ta bort tidigare inloggningar... 9 Ta bort profil... 9

iphone, ipad... 9 Anslut... 9 Anslutningsproblem... 9 Ta bort tidigare inloggningar... 9 Ta bort profil... 9 2017-12-12 EDUROAM Innehåll Android... 2 Anslut med certifikat... 2 Återanslut med applikation... 4 Byt profil... 4 Avinstallera Eduroam applikation... 5 Anslut utan certifikat... 7 Anslutningsproblem...

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

Hemsideutveckling för Anjool AB

Hemsideutveckling för Anjool AB Beteckning: Akademin för teknik och miljö Hemsideutveckling för Anjool AB Christopher Gidlöf Maj 2012 Examensarbete 15hp B nivå Datavetenskap Internetteknologi Examinator: Carina Petterson Handledare:

Läs mer

Guide för Google Cloud Print

Guide för Google Cloud Print Guide för Google Cloud Print Version 0 SWE Beskrivning av anmärkningar Följande anmärkning används i den här bruksanvisningen: Information om hur du agerar i en viss situation eller hur du använder en

Läs mer

Webbserverprogrammering

Webbserverprogrammering Webbserverprogrammering WES Webbserverprogrammering Ämnet webbserverprogrammering behandlar funktionalitet för webblösningar och samspelet mellan beställare, användare, formgivare och utvecklare. Ämnets

Läs mer

Skärmbilden i Netscape Navigator

Skärmbilden i Netscape Navigator Extratexter till kapitel Internet Skärmbilden i Netscape Navigator Netscape är uppbyggt på liknande sätt som i de flesta program. Under menyraden, tillsammans med verktygsfältet finns ett adressfält. I

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

Platsbesök. Systemkrav

Platsbesök. Systemkrav Systemkrav Systemkrav 2016-15-19 2 (5) Systemkrav Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet. Nedan listade

Läs mer

Mobilt Efos och ny metod för stark autentisering

Mobilt Efos och ny metod för stark autentisering Mobilt Efos och ny metod för stark autentisering I och med lanseringen av E-identitet för offentlig sektor, Efos, kommer Inera att leverera komponenter som möjliggör att en användare ska kunna logga in

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

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

Bilaga 1. Teknisk kravspecifikation

Bilaga 1. Teknisk kravspecifikation Bilaga 1 Teknisk kravspecifikation 5.5.2014 Webbplatsen 1. Allmänt Korsholms kommun arbetar aktivt för att vara en ledande tvåspråkig landskommun i Österbotten och har drygt 19 100 invånare varav 68,9

Läs mer

ÅGIT PRESENTERAR FILR SMIDIG OCH SÄKER FILÅTKOMST OCH DELNING

ÅGIT PRESENTERAR FILR SMIDIG OCH SÄKER FILÅTKOMST OCH DELNING ÅGIT PRESENTERAR FILR SMIDIG OCH SÄKER FILÅTKOMST OCH DELNING Novell Filr är som Dropbox, men betydligt säkrare. Från och med nu kan alla anställda och studerande inom Ålands gymnasium arbeta med sina

Läs mer

Mobile First Video on demand och livesändningar på Internet. Juni 2012

Mobile First Video on demand och livesändningar på Internet. Juni 2012 Mobile First Video on demand och livesändningar på Internet Juni 2012 1 Om detta dokument Marknaden och tekniken kring film (video on demand och livesändningar) på Internet utvecklas blixtsnabbt. Video

Läs mer

Home Storage Manager

Home Storage Manager Home Storage Manager Johan Fohlin 2014 Examensarbete högskoleexamen, 15HP Datavetenskap Internetteknologi Handledare: Anders Jackson Examinator: Ann-Sofie Östberg Home Storage Manager av Johan Fohlin Akademin

Läs mer

Alfa e-recept: Ny anva ndare

Alfa e-recept: Ny anva ndare Ny förskrivare Registrera ny användare av Alfa e-recept Klicka på [Ny användare] Kontrollera att du har din e-legitimation tillgänglig innan du börjar fylla i formuläret. Det går bra att använda BankID,

Läs mer

Henrik Häggbom Examensarbete Nackademin Våren 2015

Henrik Häggbom Examensarbete Nackademin Våren 2015 AV Henrik Häggbom Examensarbete Nackademin Våren 2015 1 INLEDNING Som examensarbete på min utbildning på Nackademin Programutveckling.NET kommer jag skapa ett webbaserat system för statistik, tabeller

Läs mer

SLUTRAPPORT WEBBPROJEKT 1

SLUTRAPPORT WEBBPROJEKT 1 SLUTRAPPORT WEBBPROJEKT 1 Kostregistrering 30 mars 2012 Webbprojekt 1 1DV411 Institutionen för datavetenskap, fysik och matematik Linnéuniversitetet Ella Källman - ella@kallman.se Martin Kuoppa - martin@duofy.com

Läs mer

Ändringar i samband med aktivering av. Microsoft Windows Vista

Ändringar i samband med aktivering av. Microsoft Windows Vista Ändringar i samband med aktivering av Microsoft Windows Vista Volume Activation 2.0 Rutinerna som rör hantering av licensnycklar och aktivering finns nu i en ny version. I den tidigare versionen behövde

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

Kort version - Google Kalender för KullensPK

Kort version - Google Kalender för KullensPK Kort version - Google Kalender för KullensPK Datum: 2015-03-02 Sammanställt av Peter Ardemalm Innehållsförteckning Kort version - Google Kalender för KullensPK... 1 Så synkar du KullensPK i Google Kalender

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

Manual Lead tracking. Version 1.0 2013-12-12

Manual Lead tracking. Version 1.0 2013-12-12 Manual Lead tracking Version 1.0 2013-12-12 Innehållsförteckning 1 Inledning... 3 1.1 Om manualen... 3 1.2 Om tjänsten... 3 2 Använd tjänsten för första gången... 4 2.1 Installera applikationen... 4 2.2

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

Systemkrav Bilflytt 1.3

Systemkrav Bilflytt 1.3 Systemkrav 1.3 Systemkrav Systemkrav 2016-11-22 2 (9) Systemkrav 1.3 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för

Läs mer

3.2 1H[W*HQHUDWLRQ6HFXULW\ Användarmanual

3.2 1H[W*HQHUDWLRQ6HFXULW\ Användarmanual 3.2 1H[W*HQHUDWLRQ6HFXULW\ Användarmanual ,QQHKnOOVI UWHFNQLQJ,QVWDOODWLRQDY931NOLHQW 'DWRUHUVRPLQJnULHQ)DVW7UDFNPLOM $QYlQGDUHPHGNRQWRL9+6RFKGDWRUPHG:LQGRZV;3 $QYlQGDUHPHGNRQWRLDQQDQGRPlQlQ9+6HOOHUGDWRUPHG:LQGRZV

Läs mer

Teknisk plattform för version 3.7

Teknisk plattform för version 3.7 2016-03-01 1 (13) Teknisk plattform för version 3.7 2016-03-01 2 (13) Innehållsförteckning 1 Inledning... 4 2 Programsupport... 5 2.1 Webbläsare... 5 2.1.1 Primära webbläsare... 5 2.1.2 Sekundära webbläsare...

Läs mer

Distribuerade affärssystem

Distribuerade affärssystem Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska

Läs mer

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7 för version 1.7 Innehållsförteckning Innehållsförteckning... 2 Krav för... 3 Systemskiss... 3 Systemkrav Server... 4 Operativsystem*... 4 Program i servern... 4 Databas... 5 SMTP inställningar för mail....

Läs mer

Innehåll. MySQL Grundkurs

Innehåll. MySQL Grundkurs MySQL Grundkurs Copyright 2014 Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Innehåll Introduktion till databaser Installera MySQL lokalt Webbserverprogrampaket (XAMPP) Introduktion till phpmyadmin

Läs mer

Manual till DIKO 2012-10-19

Manual till DIKO 2012-10-19 Manual till DIKO 2012-10-19 Innehåll Manual till DIKO 2012-10-19... 1 1 Använda DIKO med en dator... 2 1.1 För att logga in i DIKO... 2 1.2 Dag... 3 1.3 Importera bilder... 4 1.4 Redigera bilder i samband

Läs mer

Guide för mobil utskrift och skanning för Brother iprint&scan (ios)

Guide för mobil utskrift och skanning för Brother iprint&scan (ios) Guide för mobil utskrift och skanning för Brother iprint&scan (ios) Innan du använder din Brother-maskin Definitioner av anmärkningar Följande symboler och principer används i den här bruksanvisningen:

Läs mer

Användarmanual för webbapplikationen Fejjan för alla. Manualens version:1.0. Datum: 5 februari 2014

Användarmanual för webbapplikationen Fejjan för alla. Manualens version:1.0. Datum: 5 februari 2014 Fejjan för alla 1.0 Användarmanual för webbapplikationen Fejjan för alla. Manualens version:1.0. Datum: 5 februari 2014 Fejjan för alla gör det lättare för personer med olika typer av funktionsnedsättningar

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

Mobile Cross Development

Mobile Cross Development Mobile Cross Development Johan Holm och Jörgen Bengtsson Varje år bjuder vi in våra kunder till tre inspirationsdagar där vi lyfter fram de mest intressanta IT-frågorna med fokus på strategi, teknik eller

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

Webbprogrammering. Sahand Sadjadee

Webbprogrammering. Sahand Sadjadee Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages

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

Sokigo AB OVK 2.0. Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande.

Sokigo AB OVK 2.0. Pentium- eller AMD-processor (x64 processor) på 1,6 GHz Dual Core eller motsvarande. OVK 2 Systemkrav Dokument Datum / Date Signatur Sida / Page Systemkrav 2016-06-22 2 (6) OVK 2.0 Systemkrav för OVK2 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de

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

Nedladdning av applikation för sammanträdeshandlingar via Netpublicator

Nedladdning av applikation för sammanträdeshandlingar via Netpublicator Ärendesamordning och kansli Västra Götalandsregionen 2018-11-27 Nedladdning av applikation för sammanträdeshandlingar via Netpublicator Ladda ned Sammanträdeshandlingar för nämnder/styrelser kan nås via

Läs mer

Webbserver och HTML-sidor i E1000 KI

Webbserver och HTML-sidor i E1000 KI 1 Funktion och användningsområde E1000-terminalen (E1032-E1151) kan användas som webbserver. En webbserver är ett program som hanterar filer som ska visas i en webbläsare som exempelvis Internet Explorer.

Läs mer

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum Författare: Juha Söderqvist IT-GUI Version 1.0 Datum 2017-08-18 Innehåll 1. Introduktion... 3 Human-computer interaction... 3 Grafiska användargränssnitt... 4 Operativsystem... 4 Xerox Alto Executive file

Läs mer

WebViewer Manual för administratör. 2013 Nova Software AB

WebViewer Manual för administratör. 2013 Nova Software AB WebViewer Manual för administratör 2 Manual WebViewer Innehållsförteckning Innehållsförteckning... 2 1 Introduktion... 3 2 Inställningar... 4 2.1 Uppdatera licensinformation... 4 2.2 Inmatning av användaruppgifter...

Läs mer

10 smarta appar som ger Chrome mer muskler

10 smarta appar som ger Chrome mer muskler 10 smarta appar som ger Chrome mer muskler 7 Rensa bort all webbreklam 7 Sök utan Googles snokande 7 Surfa säkrare. Maxa Google Chrome med smarta appar Google Chrome är inte bara en blixtsnabb webbläsare.

Läs mer

Guide för Google Cloud Print

Guide för Google Cloud Print Guide för Google Cloud Print Version B SWE Beskrivning av anmärkningar Följande anmärkning används i den här bruksanvisningen: Information om hur du agerar i en viss situation eller hur du använder en

Läs mer

Guide för AirPrint. Denna bruksanvisning gäller följande modeller:

Guide för AirPrint. Denna bruksanvisning gäller följande modeller: Guide för AirPrint Denna bruksanvisning gäller följande modeller: HL-L850CDN/L8350CDW/L8350CDWT/L900CDW/L900CDWT/ L9300CDW/L9300CDWT/L9300CDWTT DCP-L8400CDN/L8450CDW MFC-L8600CDW/L8650CDW/L8850CDW/L9550CDW

Läs mer