Webbaseret multiplayer kortspil framework

Størrelse: px
Starte visningen fra side:

Download "Webbaseret multiplayer kortspil framework"

Transkript

1 IMM-DTU Webbaseret multiplayer kortspil framework Kristian Willumsen, s /8/2010 IMM-B.Eng

2 Technical University of Denmark Informatics and Mathematical Modelling Building 321, DK-2800 Kongens Lyngby, Denmark Phone , Fax IMM-B.Eng

3 Summary The exam project Web based multiplayer card game framework is the final paper on the bachelor of engineering education at IMM-DTU. In the project period I have developed a web-based multiplayer card game framework with a Silverlight Client. The framework includes the card game Tips, which was implemented under the development of the framework. The purpose of the card game framework is that other.net developers can use it when implementing and hosting their own versions of multiplayer card games as the card game framework provides a number of features such as communication between the client and the server. 3

4 Resumé Eksamensprojektet Webbaseret multiplayer kortspil framework er den afsluttende opgave på diplomingeniøruddannelsen ved IMM-DTU. I Projektperioden har jeg udviklet et webbaseret multiplayer kortspil framework med en Silverlight klient. Kortspils frameworket indeholder kortspillet Tips, som blev implementeret under udviklingen af frameworket. Formålet med kortspils frameworket er, at det kan bruges af andre.net-udviklere til at implementere og hoste deres egne versioner af multiplayer kortspil, da det stiller en række features til rådighed såsom kommunikationen mellem klienten og serveren. 4

5 Forord Denne rapport er udarbejdet i forbindelse med mit eksamensprojekt i sommeren 2010 som afslutning på min diplomingeniøruddannelse ved Instituttet for Informatik og Matematisk Modellering på DTU. Eksamensprojektet er normeret til 15 ECTS-point. Projektet tager udgangspunkt i udviklingen af et kortspils framework*, der skal fungere som fundament for udviklingen af andre kortspil, der kan spilles over Internettet mod andre spillere. For at vise brugbarheden af frameworket vil jeg implementere kortspillet Tips*. Nærmere information om Tips såsom regler osv. kan findes i Bilag B. Rapporten er rettet mod Microsoft.NET-udviklere, men kan læses af alle med interesse indenfor softwareudvikling. Kendskab til Microsofts.NET frameworket incl. ASP.NET 3.5/4.0, WCF samt Silverlight 4 RC er en fordel. For at hjælpe læseren har jeg lavet en ordliste bagest i rapporten, som indeholder forklaringer på nogle af de anvendte begreber. Ord, der står i ordlisten, er markeret med * i rapporten. Undervejs i rapporten refereres ofte til systemet, frameworket, udvikleren og spilleren. Systemet er hele løsningen som en helhed set fra både spiller og udviklers synspunkt. Frameworket er betegnelsen for den udviklingsplatform der stilles til rådighed for udvikleren. Spilleren er altså en bruger af klient applikationen, som spiller mod andre spillere over Internettet. Udvikleren er en bruger af frameworket, der udvikler nye kortspil og features i frameworket. Eksamensprojektet er et selvstændigt projekt og er udarbejdet uden relation til firma eller organisation. Kildekode til løsningen og kopi af rapporten kan findes på den vedlagte DVD. Eksamensprojektet er udført i perioden fra 10. Maj 2010 til 3. August Jeg vil gerne rette tak til min vejlder ved IMM-DTU, Edward Todirica, der har bistået med råd, hjælp og vejledning under projektperioden. Kristian Willumsen, s

6 Indholdsfortegnelse Summary... 3 Resumé... 4 Forord Introduktion Problemformulering Opbygning af server applikation Klient til server kommunikations teknologi Tynd klient Datasikkerhed Afgrænsning af projektet Identifikation af use cases og aktører Opbygning af rapporten Udviklingsmetode Tidsplan Kravspecifikation Generelle krav Krav til server applikation Funktionelle krav til Silverlight klienten Udvidede krav Use cases Risikoplan Analyse Valg af klient til server kommunikation Sockets WCF full duplex service Opbygning af server applikationen Silverlight klienten Main Chat Game Datasikkerhed Design

7 4.1 System design Data layer Databasediagram Business logic layer Application layer Service layer Presentation layer App Proxy MainPage user control Chat user control GameTips user control HelperClass Implementering Server applikation med WCF full duplex service WCF full duplex service Kortspillet Tips Silverlight klient applikation Test Silverlight klienten Konklusion Udvidelser og forbedringer Kilder Ordliste Bilag A Tidsplan Gantt chart Bilag B - Tips spilleregler Bilag C Kildekode

8 1. Introduktion Dette projekt beskriver udviklingen af et kortspils framework incl. en Silverlight klient. Systemet er webbaseret og klienten skal kunne spilles direkte i browseren uden download af eksterne applikationer, udover Silverlight 4 browser plugin. Systemet, der vil blive udviklet under projektperiodens forløb vil være en prototype af systemet, der skal vise, at tankegangen bag systemet er brugbar som framework til udvikling af multiplayer kortspil. Prototypen er altså et proof of concept* af frameworket. Systemet skal kunne benyttes over Internettet, hvor klienterne kan sidde et tilfældigt sted i verden med forbindelse til internettet. Her skal de kunne besøge et web site, hvor Silverlight klienten er hostet. Serveren der hoster web sitet vil så have en server applikation indeholdende en service, der står for kommunikationen mellem server applikationen og Silverlight klienten. Figur 1.1 For videreudvikling af frameworket samt udvikling af andre typer af kortspil kræves der grundlæggende kendskab og praktisk erfaring med Microsofts.NET framework, ASP.NET 3.5/ 4.0, C#, WCF, Silverlight 4 RC samt udviklingsværktøjet Visual Studio 2010 med Silverlight 4 SDK. Til database bruges SQL Server 2005, men nyere versioner kan også bruges. Til at hoste systemet[1] kræves en webserver med IIS7 og SQL Server. 8

9 1.1 Problemformulering Projektet handler om udviklingen af et webbaseret multiplayer kortspils framework. Projektet tager udgangspunkt i abstraktet defineret inden projektstart og indsendt som Bilag 08. Abstrakt Dette projekt undersøger mulighederne for at udvikle et webbaseret multiplayer kortspil framework. Ideen er at udvikle et framework, der skal give de nødvendige features indenfor klienten og spilserveren, sådan at brugere af frameworket kan implemenentere deres egne versioner af 4 mands kortspil ved at definere spil logik og spilleregler. Frameworket skal tilbyde en række features så som datakommunikation mellem klient og spil server, datasikkerhed ved bla. kryptering af data og Silverlight brugergrænseflade for klient applikationen. Projektet vil tage udgangspunkt i design af klienten med en Silverlight UI og spil serveren. For at vise brugbarheden af frameworket vil jeg implementere kortspillet Tips. Tips er et 4 mands kortspil, som er en version af spillet Pirat whist For at benytte frameworket kræves der en general forståelse for objekt orienteret udvikling samt.net frameworket. Udviklingssprog:.NET, Silverlight, jquery, WCF service. Figur 1.1. Abstrakt fra Bilag 08. Frameworket skal indeholde en server applikation, en Silverlight klient og en løsning på kommunikationen mellem de to. Projektet indeholder en række problemer, som skal løses for at opnå et tilfredsstillende resultat. Jeg vil dele disse problemer op i delproblemer for at give et bedre overblik over projektet Opbygning af server applikation Server applikationen er den del, hvor kortspillenes logik skal foregå og virke som bindeled mellem de spillere, som deltager i et kortspil. For at en udvikler kan benytte frameworket til at implementere sine egne kortspil er det vigtigt at opbygningen af server applikationen er generisk og indeholder en række features og funktionalitet, som er gældende på tværs af mange multiplayer kortspiltyper. Derfor er det vigtigt, at server applikationen indeholder funktionalitet, sådan at klienter kan kommunikere med server applikationen, og at server applikationen kan kommunikere med klienter. Derudover skal server applikationen også kunne hente og gemme data fra tabeller i en tilknyttet database Klient til server kommunikations teknologi Kommunikationen mellem klient og server applikation er et vigtigt punkt i frameworket. Denne skal kunne understøtte, at mange spillere er tilsluttet samtidig og performance er i orden, derfor er det bla. vigtigt at 9

10 begrænse mængden af data, der sendes mellem server applikationen og klienterne. Valget af teknologi til at stå for dette skal tages ud fra performance i forbindelse med turbaseret kortspil, og at teknologien kan bruges i Silverlight men også af andre platforme i forbindelse med udvikling af alternative klienter Tynd klient Klienten skal være en såkaldt tynd klient*. Derfor skal der være ingen eller begrænset spillogik i klienten. Dette er også for at undgå manipulering med kortspillene. Eneste logik der skal være i klienten er til at vise grafiske ting for spilleren. Det er vigtigt, at det er en tynd klient i forbindelse med fremtiden og brug af klienter på andre platforme. F.eks mobiltelefoner som den kommende Windows Mobile 7 men også alternative klienter udviklet i f.eks javascript/jquery* og AJAX*. Klienten skal udvikles i Silverlight og vil blive hostet på et website, hvor den kan tilgås af spillerne Datasikkerhed En vigtig ting når vi beskæftiger os med multiplayer spil over Internettet er sikkerhed for at undgå snyd. Multiplayerspil mister hurtigt sin charme og troværdighed, når en eller flere spillere formår at snyde. Når vi snakker om kortspil, hvor spillet har aspekter, hvor der skal træffes beslutninger og vurderinger ud fra nogle kendte og ukendte informationer, er det vigtigt, at de ukendte informationer forbliver ukendte for alle spillere, sådan at alle spiller under samme forudsætninger. Derfor er det vigtigt at overveje hvilke forholdsregler, der kan tages, så man undgår, at følsomme informationer ryger i de forkertes hænder. Dette kan tildels undgåes ved f.eks. at kryptere de data, der ryger af sted mellem klienten og server applikationen og sørge for, at systemet er designet sådan, at en spillers informationer kun er sendt til netop denne spiller. En anden form for snyd, er hvis én eller flere spillere med vilje spiller sammen og udveksler informationer for at opnå en fordel over de andre spillere i spillet. At undgå denne form for snyd er svær og kræver et større administrationsapparat. Man kan dog prøve at begrænse det ved ikke at tillade at flere spiller fra samme ip adresse. 10

11 1.2 Afgrænsning af projektet Den oprindelige ide til frameworket og dermed det endelige system vil være et alt for omfattende projekt til at det kan løbe i eksamensprojektperioden. Derfor er projektets hovedvægt lagt på at designe frameworket herunder server applikationen inkl. kommunikationen mellem klient og server og Silverlight klienten, sådan at de er generiske, og at andre kortspilstyper kan implementeres i frameworket. Derfor vil jeg ikke lægge så stor vægt på bla. det grafiske design af Silverlight klienten, men i at den bedst ydende teknologi i forbindelse med kommunikation mellem server applikationen og klient er valgt, men mere at en teknologi der er passende for et webbaseret multiplayer turbaseret kortspil er valgt. Andre performance optimerings-muligheder som data caching* og lignende. Der forventes også at spillernes brug af Silverlight klienten i forbindelse med spil af kortspillet Tips følger spillets spillogik, da der ikke vil være lagt vægt på kontrol af spillernes opførsel i prototypen af Silverlight klienten. Derudover er frameworket også begrænset til kun at understøtte turbaseret kortspil med 2 eller flere spillere, der følger følgende struktur: Et kortspil indeholder et antal spilrunder og i hver spilrunde har de deltagene spillere deres tur. Når en spilrunde er afsluttet, starter en ny spilrunde, eller spillet afsluttes hvis det er sidste spilrunde. Udviklingen af frameworket under projektperioden vil derfor være et proof of concept af systemets design. Derfor vil det endelig resultat af projektet være en prototype af systemet, som er designet med henblik på videreudvikling. Hvilke krav der vil være til prototypen af systemet er defineret i kravspecifikationen. Publisering af systemet til en web server er kort forklaret i test afsnittet, men ikke noget der vil blive gået i dybden med. Dette indebære også opsætning af web server, IIS7 og SQL server. 11

12 1.2 Identifikation af use cases og aktører Udfra problemformuleringen kan jeg nærmere bestemme hvilke aktører der er for systemet samt definere use cases for den funktionalitet, der skal være. Aktører: Brugerne af systemet kan indeles i 2 overordnede grupper. 1. Udvikleren der ønsker at udvikle et kortspil vha. frameworket, og de features det tilbyder. 2. Spilleren der benytter Silverlight klienten til at spille kortspil mod andre spillere over Internettet. De 2 typer aktører benytter systemet på forskellige måder. De kan deles op i 2 overordnede grupper af use cases. Use case 1 er for udvikleren, der udvikler et multiplayer kortspil eller nye features i frameworket. Implements new features and games in server application Developer Use case 2 er for spilleren, der benytter Silverlight klienten til at spille kortspil mod andre spillere. Uses Silverlight client application Player Hver enkelt af disse 2 use cases kan præciseres i del use cases, som bliver beskrevet nærmere under kravspecifikationen i afsnit

13 1.3 Opbygning af rapporten Rapporten består af 7 hovedafsnit med ordliste, litteraturliste og bilag. 1. Introduktion 2. Kravspecifikation 3. Analyse 4. Design 5. Implementering 6. Test 7. Konklusion For bedst mulig forståelse af projektet, bør afsnittene læses fortløbende. Nedenunder er en kort forklaring af hver af de 7 hovedafsnit. 1. Introduktion: Her gives en præsentation af projektet med bla. problemformulering og afgræsning af projektet. Ydermere er projektplanlægningsemner som udviklingsmetode og tidsplan belyst. 2. Kravspecifikation: Her defineres kravene til systemet opdelt i krav og udvidet krav. Der er specifikke krav til Silverlight klienten og krav til den funktionalitet og de features, som frameworket skal tilbyde. Derudover er en række use cases defineret. 3. Analyse: I analyse afsnittet kommer jeg ind på hvilke overvejelser, jeg har gjort i forbindelse med udviklingen af systemet. Jeg afdækker bla. hvilke teknologier, der er mulige at bruge i forbindelse med kommunikationen mellem klienten og server applikation og en begrundelse for valg af en af disse teknologier. 4. Design: Her beskrives systemets design som helhed. Endvidere er der detaljeret beskrivelser af hvert lag i det overordnede 5-lags systemdesign. Hvilke klasser de forskellige lag indeholder, og hvad de bruges til. 5. Implementering: Her beskriver jeg, hvordan server applikationen, WCF servicen og Silverlight klienten er implementeret. 6. Test: I dette afsnit udfører jeg en funktionel test af Silverlight klienten med udgangspunkt i kortspillet Tips. 7. Konklusion: Her vurdere jeg resultatet af projektet samt diskuterer mulige forbedringer og udvidelser af frameworket. Bilag: Løbende i rapporten henvises til bilagene. Disse indeholder brugervejledninger, Tips spilleregler mm. 13

14 1.4 Udviklingsmetode Jeg vil udvikle systemet vha. programmeringssproget C# der benytter Microsoft.NET frameworket. Denne teknologi er valgt fremfor andre teknologier som Java, Ruby, C++ osv., da jeg blandt andet ønsker at stille et kortspils framework til rådighed for andre Microsoft.NET udviklere, men også fordi det er mit naturlige udviklingssprog, og heri har jeg et par års erfaring fra arbejdsmarkedet. Derudover er Silverlight udviklingsplatformen for Windows Phone 7 og derfor en teknologi jeg gerne vil have mere erfaring i. Som udviklingsværktøj benytter jeg Microsoft Visual Studio 2010 med Silverlight 4 SDK. Derudover gør jeg brug af en SQL Server 2005 Database. Jeg benytter en tilnærmet Rational Unified Process (RUP) som udviklingsprocess. RUP består af 4 faser: Inception Elaboration Construction Transition Hvilket er illustreret herunder: Figur UP dev. Cycle Inception: Indledende fase, hvor nøglekrav for projektet, projekt plan m.fl bliver bestemt. Elaboration: Indeholder den endelige analyse af projektet samt design af systemarkitekturen. Derudover er det på dette tidspunkt muligt at lave en realistisk vurdering af projektet. En udviklingsplan for hele projektet bør være defineret, inden der forsættes til næste fase. Construction: Fokus rettes mod implementering, og der gøres klar til første udgivelse af produktet. Transition: 14

15 Dette er sidste fase, hvor projektet går fra udvikling til produktion. Der udføres de sidste beta tests og kravene fra Inception fasen sammelignes med det endelige produkt. Figur UP phases and workflows 1.5 Tidsplan Projektet løber fra 10. Maj til 3. August 2010, hvor projektrapporten afleveres. Projektets varighed er 10 uger excl. 2 ugers ferie under projektforløbet. Projektperioden vil være opdelt i 6 faser. Planlægning, analyse, design, implementering, test og rapport. Rapporten vil dog blive udarbejdet løbende under de 5 andre faser. Figur Gantt chart af tidsplan. Se større version i bilag A 15

16 2. Kravspecifikation Kravspecifikationen er opdelt i krav og udvidede krav. Frameworket består af 2 dele. Server applikationen inkl. server til klient kommunikationen og klienten. Frameworket består af de features og funktionalitet, som gør det muligt at udvikle et webbaseret multiplayer kortspil. Klienten vil være en Silverlight applikation og den grafiske brugergrænseflade for spillerne. De udvidede krav er alle funktionalitet og features, der er nice to have men ikke nødvendige for at prototypen af frameworket er brugbar. Generelle krav K1.1. Webbasereret: Skal kunne spilles direkte i browseren, uden download af applikation udover Silverlight 4.0 browser plugin hvis ikke installeret på klient maskine. K1.2. Support på tværs af browsere: Understøtte de mest anvendte browsere: Internet Explorer, Mozilla Firefox, Google Chrome,Apple Safari, Opera. K1.3. Klienten skal understøtte skærmopløsning >=1024x768: Silverlight klienten skal understøtte skærmopløsninger ned til 1024x768 K1.4. Besøg og spil : Ingen configuration af klient maskine. Åbning af porte i klient maskine firewall mm. Siden med Silverlight klienten skal kunne besøges, og så er man klar til at spille. K1.5. Server opsætning: Hostes på webserver med II7 og ASP.NET 4.0 K1.6. Prototype af klienten: Det grafiske design af klienten skal være simpelt og klienten skal være let at bruge. Krav til server applikation Server applikationen incl. server til klient kommunikationen skal indholde en række funktionaliteter og features, der gør det muligt at udvikle sit eget kortspil, der kan spilles fra klienten. K2.1. Understøtte 4 klienter: Server applikationen skal kunne understøtte at op til minumum 4 klienter er forbundet. Hver klient skal have et unikt id, så beskeder mellem klienter og server applikationen sendes til den korrekte modtager. K kort standard kortspillogik: Server applikationen skal indeholder metoder til at blande kort, dele kort ud til et antal spillere og sammenligne to kort op mod hinanden. K2.3. Turbaseret spillogik: Afvikling af kortspilne skal være turbaseret. Spilleren udfører sin handling, og turen går så videre til næste spiller. K2.4. Understøtte n antal kortspilstyper af spillere op til 4 spillere: Server applikationen skal kunne understøtte kortspilstyper af op til 4 spillere. K2.5. Kortspilshistorik: Kortspil der er oprettet og igang skal løbende gemmes i databasen. K2.6. Datasikkerhed: Sikre at spillere ikke kan se personlig data for andre spillere. 16

17 Funktionelle krav til Silverlight klienten Prototypen af klienten vil indeholde en start side hvor spilleren kan vælge at deltage i et allerede oprettet kortspil eller oprette et nyt. Kortspillet vil være et allerede implementeret kortspil i frameworket. Når spillet starter skal brugeren kunne agere i forhold til dette kort spil. K3.1. Tilslut klienten til server applikation: Spilleren skal kunne tilslutte til server applikationen K3.2. Afbryd forbindelsen til server applikationen: Spilleren skal kunne afbryde forbindelsen til server applikationen. K3.3. Opret nyt kortspil: Spilleren skal kunne vælge at oprette et nyt kortspil, som andre spillere kan tilmelde sig. K3.4. Tilmeld eksisterende: Spilleren skal kunne vælge at deltage i et allerede oprettet kortspil med andre spillere. K3.5. Chat: Spilleren skal kunne chatte med de andre spillere, som er fundet til serveren K3.6. Spillerens kort: Spilleren skal kunne se sine kort, og de andre spilleres kort skal være skjult. K3.7. Spiller handlinger: Spillere skal kunne udføre specifikke handlinger defineret for det spillede kortspil. At spille et kort osv. K3.8: Spillede kort: Når en modstander spiller et kort, skal det vises for de andre spillere. K3.9. Kortspil løbenderesultat: Spilleren skal kunne se den nuværende stilling for de spillere, der deltager i kort spillet under spillets forløb. K3.10. Kortspil slutresultet: Spilleren skal kunne se en slutstilling for kortspillet, når spillet er færdig. Udvidede krav De udvidede krav til frameworket vil indeholde mulighed for at have flere spil og andre typer af kortspil kørende samtidig. Datahistorik og bedre datasikkerhed mm. U1.1. Understøtte n antal klienter: Server applikationen skal kunne understøtte at n antal klienter er forbundet. Hver klient skal have et unikt id, så beskeder mellem klienter og server applikationen sendes til den korrekte modtager. U1.2. Understøtte n antal spil samtidig: Skal kunne have flere spil af forskellige kortspilstyper kørende samtidig. U1.3. Chat i kortspillet. Spilleren skal have en chatmulighed, hvor der kun chattes med de spillere, som deltager i kortspillet. U1.4. Personlig chat: Spilleren skal kunne vælge om en chatbesked er personlig til en anden spiller. 17

18 U1.5. Spiller profiler: Spilleren skal kunne oprette en spillerprofil eller benytte en eksisterende. U1.6. Spilstatestik: Spilleren skal kunne se spilstatestik om sig selv og generel spillestatestik for alle spillede spil. U1.7. Data historik: Alle beskeder sendt mellem klient og server excl. chat beskeder skal gemmes i databasen. U1.8. Kryptering: Bedre datasikkerhed ved kryptering af følsomme data mellem klient og server samt i databasen. U1.9. Ip-adresse restriktion: Forebyg sammenspil ved at begrænse, at der kun kan være en klient per ip forbundet til serveren. U1.10. Out of browser support: Silverlight klienten skal kunne køre udenfor en browser. 18

19 2.1 Use cases Jeg har defineret 6 use cases ud fra kravene til prototypen af systemet, der dækker en række af de handlinger, som skal kunne udføres i Silverlight klient applikationen og som udvikler i frameworket. Use case ene for klient applikationen kunne godt samles i én, men jeg har valgt at dele dem op for at få et bedre overblik over funktionerne. Til hver use-case er der lavet en use case specifikation, use case diagram og systemsekvensdiagram. Systemsekvensdiagrammerne er lavet ud fra et solskinsscenarie, dvs. at alt, hvad der tastes ind i systemet, findes eller accepteres og derfor viser use case ene ikke, hvordan systemet reagerer ved fejl. Use case 1 og 2 omhandler brug af frameworket for udvikleren. Use case 3-6 er brug af Silverlight klienten for spilleren. I de valgte use cases er de primære aktører: Spilleren og udvikleren. Use case 1 Create new feature in framework Use case 2 Developer Create new multiplayer card game in framwork Connect / diconnect Use case 3 Send chat message Use case 4 Use case 5 Create / join game Player Use case 6 Game actions Figur Use cases 19

20 Use case 1 USE CASE 1 Implementere ny feature i frameworket Goal in Context Målet er at implementere ny feature i frameworket Preconditions De nødvendige værtøjer er til rådighed for udvikleren Success End Condition Udvikleren har implementeret en ny feature Failed End Condition Udvikleren er mislykket med implementeringen Actors Primær: Udvikler Trigger Udvikleren ønsker at implementere ny feature DESCRIPTION Step Action 1 Åben kortspils framework solution i VS Implementer ny feature i frameworket. 3 Test ny feature RELATED INFORMATION Priority Høj Performance Ubestemt Frequency Lav Use case 2 USE CASE 2 Implementere nyt kortspil i frameworket Goal in Context Målet er at implementere et nyt kortspil i frameworket Preconditions De nødvendige værktøjer er til rådighed for udvikleren Success End Condition Nyt kortspil implementeret Failed End Condition Udvikleren er mislykket med implementeringen af nyt kortspil i frameworket Actors Primær: Udvikler Trigger Udvikleren ønsker at implementere nyt kortspil DESCRIPTION Step Action 1 Åben kortspils framework solution i VS Implementer nyt kortspil i frameworket. 3 Test nyt kortspil RELATED INFORMATION Priority Høj Performance Ubestemt Frequency Meget lav 20

21 Use case 3 USE CASE 3 Goal in Context Preconditions Tilslutte til serveren via servicen. Målet er at tilslutte til serveren via servicen Web site med server applikation incl. servicen og Silverlight klient er tilgængelig Spilleren tilsluttes serveren via servicen Spilleren kan ikke tilslutte serveren via servicen Primær: Spiller Spilleren ønsker at spille kortspil Success End Condition Failed End Condition Actors Trigger DESCRIPTION Step Action 1 Gå til siden med Silverlight klienten 2 Indtast spillernavn 3 Klik Connect RELATED INFORMATION Priority Høj Performance Frequency Høj Mellem Use case 4 USE CASE 4 Sende chat besked Goal in Context Målet er at sende chat besked til de andre klienter der er tilsluttet serveren via servicen Preconditions Spilleren er tilsluttet serveren via servicen Success End Condition Spillerens chat besked modtages af alle klienter tilsluttet serveren via servicen. Failed End Condition Spillerens chat besked modtages ikke Actors Primær: Spiller Trigger Spilleren ønsker at sende en chat besked DESCRIPTION Step Action 1 Indtast tekst i chat input feltet 2 Tryk på enter-tasten 3 Beskeden sendes til de andre klienter der er tilsluttet serveren via servicen. RELATED INFORMATION Use case 3 Priority Høj Performance Høj Frequency Høj 21

22 Use case 5 USE CASE 5 Oprette nyt kortspil på serveren eller tilmelde sig eksisterende Goal in Context Målet er at oprette et nyt kortspil på serveren eller tilmelde sig et eksisterende. Preconditions Spilleren er tilsuttet serveren via servicen Success End Condition Spiller har oprettet nyt kortspil eller tilmelder sig eksisterende Failed End Condition Spiller kan hverken oprette nyt kortspil eller tilmelde sig eksisterende Actors Primær: Spiller Trigger Spilleren ønsker at spille kortspil DESCRIPTION Step Action 1 Spilleren klikker på opret kortspil eller tilmeld eksisterende kortspil knappen. 2 Spilleren bliver automatisk tilmeldt et spil hvis spiller vælger at oprette nyt kortspil, ellers bliver spiller tilmeldt eksisterene kortspil 3 Hvis alle spillere har tilmeldt sig kortspil, startes dette. RELATED INFORMATION Use case 3 Priority Høj Performance Høj Frequency Høj Use case 6 USE CASE 6 Udføre kortspils relaterede handlinger Goal in Context Målet er at udføre kortspils relaterede handlinger i klienten såsom at vælge antal stik og spille kort. Preconditions Et korspil er igang, og det er spillerens tur Success End Condition Spilleren vælger et antal stik eller kort spilleren vil spille Failed End Condition Spilleren kan hverken vælge stik eller spille kort, selvom det er spillerens tur Actors Primær: Spiller Trigger Et spil er startet DESCRIPTION Step Action 1 Spiller vælger kort der skal spilles og klikker på dette. 2 Besked sendes til de andre spillere i kortspillet, at denne spiller har spillet dette kort. RELATED INFORMATION Use-case 5 Priority Høj Performance Høj Frequency Høj 22

23 2.2 Risikoplan Implementeringen vil være et proof of concept* af frameworket og vil være den første version af systemet. Alle krav her er af høj priotet og vekslende risiko, da de er mere eller mindre nødvendige for at frameworket er brugbart, og et multiplayer kortspil kan spilles igennem klienten. De udvidede krav er alle features og funktionaliteter, der er nice to have og ikke yderst nødvendige for at frameworket er brugbart. Her er prioteringen af kravene middel og lav, men med vekslende risiko. I det følgende vil jeg liste disse krav startende med de væsentligste: Høj: Support på tværs af browsere Besøg og spil Kortspilhistorik Datasikkerhed Opret nyt kortspil, tilmeld eksisterende kortspil Spillerens kort, spiller handlinger, spillede kort Kortspilresultater Chat Høj (risiko): Server opsætning Webbaseret Understøtte 4 klienter Understøtte n antal kortspilstyper af spillere op til 4 52 kort standard kortspillogik Turbaseret spillogik Mellem: Chat i kortspil og personlig chat Kryptering af data Ip-adresse restriktion Mellem (risiko): Understøtte n antal spil samtidig Understøtte n antal klienter Spillerprofiler Lav: Datahistorik Spilstatestik Lav (risiko): Out of browser support* 23

24 3. Analyse I analysefasen vil jeg gennemgå de forskellige problemstillinger i udviklingen af frameworket indeholdende server til klient kommunikationen, web server applikationen samt Silverlight klienten. Frameworket vil blive udviklet med henklik på at skulle kunne videreudvikles samt udvides med flere forskellige typer af kortspil. Prototypen af frameworket som udvikles i forbindelse med projektet vil dog koncentrere sig om at understøtte en enkelt type af et kortspil. Kortspillet der implementeres hedder Tips. Spilleregler for Tips kan ses i bilag B Tips spilleregler. 3.1 Valg af klient til server kommunikation En af de essentielle dele i frameworket er at beslutte hvilken teknologi, der skal bruges til at stå for kommunikationen mellem klienten og serveren og derfor bedst at have på plads, inden server applikationen skal bygges. Der er flere forskellige løsninger, der kan bruges, og de kan i grove træk deles op i 2 hovedgrupper: Sockets og services. Jeg vil her prøve at beskrive fordele og ulemper ved de forskellige løsninger og vurdere, hvilken der er passende for at opnå det ønskede resultat i forbindelse med mit projekt Sockets Én TCP socket* er en adgang for kommunikationen mellem et socket par. Én socket består af en ip-adresse og en port, og en socket defineres som enten server- eller klient socket. Fordelen ved at bruge sockets til kommunkationen mellem klienten og serveren er performance og ville være et oplagt valg, hvis man skal skulle udvikle et fast pased multiplayer netværksspil som shooters, fighting eller racing spil. Typer spil hvor et vigtigt element er, at data mellem klienten og serveren sendes frem og tilbage med så lille forsinkelse som muligt. Ulemper med sockets er en mere krævende implementering samt configuration (åbning af porte i firewall mm.) af klient maskinen. En nyere teknologi inden for sockets er websockets. Websockets blev introduceret med HTML5 og betegnes som fremtidens teknologi for web løsninger med en server, der har n antal klienter tilsluttet. Fordelene ved websockets er de samme som ved tcp sockets. Der er god ydeevne, og det er skalerbart. Ulemperne er blandt andet den forholdsvis nye teknologi og manglende understøttelse af HTML5 i de mest gængse browsere [2]. På nuværende tidspunkt er det kun Google Chromes og Safaris layout engine Webkit, der fuldt ud understøtter HTML5 websockets teknologien. Når Internet Explorer, Mozilla Firefox og Operas layout engines Trident, Presto og Gecko kommer med er websockets et åbentlyst valg til server til klient kommunikation for platform og browser uafhængige internetbaseret web applikationer. Mere information om fordelene ved HTML websocket teknologien er beskrevet i denne artikel [3]: HTML5 Web Sockets: A Quantum Leap in Scalability for the Web. 24

25 3.1.2 WCF full duplex service Jeg har valgt at benytte en WCF full duplex service til kommunikationen mellem Silverlight klienten og web server applikationen. Da det er et turbaseret kortspil, jeg udvikler, og servicen skal understøtte at minimum 4 klienter er tilsluttet. Samtidig er performance ikke det vigtigste, og derfor vejede fordelene ved WCF full duplex servicen i Silverlight 4 højest efter især at HTTP long polling protokollen [4], som bliver brugt med Silverlight 4 understøtter MultipleMessagesPerPoll [5] indstillingen fremfor tidligere kun at understøtte SingleMessagePerPoll. MultipleMessagesPerPoll indstillingen gør det muligt for serveren at sende flere meddelser tilbage til klienten ved at bruge et enkelt HTTP long poll response fremfor SingleMessagePerPoll, hvor der kun kan sendes en enkelt meddelse tilbage til klienten per HTTP long poll. Denne nye indstilling kan forbedre performance dramatisk for kommunikationen mellem klienten og WCF full duplex servicen. Ved brug af en Silverlight enabled WCF Full duplex service bruger man oftest en af disse 2 bindinger. PollingDuplexHttpBinding og NetTcpBinding. De 2 bindinger har hver deres fordele og ulemper. Generelt er NetTcpBinding noget hurtigere end PollingDuplexHttpBinding, men efter den tidligere omtalte MultipleMessagesPerPoll feature i SilverLight 4 er forskellen ikke så markant mere [6]. Det opvejer ikke de begrænsninger, der er med NetTcpBindingen så som at den er begrænset til at sende data over TCP porte mellem Det betyder, at bindingen ikke er optimal til brug over internettet men i stedet i brug på intranet, da det kræver mulighed for konfiguration af firewalls, da der skal åbnes porte. Det samme problem som man løber ind i ved brug af sockets. NetTcpBindingen understøtter heller ikke SSL* sikkerhed. Da det er en WCF full duplex service, der skal virke over internettet og ikke kræver konfiguration hos klienten er PollingDuplexHttpBinding et oplagt valg, og den understøtter både http og https. Man kunne dog overveje at tilbyde både NetTcpBinding og PollingDuplexHttpBinding og på den måde lade Silverlight klient applikationen vælge ved først at prøve at forbinde med Net.Tcp, og hvis det lykkes brug Net.Tcp ellers brug PollingDuplexHttpBinding. Da dette system er til brug over Internettet, vil jeg kun benytte PollingDuplexHttpBinding [7]. Begge bindingstyper understøtter BinaryMessageEncoding fremfor TextMessageEncoding som WSDualHttpBinding bruger. Jeg har lavet en lille konsol applikation, hvor jeg har testet de 2 typer af encoding ved at serialisere et custom objekt med TextMessageEncoding og BinaryMessageEncoding. BinaryMessageEncoding giver en forbedring på ca. 50%, som det kan ses på nedenstående billede. 25

26 Figur Test af Binary- og TextMessageEncoding Eftersom jeg er kommet frem til, at jeg vil benytte en Silverlight enabled WCF full duplex service til kommunikationen mellem Silverlight klienten og web server applikationen, giver nedestående diagram et godt billede på, hvordan systemet vil se ud. Figur Systemets opsætning 26

27 3.2 Opbygning af server applikationen Server applikationen er kernen i systemet, og det er her, spillogikken skal foregå. Den skal kunne afvikle kortspillene. Sende og modtage beskeder til og fra klienten samt kunne foretage CRUD* operationer i de tilknyttede database tabeller. Server applikationen vil blive implementeret som et ASP.NET Web application projekt, som også vil indeholde WCF servicen. Ud fra de beskeder som bliver sendt og modtaget imellem server applikationen og klienten, skal det afgøres hvilken type besked, det er, deraf agere ud fra dette. Dvs. når en besked modtages fra en klient, så vuderes der hvilken type besked det er, og dernæst sendes den videre i server applikationen. Hvis det f.eks. er en besked relateret til et kortspil, så vil den ryge til klassen der styrer spillogikken for denne kortspilstype. Det vil også være i ASP.NET Web application projektet, at Silverlight applikationen vil blive hostet. Til at udføre CRUD operationer vil jeg lave et klassebibliotek indeholdende klasser for hver type i databasen. I disse klasser vil jeg have metoder til at oprette data, opdatere data, hente data og evt. slette data. Dette klassebibliotek vil fungere som et forretningslag med facade til databasen og adskiller dermed databasen fra server applikationen, sådan at alt kommunikation til databasen foregår igennem dette lag. Denne assembly vil blive refereret i server applikation projektet. 3.3 Silverlight klienten Silverlight klienten udvikles som tidligere nævnt som en tynd klient. Dvs. jeg vil prøve at lægge sig meget logik og beregninger i server applikationen, sådan at det hovedsagligt kun er logik til de grafiske ting. Ud fra det mock-up af prototypen af klienten fra krav K1.6 i kravspecifikationen kan klienten deles op i 3 dele. Se nedenstående billede hvor jeg har makeret de 3 dele. Main, Chat, Game. Figur Prototype af Silverlight klienten med de forskellige dele markeret. 27

28 3.3.1 Main Vi har selve main applikationen, som skal indeholde et input felt med en knap til at tilslutte og afbryde forbindelsen til WCF servicen. Derudover har vi en knap til at oprette et nyt kort spil eller tilmelde sig et eksisterende kort spil. Det er også her i main klassen at configurationen til WCF servicen bliver sat op. Så det er her, der bliver lyttet om der bliver sendt beskeder fra serveren via WCF servicen til klienten, og her hvor beskeder fra klienten til serveren bliver sendt fra. Når der modtages en besked fra serveren, vurderer main-klassen hvilken type besked, det er, og ud fra dette bliver beskeden så sendt til enten chat klassen, game klassen eller begge. Main klassen skal have følgende funktionalitet: Funktion til at sende beskeder til WCF servicen Funktion til at modtage beskeder fra WCF servicen Funktion til at tilslutte til WCF servicen med det angivne spillernavn Funktion til at afbryde forbindelsen til WCF servicen. Funktion til at oprette nyt kortspil Funktion til at tilmelde sig eksisterende kortspil Chat I venstre side har vi et chat område, som skal bruges til at vise beskeder, der er sendt fra server applikationen via WCF servicen samt muligheden for, at klienter kan chatte med hinanden. Chat skal have følgende funktionalitet: Funktion til at modtage service- og chatbeskeder og vise disse. Funktion til at sende chatbeskeder Game Den sidste del er selve spilleområdet som vil være specifik for de enkelte typer af kortspil. I denne prototype af systemet vil det kun være spillet Tips, som er tilgængeligt, derfor bliver dette område bygget op, så det passer til denne type kortspil, men klienten bliver lavet sådan, at denne kan udskiftes alt efter hvilke type kortspil, der skal spilles. Der skal her være en kontrol til at vise de spilbeskeder, der bliver sendt mellem klienter, der deltager i spillet og serveren. Derudover skal spillerens spiller kort vises samt et område hvor de andre spilleres kort bliver vist, når der bliver spillet. Der skal være mulighed for at vælge antal forventede stik samt nuværende antal stik for spillerunden, og der skal være en kontrol, der viser stillingen for kortspillet. Spilleområdet for kortspillet Tips skal have følgende funktionalitet: Funktioner til at modtage forskellige typer af spilbeskeder fra WCF servicen. Funktioner til at sende forskellige typer af spilbeskeder til WCF servicen. Funktioner til at vise spilinformationer i klienten. Funktion til at vælge antal stik. 28

29 Funktion til at spille et kort. Funktion til at opdatere resultattavle 3.4 Datasikkerhed Datasikkerhed er yderst vigtigt for at forhindre snyd og dermed sikre spillets troværdighed. Datasikkerhed kan bestå af mange ting, men helt grundlæggende handler det om at sikre, at data ikke er tilgængelig for andre end dem, der skal se det. Jeg sørger for at sikre, at de data der bliver sendt fra klienten til serveren og fra serveren til klienten er under kontrol. Det gøres ved at holde styr på de klienter der er tilsluttet og sørge for at de data, der sendes fra serveren og ud til klienterne rammer den klient, de er tiltænkt, hvis det er spildata specifikt for denne klient. En anden mulighed kunne være at forbindelsen mellem klienten og server kunne køre over en krypteret forbindelse (SSL). Desværre har jeg ikke mulighed for at efterprøve dette, da jeg ikke har en web server tilrådighed med SSL certifikat. Man kunne også indføre sin egen kryptering af data ved at lægge krypterede data, når der sendes fra klient til serveren over WCF servicen. Her bliver data så dekrypteret og arbejdet med. Når serveren så sender data tilbage til klienten, så krypteres de også her og dekrypteres, når klienten modtager dem. Data der sendes og kun er tiltænkt den klient, der modtager dem kunne være krypteret med en unik nøgle, som kun denne klient kender til. Kryptering af data kunne også foregå ved de data, der gemmes i databasen. Her kunne man lægge kryptering på datalaget sådan at når data bliver gemt i databasen krypteres de, og når data hentes fra databasen dekrypterer man dem. Kryptering af data er ikke noget som vil være en del af prototypen af frameworket, men er et udvidet krav og helt sikkert en feature der kunne tilføjes senere. 29

30 4. Design Projektet består som nævnt af én server applikation med en WCF full duplex service, der sørger for kommunikationen mellem server og klient og en Silverlight klient applikation. Derudover er systemet tilknyttet en database. Systemet er bygget på en 5-lags arkitektur. Fordelen ved at have en flerlags arkitektur er, at man så en del lettere kan udskifte en del af systemet eller have forskellige leverandøre af de forskellige dele af systemet. Jeg vil i de følgende afsnit beskrive systemet som en helhed og de enkelte lag mere detaljeret. De objekter der sendes over WCF full duplex servicen og bruges i Silverlight klienten og server applikationen, bliver fremover kaldt beskeder. Når der refereres til WCF full duplex servicen, sker det bare ved servicen. 4.1 System design Systemets design kan deles op i 5 lag. Jeg vil her kort beskrive hver enkelt lag fra bunden og op og senere give en mere deltajeret beskrivelse af hvert lag. Presentation layer Service layer Application layer Business logic layer Data layer Data layer som indeholder databasen. Business logic layer som indeholder klasser til at håndtere data til og fra Data Layer, og videresende dem til Application layer. Til kommunikation med databasen benytter jeg LINQ*. Application layer som indeholder spillogikken og den nødvendige funktionalitet og features, der gør frameworket brugbart for multiplayer kortspil. Service layer som indeholder WCF servicen. Dette lag sørger for kommunikationen mellem klienten og server applikationen. Presentation layer som indeholder Silverlight klienten. Dette er den grafiske brugergrænseflade for spillerne. Man kan diskutere om servicelaget og applikationslaget kunne være samme lag, og jeg kan heller ikke se nogle problemer i at det var, da WCF servicen er en del af server applikationen. Jeg har dog valgt at dele 30

31 dem op med henblik på at give et bedre overblik over de forskellige dele af systemet samt at designet lægger op til, at man evt. i fremtiden kan indføre en anden teknologi til kommunikation mellem Silverlight klienten (præsentationslaget) og server applikationen (applikationslaget). F.eks. brug af websockets i HTML Data layer Ofte har man et data access layer i datalaget som led mellem databasen og business logic layer, men da jeg bruger LINQ til kommunikation med databasen, er det overflødigt, da LINQ forenkler databasetilgangen. Jeg benytter LINQ, da det er den teknologi, jeg er mest erfaren i. Der kunne også være brugt f.eks. Entity Framework* eller NHibernate*. Database skemaet er designet i projektets start, men er løbende blev udvidet og ændret til at understøtte systemet bedst muligt. Det endelige databasediagram er beskrevet og kan ses i næste afsnit Databasediagram Det endelige databasedesign for prototypen af systemet kan ses på nedenstående diagram. Databasen består af 7 tabeller og er alle prefixet med CardGame_. Jeg vil i det følgende beskrive hver enkelt tabel og hvad den bruges til. Der henvises til tabellen ved navnet uden prefixet. Generelt for alle tabeller indeholder de en DateCreated og DateUpdated kolonne af typen datetime. Disse felter bliver opdateret hver gang en ny række oprettes i tabellen, eller en eksisterende række opdateres. Dette kan bruges til datahistorik således at man altid kan gå tilbage og se, hvornår data er blevet skrevet i database tabellen. De eneste to tabeller, jeg har valgt, der ikke skal have de to felter er GameStatus og 31

32 GameType, da de kun indeholder statisk data, og der kun er READ metoder til de to tabeller i BLL en. Hvis der skal tilføjes en ny GameStatus elle GameType, gøres det direkte i databasen. Game: Denne tabel repræsenterer et kortspil og er sammen med Player tabellen den mest centrale tabel i systemet. Game tabellen har fremmednøgler til GameStatus og GameType. Player: Denne tabel repræsenterer en spiller. En vigtig kolonne på denne tabel er ClientSessionId, som er det Id som WCF servicen tildeler klienten, når den tilslutter til servicen. Dette id bruger WCF servicen til at holde styr på hvilke klienter, der er tilsluttet og dermed sende beskeder ud til den rigtige klient. Game_Player: Denne tabel kæder spilleren fra Player tabellen og kortspillet fra Game tabellen sammen og har dermed fremmednøgler til disse to tabeller. For prototypen af systemet kunne Game_Player og Player tabellen egentlig godt være én tabel, men da databasedesignet er tiltænkt i fremtiden at kunne understøtte bla. spillerprofiler, hvor en spiller kan oprette sig med brugernavn og password er disse to adskilte. Derudover indeholder tabellen også en kolonne til spillerens position i kortspillet samt spillerens point. GameRound: Denne tabel repræsenterer en spillerunde i et kortspil. Oftest består et kortspil af et antal spillerunder. Tabellen indeholder en fremmednøgle til Game tabellen og kolonner til at definere rundenummer, hvilken spiller der starter runden, hvilken spillers tur det er i runden, samt en status for runden. GameRound_Player: Denne tabel kæder spillerunden fra GameRound tabellen sammen med spilleren fra Player tabellen og har dermed fremmednøgler til disse to tabeller. Derudover indeholder tabellen kolonner til at gemme og opdatere spillerens delte kort, spillede kort, vundne kort, forventede stik, vundne stik og spillerens point for spillerunden. Altså holder tabellen styr på data omkring spillerunden for spilleren. GameStatus: Denne tabel indeholder statiskdata som er forskellige typer af spilstatusser for et kortspil. GameType: Denne tabel indeholder de forskellige kortspilstyper, som systemet understøtter. Her er en kolonne til navnet på kortspillet og antal spillere til kortspillet. I prototypen af systemet har vi kun en kortspiltype, hvilket er Tips med 4 spillere. Players kolonne er tiltænkt for, at der i fremtiden kan understøttes kortspilstyper med et andet antal spillere. 32

33 4.3 Business logic layer Dette lag står for håndteringen af data mellem datalaget og applikationslaget. Som tidligere nævnt benytter jeg LINQ [8] til kommunikationen til databasen. Da LINQ arbejder med objekttyper bruges LINQ to SQL classes til at mappe data fra den relationelle database fra datalaget over i objekttyper. Der generes en dbml fil ud fra de tabeller fra databasen, man angiver, og den laver så dataklasser, der svarer til tabellerne fra databasen samt en DataContext klasse (CardGameDataClassesDataContext) der bruges, når der skal udføres forespørgelser på databasen. Her bruges LINQ to SQL. Figur Klassediagram af LINQ dataklasserne Ovenstående er et diagram af dataklasserne genereret af LINQ som er mappingen mellem tabellerne i databasen til C# klasser. Som det kan ses ligner klassediagrammet meget databasediagrammet. Der er en klasse for hver tabel i databasen. Alle disse klasser kan kun tilgåes af DataContext klassen, som indeholder en masse metoder til at indsætte, slette og opdatere data i tabellerne. Hver dataklasse som er genereret af LINQ, har jeg sat som internal, så den ikke er eksponeret uden for denne assembly. F.eks i applikationslaget hvor denne assembly bliver referet og brugt. Ideen med Business logic layer er at have et lag mellem datalaget og applikationslaget der styrer forretningslogikken. Logikken er delt ind i forskellige klasser, der er navngivet efter tabellerne i databasen. Dvs. der er én klasse for hver tabel i databasen, og det er de her klasser, der arbejdes med i applikationslaget. Alle BLL klasserne er relateret til et kortspil og indeholder data om en bestemt del af kortspillet. Derudover indeholder klasserne statiske metoder til at oprette og hente data ud fra forskellige parametre. De statiske metoder retunerer oftest et objekt af typen af den klasse som det statiske kald 33

34 bliver lavet på. Klasserne indeholder også én metode til at opdatere eksisterende data. Dette gøres ved at kalde en Update() metode på en instans af klassen. Eksempel hvor vi gerne vil opdatere navnet på en spiller: Vi har Player klassen med den statiske metode GetPlayer(Guid playerid) og metoden Update(). De retunerer begge et playerobjekt. public static Player GetPlayer(Guid playerid) { CardGameDataClassesDataContext db = new CardGameDataClassesDataContext(); return (from p in db.cardgame_players where p.id.equals(playerid) select new Player(p)).FirstOrDefault(); } Vi laver først en ny instans af DataContext klassen der repræsentere databasen. Herefter bruges LINQ to SQL til at hente et playerobjekt ud fra playerid et. LINQ oversætter selv dette til en SQL forespørgsel og det er først i det øjeblik, man laver et af de mange kald til at hente data, at SQL forespørgslen bliver udført på SQL serveren. I dette tilfælde benyttes FirstOrDefault, og det er primært dette type kald og ToList() jeg vil bruge i BLL klasserne. public void Update() { CardGameDataClassesDataContext db = new CardGameDataClassesDataContext(); CardGame_Player dalplayer = db.cardgame_players.first(p => p.id == this.id); dalplayer.name = Name; dalplayer.dateupdated = DateTime.Now; db.submitchanges(); LoadObjectProperties(dalPlayer); } Her laver vi også en ny instans af DataContext klassen, men derefter laver vi et CardGame_Player objekt. Dette er den dataklasse som LINQ har genereret ud fra dbml filen, som er nævnt tidligere. Dette objekt bliver sat lige med resultatet af et kald på CardGame_Player tabellen. Vi kan nu opdatere dette objekt og efterfølgende kalde metoden SubmitChanges() på datacontext objektet db, som sørger for at opdatere databasen. LoadObjectProperties sørger for at opdatere det playerobjekt, vi arbejder på. Vi har nu de nødvendig metoder og kan derfor opdatere navnet for en spiller. Player player = Player.GetPlayer(playerId); player.name = "nyt navn"; player.update(); Som det ses her, laver vi et nyt playerobjekt. Metoden GetPlayer(Guid playerid) på Player retunerer et playerobjekt ud fra den data, der findes for playerid et i databasen. Vi sætter name propertien på playerobjektet til nyt navn og kalder Update() metoden på playerobjektet, som sørger for at data opdateres i databasen. 34

2. Systemarkitektur... 2

2. Systemarkitektur... 2 Indholdsfortegnelse 2. Systemarkitektur... 2 2.1 Præsentationsserverarkitektur... 3 2.2 Applikationsserverarkitektur... 7 Version 7.0 Side 1 af 7 5. Systemarkitektur Arkitekturen for Nyt BBR bygger på

Læs mere

LUDUS WEB. Installations- og konfigurations-vejledning. Den 7. april 2009. J.nr.: 4004 V0624 09

LUDUS WEB. Installations- og konfigurations-vejledning. Den 7. april 2009. J.nr.: 4004 V0624 09 LUDUS WEB Installations- og konfigurations-vejledning Den 7. april 2009 J.nr.: 4004 V0624 09 CSC Scandihealth A/S, P.O. Pedersens Vej 2, DK-8200 Århus N Tlf. +45 3614 4000, fax +45 3614 7324, www.scandihealth.dk,

Læs mere

Arkitektur for begyndere

Arkitektur for begyndere Denne guide er oprindeligt udgivet på Eksperten.dk Arkitektur for begyndere Denne artikel beskriver forskellige basale n-tier arkitekturer. Som man bør kende og have valgt inden man går igang med at udvikle

Læs mere

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

Hassansalem.dk/delpin User: admin Pass: admin BACKEND Hassansalem.dk/delpin User: admin Pass: admin BACKEND 1/10 Indledning Dette projekt er den afsluttende del af web udvikling studiet på Erhvervs Lillebælt 1. semester. Projektet er udarbejdet med Del-pin

Læs mere

Internet Information Services (IIS)

Internet Information Services (IIS) Internet Information Services (IIS) Casper Simonsen & Yulia Sadovskaya H1we080113 06-11-2013 Indholdsfortegnelse Problemformulering... 2 Hvorfor:... 2 Hvad:... 2 Hvordan:... 2 Problembehandling... 3 Introduktion...

Læs mere

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Installation og Drift. Aplanner for Windows Systemer Version 8.15 Installation og Drift Aplanner for Windows Systemer Version 8.15 Aplanner for Windows løsninger Tekniske forudsætninger Krav vedr. SQL Server SQL Server: SQL Server 2008 Express, SQL Server 2008 R2 eller

Læs mere

Installation og Drift. Aplanner for Windows Systemer Version 8.15.12

Installation og Drift. Aplanner for Windows Systemer Version 8.15.12 Installation og Drift Aplanner for Windows Systemer Version 8.15.12 Aplanner for Windows løsninger Anbefalet driftsopsætning Cloud løsning med database hos PlanAHead Alle brugere, der administrer vagtplaner

Læs mere

EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø

EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø EG Data Inform Byggebasen WCF og webservices Jens Karsø 10 Indholdsfortegnelse Byggebasen Services indledning... 2 Målsætning... 2 Valg af teknologier... 3 Kommunikationsmodel for byggebasen... 3 Services.byggebasen.dk...

Læs mere

LUDUS Web Installations- og konfigurationsvejledning

LUDUS Web Installations- og konfigurationsvejledning LUDUS Web Installations- og konfigurationsvejledning Indhold LUDUS Web Installations- og konfigurationsvejledning... 1 1. Forudsætninger... 2 2. Installation... 3 3. Konfiguration... 9 3.1 LUDUS Databasekonfiguration...

Læs mere

Oktober 2013 HLG/XIGA. Opstartsvejledning ATS Engros 1/12

Oktober 2013 HLG/XIGA. Opstartsvejledning ATS Engros 1/12 Oktober 2013 HLG/XIGA Opstartsvejledning ATS Engros 1/12 1. ATS Engros vejledning for aktører Formålet med dette dokument er at beskrive, hvordan du kommer i gang med at anvende ATS til test af certifikat

Læs mere

Opsætning af Outlook til Hosted Exchange 2003

Opsætning af Outlook til Hosted Exchange 2003 Opsætning af Outlook til Hosted Exchange 2003 Sådan opsættes Outlook 2007 til Hosted Exchange 2003 Opdateret 15. november 2011 Indhold 1 Indledning... 2 2 Opsætning af Outlook 2003... Error! Bookmark not

Læs mere

UPLOAD. Af Database og Website til Skolens Server

UPLOAD. Af Database og Website til Skolens Server UPLOAD Af Database og Website til Skolens Server INDHOLDSFORTEGNELSE Fra projekt til server... 3 Overførsel af SQL Database... 3 Eksekvering af T SQL Script... 8 Modificering af Visual Studio Projekt...

Læs mere

Navision Stat (NS 9.2)

Navision Stat (NS 9.2) Side 1 af 7 Navision Stat 9.1.002 (NS 9.2) ØSY/NS/RASEG Dato 21.06.2018 Installationsvejledning til NS Web API Invoker Overblik Introduktion Installationsvejledningen beskriver, hvordan man installerer

Læs mere

MANUAL. Præsentation af Temperaturloggerdata. Version 2.0

MANUAL. Præsentation af Temperaturloggerdata. Version 2.0 MANUAL Præsentation af Temperaturloggerdata Version 2.0 Indholdsfortegnelse FORORD...3 INTRODUKTION...3 KRAV OG FORUDSÆTNINGER...3 INSTALLATION...4 OPSÆTNING...8 PROGRAMOVERBLIK...10 PROGRAMKØRSEL...11

Læs mere

Opstartsvejledning ATS aktørudgave

Opstartsvejledning ATS aktørudgave Opstartsvejledning ATS aktørudgave 7. september 2012 XHLG/NLJ 1/13 1. ATS vejledning for aktører Formålet med dette dokument er at beskrive, hvordan I kommer i gang med at anvende ATS til test af certifikat

Læs mere

Database for udviklere. Jan Lund Madsen PBS10107

Database for udviklere. Jan Lund Madsen PBS10107 Database for udviklere Jan Lund Madsen PBS10107 Indhold LINQ... 3 LINQ to SQL og Arkitektur... 3 O/R designere... 5 LINQ Den store introduktion med.net 3.5 er uden tvivl LINQ(udtales link): Language-INtegrated

Læs mere

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre... 9 Offline synkronisering... 11 Klienter til mobile enheder...

Læs mere

Systemair Connect. Opsætning

Systemair Connect. Opsætning Systemair Connect Opsætning Opsætning af Systemair Connect Denne vejledning er lavet for at hjælpe dig i gang med opsætningen af Systemair Connect. Du kan bl.a. læse om, hvordan du opbygger en understruktur

Læs mere

LUDUS Web Installations- og konfigurationsvejledning

LUDUS Web Installations- og konfigurationsvejledning LUDUS Web Installations- og konfigurationsvejledning Indhold LUDUS Web Installations- og konfigurationsvejledning... 1 1. Forudsætninger... 2 2. Installation... 3 3. Konfiguration... 8 3.1 LUDUS Databasekonfiguration...

Læs mere

Opdatering af ISOWARE til version 6.1.0

Opdatering af ISOWARE til version 6.1.0 Opdatering af ISOWARE til version 6.1.0 September 2015 Indhold Kontaktoplysninger... 1 VIGTIGT... 2 Opdatering af trejdepartssoftware... 2 Opdatering til version 6.1.0.... 2 1. Backup af databasen... 3

Læs mere

Installation af Elektronisk APV på flere PC er

Installation af Elektronisk APV på flere PC er Installation af Elektronisk APV på flere PC er Vejledning til installation af Elektronisk APV, når programmet skal installeres på flere PC er, der kobler sig op på en fælles server. 1 Installation af Elektronisk

Læs mere

Web-baseret metadata redigeringsmodul

Web-baseret metadata redigeringsmodul Kravspecifikation Geodata Danmark Geodatacentret I/S Energivej 3 4180 Sorø Tlf. 5786 0400 Fax. 5786 0414 GIS Danmark A/S Birkemosevej 7 6000 Kolding Tlf. 7399 1100 Fax. 7399 11199 Web www.geodata.dk Web-baseret

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Small Business Server 2011 SSL certifikat administration Følgende vejledning beskriver hvordan man installere et certifikat på en SBS 2011 server. Ved bestilling af certifikater til Small Business Server

Læs mere

Vejledning til Teknisk opsætning

Vejledning til Teknisk opsætning Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Jan-juni 2016 Institution UCH/ Handelsskolen Uddannelse Fag og niveau Lærer(e) Hold EUX Business IT B Lars

Læs mere

Installation af Bilinfo på Windows

Installation af Bilinfo på Windows Installation af Bilinfo på Windows Eksempler i denne vejledning er taget fra Windows 7 og Internet Explorer 8 Download det nødvendige program. Gå ind på www.bilinfo.dk/download Klik på download ud for:

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Microsoft IIS 6 Certifikat administration Følgende vejledning beskriver hvordan man installere et certifikat på en IIS 6 For support og hjælp til anvendelsen af denne vejledning kan du kontakte FairSSL

Læs mere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere

Integrationsmanual. Anvendelse af webservice til kursusoversigt i Campus. Brugervejledning til udviklere Integrationsmanual Anvendelse af webservice til kursusoversigt i Campus Brugervejledning til udviklere Moderniseringsstyrelsen Webservice manual til udviklere 2016 1 1. Indholdsfortegnelse Nyt kapitel

Læs mere

Assignment #5 Toolbox Contract

Assignment #5 Toolbox Contract Assignment #5 Toolbox Contract Created by: René Kragh Trine Randløv E mail address cph rk70@cphbusiness.dk 23 11 2014 1 Introduktion Dette dokument indeholder en vertikal kontrakt for et system som skal

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Small Business Server 2008 SSL certifikat administration Følgende vejledning beskriver hvordan man installere et certifikat på en SBS 2008 server. Ved bestilling af certifikater til Small Business Server

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Small Business Server 2003 Certifikat administration Følgende vejledning beskriver hvordan man vælger hvilke adresser der skal være i ens SBS 2003 SSL certifikat. For support og hjælp til anvendelsen af

Læs mere

10. Rapporter i BBR... 2

10. Rapporter i BBR... 2 Indholdsfortegnelse 10. Rapporter i BBR... 2 10.1 Reporting Services arkitektur...2 10.2 Reporting Services i Nyt BBR...3 10.3 Faste BBR rapporter...4 10.4 Selvgenerede BBR rapporter...5 10.5 BBR-Meddelelser...5

Læs mere

På denne server vil materiale til kommende møder blive lagt i en mappe, som du kender det fra Windows stifinder og Apples Finder.

På denne server vil materiale til kommende møder blive lagt i en mappe, som du kender det fra Windows stifinder og Apples Finder. FTP vejledning Introduktion Du har i en separat mail modtaget et personligt brugernavn og en adgangskode, som skal du bruge i det følgende for at logge på Kulturstyrelsens FTP server. På denne server vil

Læs mere

1 Domæne 2 1.1 Design valg... 2 1.1.1 User... 2. 2 Klassediagran 5

1 Domæne 2 1.1 Design valg... 2 1.1.1 User... 2. 2 Klassediagran 5 INDHOLD 1 Domæne 2 1.1 Design valg.................................... 2 1.1.1 User.................................... 2 2 Klassediagran 5 3 Serbio 7 3.1 Kommunikation..................................

Læs mere

LUDUS Web Installations- og konfigurationsvejledning

LUDUS Web Installations- og konfigurationsvejledning LUDUS Web Installations- og konfigurationsvejledning Indhold LUDUS Web Installations- og konfigurationsvejledning... 1 1. Forudsætninger... 2 2. Installation... 3 3. Konfiguration... 9 3.1 LUDUS Databasekonfiguration...

Læs mere

Hvorfor skal vi bruge objekt orienteret databaser?

Hvorfor skal vi bruge objekt orienteret databaser? OODBMS Vs. RDBMS 1 Indholdsfortegnelse Hvorfor skal vi bruge objekt orienteret databaser?... 3 OODBMS i erhvervslivet... 4 Bagsiden af medaljen... 5 OODBMS i praksis... 6 Konklusion... 8 2 Hvorfor skal

Læs mere

Fuld installation af Jit-klient

Fuld installation af Jit-klient Fuld installation af Jit-klient Indholdsfortegnelse Systemkrav til afvikling af Jit-klienten...3 Opsætning af firewall...4 Om installationsfilen...5 Installation af MSI-filen...6 Om SSL-certifikater...13

Læs mere

Vejledning. Opsætning af Trio Web Vers 2.0 feb. 2010

Vejledning. Opsætning af Trio Web Vers 2.0 feb. 2010 Opsætning af Trio Web Vers 2.0 feb. 2010 Indholdsfortegnelse Opsætning af Trio Web... 3 Generel opsætning af Trio Web... 3 Databaseopsætning... 3 DB... 3 Aar... 4 Login... 4 Internet... 4 Port... 4 Registreringsnøgle...

Læs mere

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder.

Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. .NET UDVIKLER NATIONALITET: DANSK PROFIL Dygtig.NET / C# udvikler med stor erfaring fra både offentlige organisationer og private virksomheder. Stor erfaring omkring databasedesign, datahåndtering og MS

Læs mere

Opsætning af Outlook til Hosted Exchange 2007

Opsætning af Outlook til Hosted Exchange 2007 Opsætning af Outlook til Hosted Exchange 2007 Sådan opsættes Outlook 2007 til Hosted Exchange 2007. Opdateret 29. december 2010 Indhold 1 Indledning... 2 2 Outlook 2007 klienten... 2 3 Automatisk opsætning

Læs mere

Dynamicweb Exchange Opsætning

Dynamicweb Exchange Opsætning Brugervejledning Dynamicweb Exchange Opsætning OUTLOOK 2003 Document ID: UG-4008 Version: 1.30 2006.07.04 Dansk UG-4008 - Dynamicweb Exchange Opsætning, Outlook 2003 JURIDISK MEDDELELSE Copyright 2005-2006

Læs mere

Installation af Oracle 10g Release 2 database

Installation af Oracle 10g Release 2 database Installation af Oracle 10g Release 2 database Oracle 10g database indeholder databasesoftware, enterprise manager, SQL*Plus m.m., HTML DB (i dag kendt som Application Express) og tilhørende HTTP Server

Læs mere

EasyRun En løbers bedste ven

EasyRun En løbers bedste ven En løbers bedsteven Anders Arnfast 06525, Martin Søberg 0655, Ken Falk 06504 09 . INDHOLD. Indhold... 2 2. Introduktion... 3 Opsætning... 3 3. System arkitekturdesign... 4 4. Hardware Design... 5 Ethernet

Læs mere

MyArchive.kb.dk Selvarkivering af e-mails

MyArchive.kb.dk Selvarkivering af e-mails MyArchive.kb.dk Selvarkivering af e-mails Opsætningsvejledning til ipad Mail App Det Kongelige Bibliotek 22-11-2013 Denne vejledning beskriver brugeropsætning af ipad Mail App, således at en arkivskaber

Læs mere

Projekt: VAX Integrator

Projekt: VAX Integrator Ejer: mysupply ApS Projekt: VAX Integrator 1.0.0.3 Emne: Teknisk specifikation - VAX Integrator 1.0.0.3 Dette dokument beskriver de tekniske specifikationer for VAX Integrator 1.0.0.3 samt krav til miljøet,

Læs mere

Umbraco installationsvejledning

Umbraco installationsvejledning på et ScanNet ASP Webhotel Indledning Beskrivelse Denne vejledning vil indeholde installation af CMS systemet Umbraco på et ASP Webhotel. Det dansk grundlagt Content Management System (CMS) Umbraco er

Læs mere

Opsætning af klient til Hosted CRM

Opsætning af klient til Hosted CRM Opsætning af klient til Hosted CRM Dette dokument beskriver, hvordan der oprettes forbindelse til en Hosted CRM løsning hos TDC Hosting A/S Morten Skovgaard, 24. april 2006 1 Indledning... 2 2 Konfiguration

Læs mere

Indholdsfortegnelse for kapitel 2

Indholdsfortegnelse for kapitel 2 Indholdsfortegnelse for kapitel 2 Kapitel 2. Analyse.......................................................... 2 Analyse af 2.1...................................................... 2 Analysen af Database.................................................

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Exchange 2010 SSL certifikat administration Følgende vejledning beskriver hvordan man vælger hvilke adresser der skal være i ens Exchange 2010 SAN SSL certifikat. Derudover er der tekniske guides til at

Læs mere

Citrix CSP og Certificate Store Provider

Citrix CSP og Certificate Store Provider Project Name Document Title TDC Citrix Citrix og Certificate Store Provider Version Number 1.0 Status Release Author jkj Date 5-10-2006 Trademarks All brand names and product names are trademarks or registered

Læs mere

Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net

Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net 18. november 2011 Vejledning Windows 7 - eklient Opkobling via ADSL eller anden kabelforbindelse til P-net. Tilslutning med Cisco AnyConnect VPN-klient (Windows) til AARHUS TECH P-net Cisco AnyConnect

Læs mere

Installation. Aesiras Internet hjemmeside og webshop. Aesiras -integreret Regnskab, Handel og Internet

Installation. Aesiras Internet hjemmeside og webshop. Aesiras -integreret Regnskab, Handel og Internet Installation Aesiras Internet hjemmeside og webshop Aesiras -integreret Regnskab, Handel og Internet Installationsvejledning Tak fordi du valgte Aesiras Business & Internet. I denne vejledning vil vi guide

Læs mere

INDHOLDSFORTEGNELSE. INDLEDNING... 7 Kristian Langborg-Hansen. KAPITEL ET... 9 I gang med App Inventor. KAPITEL TO...

INDHOLDSFORTEGNELSE. INDLEDNING... 7 Kristian Langborg-Hansen. KAPITEL ET... 9 I gang med App Inventor. KAPITEL TO... INDHOLDSFORTEGNELSE INDLEDNING... 7 Kristian Langborg-Hansen KAPITEL ET... 9 I gang med App Inventor Installation af App Inventor... 10 Trådløs installation... 11 Installation af emulator (Windows)...

Læs mere

DRFLive - dynamisk visning af resultater fra DRF Stævnesystem

DRFLive - dynamisk visning af resultater fra DRF Stævnesystem DRFLive - dynamisk visning af resultater fra DRF Stævnesystem Resumé: Beskrivelse af program (DRFLive) til dynamisk visning af resulter fra DRF Stævnesystem Forfatter: Claus Hulstrøm Dato: 15. januar 2010

Læs mere

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0 Program Dokumentation PC Software Skrevet af Gruppen. Version 1.0 Indholds fortegnelse 1. INDLEDNING...3 1.1. FORMÅL...3 1.2. REFERENCER...3 1.3. VERSIONSHISTORIE...3 1.4. DEFINITIONER...3 1.5. DOKUMENTATIONENS

Læs mere

ViKoSys. Virksomheds Kontakt System

ViKoSys. Virksomheds Kontakt System ViKoSys Virksomheds Kontakt System 1 Hvad er det? Virksomheds Kontakt System er udviklet som et hjælpeværkstøj til iværksættere og andre virksomheder som gerne vil have et værktøj hvor de kan finde og

Læs mere

Gem dine dokumenter i BON s Content Management System (CMS)

Gem dine dokumenter i BON s Content Management System (CMS) 24. august 2007 Gem dine dokumenter i BON s Content Management System (CMS) INDHOLDSFORTEGNELSE 1. Indledning... 2 2. Se indholdet i dit Content Management System... 3 3. Tilgå dokumenterne i My Content

Læs mere

Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning

Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning 1. Lokalt installeret afleveringsprogram til stedprøver... 2 2. Systemkrav... 3 3. Netværksopsætning... 4 4. Installation

Læs mere

Godkendelsesdato Version Rettet af Rettelse(r)

Godkendelsesdato Version Rettet af Rettelse(r) REST/SOAP Services Referenceimplementation Godkendelsesdato Version Rettet af Rettelse(r) 17/6-2010 1.0 Stefan L. Jensen 1 Indhold 1. Indledning... 3 2. Visual Studio solution... 3 3. Konfiguration...

Læs mere

CONTENTS 1. KOM GODT IGANG... 3 2. JEG HAR WINDOWS 7 OG ØNSKER AT UDVIKLE APPS TIL WINDOWS PHONE 7... 4 2.1 Opret en DreamSpark konto... 4 2.

CONTENTS 1. KOM GODT IGANG... 3 2. JEG HAR WINDOWS 7 OG ØNSKER AT UDVIKLE APPS TIL WINDOWS PHONE 7... 4 2.1 Opret en DreamSpark konto... 4 2. CONTENTS 1. KOM GODT IGANG... 3 2. JEG HAR WINDOWS 7 OG ØNSKER AT UDVIKLE APPS TIL WINDOWS PHONE 7... 4 2.1 Opret en DreamSpark konto... 4 2.2 Download udviklingssoftware... 6 2.2.1 Hent Visual Studio

Læs mere

TDCs Signaturserver. 11/05 - Version 1.0 2005 TDC Erhverv Sikkerhed og certifikater

TDCs Signaturserver. 11/05 - Version 1.0 2005 TDC Erhverv Sikkerhed og certifikater TDCs Signaturserver Side 2 Indhold Indledning...3 Teknisk projekt... 3 Tekniske forudsætninger... 3 Installation af klienten... 4 Udstedelse af signatur... 4 Anvendelse af signaturen... 6 Eksport af signaturen...

Læs mere

Procesbeskrivelse - Webprogrammering

Procesbeskrivelse - Webprogrammering Procesbeskrivelse - Webprogrammering Indholdsfortegnelse Forudsætninger... 1 Konceptet... 2 Hjemmesiden... 2 Server-side... 3 Filstrukturen... 3 Databasehåndtering og serverforbindelse... 4 Client-side...

Læs mere

Fjernadgang til BEC s systemer via Portal2

Fjernadgang til BEC s systemer via Portal2 Fjernadgang til BEC s systemer via Portal2 - tilgå applikationer og arbejdsplads via webbaseret portal (UAG) Udarbejdet af: Niklas Petersen Gældende fra: 24-08-2015 Version Forfatter Dato Dokumentstatus

Læs mere

Navision Stat 9.1. Installationsvejledning til NS CIS Invoker. Overblik. Side 1 af 8. ØSY/TJO/CPS Dato

Navision Stat 9.1. Installationsvejledning til NS CIS Invoker. Overblik. Side 1 af 8. ØSY/TJO/CPS Dato Side 1 af 8 Navision Stat 9.1 ØSY/TJO/CPS Dato 24.04.18 Installationsvejledning til NS CIS Invoker Overblik Introduktion Denne installationsvejledning beskriver, hvordan man installerer webservice til

Læs mere

POST IT! Cph Business Academy Multimediedesign 2. Semester flow april Kirstine Marie Rasmussen cph-

POST IT! Cph Business Academy Multimediedesign 2. Semester flow april Kirstine Marie Rasmussen cph- POST IT! Cph Business Academy Multimediedesign 2. Semester flow 3 9. april 2017 Kirstine Marie Rasmussen cph- kr141@cphbusiness.dk Mette Bejder cph- mb458@cphbusiness.dk Link til POST IT http://mbejder.dk/post-

Læs mere

Manual til administration af online booking

Manual til administration af online booking 2016 Manual til administration af online booking ShopBook Online Med forklaring og eksempler på hvordan man konfigurerer og overvåger online booking. www.obels.dk 1 Introduktion... 4 1.1 Formål... 4 1.2

Læs mere

GB-HD9604T-PL / GB-HD9716T-PL. Kom godt i gang

GB-HD9604T-PL / GB-HD9716T-PL. Kom godt i gang GB-HD9604T-PL / GB-HD9716T-PL Kom godt i gang Copyright GolBong Danmark 2015 Generelt Tillykke med dit GolBong HD netværksoptager. Denne Kom godt i gang-vejledning, gennemgår hvordan du forbinder og kommer

Læs mere

Brugervejledning for. Telenor Dialer

Brugervejledning for. Telenor Dialer Brugervejledning for Telenor Dialer 1 Indholdsfortegnelse Funktionsbeskrivelse af Telenor Dialer... 5 Telenor Dialer OneNumber Mobile... 6 Telenor Dialer OneNumber.... 6 Installation af Telenor Dialer...

Læs mere

IT Support Guide. Installation af netværksprinter (direkte IP print)

IT Support Guide. Installation af netværksprinter (direkte IP print) IT Support Guide Denne guide er hentet på www.spelling.dk Program: Microsoft Windows Vista Program sprog version: ENG (US) Guide emne: Installation af netværksprinter (direkte IP print) Publikationsnr.:

Læs mere

OpenTele datamonitoreringsplatform

OpenTele datamonitoreringsplatform OpenTele datamonitoreringsplatform Brugergrænsefladedokumentation 1. maj 2013 Indholdsfortegnelse Indholdsfortegnelse...2 Indledning...3 Brugergrænseflade for OpenTele-server...3 Administrationsfunktionalitet...3

Læs mere

Ruko SmartAir. Updater installation

Ruko SmartAir. Updater installation Ruko SmartAir Updater installation Introduktion. Updateren er en speciel enhed som giver os mulighed for at tilføje, læse og skrive funktioner i en offline installation. Med læse og skrive funktionen kan

Læs mere

ASPECT4 og webben. v. Simon Iversen, Brian Siim Andersen, Peter Vindstrup

ASPECT4 og webben. v. Simon Iversen, Brian Siim Andersen, Peter Vindstrup ASPECT4 og webben v. Simon Iversen, Brian Siim Andersen, Peter Vindstrup ASPECT4 Client for web Introduktion til ASPECT4 Client for web v. Peter Vindstrup TaskBoards v. Simon Iversen ASPECT4 Client for

Læs mere

Digital Print Room Implementering og tilretning. 11. Sep. 2001 TMC Plot-SIG

Digital Print Room Implementering og tilretning. 11. Sep. 2001 TMC Plot-SIG Digital Print Room Implementering og tilretning 11. Sep. 2001 TMC Plot-SIG Agenda. Priser. Forskellen mellem de 3 versioner. Hardware og software. Sikkerheden og opsætning af rettigheder. Opgradering fra

Læs mere

Multiguide til C903IP

Multiguide til C903IP Multiguide til C903IP Om IP kameraer For at kunne installere et IP kamera er det vigtigt at vide, at der finder flere forskellige slags IP adresser: - Den eksterne IP adresse har du fået tildelt af din

Læs mere

IIS 8.0 & 8.5 & 10.0 SSL Administration

IIS 8.0 & 8.5 & 10.0 SSL Administration IIS 8.0 & 8.5 & 10.0 SSL Administration Indholdsfortegnelse Introduktion... 3 Generering af CSR... 4 Installation af certifikat bestilt via CSR... 8 Installation af mellemudsteder certifikat... 8 Installation

Læs mere

Carry it Easy Brugermanual

Carry it Easy Brugermanual Carry it Easy Brugermanual Brugermanual Version 2.0 2004-2006 CoSoSys SRL Carry it Easy Brugermanual Indholdsfortegnelse Indholdsfortegnelse...I 1. Introduktion...1 2. Systemkrav...2 3. Installation...2

Læs mere

MetaService. Installations og burger guide.

MetaService. Installations og burger guide. MetaService Installations og burger guide. Revision 0.1 Author Name 04-10-2010 Revision Date Description 0.1 04-10-2010 First version TNM A/S, Marielundvej 48 4., 2730 Herlev Tel: +45 44666688 www.tnmgruppen.dk

Læs mere

Ruko ARX Access. Total tryghed og sikkerhed med online adgangskontrol STAND OFF ALONE LINE LINE

Ruko ARX Access. Total tryghed og sikkerhed med online adgangskontrol STAND OFF ALONE LINE LINE Access STAND ALONE OFF ON Total tryghed og sikkerhed med online adgangskontrol ASSA ABLOY, the global leader in door opening solutions Løsninger til ethvert behov Access indgår som toppen af kransekagen

Læs mere

Undervisningsbeskrivelse

Undervisningsbeskrivelse Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Aug 2016 - juni 2017 Institution UCH/ Handelsskolen Uddannelse Fag og niveau Lærer(e) EUX Business IT B Lars

Læs mere

Guide til IT-afdelingen: Test af DANBIO6 Kiosksystem

Guide til IT-afdelingen: Test af DANBIO6 Kiosksystem Guide til IT-afdelingen: Test af DANBIO6 Kiosksystem Indholdsfortegnelse 1. Teknisk opsætning af DANBIO Kiosk 3 2. Test af DANBIO Kiosk 4 3. Baggrund - Hvad er DANBIO? 7 3.1. Kort beskrivelse af flowet

Læs mere

Bruger v1.5 QUICK GUIDE. Green Glass Software V/ Dan Feld-Jakobsen Lojovej 1 6200 Aabenraa 51 92 83 58 / dan@rekvi-skole.dk

Bruger v1.5 QUICK GUIDE. Green Glass Software V/ Dan Feld-Jakobsen Lojovej 1 6200 Aabenraa 51 92 83 58 / dan@rekvi-skole.dk Bruger v1.5 QUICK GUIDE Green Glass Software V/ Dan Feld-Jakobsen Lojovej 1 6200 Aabenraa 51 92 83 58 / dan@rekvi-skole.dk INTRODUKTION TIL REKVI-SKOLE Ideen med Rekvi-skole systemet udsprang fra et behov

Læs mere

SOSIGW. - Administrationskonsol for SOSIGW 1.0.6. Indeks

SOSIGW. - Administrationskonsol for SOSIGW 1.0.6. Indeks SOSIGW - Administrationskonsol for SOSIGW 1.0.6 Indeks Indeks... 1 Revisionshistorik... 2 Introduktion... 2 Administrationskonsollen... 2 Generel brug af konsollen... 3 Fremsøgning af ID-kort... 3 Søgning

Læs mere

FairSSL Fair priser fair support

FairSSL Fair priser fair support Vejledning til at konfiguration af flere websites, med deling af 1 SSL certifikat og fælles IP og port. Følgende vejledning beskriver hvordan man konfigurere IIS til at bruge host header på HTTPS sites.

Læs mere

TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE. Brugervejledning

TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE. Brugervejledning TEKNISKE FORHOLD VEDR. ADGANG TIL VP.ONLINE vp.online 2011 01-10-2011 Indholdsfortegnelse 1 PROBLEMER MED AT SE VP.ONLINE... 3 2 BROWSER KONFIGURATION... 6 3 SKRIVEADGANG TIL DREV... 7 4 SESSION TIMEOUT

Læs mere

Vistemmernu. Et webbaseret værktøj udviklet af Programdatateket i Skive. E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.

Vistemmernu. Et webbaseret værktøj udviklet af Programdatateket i Skive. E-mail: programdatateket@viauc.dk Web: http://www.programdatateket. Vistemmernu Et webbaseret værktøj udviklet af Programdatateket i Skive E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.dk Kolofon HVAL-vejledning Vistemmernu på HVAL.DK Forfatter: Susanne

Læs mere

Brugervejledning til databrowseren

Brugervejledning til databrowseren Brugervejledning til databrowseren Indholdsfortegnelse Indledning...2 Hvordan tilgås browseren og api et...2 Databrowseren...2 Søgning...2 Visning...4 Features i listevisningen...4 Detaljeret visning...5

Læs mere

Projekt database. 3 Semester - Mul a Projekt 1. Yaser Osman cph-mo102@cphbusiness.dk. Dan Eskildsen cph-de32@cphbusiness.dk

Projekt database. 3 Semester - Mul a Projekt 1. Yaser Osman cph-mo102@cphbusiness.dk. Dan Eskildsen cph-de32@cphbusiness.dk Projekt database 3 Semester - Mul a Projekt 1 Yaser Osman cph-mo102@cphbusiness.dk Dan Eskildsen cph-de32@cphbusiness.dk Ammar Al-Basri cph-aa140@cphbusiness.dk Emre Kandemir cph-ek68@cphbusiness.dk Lotte

Læs mere

Mindstekrav til udstyr (fase 1) Løsningsbeskrivelse

Mindstekrav til udstyr (fase 1) Løsningsbeskrivelse Mindstekrav til udstyr (fase 1) Løsningsbeskrivelse Indholdsfortegnelse 3.1 INDLEDNING 2 3.2 MINDSTEKRAV TIL SLUTBRUGERNES KLIENTER MV 2 3.2.1 Mindstekrav til hardware for PC-klienter 2 3.2.2 Mindstekrav

Læs mere

Velkommen til OPEN Storage

Velkommen til OPEN Storage Velkommen til OPEN Storage Version: 1.3 Seneste opdatering: 03-10-2018 Udarbejdet af: Harald Hammershøi INDHOLDSFORTEGNELSE Brugervejledning side 2 Introduktion til OPENs Storage tilbud... 3 Forskellen

Læs mere

APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR. EG Copyright

APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR. EG Copyright APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR EG Copyright Infrastruktur er mere end nogle servere... Den Mentale Infrastruktur Den Fysiske Infrastruktur Den Mentale Infrastruktur Vi vil jo gerne have vores

Læs mere

Svar på de mest almindelige Citrix spørgsmål

Svar på de mest almindelige Citrix spørgsmål Svar på de mest almindelige Citrix spørgsmål Henrik Meyer og Ajâja Hyttel Oprettet: 24/6-13 Sidst revideret 14/5-14 h t t p s : / / c i t r i x. a a b n e t. d k Hvad er nyt i Citrix?... 2 Hvis du ikke

Læs mere

Brugermanual. Outlook Web Access for Exchange Server 2003 (OWA 2003) Udarbejdet af IT-afdelingen 2006

Brugermanual. Outlook Web Access for Exchange Server 2003 (OWA 2003) Udarbejdet af IT-afdelingen 2006 Brugermanual Outlook Web Access for Exchange Server 2003 (OWA 2003) Udarbejdet af IT-afdelingen 2006 Indholdsfortegnelse INDLEDNING... 3 HVORDAN DU FÅR ADGANG TIL DIN EMAIL... 3 OWA 2003 BRUGERGRÆNSEFLADE...

Læs mere

MyArchive.kb.dk Selvarkivering af e-mails

MyArchive.kb.dk Selvarkivering af e-mails MyArchive.kb.dk Selvarkivering af e-mails Opsætningsvejledning til Mac Mail Det Kongelige Bibliotek 07-04-2014 Denne vejledning beskriver brugeropsætning af Mac e-mail klienten, således at en arkivskaber

Læs mere

IT-Brugerkursus. Modul 1 - Introduktion til skolens netværk og FC. Modul 1 - Introduktion til FC og Lectio. Printvenligt format. Indholdsfortegnelse

IT-Brugerkursus. Modul 1 - Introduktion til skolens netværk og FC. Modul 1 - Introduktion til FC og Lectio. Printvenligt format. Indholdsfortegnelse Modul 1 - Introduktion til FC og Lectio IT-Brugerkursus Modul 1 - Introduktion til skolens netværk og FC Printvenligt format Indholdsfortegnelse Formål og opbygning Opgave Vejledning til intranettet Åbne

Læs mere

EasyIQ Opdatering 5.2.3 -> 5.4.0

EasyIQ Opdatering 5.2.3 -> 5.4.0 EasyIQ Opdatering 5.2.3 -> 5.4.0 Kunde: Forfatter: Thomas W. Yde Systemtech A/S Side: 1 af 17 1 Indholdsfortegnelse 2 GENERELT OMKRING FORUDSÆTNINGEN OG OPDATERINGS FORLØBET... 3 2.1 FORUDSÆTNINGER...

Læs mere

I denne manual kan du finde en hurtig introduktion til hvordan du:

I denne manual kan du finde en hurtig introduktion til hvordan du: VORES NORDSJÆLLAND HURTIGT I GANG MANUAL 01: Bruger HVAD INDEHOLDER DENNE MANUAL? I denne manual kan du finde en hurtig introduktion til hvordan du: 1. Finder Vores Nordsjælland hjemmesiden 2. Opretter

Læs mere

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen.

! Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Copenhagen Business Academy Multimediedesigner 3. semester - 1. projekt, september 2014 Gruppe 1 - MulA Kia Dahlen. Kamilla Klein, Pia Jensen og Maria Korshøj Andersen. Study: Multimedia Design Project:

Læs mere