Webbaserad kommunikationsklient för Radarspot KRISTOFER LÖFGREN

Storlek: px
Starta visningen från sidan:

Download "Webbaserad kommunikationsklient för Radarspot KRISTOFER LÖFGREN"

Transkript

1 Webbaserad kommunikationsklient för Radarspot KRISTOFER LÖFGREN Examensarbete Stockholm, Sverige 2011

2 Webbaserad kommunikationsklient för Radarspot KRISTOFER LÖFGREN Examensarbete i datalogi om 30 högskolepoäng vid Programmet för datateknik Kungliga Tekniska Högskolan år 2011 Handledare på CSC var Serafim Dahl Examinator var Stefan Arnborg TRITA-CSC-E 2011:053 ISRN-KTH/CSC/E--11/053--SE ISSN Kungliga tekniska högskolan Skolan för datavetenskap och kommunikation KTH CSC Stockholm URL:

3 Referat Vi sköter kontakten med våra vänner på en rad olika sätt och har ofta en separat adressbok till varje tjänst, t.ex. adressboken i telefonen, kontaktlistan i Windows Live Messenger, Microsoft klient för direktmeddelanden, och adresslistan i vår eposttjänst. Radarspot ville konsolidera dessa adressböcker till en enda adressbok. Genom att sammanföra telefonens adressbok och listan över vänner i Microsoft Live Messenger skulle en levande adressbok skapas i telefonen där man kunde se närvarostatus på sina kontakter, det vill säga se vilka kontakter som är tillgängliga. Utifrån den sammanställda listan skulle man sedan välja hur man vill kontakta dem, via telefon, e-post eller direktmeddelande över Microsoft Live Messenger. Både e-post och Microsoft Live Messengermeddelanden skulle man kunna skicka och ta emot i Radarspots mobiltelefonklient. Radarspot ville även komplementera sin mobiltelefonklient med en webbaserad klient. Jag utvecklade en prototyp för denna webbaserade klient vilken fick motsvarande funktionalitet som mobiltelefonapplikationen som utvecklades parallellt. Det går att skapa en webbaserad kommunikationsklient men det är svårt att konkurrera med applikationer som körs lokalt på klienterna. En kommunikationsklient måste även fungera som en vanlig applikation när den inte används aktivt. Dvs. den måste meddela användaren på ett framgångsrikt sätt att ett nytt meddelande har inkommit, till exempel genom en ljudsignal och öppnanande av ett nytt meddelandefönster.

4 Abstract A Web Based Communication Client for Radarspot We manage the communication with our friends in multiple ways and often have a separate address book associated with each service, e.g. one address book in the cell phone, the friends list in Microsoft Live Messenger and the contacts in our service. Radarspot wanted to do was to consolidate these address books and friends lists to one single address book. By combining the address book in the cell phone and the list of friends in Microsoft Live Messenger Radarspot wanted to create a live address book where it was possible to se online status of contacts and choose how to contact them, by phone, or by an instant message over the Microsoft Live Messenger network. Radarspot wanted a web based version of the address book as a complement to the application running on the cell phones. I developed a prototype of this web based address book that had the same functionality as the cell phone application that was developed in parallel. It is entirely possible to create a web based communication client but it is hard to compete with native applications running locally on the client machines. A web based communication client must also work in a similar way as a native application when it is not actively used, i.e. it must notify the user in a successful way that a new message has arrived either by sound, opening a new message windows or in some other way.

5 Innehåll 1 Introduktion Radarspot Uppdrag och Mål Bakgrund och beskrivning Befintliga klienter för direktmeddelanden Arkitektur Överblick av nätverksarkitekturen Teknisk beskrivning Systembeskrivning Grundläggande uppbyggnad Säkerhet Användargränssnittet Systemets funktionalitet Inställningar Kontaktlista Meddelanden Vänner och närvarostatus Slutsatser och rekommendationer Slutsatser Rekommendationer Litteraturförteckning 21 Figurer 25 Bilagor 25 A Förkortningar 27

6

7 Kapitel 1 Introduktion Det finns i dagsläget många program för att skicka direktmeddelanden och närvarostatus mellan användare. Några exempel på dessa program är Microsoft Live Messenger, ICQ, AdiumX, Trillian och Pidgin. Det Radarspot ville göra var att koppla samman kontaktlistan som finns i telefonen med kontaktlistan/kontaktlistorna som finns i de olika programmen för direktmeddelanden. Målet var att sammanföra de olika kontaktlistorna till en enda. Kontaktlistan i telefonen och kontaktlistan i de olika programmen för direktmeddelanden kan innehålla olika sorts kontaktinformation för samma personer. Det Radarspot ville uppnå var att skapa en ny kontaktlista i sitt program vilken skulle vara en utbyggnad av den vanliga kontaktlistan i telefonen men med närvarostatus och möjlighet att skicka direktmeddelanden till sina kontakter. Radarspot utvecklade en klient för mobiltelefoner som läser in telefonens adressbok och synkroniserar den med en Radarspotserver på internet. Vidare kan mobiltelefonklienten skicka och ta emot direktmeddelanden och e-post via ovannämnda server. De direktmeddelanden som kan hanteras är interna Radarspotmeddelanden och meddelanden från Microsoft Live Messenger-nätverket. Mobilapplikationen uppdaterar kontinuerligt närvarostatus för alla kontakter i adressboken, dvs. den visar vilka kontakter som är inloggade på Radarspot eller Microsoft Live Messenger och vilka som inte är det. 1.1 Radarspot Radarspot är ett företag som utvecklat en kommunikationsapplikation för mobiltelefoner. Tanken var att användarna skulle kunna sköta all sin kommunikation från mobiltelefonen med denna kommunikationsapplikation. Det byggdes in stöd för Microsoft Live Messenger, e-post och Radarspots egna tjänst för direktmeddelanden. Förutom att skicka och ta emot meddelanden förmedlar tjänsten även närvarostatus på kontakterna i adressboken som har ett Radarspot- eller ett Microsoft Live Messenger-konto. 1

8 KAPITEL 1. INTRODUKTION 1.2 Uppdrag och Mål Som ett komplement till sin mobilapplikation ville Radarspot skapa en webbaserad applikation där funktionaliteten i mobilapplikationen också finns tillgängligt i ett webbgränssnitt. Uppgiften var att utveckla en prototyp av webbapplikationen som skulle ha samma funktion som mobilklienten. Mina mål var att inom ramen för exjobbet göra följande: Undersöka hur webbapplikationen kan vara uppbyggd och designa en logisk struktur för denna. Utveckla en fungerande prototyp av webbapplikationen. Huvuddelen av arbetet ska ligga på applikationslogiken och inte på gränssnittsdesignen. Krav på webbklienten: All kommunikation mellan webbapplikationen och Radarspotservern ska ske med XML-meddelanden i Radarspots egenutvecklade protokoll. Man ska kunna hantera kontakter och kontaktgrupper, dvs. skapa, radera och redigera dem. Adressboken skall kunna synkroniseras med Radarspotservern, troligtvis via SyncML. Det ska gå att se vilka kontakter som är inloggade och på vilka tjänster de är inloggade. Man ska kunna skicka och ta emot meddelanden via Radarspotservern. Man ska kunna se alla meddelanden som skickats till en kontakt i adressboken och alla meddelanden i en konversation. Man ska kunna bifoga bilder i png-format i meddelanden som skickas med tjänster som stöder det, t.ex. e-post och Microsoft Live Messenger. 2

9 Kapitel 2 Bakgrund och beskrivning 2.1 Befintliga klienter för direktmeddelanden I dagsläget finns det en mängd olika klienter för direktmeddelanden och närvarostatus. Några av de som körs lokalt på den egna datorn är Microsoft Live Messenger, AIM (AOL Instant Messenger), ICQ, Pidgin, Trillian och Adium. Dessutom finns det en stor grupp webbaserade klienter, t.ex. Meebo, KOOL IM och radiusim. Bland de klienter som körs på den egna datorn finns det sådana klienter som endast stöder sitt eget egenutvecklade protokoll som t.ex. Microsoft Live Messenger, AIM och ICQ. En majoritet av klienterna har dock stöd för flera olika protokoll, både öppna protokoll som XMPP och egenutvecklade som Microsoft Live Messenger-protokollet. [1], [3], [7], [15], [18], [21], [22], [28], [33], [40], [50]. 2.2 Arkitektur Detta kapitel beskriver den övergripande arkitekturen och beskriver de olika tekniker som används Överblick av nätverksarkitekturen Radarspots arkitektur består av tre olika komponenter, Radarspot Server, Radarspot Mobile och Radarspot Web. Radarspot Server är huvudkomponenten, det är via den all kommunikation med klienterna sker. Alla meddelanden, all närvarostatus och alla kontakter lagras i Radarsport Server och det är även den som sköter kommunikationen med Microsoft Live Messenger-nätverket och e-posthanteringen. Radarspot Mobile är den komponent som körs i mobiltelefonerna och ansluter till Radarspot Server över en dataanslutning. För synkronisering av adressboken kommunicerar mobilklienten med SyncML-meddelanden med en synkroniseringsserver i Radarspot Server. SyncML är en öppen standard för datasynkronisering. Användningen av SyncML för synkronisering av adressboken ger även telefoner utan Radarspot Mobile installerat möjligheten att synkronisera kontakter med Radarspot 3

10 KAPITEL 2. BAKGRUND OCH BESKRIVNING Radarspot Web Client Radarspot Mobile Client Radarspot Web Radarspot Server SyncML Server Microsoft Live Messenger Service Service Radarspot Database Figur 2.1. Översikt av Radarspots nätverksarkitektur. Server som då fungerar som en ren backup av kontaktlistan. All annan kommunikation mellan Radarspot Server och Radarspot Mobile sker med ett egenutvecklat protokoll. Radarspot Web är en webbaserad klient som är åtkomlig från en webbläsare och precis som Radarspot Mobile ansluter den till Radarspot Server. För hanteringen av kontaktinformation i Radarspot Web sker kommunikationen med Radarspot Server på det egenutvecklade protokollet istället för med SyncML. Figur 2.1 på sida 4 ger en överblick över nätverksarkitekturen. Radarspot Server består av ett par olika delar. Längst ner i hierarkin finns databasservern som hanterar all data i Radarspot. Till den ansluter både synkoniseringsservern (SyncML-servern) och applikationsservern (Radarspot Server). Det är synkroniseringsservern som sköter all synkronisering över SyncML och tillhandahåller ett synkroniseringsgränssnitt mot omvärlden. Allt annat hanteras av applikationsservern som tillhandahåller ett HTTP-protokoll mot omvärlden över vilket den kommunicerar med XML-meddelanden på ett egenutvecklat XML-protokoll. Vidare finns en Microsoft Live Messenger-tjänst och en e-posttjänst som kommunicerar med databasservern. Microsoft Live Messenger-tjänsten sköter all Microsoft Live Messenger-relaterad kommunikation och e-posttjänsten sköter all inkommande och utgående e-post. [25], [24] 4

11 2.2. ARKITEKTUR Samtidiga inloggningar Ett problem som behövde lösas var hur flera samtidiga inloggningar av samma användare skulle hanteras av systemet. En användare skulle kunna vara inloggad i Radarspot Mobile via flera olika mobilenheter och dessutom ha flera samtidiga inloggningar i Radarspot Web via olika datorer eller webbläsare. Att någon skulle vara inloggad på två olika mobilenheter höll vi på Radarspot för ganska sällsynt då de flesta endast har tillgång till en mobiltelefon. Att man skulle kunna vara inloggad på två olika webbläsare samtidigt var i detta scenario mycket troligare. Vi vill inte logga ut en användare efter en viss tids inaktivitet då vi ville att det skulle vara möjligt att ha ett webbläsarfönster öppet under en längre tidsperiod utan att användaren loggas ut vid inaktivitet. Den lösning som till slut valdes var en lösning där en användare kan vara inloggad med en session vardera på Radarspot Web och Radarspot Mobile men så fort en ny session skapas genom endera Radarspot Mobile eller Radarspot Web avslutas den tidigare sessionen för den tjänst där en ny session skapades Teknisk beskrivning Webbserver Det finns en mängd olika applikationsservrar som har stöd för Java Servlets och JavaServer Pages som är de tekniker i Java som Radarspot valt att använda. Bland de mer kända finns IBMs Web Sphere, BEAs WebLogic Server, SUNs referensimplementation GlassFish Application Server och Apache Tomcat från Apache Software Foundation. Valet av webbserver föll på Apache Tomcat då jag redan hade erfarenhet av den och att Radarspot Server redan använde Apache Tomcat som applikationsserver. Apache Tomcat från Apache Software Foundation är en servletmotor som stöder Java Servlets och JavaServer Pages specifikationerna. [6], [44], [26], [38], [42], [14], [41]. Lagring av data Radarspot Mobile-klienterna kan lagra kontaktinformation och meddelanden lokalt på klienten, denna möjlighet finns dock inte hos klienterna till Radarspot Web. En följd av detta blir att när något ska visas i webbklienten måste data hämtas från en server. Om till exempel alla uppgifter på en kontakt ska visas finns uppgifterna redan lagrade i Radarspot Mobile-klienten medan för Radarspot Web-klienten måste informationen hämtas från Radarspot Web eller Radarspot Server. Jag såg två olika lösningar framför mig av hur data till Radarspot Web-klienterna (webbläsarna) kunde lagras. Det första alternativet och den första implementationen jag valde var att ge Radarspot Web sin egen databas i vilken användarnas kontakter och meddelanden lagrades. Fördelen med detta var att jag i Radarspot Web kunde gå direkt till databasen för att hämta och spara kontakter, meddelande och närvarostatus på de användare som var inloggade via Radarspot Web. Nackdelen med denna lösning 5

12 KAPITEL 2. BAKGRUND OCH BESKRIVNING vara att Radarspot då skulle ha två olika databasen, den i Radarspot Server och den i Radarspot Web och dessa måste man hålla synkroniserade och enda sättet dessa två kunde synkroniserade var via vårt egenutvecklade XML-protokoll. Det skulle behövas en process som konstant låg och synkroniserade dessa två databaser. Den lösning jag valde istället var att inte lagra någon information alls i Radarspot Web utan alla information hämtade jag från Radarspot Server via vårt egenutvecklade XML-protokoll. Den stora fördelen med detta var att vi endast hade en databas som inte behövde synkroniseras. Nackdelen för Radaspot Web blev att alla förfrågningar tog lite längre tid och att jag behövde gå via vårt egenutvecklade protokoll för att hämta data istället för att gå direkt mot databasen. Med denna lösning skickade Radarspot Web vidare all data till Radarspot Server och agerade endast som en gateway till Radarspot Server som hanterade inloggade sessioner, serverade htmlsidor till webbläsarna och formaterade om vårt egenutvecklade XML-protokoll att vara anpassat till webbläsarna. Java Servlets och JSP Logiken i Radarspot Web är skriven i Java med Java Servlets och JSP (JavaServer Pages). JSP-koden integreras i HTML-sidorna precis som vilket annat skriptspråk som helst, t.ex. PHP och JavaScript. Skillnaden är att JSP-sidorna konverteras till Java Servlets som kompileras av servletmotorn. Kompileringen sker vid första anropet till JSP-sidan om de inte har kompilerats i förväg. JSP-koden integreras i HTML-sidor vilket gör den användbar för att styra hur data presenteras, till exempel kontaktlistan. Genom att använda Java Servlets kan man flytta ut logiken från HTML/JSP-sidorna till Java Servlets, till exempel alla anrop som behövs för att hämta kontaktlistan och närvarostatus för varje användare. Webbläsarkompabilitet Det krav som ställdes på webbsidorna var att det skulle fungera i de populäraste webbläsarna, vilket betydde Internet Explorer 6, Internet Explorer 7 och Mozilla Firefox. Kakor Kakor används av webbservrar och webbläsare för att särskilja användare och för att hålla reda på användarspecifik data under ett besök på webbservern. När en webbläsare efterfrågar en sida svarar webbservern med sidan men den kan också skicka med en så kallad kaka för den domän från vilken sidan kommer. Denna kaka innehåller domänen från vilken kakan kommer, ett namn på kakan samt ett utgångsdatum då webbläsaren ska kasta bort kakan. Själva innehållet i kakan som webbläsaren skickar till webbservern vid varje förfrågan är typiskt bara ett unikt id som webbservern använder för att identifiera användarens webbläsare. Följande exempel på en kaka innehåller bara ett unikt id: 6

13 2.2. ARKITEKTUR Name: sessionid Content: ABJeb18S11tloqxjGIFv0lVcqp Host: radarspot.se path: / Expires: 20 aug 2010 Webbläsaren skickar sedan tillbaka detta id i kakan vid varje förfrågan till den aktuella domänen. I webbservern används id:t för att hålla reda på användarspecifik information, till exempel vilka varor som ligger i användarens kundvagn i en webbutik och vilken användare som är inloggad eller om inloggning inte skett än. Session Hijacking Eftersom endast webbläsarens kaka används för att identifiera en användare på servern är det möjligt att ta över någon annans session på servern genom att skicka samma id till servern som för den användare man vill ta över sesssionen för. Ett korrekt skapat id tar för lång tid att gissa sig fram till (dvs. det finns inget sätt att räkna ut vad id:t är), problemet ligger istället i att det går att komma över ett aktivt id. Eftersom all trafik över HTTP skickas okrypterat kan i teorin alla se vilket id som används och bara kopiera det och på så sätt ta över en annan användares session. För att skydda Radarspot Web och dess klienter mot detta tvingar vi användarens webbläsare att använda HTTPS istället för HTTP. Detta gör att all kommunikation mellan Radarspot Web och användarens webbläsare krypteras och id:t inte går att läsa för någon som lyssnar på trafiken. För att detta ska fungera fullt ut får användarens webbläsare en ny kaka när HTTPS-seesionen börjar och den tidigare kakan som användes över HTTP invalideras eftersom det id som användes när HTTP användes kan vara äventyrat. All kommunikation mellan Radarspot Web och webbläsaren sker sen över HTTPS tills dess att användaren loggar ut. HTML och CSS Webbklientens användargränssnitt bygger på HTML (HyperText Markup Language) och CSS (Cascading Style Sheets). HTML används för att bygga upp strukturen och innehållet i sidorna som visas. CSS används för att bestämma hur HTMLinnehållet ska presenteras i webbläsarna. JavaScript JavaScript är ett skriptspråk som finns implementerat i alla moderna webbläsare. Tack vare implementationen av JavaScript tillåts webbservrar skicka kod till webbläsarna som exekveras i webbläsarna till skillnad från JSP som exekveras på servern som bara skickar resultatet av exekveringen till webbläsaren. För att skydda klienterna från skadlig JavaScript-kod exekveras JavaScript-koden i en begränsad miljö där den inte har rättigheter att komma åt filer på datorn som den exekveras på. Däremot kan JavaScript användas för att modifiera webbsidor som redan finns i webbläsaren och till att göra egna anrop till webbsidor. 7

14 KAPITEL 2. BAKGRUND OCH BESKRIVNING JavaScript-implementationerna i webbläsarna följer inte alltid samma standard, för att uppnå samma resultat måste ibland olika tillvägagångssätt användas. För att lösa detta problem har det uppkommit en mängd olika JavaScript-bibliotek som tillhandahåller funktioner som döljer alla dessa webbläsarspecifika funktioner och tillhandahåller ett enhetligt API (Application Programming Interface). Exempel på dess bibliotek är: Yahoo! User Interface Library (YUI) [51]. jquery [17]. Prototype [30]. Den stora fördelen med att använda sig av ett JavaScript-bibliotek är att de API:er som tillhandahålls fungerar på alla populära webbläsare och att de hålls uppdaterade när nya webbläsare kommer ut och när buggar upptäcks. [16], [30], [17], [51]. Ajax Ajax, Asynchronous JavaScript and XML, är ett samlingsnamn för ett antal olika tekniker som kan användas för att bygga interaktiva webbapplikationer. Ajax möjliggör för webbapplikationer att hämta data asynkront från servern vilket innebär att efter att den initiala sidan har laddats hämtas mer information som kan användas till att uppdatera den befintliga sidan som redan har hämtats. Följande tekniker kan användas för att utföra asynkron kommunikation med en server: HTML eller XHTML (Extensible Hypertext Markup Language) och CSS (Cascading Style Sheets) för presentationen. DOM (Document Object Model) för att dynamiskt visa och interagera med data. XML (Extensible Markup Language) och XSLT (Extensible Stylesheet Language Transformations) för att byta, manipulera och visa data. XMLHttpRequest för den asynkrona kommunikationen. JavaScript för att sammanfoga de ovanstående teknikerna. Benämningen Ajax innefattar idag en bredare mängd olika tekniker. XML och XSLT används inte alltid för utbyte och manipulation av data. Alternativ som JavaScript Object Notation (JSON), ren text och förformaterad HTML används också. [4], [5]. Extensible Markup Language Extensible Markup Language är mer känt under förkortningen XML. XML är ett generellt märkspråk som utgör en delmängd av det mer komplexa Standard Generalized Markup Language, SGML. XHTML, XSL (Extensible Stylesheet Language), 8

15 2.2. ARKITEKTUR SMIL (Synchronized Multimedia Integration Language) och RSS (Really Simple Syndication) är alla baserade på XML. World Wide Web Consortium, W3C, är ett konsortium bestående av drygt 500 medlemmar från ledande industrier, forsknings- och utvecklingsinstitut, standardiseringsorgan och regeringar samt EU. W3C arbetar med att utveckla protokoll, standarder och programvara för internet. W3C ligger bakom specifikationerna för bland andra CSS, HTML, XHTML, XML. [32], [2], [43], [12], [49]. Parsning av XML Kommunikation mellan Radarpot Server, Radarspot Web och Radarspot Mobile sker på ett egenutvecklat XML-protokoll. För att säkerställa att alla inkommande och utgående XML-meddelanden är korrekta valideras de mot ett XML-schema. Det finns ett par olika språk för att bygga XML-scheman. XML Schema är ett samlingsnamn för alla olika språk som finns för att skapa XMLscheman, men det är också namnet på XML-schemaspråket från W3C. För parsning av XML finns det två huvudsakliga API:er, trädbaserade respektive händelsebaserade API:er. För fallet med ett trädbaserad API byggs en intern trädstruktur (DOM, Document Object Model) upp som representerar XMLdokumentet. Applikationer som använder trädbaserade parsers kan sedan traversera trädstrukturen. För händelsebaserade API:er finns det två olika metoder, push parsers respektive pull parsers. En applikation som använder en push parser registrerar ett antal olika händelser (t.ex. vad som ska hända när en viss start eller slut-tag påträffas) som kopplas till de olika element som finns i ett XML-meddelande. När parsern stöter på ett element till vilket det finns en registrerad händelse anropas denna. Ett exempel på en push parser är SAX (Simple API for XML). Vid användandet av en pull parser efterfrågar applikationen hädelser från parsern istället för att registrera händelser som ska anropas när olika element i dokumentet påträffas. En pull parser kan ses som en pekare in i XML-dokumentet som applikationen för frammåt i dokumentet genom att efterfråga element i det. StAX (Streaming API for XML) är ett exempel på en pull parser. I en push parser meddelar parsern applikationen när den stöter på ett nytt element, t.ex. en ny artikel i ett XML-meddelande som följer DTD-schemat på sidan 11. En applikation som använder en pull parser frågar istället parsern efter artikelelementet. [29], [19], [35], [39] Document Type Definition Document Type Definition, DTD, är ett XMLschemaspråk för att definiera en struktur med vilka element, attribut och entiteter som är tillåtna eller obligatoriska i ett XML-meddelande. Elementen är de huvudsakliga byggstenarna i XML-dokument. I nedanstående exempel finns ett meddelandeelement. <meddelande>någon text</meddelande> Attribut ger extra information om element. I nedanstående exempel har meddelandeelementet ett attribut som anger priotitet. 9

16 KAPITEL 2. BAKGRUND OCH BESKRIVNING <meddelande prioritet="hög">någon text</meddelande> Entiteter är variabler som används för att definiera förkortningar eller specialtecken. Ett exempel i HTML är entiteten amp som ger en ampersand i renderingen av en HTML-sida. En entitet anropas genom den föregås av en ampersand och efterföljs av ett semikolon. Exempel: <meddelande>karlsson & CO</meddelande> Vid rendering presenteras meddelandet: Karlsson & CO DTD-exempel Nedan följer ett DTD-exempel som använder element, attribut och entiteter. Huvudelementet är NEWSPAPER som måste ha en eller flera underelement av typen ARTICLE. Varje ARTICLE element måste i sin tur ha precis ett underelement av följande typer: HEADLINE, BYLINE, LEAD, BODY, NO- TES. Elementet ARTICLE måste även ha attributet AUTHOR, det kan dessutom ha EDITOR, DATE och EDITION, men de är inte nödvändiga. Vidare har tre entiteter definierats: NEWSPAPER, PUBLISHER och COPYRIGHT. <!DOCTYPE NEWSPAPER [ <!ELEMENT NEWSPAPER (ARTICLE+)> <!ELEMENT ARTICLE (HEADLINE,BYLINE,LEAD,BODY,NOTES)> <!ELEMENT HEADLINE (#PCDATA)> <!ELEMENT BYLINE (#PCDATA)> <!ELEMENT LEAD (#PCDATA)> <!ELEMENT BODY (#PCDATA)> <!ELEMENT NOTES (#PCDATA)> <!ATTLIST ARTICLE AUTHOR CDATA #REQUIRED> <!ATTLIST ARTICLE EDITOR CDATA #IMPLIED> <!ATTLIST ARTICLE DATE CDATA #IMPLIED> <!ATTLIST ARTICLE EDITION CDATA #IMPLIED> <!ENTITY NEWSPAPER "Vervet Logic Times"> <!ENTITY PUBLISHER "Vervet Logic Press"> <!ENTITY COPYRIGHT "Copyright 1998 Vervet Logic Press"> ]> Exempel från W3 Schools, ( ). [11], [10]. 10

17 2.2. ARKITEKTUR W3C XML Schema W3C XML Schema är även känt som XML Schema Definition (XSD) är ett alternativ till DTD. W3C XML Schema är XML-baserat till skillnad från DTD. Precis som i DTD definieras vilka element och attribut som kan användas och i vilka kombinationer. W3C XML Schema har även stöd för datatyper, vilket innebär att innehållet i ett element eller attribut kan valideras mot en datatyp. W3C XML Schema har initialt stöd för 19 primitiva datatyper däribland: boolean, string, double, date och time. Fler datatyper kan skapas genom att kombinera de existerande på tre olika sätt: Restriktion - Begränsa mängden godkända värden. List - Tillåt en sekvens av värden. Union - Tillåter ett flertal datatyper. Nedan följer ett exempel på ett element med namnet age. Elementet har en datatyp av typen heltal och en restriktion på mängden heltal som är tillåtna. Endast heltal från och med 0 till och med 120 är tillåtna. [47], [46]. <xs:element name="age"> <xs:simpletype> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="120"/> </xs:restriction> </xs:simpletype> </xs:element> Andra XML-schemaspråk Förutom DTD och XML Schema finns det ett antal andra språk för att skriva scheman för XML på. Några av dem är: RELAX NG, REgular LAnguage for XML Next Gereration, är precis som W3C XML Schema XML-baserat. RELEAX NG tillhandahåller även en alternativ kompakt syntax som inte är XML-baserad. DDML, Document Definition Markup Language, är en omformulering av DTD till XML. Den har inget stöd för datatyper som W3C XML Schema. SOX, Schema for Object-Oriented XML, är tillsammans med DDML en av föregångarna till W3C Schema och RELAX NG. Schematron är ett regelbaserat valideringsspråk som bygger på krav/påståenden (assertions) angående vilken struktur som tillåts i XML-dokumenten. DSD, Document Structure Description, är designat för att vara enkelt och lätt att förstå men samtidigt vara kraftfullare än DTD och W3C Schema. [8], [9], [34], [47], [36], [37], [48]. XMLBeans XMLBeans är ett Java-till-XML ramverk för konvertering av XMLmeddelanden till instanser av Java-klasser och tvärtom. Utifrån ett W3C XML 11

18 KAPITEL 2. BAKGRUND OCH BESKRIVNING Schema genereras Java-klasser som motsvarar beskrivningen i XML-schemat. Utifrån en struktur skapad med instanser av dessa XMLBeans-genererade klasser genereras sedan korrekt XML som stämmer överens med det W3C XML Schema som användes av XMLBeans för att skapa Java-klasserna. Genom att skicka in ett XML-meddelande till de XMLBeans genererade klasserna valideras det och en objektstruktur av Java-klasser genereras. XMLBeans är ett trädbaserat API. [45]. kxml kxml är en lättviktig implementation av en XMLPull Parser. kxml har i första hand utvecklats för miljöer som har begränsningar vad det gäller minne, t.ex. Applets, PersonalJava och MIDP-enheter. PersonalJava är en Javaversion (baserad på Java 1.1.8) för mobila och inbyggda system. MIDP, Mobile Information Device Profile, är en specifikation för att använda Java i mobiltelefoner och PDA:er (Pesonal Digital Assistant). kxml är ett händelsebaserat API. [19]. 2.3 Systembeskrivning Syftet med systemet är att skapa ett webbgränssnitt till ett webbaserat system för direktmeddelanden och närvarostatus mellan användare. Detta kapitel beskriver hur systemet är uppbyggt Grundläggande uppbyggnad I botten finns det befintliga systemet (Radarspot Server) för direktmeddelande och närvarostatus. Alla funktioner i detta system är tillgängliga genom ett eget API som bygger på XML-meddelanden. Radarspots webbapplikation som kallas Radarspot Web är ett webbgränssnitt för direktmeddelanden och närvarostatus för användarna. Radarspot Web kommunicerar med Radarspot Server via meddelanden i Radarspots egna XML-protokoll. När en användare försöker autentisera sig mot Radarspot Web skickas ett meddelande till Radarspot Server med användarens inloggningsuppgifter. Om användarens inloggningsuppgifter är korrekta kommer både Radarspot Web och Radarspot Server hålla reda på användarens session. För att användaren sen ska få alla sina meddelanden och närvarostatus på sina vänner efterfrågar Radarspot Web den informationen från Radarspot Server. Detta sker automatiskt med tekniken Ajax, som beskrevs i arkitekturavsnittet på sida 8. Radarspot Web måste alltså efterfråga all information från Radarspot Server, ingenting kommer utan en förfrågan. Frekvensen med vilken t.ex. närvarostatus efterfrågas från Radarspot Server avgör hur kvick tjänsten upplevs. När Radarspot Web tar emot informationen i form av XML-meddelanden från Radarspot Server analyseras svaret och formateras för att passa det grafiska utseendet på Radarspot Web. Figur 2.2 på sida 13 visar ett sekvensdiagram för ett anrop från användarens webbläsare för att hämta närvarostatus på användarens kontakter. En beskrivning av de olika stegen följer i listan nedan. 12

19 2.3. SYSTEMBESKRIVNING Klient Radarspot Web Radarspot Server 1: GetOnlineStatuses() 2: VerifyLoggedIn() 3: GetOnlineStatuses ForContacts() 4: Verify_ LoggedIn() 6: Formated list of online statuses 5: Return list of online statuses Figur 2.2. Sekvensdiagram över en närvarostatusförfrågan. 1. Användarens webbläsare gör ett anrop till Radarspot Web med hjälp av Ajax där närvarostatus för användarens vänner efterfrågas. 2. Radarspot Web verifierar att användaren är inloggad. 3. Radarspot Web skapar ett XML-meddelanden där användarens vänners närvarostatus efterfrågas från Radarspot Server. 4. Radarspot Server verifierar att användaren är inloggad. 5. Radarspot Server returnerar närvarostatus för användarens vänner till Radarspot Web som ett XML-meddelande. Radarspot Web formaterar användarnas närvarostatus för att passa i webbgränssnittet på klienten. 6. Klienten får svar på anropet som efterfrågade användarens vänners närvarostatus och visar det för användaren. Genom Radarspot Server kan användaren skicka och ta emot direktmeddelanden både internt mellan Radarspotanvändare och mellan Microsoft Live Messengerkonton, om Radarspot har fått tillgång till användarens Microsoft Live Messengeruppgifter. Via Radarspot Server går det också att skicka och ta emot e-post om Radarspot har fått tillgång till inloggningsuppgifter för ett e-postkonto. För klienterna Radarspot Web och Radarspot Mobile ser alla dessa meddelanden likadana ut oberoende av vilken tjänst som används i bakgrunden. Mellan Radarspotvänner kommuniceras även närvarostatus för att det ska gå att se i kontaktlistan om en vän är inloggad eller inte. Radarspot tar även emot och skickar närvarostatus till Microsoft Live Messenger-nätverket. Har Radarspot fått tillgång till ett Microsoft Live Messenger-konto kan Radarspot hålla reda på vänner som är inloggade och visa den informationen i Radarspotklienten. 13

20 KAPITEL 2. BAKGRUND OCH BESKRIVNING Säkerhet När användaren loggar in på Radarspot Web tvingas HTTP-sessionen över till HTTPS där all data automatiskt krypteras med SSL (Secure Socket Layer). Användaren hålls kvar i HTTPS-sessionen tills utloggning sker. All kommunikation mellan klienten och Radarspot Web sker alltså krypterat. Radarspot Web sparar inte någon klientdata, det enda som sparas under sessionen är användarens webbläsarkaka till vilken användarnamnet är kopplat och användarens kaka mot Radarspot Server som Radarspot Web får vid inloggningen där. Den används av Radarspot Server för att hålla koll på inloggade användare. När en användare loggar på via Radarspot Web får användarens webbläsare en kaka från Radarspot Web, denna kaka används för att identifiera användaren i Radarspot Web. Vid inloggning skapar Radarspot Web en ny session mot Radarspot Server för den inloggade användaren. Radarspot Web får då i sin tur en kaka av Radarspot Server som används av Radarspot Server för att hålla koll på inloggade användare. Denna kaka från Radarspot Server kopplas ihop med användarens session i Radarspot Web så att rätt kaka används i Radarspot Web för att efterfråga meddelanden, närvarostatusuppdateringar och annan information av Radarspot Server. [27] Användargränssnittet Användargränssnittet i Radarspot Web bygger på HTML och CSS. För att inte endast använda statiska sidor används Ajax för att dynamisk ändra innehållet på sidor som visar närvarostatus och meddelanden för användarna. 2.4 Systemets funktionalitet Inställningar Alla Radarspotanvändare kan automatiskt kommunicera med andra Radarspotanvändare genom de konton som skapas vid användarregistreringen till tjänsten. Via Radarspot Web finns möjligheten att tillhandahålla inloggningsuppgifter för Microsoft Live Messenger och ett e-postkonto. Om Radarspot får tillgång till dessa uppgifter öppnas även möjligheten att skicka och ta emot Microsoft Live Messengeroch e-postmeddelanden. Figur 2.3 på sida 15 visar vissa av de inställningar som går att göra i klienten Kontaktlista Radarspot tillhandahåller en kontaktlista där det går att koppla samman Radarspotanvändarnamn, e-postadress, Microsoft Live Messenger-användarnamn, telefonnummer och adressuppgifter till en och samma kontakt. Via Radarspot Web går det att hantera alla uppgifter i kontaktlistan samt att addera och radera kontakter. Figur 2.4 på sida 16 visar kontaktlistan med aktuell närvarostatus på kontakterna. 14

21 2.4. SYSTEMETS FUNKTIONALITET Figur 2.3. Användarinställningar. 15

22 KAPITEL 2. BAKGRUND OCH BESKRIVNING Figur 2.4. Kontaktlistan. Figur 2.5. Meddelanden Meddelanden Via Radarspot Web finns möjligheten att skicka, ta emot och radera meddelanden som har skickats med någon av de aktiverade tjänsterna (Radarspot, Microsoft Live Messenger och e-post). Figur 2.5 på sida 16 visar de senaste inkomna och skickade meddelandena. 16

23 2.4. SYSTEMETS FUNKTIONALITET Figur 2.6. Lägg till ny kontakt Vänner och närvarostatus Närvarostatus visas för alla Radarspot-vänner och Microsoft Live Messenger-vänner. Nya Radarspot-vänner kan adderas direkt via webbgränssnittet i Radarspot Web. Nya Microsoft Live Messenger-vänner kan inte adderas via Radarspot utan de måste skapas via en annan klient, Radarspot importerar sedan vänlistan från Microsoft Live Messenger-nätverket. Är både Radarspot-användarnamn Microsoft Live Messenger-användarnamn kopplat till en och samma kontakt visas status för den tjänst där användaren är mest nåbar. T.ex. om användaren har statusen borta på Radarspot men online på Microsoft Live Messenger visas statusen online i Radarspot Web. Figur 2.6 på sida 17 visar sidan för att lägga till en ny kontakt. 17

24

25 Kapitel 3 Slutsatser och rekommendationer 3.1 Slutsatser Det gick att skapa en webbaserad meddelandeklient som hade motsvarande funktionalitet som Radarspots mobilklient. Det som webbklienten förlorar på är att den har en bit kvar till att konkurrera med en fristående applikation som körs lokalt hos användaren och med den integrering i operativsystemet det erbjuder. En meddelandeklient måste även fungera som en vanlig applikation när den inte används aktivt. Dvs. den måste meddela användaren på ett framgångsrikt sätt att ett nytt meddelande har inkommit, till exempel genom en ljudsignal och öppna ett nytt meddelandefönster. Med de webbläsare som fanns tillgängliga vid utförandet av examensarbetet kraschade hela webbläsaren om en av de öppna webbläsartabbarna fick webbläsaren att krascha. Idag finns det webbläsare som hanterar varje webbläsartabb som en separat process och en krasch i en webbläsartabb ska inte krascha hela webbläsaren. Det finns numera applikationer som Prism från Mozilla Labs och Chrome från Google med vilka det går att skapa fristående applikationer av webbapplikationer. Till exempel går det att skapa en applikation som öppnar adressen i ett fristående fönster och hanterar den som en fristående applikation. Ett annat problem som aktualiserades var fördröjningen i webbklienten. Detta märktes inte av förrän en meddelandesession hade startats då långsamma uppdateringar till meddelandesessionen fick applikationen att kännas seg. Detta berodde på att meddelandehanteringen krävde att klienten efterfrågade nya meddelanden från Radarspot Web som i sin tur kollade med Radarspot Server om det fanns några nya meddelanden. För att delvis komma runt dessa problem kan en variabel pollningstid sättas, dvs. direkt efter att ett meddelande har mottagits eller skickats efterfrågar klienten uppdateringar med ett mycket kort tidsintervall vilket sedan avtar till ett mer långsammare intervall varefter tiden går och inga nya meddelanden skickas eller tas emot. En bättre lösning torde vara att ersätta pollningen med push, dvs. klienten har en öppen anslutning till servern och när ett meddelande kommer till 19

26 KAPITEL 3. SLUTSATSER OCH REKOMMENDATIONER serverns skickas det direkt till klienten utan att det behöver efterfrågas. All trafik mellanlandade i Radarspot Web, genom att tillåta klienten att hämta meddelanden och annan information direkt från Radarspot Server och att ersätta meddelandeprotokollet med XMPP skulle klienten upplevas som snabbare och även fristående klienter som stöder XMPP skulle kunna ansluta till Radarspots server. Eftersom Radarspot Web inte meddelades när nya meddelanden eller närvarostatus uppdaterades kunde inte sådan information lagras i en cache hos Radarspot Web och på så sätt snabba upp svarstiderna utan all den information var Radarspot Web tvungen att hämta från Radarspot Server med jämna mellanrum även om ingenting hade förändrats. Idag börjar vi se mobiltelefoner som integrerar alla våra olika adressböcker i en och samma adressbok. I t.ex. Nokias N900 finns bl.a. möjligheten att koppla sitt Skype och XMPP-konto till adressboken och därigenom uppnår man den form av konsoliderad adressbok Radarspot försökte skapa. [31], [13], [21], [20], [23] 3.2 Rekommendationer Radarspot kom en bit på vägen med sin idé om en online-adressbok som kopplar samman all kontaktinformation som finns tillgänglig för en och samma kontakt i en gemensam adressbok och erbjuder kommunikationsmöjligheter med varje kontakt på alla de tjänster som finns registrerade för kontakten. Jag tror att det finns en plats för den typ av online-adressbok som Radarspot strävade efter, men jag tror att just deras förslag inte var den bästa lösningen på grund av avsaknaden av integration med andra tjänster och att det som Radarspot försökte vara unika med (meddelanden till telefonen och en enhetlig adressbok) inte var tillräckligt unik och för knepigt att administrera. Beroende på användarbeteendet ser jag inga större tekniska problem med en webbaserad chattklient. Både Gmail och Facebook har integrerade chattklienter och jag tror det är väldigt personlig hur de passar in i användarbeteendet. Själv låter jag min chattklient ligga i bakgrunden och förlitar mig på att jag blir meddelad på något sätt att ett nytt meddelande har inkommit. I t.ex. Gmails klient syns ett inkommande meddelande endast i webbläsarfönstret. Jag tror även en närmare integration med operativsystemet är önskvärt. I t.ex. mejlprogrammet och i adressboken i Mac OS X kan se om en kontakt är online via XMPP eller inte om det inbygda chattprogrammet (ichat) är igång samtidigt. 20

27 Litteraturförteckning [1] Adium. Senast nådd: [2] C. M. Sperberg-McQueen, Lou Burnard, A Gentle Introduction to SGML. Senast nådd: [3] AIM, AOL Instant Messenger. Senast nådd: [4] Jesse James Garrett, Ajax: A New Approach to Web Applications. Senast nådd: [5] Ajax Tutorial (Asynchronous Javascript + XML). Senast nådd: [6] The Apache Software Foundation. Senast nådd: [7] Comparison of instant messaging clients, Wikipedia. Senast nådd: [8] Document Definition Markup Language (DDML) Specification, Version 1.0. Senast nådd: [9] DSD, Document Structure Description. Senast nådd: [10] DTD, Document Type Definition. Senast nådd: [11] Extensible Markup Language (XML) 1.0 (Fifth Edition). Senast nådd:

28 LITTERATURFÖRTECKNING [12] Extensible Markup Language (XML). Senast nådd: [13] Google Chrome. Senast nådd: [14] GlassFish. Senast nådd: [15] ICQ. Senast nådd: [16] JavaScript, Mozilla Developer Network. Senast nådd: [17] jquery. Senast nådd: [18] KOOL IM. Senast nådd: [19] kxml. Senast nådd: [20] Maemo, Nokia. Senast nådd: [21] Meebo. Senast nådd: [22] Microsoft Live Messenger Senast nådd: 201! [23] My-Maemo. Senast nådd: [24] OMA Data Synchronization V1.2.2, Open Mobile Alliance. Senast nådd: [25] Open Mobile Alliance. Senast nådd: [26] Open Source Web Servers in Java. Senast nådd: [27] Overview of SSL/TLS Encryption, Microsoft. Senast nådd:

29 LITTERATURFÖRTECKNING [28] Pidgin. Senast nådd: [29] Ian Kaplan, Processing XML with the XML Pull Parser. Senast nådd: [30] Prototype JavaScript Framework. Senast nådd: [31] Prism. Senast nådd: [32] Overview of SGML Resources, W3C. Senast nådd: [33] radiusim Senast nådd: [34] RELAX NG. Senast nådd: [35] SAX, Simple API for XML. Senast nådd: [36] Schema for Object-Oriented XML 2.0, W3C. Senast nådd: [37] Schematron. Senast nådd: [38] Jason Hunter, Servlet Engines. Senast nådd: [39] Lara D Abreo, StAX: DOM Ease with SAX Efficiency. Senast nådd: [40] Trillian. Senast nådd: httphttp:// [41] WebLogic Server. Senast nådd: [42] WebSphere software. Senast nådd: [43] The World Wide Web Consortium. Senast nådd:

30 LITTERATURFÖRTECKNING [44] Joseph Ottinger, What is an App Server?. Senast nådd: [45] XMLBeans. Senast nådd: [46] XML Schema. Senast nådd: [47] XML Schema, W3C. Senast nådd: [48] Robin Cover, XML Schemas, Cover Pages. Senast nådd: [49] XML Tutorial. Senast nådd: [50] XMPP, Extensible Messaging and Presence Protocol. Senast nådd: [51] YUI (Yahoo! User Interface) Library. Senast nådd:

31 Figurer 2.1 Översikt av Radarspots nätverksarkitektur Sekvensdiagram över en närvarostatusförfrågan Användarinställningar Kontaktlistan Meddelanden Lägg till ny kontakt

32

33 Bilaga A Förkortningar Ajax API CSS DOM DTD HTML HTTP HTTPS JSON JSP MIDP PDA RSS SAX SGML SMIL StAX SyncML SSL W3C XHTML XML XMPP XSD XSL XSLT Asynchronous JavaScript and XML Application Programming Interface Cascading Style Sheets Document Object Model Document Type Definition Hypertext Markup Language Hypertext Transfer Protocol Hypertext Transfer Protocol Secure JavaScript Object Notation JavaServer Pages Mobile Information Device Profile Pesonal Digital Assistant (Handdator) Really Simple Syndication Simple API for XML Standard Generalized Markup Language Synchronized Multimedia Integration Language Streaming API for XML SyncML Är en öppen standard baserad på XML för fjärrsynkronisering Secure Socket Layer World Wide Web Consortium Extensible Hypertext Markup Language Extensible Markup Language Extensible Messaging and Presence Protocol XML Schema Definition Extensible Stylesheet Language Extensible Stylesheet Language Transformations 27

34 TRITA-CSC-E 2011:053 ISRN-KTH/CSC/E--11/053-SE ISSN

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

Konstruktion av datorspråk

Konstruktion av datorspråk Konstruktion av datorspråk Fö3: Uppmärkningsspråk Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap Linköpings universitet 2009-01-29 Översikt Uppmärkningsspråk Struktur och specifikation

Läs mer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 3 Peter Dalenius Institutionen för datavetenskap 2017-01-26 2 Vad handlar det andra seminariet om? Strukturerad text Uppgifter Hämta information

Läs mer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 3 Peter Dalenius Institutionen för datavetenskap 2015-01-29 Vad handlar det andra seminaret om? Strukturerad text Uppgifter Hämta information

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

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

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

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

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

www.skillspartner.com

www.skillspartner.com Mål Deltagarna ska förstå: Vad XML är Hur XML fungerar Vilka problem XML löser Hur XML används Känna till begrepp: DTD, DOM, XSL etc. Känna till verktyg Innehåll Vad är XML XML i relation till HTML XML

Läs mer

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML ITK:P2 F1 FTP, HTTP, HTML, XML och XHTML DSV Peter Mozelius 1 Hemsidor med HTML Hur många av er har provat på att bygga en egen hemsida med HTML eller XHTML? För hand eller med hjälpverktyg? Har ni lagt

Läs mer

XML. Extensible Markup Language

XML. Extensible Markup Language XML Extensible Markup Language XML - 1969 Generalized Markup Language (GML) 1979-85 Standard Generalized Markup Language (SGML) 1990 HyperText Markup Language (HTML) 1996-98 Extensible Markup Language

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

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

Strukturering med XML och DTD

Strukturering med XML och DTD Föreläsning i webbdesign Strukturering med XML och DTD Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se PresentaCon SCl Layout OrganisaCon/struktur InformaConsobjekt Länkar Innehåll/data

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

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

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

Webbtjänster med API er

Webbtjänster med API er Webbtjänster med API er Mål med lektionen! Veta kursmålen. Lite grunder om WCF Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se

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

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

En snabb titt på XML LEKTION 6

En snabb titt på XML LEKTION 6 LEKTION 6 En snabb titt på XML Bokstaven x i Ajax står för XML, ett mycket användbart beskrivningsspråk som gör det möjligt för Ajax-tillämpningar att hantera komplex strukturerad information. I den här

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

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

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

Läs mer

Instruktion för integration mot CAS

Instruktion för integration mot CAS IT-enheten Instruktion för integration mot CAS Per Hörnblad Instruktion 2010-10-29 Sid 1 (7) Instruktion för integration mot CAS Projektnamn Instruktioner för Integration mot CAS Fastställt av Per Hörnblad

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

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA)

TDDD80. Mobila och sociala applikationer Introduktion HTTP,SaaS. Anders Fröberg Institutionen för Datavetenskap (IDA) TDDD80 Mobila och sociala applikationer Introduktion HTTP,SaaS Anders Fröberg Institutionen för Datavetenskap (IDA) Internet Internet är världens största datornätverk och ett system för enkel och effektiv

Läs mer

Introduk+on +ll programmering i JavaScript

Introduk+on +ll programmering i JavaScript Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,

Läs mer

extensible Markup Language

extensible Markup Language Datavetenskap Opponenter: Björn Olsson Andreas Svensson Respondenter: Sanaa Al-abuhalje Afrah Al-abuhalje XML extensible Markup Language Oppositionsrapport, C-nivå 2007:06 1 Sammanfattat omdöme av examensarbetet

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

Administrationsmanual ImageBank 2

Administrationsmanual ImageBank 2 Administrationsmanual ImageBank 2 INNEHÅLL 1. Konventioner i manualen 3 2. Uppmärksamhetssymboler 3 3. Vad är imagebank SysAdmin 4 4. Guide för att snabbt komma igång 5 5. Uppgradera din imagebank 1.2

Läs mer

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för ANVÄNDARMANUAL handdatorer i ängs- och betesmarksinventeringen för Ändringshantering Ansvarig för dokumentet: Maria Hall Diemer Datum Ändring Ansvarig 2010-05-11 Dokumentet skapades (version 1.0.0) Edward

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

JavaScript in SharePoint and not just for Apps. Wictor Wilén

JavaScript in SharePoint and not just for Apps. Wictor Wilén JavaScript in SharePoint and not just for Apps Wictor Wilén Wictor Wilén Agenda Varför JavaScript? JavaScript bibliotek SharePoint JS bibliotek JavaScript Client Side Object Model (JSOM/CSOM) REST Client

Läs mer

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för

ANVÄNDARMANUAL. handdatorer i ängs- och betesmarksinventeringen. för ANVÄNDARMANUAL handdatorer i ängs- och betesmarksinventeringen för Ändringshantering Ansvarig för dokumentet: Maria Hall Diemer Datum Ändring Ansvarig 2010-05-11 Dokumentet skapades (version 1.0.0) Edward

Läs mer

Visma Proceedo. Att logga in - Manual. Version 1.3 / 140414 1

Visma Proceedo. Att logga in - Manual. Version 1.3 / 140414 1 Visma Proceedo Att logga in - Manual Version 1.3 / 140414 1 Innehållsförteckning 1) INLOGGNING VIA VERKTYG OCH SYSTEM... 3 2) INTERNET EXPLORER... 6 2.1 Java... 6 2.2 Popup-fönster... 8 2.3 Browser, 32-

Läs mer

Swedbank Mobile Loadtesting. LoadRunner 11.04 Mobile App protocol

Swedbank Mobile Loadtesting. LoadRunner 11.04 Mobile App protocol Swedbank Mobile Loadtesting LoadRunner 11.04 Mobile App protocol Bakgrund Mission: Prestandatesta mobilt backend Typ: RESTful tjänst Underlag: Dokumenterat URI och API (Uniform Resource Identifier, Application

Läs mer

Datasäkerhet och integritet

Datasäkerhet och integritet Chapter 4 module A Networking Concepts OSI-modellen TCP/IP This module is a refresher on networking concepts, which are important in information security A Simple Home Network 2 Unshielded Twisted Pair

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

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript?

JavaScript. Innehåll. Historia. Document object model DHTML. Varför Javascript? Innehåll JavaScript En introduktion till skriptspråket JavaScript och till DOM Scripting Introduktion till JavaScript och DOM JavaScript Syntax DOM och DOM Scripting Händelsehantering och CSS Historia

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

Namn: (Ifylles av student) Personnummer: Tentamensdatum: 2013-03-25 Tid: 14.00 19.00. Hjälpmedel: Inga hjälpmedel

Namn: (Ifylles av student) Personnummer: Tentamensdatum: 2013-03-25 Tid: 14.00 19.00. Hjälpmedel: Inga hjälpmedel Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2013-03-25

Läs mer

Office 365 Windows 10

Office 365 Windows 10 KOMMUNLEDNINGSKONTORET / IT- OCH UTVECKLINGSAVDELNINGEN Office 365 Windows 10 Lathund 1 Innehåll Inledning 2 Vad är Office 365? 2 Innehållet i denna lathund 2 Mer information 2 Office 365-portalen 3 Logga

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

Introduktion Office 365

Introduktion Office 365 Denna lathund ger dig en allmän introduktion till Office 365 för att få förståelse för tjänsten. Innehållet uppdateras löpande. I slutet av lathunden finner du övningar för att komma igång. Praktiska övningar

Läs mer

Heldag om FGS FGS:er och deras tekniska regelverk. Karin Bredenberg, FGS funktionen. Standarder. FGS:er och deras tekniska regelverk 1

Heldag om FGS FGS:er och deras tekniska regelverk. Karin Bredenberg, FGS funktionen. Standarder. FGS:er och deras tekniska regelverk 1 FGS:er och deras tekniska regelverk Karin Bredenberg, FGS funktionen Standarder 2 FGS:er och deras tekniska regelverk 1 Standarder Det finns många standarder och ingen bild med alla på Det finns inte heller

Läs mer

Modern webbutveckling. av Robert Welin-Berger

Modern webbutveckling. av Robert Welin-Berger Modern webbutveckling av Robert Welin-Berger robertwb@kth.se Modern webbutveckling 1. Projektstorlek och Arkitektur 2. Callbacks 3. Event driven arkitektur 4. MEAN stack 5. ODM/ORM 1. Projektstorlek och

Läs mer

Systemkrav. www.hogia.se/approval. Systemkrav för Hogia Approval Manager. Gäller från och med programversion 2012.1

Systemkrav. www.hogia.se/approval. Systemkrav för Hogia Approval Manager. Gäller från och med programversion 2012.1 Systemkrav Systemkrav för Hogia Approval Manager Gäller från och med programversion 2012.1 För produkten Hogia Approval Manager gäller samma systemkrav som för ekonomisystemet, med vissa tillägg. Tilläggen

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015 Objektorienterad Programkonstruktion Föreläsning 10 7 dec 2015 Nätverksprotokoll - OSI Open Systems Interconnection model (ISO standard) definierar 7 lager för nätverkskommunikation: 1 - Physical Layer:

Läs mer

Installation av Storegate Online Backup.

Installation av Storegate Online Backup. Installation av Storegate Online Backup. QBRITS Bastjänst inkluderar en backuptjänst för din lokala dator. Installationen av Storegate Online Backup är mycket enkel men det kan finnas vissa inställningar

Läs mer

Användarhandbok. Trio Visit Web. Trio Enterprise 4.1

Användarhandbok. Trio Visit Web. Trio Enterprise 4.1 Användarhandbok Trio Visit Web Trio Enterprise 4.1 COPYRIGHT NOTICE: No part of this document may be reproduced, distributed, stored in a retrieval system or translated into any language, including but

Läs mer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap Uppmärkningsspråk TDP007 Konstruktion av datorspråk Föreläsning 4 Peter Dalenius Institutionen för datavetenskap 2015-02-03 Från förra gången XML-dokument specificeras med t.ex. en DTD Två olika sätt att

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

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

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Sida: 1(7) Installationsanvisningar VisiWeb Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Detta dokument Detta dokument beskriver hur man installerar VisiWeb på en

Läs mer

Hantera informationspaket i system för bevarande

Hantera informationspaket i system för bevarande Kompetensutveckling har erbjudits deltagare inom projektet Elektroniskt bevarande i form av en kurs i XML. Kursen har genomförts av Riksarkivet och haft en praktisk inriktning. Ett 10-tal personer deltog

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

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

Datakommunika,on på Internet

Datakommunika,on på Internet Webbteknik Datakommunika,on på Internet Rune Körnefors Medieteknik 1 2015 Rune Körnefors rune.kornefors@lnu.se Internet Inter- = [prefix] mellan, sinsemellan, ömsesidig Interconnect = sammanlänka Net =

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

Creo Customization. Lars Björs 2014-10-16

Creo Customization. Lars Björs 2014-10-16 Creo Customization Lars Björs 2014-10-16 Norra Europas största partner och återförsäljare av PTC relaterad programvara (Windchill, Creo, Arbortext, MathCad, Relex) 70 anställda Egen utvecklingsavdelning

Läs mer

Webbprogrammering TDDD52

Webbprogrammering TDDD52 Webbprogrammering TDDD52 ERD MySQL+PHP. Förra gången Idag Javascript jquery Progressive enhancement XML & AJAX Lab 4 och 5 Sammanfattning av kursen. Om databastabeller varje tabell ska beskriva en typ

Läs mer

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 1.0

Regelverk. Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag. Bilaga A. Tekniska ramverk. Version: 1.0 Regelverk Infrastrukturen för vidareförmedling av grundläggande uppgifter om företag Bilaga A Tekniska ramverk Version: 1.0 Innehållsförteckning 1 Bakgrund och syfte... 1 1.1 Definitioner 1 2 Inledning...

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

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

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel Webbprogrammering Provmoment: Ladokkod: Tentamen ges för: Om-Tentamen NWP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2013-06-14

Läs mer

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

EDA095 HTML. Per Andersson. April 26, Lund University   Innehåll: HTML, CSS, DOM, JavaScript EDA095 HTML Per Andersson Lund University http://cs.lth.se/pierre_nugues/ April 26, 2017 Innehåll: HTML, CSS, DOM, JavaScript Per Andersson EDA095 HTML April 26, 2017 1 / 23 Webben Webben byggs upp av

Läs mer

Android översikt. TDDD80 Mobila och sociala applikationer

Android översikt. TDDD80 Mobila och sociala applikationer Android översikt TDDD80 Mobila och sociala applikationer Översikt Köra app på mobil / emulator Android Studio introduktion Android kodning Android labb 1 Köra på mobil / emulator Developer mode på mobilen

Läs mer

"HTML5 och relaterade API:er"

HTML5 och relaterade API:er "HTML5 och relaterade API:er" Föreläsning 7 HTML5 och relaterade API:er Webbteknik II, 1DV449 http://coursepress.lnu.se/kurs/webbteknik-ii/ Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

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

Voice over IP / SIP. Switching Costs SIP. Motivation for VoIP. Internet Telephony as PBX replacement. Internet Telephony Modes.

Voice over IP / SIP. Switching Costs SIP. Motivation for VoIP. Internet Telephony as PBX replacement. Internet Telephony Modes. Voice over IP / SIP Motivation for VoIP Baserat på material från Henning Schulzrinne, Columbia University. 1 2 Internet Telephony as PBX replacement Switching Costs 3 4 Internet Telephony Modes SIP SIP

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

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

Digital inlämning av årsredovisningar

Digital inlämning av årsredovisningar Digital inlämning av årsredovisningar Tekniskt ramverk Version 1.0 1 Innehållsförteckning 1 Bakgrund och syfte... 3 2 Inledning... 3 3 Säker kommunikation... 4 4 Infrastruktur och aktörer... 4 5 Tjänstebeskrivningar...

Läs mer

Startanvisning för Bornets Internet

Startanvisning för Bornets Internet Startanvisning för Bornets Internet Denna guide kommer att hjälpa dig igång med Bornets Internet. Sidan 1 av 41 Innehållsförteckning Titel Sidan Kapitel 1. Introduktion... 3 Kapitel 2. TCP/IP-inställningar

Läs mer

Blackboard learning system CE

Blackboard learning system CE Blackboard learning system CE Inställningar (Del av studentmanual, Kap 7) 20080101 1 Inställningar Det finns vissa grundläggande krav på din dator och dess inställningar för att Blackboard ska fungera

Läs mer

Microsoft Apps Användarhandbok

Microsoft Apps Användarhandbok Microsoft Apps Användarhandbok Utgåva 1 2 Om Microsoft Apps Om Microsoft Apps Med Microsoft Apps får du tillgång till Microsofts affärsappar på en Nokia Belletelefon som har programversion 111.030.0609.

Läs mer

Visma Proceedo. Att logga in - Manual. Version 1.4. Version 1.4 / 151016 1

Visma Proceedo. Att logga in - Manual. Version 1.4. Version 1.4 / 151016 1 Visma Proceedo Att logga in - Manual Version 1.4 Version 1.4 / 151016 1 Innehåll 1) INLOGGNING VIA MEDARBETARWEBBEN... 4 2) INTERNET EXPLORER... 7 2.1 Java... 7 2.2 Popup- fönster... 9 2.3 Browser, 32-64-bitars

Läs mer

Elektronisk publicering TNMK30

Elektronisk publicering TNMK30 Elektronisk publicering TNMK30 Förra gången Usability & interaktionsdesign Projektintroduktion Bildbehandling. Byte av handledare Istället för Martin Johansson Annsofi Pettersson, annpe655@student.liu.se

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

Nya webbservern Dvwebb.mah.se

Nya webbservern Dvwebb.mah.se Nya webbservern Dvwebb.mah.se Bakgrund: BIT (Bibliotek och IT) beslutar att ta ner Novell systemet 28/3 som är en katalogtjänst som styr bland annat alla studenter s.k. hemkataloger på Malmö högskola såväl

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

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011 Webbteknik II Föreläsning 5 Restless farewell HTTP Request HTTP verbs (methods): GET, POST, HEAD, DELETE, PUT, OPTIONS, TRACE, CONNECT http://www.w3.org/protocols/rfc2616/rfc2616-sec9.html variable=value&variable2=value2

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

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element. Vis it Introduktion Vi har skapat den webbaserade appen Vis it som bygger på att användare kan ta bilder på och lägga upp sevärdheter via sin mobiltelefon. Dessa sevärdheter är positionsbaserade vilket

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

PHP. Dynamiska webbsidor

PHP. Dynamiska webbsidor PHP Dynamiska webbsidor WEBBPROGRAMMERING PÅ SERVERSIDAN DB server web browser client client script HTTP Request (get, post) HTTP Response (HTML, CSS, JS) web server server script JS PHP file (txt, xml,

Läs mer

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool Installation och konfiguration av klientprogramvara 2c8 Modeling Tool Hämta programpaket, MSI Aktuell version av klientprogramvaran finns tillgänglig för nedladdning på vår hemsida på adress http://www.2c8.com/

Läs mer

Manual - Phonera Online Backup

Manual - Phonera Online Backup Manual - Phonera Online Backup Phonera Online Backup är enkel att installera och använda Först så ska du installera Phonera Online Backup. Du hittar installationsfilerna av backupklienten på adressen nedan:

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

Arbetsmaterial HTML pass 1 - Grunder

Arbetsmaterial HTML pass 1 - Grunder Arbetsmaterial HTML pass 1 - Grunder Det vi idag kallar Internet växte fram ur ett amerikanskt nätverk kallat ARPAnet som skapades i slutet av 60 talet. Ett topphemligt verktyg för att koppla ihop stordatorer

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

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

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors 1ME323 Webbteknik 3 Lektion 6 API Rune Körnefors Medieteknik 1 2019 Rune Körnefors rune.kornefors@lnu.se Agenda API (Application Programming Interface) Mashup Flickr API Google Maps API Labb 6 2 API (Application

Läs mer

Använda Google Apps på din Android-telefon

Använda Google Apps på din Android-telefon Använda Google Apps på din Android-telefon Om du vill använda e-post, kontakter och kalender för Google Apps på din Android-enhet ska du och dina användare göra följande: 1. Öppna skärmen Konton och synkroniseringsinställningar

Läs mer

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

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