Mats Rubin Handledare MdH: Magnus Larsson. ABB Automation Systems Västerås

Storlek: px
Starta visningen från sidan:

Download "Mats Rubin 630104-1411 (mrn99009@student.mdh.se) Handledare MdH: Magnus Larsson. ABB Automation Systems. 2000-09-17 Västerås"

Transkript

1 Tomas Larsson Handledare ABB: Stefan Wedin Mats Rubin Handledare MdH: Magnus Larsson IDT - Institutionen för Datateknik Examinator: Ivica Crnkovic Licensserver För flytande licenser Examensarbete 10p Västerås

2 2 Förord Denna rapport är gjord som en del av ett 10 poängs examensarbete inom området datateknik och innefattar dels en marknadsundersökning av licenssystem samt utvecklingen av vårt egna License Manager system. Examensarbetet har utförts till största del på ABB Automation Systems AB samt en mindre del på Mälardalens Högskola, båda belägna i Västerås. Vi vill här också passa på att tacka våra handledare Magnus Larsson (Mälardalens Högskola, IDt) och Stefan Wedin (). Vi vill även tacka Stefan Bengtzing () för att ha gett oss möjligheten att genomföra detta examensarbete på ABB, Mika Holm () och Erik Johansson (ABB Automation Systems) för deras stöd och support under utvecklingens gång. Tomas Larsson Mats Rubin

3 3 Sammanfattning Idag är det inte många som reagerar när någon säger att de har kopierat den nyaste Windowsversionen eller något webdesign-program, helt gratis. Det kallas piratkopiering och har ständigt ökat genom åren. Detta är ett problem för programvaruutvecklarna och innebär att de måste skydda sina program på något sätt, t ex genom licenser. Ett bra sätt är att skapa en licensserver som dynamiskt kan hålla reda på vilka som använder ett program just för ögonblicket, samt neka de som inte borde använda det, med allt vad det innebär. Denna rapport beskriver inte bara de system på marknaden idag som är byggda för just det ändamålet, utan även vårt eget License Manager system som designats och implementerats. I det senare fallet visas hur licensnyckelgenerering går till, hur applikationer kommunicerar med licensservrar samt en hel del annat.

4 4 Innehållsförteckning 1 BAKGRUND PIRATKOPIERING Business Software Alliance LICENSMODELLER Flytande licenser Nodbaserade licenser Nätverkslicens Evaluerande eller tidsbegränsade licenser Evaluerande licens med förfluten tidsperiod Hårdvarulås SYFTET FÖR ABB? INTRODUKTION TILL UPPGIFTEN MARKNADSUNDERSÖKNING ABB:S KRAVSPECIFIKATION FLEXLM ARGUS LICENSE MANAGER Argus licensfil SENTINELLM ÖVRIGA SYSTEM FÖR- OCH NACKDELAR ANALYS C LÖSNINGEN INTERFACET MOT KLIENTEN LICENSKLASSERNA ProgramLicenseList LicenseList License Klassernas beroenden KEYCLASS DESIGN LICENSEMANAGER (LM) API LICENSFILEN LAGRINGEN AV UTCHECKADE LICENSER PÅ SERVERN HUR ANVÄNDS SYSTEMET? License Generator ALGORITMER Kodgenerering DATASTRUKTURER SLUTSATSER BEGRÄNSNINGAR FÖRDELAR NACKDELAR HAR MÅLET NÅTTS? FÖRBÄTTRINGAR REFERENSER... 29

5 5 Figurförteckning Figur 1-1 Piratkopieringens utbredning per land (BSA [01])...7 Figur 2-1 Formatet på Argus licensfil [03]...12 Figur 2-2 Exempel på Argus licensfil [03]...12 Figur 3-1 C-28 övergripande beskrivning...16 Figur 3-2 Översikt av licenssystemet...16 Figur 3-3 UML [12] för klassen ProgramLicenseList...18 Figur 3-4 UML [12] för klassen LicenseList...19 Figur 3-5 UML [12] för klassen License...19 Figur 3-6 UML [12] för de tre licensklasserna...20 Figur 3-7 UML [12] för klassen KeyClass...20 Figur 4-1 License Generator - används för att generera licensfiler...23

6 Bakgrund - Piratkopiering 6 1 Bakgrund Sedan en ganska lång tid tillbaka så har datorprogram utvecklats för att underlätta för oss människor i olika situationer. Det kan vara allt från att skriva dokument, sköta bokföringen till att skapa 3d-ritningar med hjälp av CAD. Alla företag som utvecklar dessa program har en sak gemensamt; de vill tjäna så mycket pengar som möjligt. När företagen sätter priser på sina produkter så försöker man lägga sig på en rimlig nivå i kundens ögon och det kan t ex vara utvecklingskostnaden plus några procent i ren vinst för att det ska löna sig i slutänden. 1.1 Piratkopiering Nu finns det en hel del kunder/användare som anser att priserna är alldeles för dyra på programvaror och helt enkelt piratkopierar 1 dem av andra som köpt eller kopierat det i sin tur. På det här sättet så sprids produkterna på ett okontrollerat sätt och marknaden mättar sig självt mer eller mindre. Det finns en lag i Sverige som säger att om man kopierar ett program så är det stöld och kan ge upp till 2 års fängelse, vilket kan verka långsökt för en del eftersom det inte är någon direkt hårdvara som stjäls, men det man menar är att den som kopierar är ansvarig för att utvecklaren går miste om inkomst. Det är oftast företag som orsakar de största förlusterna för programleverantörerna eftersom de kanske köper in en licens och kommer på vid ett senare tillfälle att de behöver fler. Då är det väldigt lätt att installera programmet på några extra datorer utan att beställa nya licenser. Det är också vanligt att man sprider programvaran vidare till anställdas privata datorer hemma, där de kan nyttja det både i jobbet men även privat. Cheferna eller VD:n är ofta medvetna om att kopieringen förekommer men det är sällan någonting görs åt det. Det är inte ens säkert att de anställda vet om de har lagliga kopior eller inte, så det kan innebära problem att visa att de var ovetande när man står innanför rättens dörrar Business Software Alliance Business Software Alliance (BSA) [01] är ett företag som specialiserat sig på bekämpning av piratkopiering. De redovisar siffror som talar om utbredningen av den både globalt och per land. Värst i hela världen är Kina, där det av alla program som används är hela 96 % som är piratkopierade. I Figur 1-1 visas en sammanställning av piratkopieringens utbredning och även förlorad inkomst per land som BSA har gjort. Siffrorna gäller Ser man till den globala aspekten på problemet så redovisar BSA att under 1997 så var den totala förlorade inkomsten $ vilket motsvarar nästan 100 miljarder svenska kronor. 1 Kopierad programvara som används utan att upphovsmannen fått någon ersättning motsvarande värdet.

7 Bakgrund - Piratkopiering 7 Land Förlorad inkomst i miljarder svenska kronor Andel piratkopior av alla använda programvaror USA % Kina % Japan % Korea % Tyskland % Frankrike % Brasilien % Italien % Kanada % Storbritannien % Figur 1-1 Piratkopieringens utbredning per land (BSA [01]). Detta är anledningen till att de flesta programvaruföretag har infört licensskydd för att skydda sig mot just denna typ av problem. Grundidén är att när man köper en produkt så köper man ett visst antal licenser. En licens är en rättighet att använda en programvara och vanligtvis så köper företag flera stycken för att kunna jobba flera samtidigt med samma program. Rent praktiskt så är en licens ofta en kodnyckel som följer med programmet vid leverans som har till syfte att låsa upp det. Utan nyckeln så startar inte programmet alls, eller alternativt i ett begränsat läge där vissa funktioner är avstängda. Det innebär alltså att om ett företag bestämmer sig för att köpa en programvara till 10 personer som behöver arbeta med det, så får dom också 10 licensnycklar skickade till sig. Dessa nycklar är unika d v s de fungerar endast ihop med sitt respektive exemplar av programmet. Det är här som problematiken kommer in i bilden. Antag att företaget har 20 användare av ett program, men de kommer aldrig vara fler än 10 stycken som jobbar med det samtidigt. Då skulle det rent principiellt räcka med 10 licenser för att täcka behovet, men eftersom de sitter på 20 olika datorer så tillåts man inte att lägga in programmet på fler än hälften av dem. Det betyder att de blir tvungna att köpa det dubbla antalet licenser bara för att kunna använda det i den mån som behövs, vilket naturligtvis medför en hel del extrakostnader. En lösning på problemet är att skapa ett system som kan hålla reda på s.k. flytande licenser vilket innebär att man inte är bunden till en specifik dator. När man startar sitt program så kontaktar det en server som kontrollerar hur många som just nu använder programmet, och om det finns lediga platser så tilldelas man en licens. Skulle det vara fullt så nekas man godkännande, eller alternativt möjlighet att köra vidare mot att programvaruföretaget debiterar en extra kostnad i efterhand för överskridande av antalet licenser. Det senare kan vara bra i krissituationer och liknande.

8 Bakgrund - Licensmodeller Licensmodeller Normalt när man köper ett licenssystem kan man välja mellan en rad olika modeller som man kan använda vid licensiering av sina produkter. I detta avsnitt tas de vanligaste modellerna upp och beskrivs lite kortfattat Flytande licenser Flytande licenser är tillgängliga för samtliga användare inom nätverket, oberoende av vilken nod man sitter på. Vilken användare som helst inom nätverket kan bli tilldelad en licens för den aktuella applikationen så länge licensservern inte har delat ut sitt maximala antal som får användas samtidigt. En flytande licens kan kombineras med en nätverkslicens om man vill begränsa sig till en viss adressrymd. Engelska uttryck som används för att beskriva denna typ av licensiering är floating-, concurrent- samt network-licensing Nodbaserade licenser En nodbaserad licens är tillgänglig för en användare av en nod med ett specifikt ID eller IPadress. I en klient/server miljö garanteras en användare, på en specificerad nod, en licens så länge man inte överstiger det maximala antalet tillåtna licenser Nätverkslicens En nätverkslicens används för att kunna begränsa antalet noder i ett system som skall kunna ha tillgång till en licens genom att specificera en aktuell adressrymd som skall gälla. Den tillåtna adressrymden kan antingen anges med en specifik IP-adress relativt serverns adress, eller med en explicit adressrymd. I det första fallet gäller att alla adresser mellan serverns IP och den adress man har specificerat är giltiga, medan i det andra gäller allt mellan två direkt angivna IP-adresser. Man kan i många fall också genom maskning av en IP-adress specificera en absolut adressrymd, ex *. Detta innebär att alla användare mellan och på nätverket kan bli tilldelade en licens så länge man inte överstiger det maximala antalet Evaluerande eller tidsbegränsade licenser En evaluerande licens innebär att en applikation är licensierad men endast för en begränsad period. Detta används ofta för att kunna erbjuda en möjlig köpare att få testa programvaran i sin helhet. När den begränsande tiden har tagit slut så måste köparen skaffa sig en ny licens för att kunna fortsätta använda applikationen. Alla användare med behörighet kan tilldelas en licens så länge man inte överstiger det maximala antalet eller att tidsbegränsningen har nått sitt slut.

9 Bakgrund - Syftet för ABB? Evaluerande licens med förfluten tidsperiod Detta är en annan typ av evaluerande licens och med denna kan man även specificera en förfluten tidsperiod, eller deltatid som det brukar kallas, för tillåten användning för exempelvis 10 dagar från det att man börjat använda programvaran. Oftast så specificerar man både en deltatid och en absolut tid (ett slutdatum) där licensen slutar gälla oberoende av vilken som inträffar först. Den här typen av licens brukar inte ha några begränsningar när det gäller antalet samtidiga användare eftersom man kan hålla ner användandet genom att ange en kortare period Hårdvarulås Detta är en helt annan variant av skydd som bygger på en liten enhet som man sätter i datorn. Om applikationen inte hittar den så fungerar inte programmet. De brukar oftast vara byggda på ett sådant sätt att man inte kan bygga egna enheter på ett enkelt sätt. 1.3 Syftet för ABB? För ABB:s del så är inte tanken att förhindra att produkterna sprids till privata användare av den anledningen att de utvecklar styrsystem som är anpassade för industrin. Snarare är syftet att se till att inte fler personer nyttjar det på arbetsplatsen än det finns licenser för. Priset på produkterna som ABB säljer är baserade på antalet samtidiga användare av systemet, och inte på antalet datorer som det finns installerat på. Därför är det viktigt att man kan kontrollera användandet så det inte överskrids. Men även, som nämnts tidigare, så måste möjligheten finnas att kunna överskrida den begränsningen om något skulle inträffa. Kanske någon del av ett system har havererat och man blir tvungen att sätta in extra personal för att hitta felet, och då behöver nyttja ett licensierat program. Då har man inte tid att vänta dagar eller veckor på att få några licensnycklar skickade till sig, utan betalar hellre lite extra för att kunna köra direkt. Det ultimata för ABB vore att göra ett system som är så pass generellt så att det kan hantera licenser för samtliga av deras produkter och som dessutom har enkel funktionalitet för administrering av licenserna. Det är ganska ofta som kunden vill ha några extra licenser och då får det inte innebära för mycket administrering för att skaffa fram dem, utan en tänkbar lösning vore t ex att via Internet logga in på deras licensserver och lägga till några stycken. 1.4 Introduktion till uppgiften Uppgiften består av att utföra en marknadsundersökning där befintliga licensprodukter skall jämföras mot varandra. En egenutvecklad design för ett licensserversystem, som hanterar flytande licenser, skall arbetas fram. Med designen som grund skall prototyper för klient och server tas fram där klienten kan kvittera ut licenser om lediga finns. Om det inte finns lediga licenser, skall det vara möjligt att tvinga fram licenser. Ett plattformsoberoende system är en bonus men inget krav.

10 Marknadsundersökning - ABB:s kravspecifikation 10 2 Marknadsundersökning Om man sammanställer vilka licensserversystem som finns tillgängliga på marknaden, och som dessutom uppfyller de krav som ABB ställer på det, inser man snart att det finns ett ganska begränsat utbud. 2.1 ABB:s kravspecifikation För att systemet ska vara anpassat för ABB:s behov ställs följande krav: Systemet ska kunna leverera flytande licenser. Möjlighet att när man uppnått det maximala antalet licenser kunna välja mellan att överskrida det under kontrollerade former, eller att bli direkt nekad ett överskridande. Detta kallas overdraft. Det är en bonus om systemet är plattformsoberoende d v s att man ska kunna köra servrar och klienter i vilken miljö som helst och ändå kunna ha en fungerande kommunikation mellan dem. Det finns några lösningar som stöder samtliga krav och de kommer att presenteras lite mer ingående nedan. 2.2 FLEXlm FLEXlm är ett licenssystem som är byggt för att vara så generellt som möjligt. Det innebär att det går att integrera i princip vilken programvara som helst. När man köper programmet så får man en dll-fil (alternativt andra filer för UNIX etc.) som skall länkas med i sitt projekt. Genom den filen så får man ett API 1 mot licenssystemet som erbjuder ett antal tjänster. Det kan t ex vara utcheckning av licenser, kontroll av licensnycklar etc. Systemet har ett brett utbud av olika typer av licenslösningar. Man kan ha både flytande och nodbaserade licenser eller i kombination. Möjligheten att överskrida det maximala antalet licenser för en kort stund (d v s overdraft) finns också. Systemet har stöd för samtliga 5 licensmodeller som beskrevs i avsnitt 1.2. Därmed stöds samtliga krav i avsnitt 2.1. FLEXlm bygger på en huvudserver som startas på en eller flera noder (redundans stöds). Sedan finns det ett antal underservrar, en för varje programvara som man vill skydda, som endast håller reda på information rörande ett specifikt program. Huvudservern i sin tur, håller reda på var alla underservrar finns någonstans på nätverket och startar/stoppar dem vid behov. När man sedan som användare startar en applikation anropas först huvudservern för att få reda på var den specifika underservern finns, som sedan frågas om det finns lediga licenser. Varje användare har en licensfil på sin dator där programvaran kan hitta information om var 1 Application Programming Interface

11 Marknadsundersökning - Argus License Manager 11 huvudservern finns. Där finns också information om alla eventuella andra redundanta huvudservrar. Det finns egentligen inga nackdelar med FLEXlm som man kan se direkt, utan verkar snarare vara det system som andra sneglar på vid utvecklingen av egna lösningar. Därför är också FLEXlm marknadsledande med över 2000 bolag som använder det, och i o m det även beprövat i de flesta former. Det enda som eventuellt skulle kunna vara till en nackdel är priset men eftersom vi inte lyckats komma i kontakt med Globetrotter [11] som tillverkar programmet så har vi heller ingen prisinformation att rapportera. Däremot har vi tittat på ett prisexempel [02] som finns på deras hemsida om ett exempelföretag där personer behöver kunna använda en produkt. Det visar sig att i det långa loppet så vinner FLEXlm prismässigt över motståndarsystemet då det är billigare per licens, även då den totala kostnaden hamnade $6.500 över sin konkurrent. FLEXlm har en licensfil där information lagras om vilken programvara licensen gäller för, hur många kopior man har rätt att starta samtidigt, eventuellt mellan vilka datum den ska gälla samt en licensnyckel som är genererad med hjälp av denna information. Vid uppstart av programmet så kontrolleras licensnyckeln i filen mot serverns genererade nyckel för att se om de är lika. Ändrar man det minsta på den känsliga informationen i licensfilen, t ex antalet licenser, så kommer inte den nyckeln att stämma överens med den genererade och användaren nekas godkännande. Licensnyckeln i filen är alltså genererad enligt någon algoritm av programvaruföretaget som sedan skickas med programmet, och utan den går det inte att starta. 2.3 Argus License Manager Argus är designat för att enkelt kunna integreras i en applikation och för att man skall kunna anpassa de olika licensmodellerna efter behov, allt för att slutkunden skall kunna installera det på ett enkelt sätt. Man kan nyttja sig av licensskyddet i sitt program med endast ett par funktionsanrop och man kan dessutom anpassa många av licensmodellerna genom att nyttja de tjänster som Argus API erbjuder. Dessutom är källkoden tillgänglig och det innebär att man har möjligheter att ändra i den om man har speciella krav som inte finns med från början. Argus har stöd för samtliga licensmodeller som beskrevs i avsnitt 1.2. Argus kan användas i applikationer som körs i klient/server-system samt där ingen licensserver används, och man använder sig av samma funktionsanrop och kommandon i båda fallen. Systemet som tillverkas av Scientific Toolworks [03] har ett fast pris på $2,995 och i det priset ingår, förutom de körbara för Windows och Unix, även källkoden. Några nackdelar med systemet har inte upptäckts. De krav som ställs i avsnitt 2.1 stöds d v s flytande licenser, möjlighet till overdraft och plattformsoberoende. Egna lösningar kan konstrueras i o m att källkoden medföljer Argus licensfil Licensfilen definierar vilken programvara som licensen gäller för, vilka maskiner som tillåts att köra, slutdatum för tidsbegränsade licenser, antalet samtidigt tillåtna användare och ett valfritt fält vilket kan fyllas i med något specifikt data av programvaruförsäljaren. Sökväg och

12 Marknadsundersökning - Argus License Manager 12 namn på licensfilen specificeras av programvaruförsäljaren. Formatet på licensfilen ser ut på följande sätt. Figur 2-1 Formatet på Argus licensfil [03] Kommentarer kan göras efter tecknet ; eller # som ovan. Alla rader som inleds med nyckelordet Server: definierar namn, id och IP-port på den server som kör licenshanteringen. I denna version, Argus 1.0, så stöds inte redundanta servrar. För applikationer som kör utan server så används inte Server: utan all kontroll av licenser utförs automatiskt av applikationen. Här följer några exempel på olika sätt att identifiera en server. Server: Lestrade f1d33b0b 8555 Server: f1d33b0b 8555 server: watson 690c SERVER: UNITY 8D3EBFDA 7777 Varje funktion eller mjukvaruprodukt som anges i licensfilen har sina begränsningar, slutdatum för tidsbegränsningen, antalet samtida licenser och valfri data från programvaruförsäljaren. En funktion kan behöva multipla poster i licensfilen. Licenshanteraren väljer då den mest passande när licensen checkas ut för användning. En * asterisk kan också användas för att specificera ett funktionsnamn. Om det finns en giltig licens som matchar funktionsnamnet i licensfilen så kommer alltid att väljas för en licens med en sådan asterisk specificerad. Figur 2-2 är ett exempel på en licensfil med tre permanenta nodbaserade licenser för en funktion samt ett valfri funktionalitet som är giltig under en begränsad tid. Figur 2-2 Exempel på Argus licensfil [03] Argus är plattformsoberoende d v s klient- och serverprogram kan användas i alla kombinationer av tillåtna plattformar. Exempelvis så kan licensservern på en Solarismaskin kommunicera med en Windows NT-klient. Argus använder sig av IP-protokollet. Följande plattformar stöds av Argus: Windows 95 Windows 98 Windows 2000

13 Marknadsundersökning - SentinelLM 13 Windows NT Linux Solaris SunOS IRIX OSF AIX HP-UX 2.4 SentinelLM Det här systemet är det enklaste hittills, i den bemärkelsen att man inte behöver göra speciellt mycket för att komma igång. Enligt Rainbow Technologies [04], som tillverkar produkten, kan man vara igång redan efter en dag. När man köper systemet kan man välja mellan ett API som man sedan kan nyttja, eller ett skal som man integrerar med sitt projekt och detta utan att man behöver skriva en enda kodrad. Det går t o m att skydda program som man inte har källkoden till med den senare modellen. Systemet har all den funktionalitet som ABB kräver i avsnitt 2.1 och mer därtill. Både flytande och nodbaserade licenser stöds. Möjligheten att överskrida det maximala antalet licenser finns också. SentinelLM har även stöd för redundanta servrar, både när det gäller att ersätta en kraschad server men också i lastbalanseringssyfte. Om en server blir för hårt belastad under körning kommer den automatiskt att distribuera ut en del licenser till någon annan mindre belastad server, för att på så sätt fördela lasten jämnt. SentinelLM har även möjlighet att i kombination med övriga lösningar använda hårdvarulås. Att använda den typen av skydd i kombination med flytande licenser är dock ingen bra lösning eftersom det då krävs en enhet på samtliga datorer, och då tappar man idén med flytande licenser. Att systemet är plattformsoberoende är heller ingen nackdel. Det går att använda i vilka kombinationer som helst mellan UNIX, WindowsNT och Java. De har också utvecklat ett elektroniskt licenssystem som dom kallar för Electronic License Distribution (ELD). Det fungerar så att slutkunden kan ladda hem programvaran från programvaruutvecklarens hemsida och sedan prova på den under en tidsperiod för att se hur det fungerar. Väljer man sedan att köpa produkten tar det bara några sekunder att öppna programmet med den licensmodell som man önskar, allt detta sköts fjärrstyrt. Skulle man vara missnöjd med produkten efter testperioden har gått ut är ingen skada skedd och man behöver inte returnera programmet etc. Även betalningen görs över Internet och är därför smidig. Även här har det varit svårt att komma i kontakt med företaget för information om prissättningen. Det finns heller inget exempel som man kan titta på för att se ungefär var det ligger, och det är svårt att sätta ett generellt pris eftersom det varierar beroende på vilken lösning man har tänkt sig. På samma sätt som FLEXlm i avsnitt 2.2 är den enda nackdelen att vi inte lyckats få prisuppgifter men det behöver inte betyda att systemet är dyrare än de andra.

14 Marknadsundersökning - Övriga system Övriga system Det finns också en del programvaror och system som delvis eller inte alls uppfyller ABB:s krav, men som fortfarande är licensserver-system. Därför tas de endast upp med en kort beskrivning om varför de inte räcker till. VTProtect, som tillverkas av HALLoGRAM [05], är ett system som använder nodbaserad licensiering och företaget har dessutom utvecklat ett eget fingerprint system som anpassar sig om användaren gör mindre förändringar i sin dator. Det brukar annars vara ett problem med nodlösningar om man t ex byter nätverkskort så ser licenssystemet plötsligt en ny användare eftersom hostnamnet ofta är kopplat till nätverkskortets unika nummer. Programmet stöder dock inte flytande licenser vilket gör det obrukbart för ABB. KeyServer som tillverkas av Sassafras [06], är ett licenssystem som klarar de flesta av kraven men räcker inte riktigt till när det gäller plattformsdelen. Det går visserligen att köra servern i de flesta OS men klienterna är begränsade till att köras i Windows eller MacOS miljö. Det är också oklart om stöd finns för s.k. overdraft vilket innebär överskridande av det maximala antalet licenser för en kortare stund. Nedan följer fyra system som alla har den begränsningen att de endast fungerar på Windows-plattformen. Privilege Licenser från Aladdin [07]. Distinct License Manager från Distinct [08]. SafeSerial från Sikander Soft [09]. Protection PLUS från MARX Software Security [10]. 2.6 För- och nackdelar En av fördelarna med att skapa en egen licensserver för flytande licenser, istället för någon av ovanstående produkter, är att man får skräddarsy den efter de behov man har. Då behöver man inte få med en massa funktioner som man inte kommer att utnyttja. En annan fördel är att kostnaderna kan hållas nere vilket är en följd av att man skapar en egen licensserver. Detta med tanke på de få krav som ställs på licensservern, flytande licenser och möjlighet till att överskrida det maximala antalet licenser under kontrollerade former. Man betalar enbart för det som man behöver. Nackdelarna med att skapa en egen licensserver är att den inte är testad på samma sätt som de befintliga produkter som presenterats här ovan samt att det tar längre tid att skapa något eget än att köpa en befintlig produkt. Kostnader för personal och underhåll av systemet är också en nackdel.

15 Analys - C Analys Man inser ganska snart att när man skapar klient/server system så passar det bra att göra det med en komponentbaserad struktur. Valet står då mellan att använda COM/DCOM eller CORBA men eftersom tiden inte räcker till att sätta sig in i båda så har vi beslutat oss för att endast titta på en variant. Det visade sig dock att det inte blev någon av de två ovanstående, utan istället ett framework 1 som ABB har tagit fram som går under arbetsnamnet C C-28 C-28 är ett framework som har lånat idéer från både COM och CORBA. Det och har till uppgift att förenkla hanteringen av just klient/server system i olika bemärkelser. Dels vill man som programmerare helst slippa tänka på kommunikations-hanteringen mellan processer och komponenter utan man vill helt koncentrera sig på att lösa huvudproblemet, dvs licenssystemet i vårt fall. Då antar man helt enkelt att man kan kommunicera klient och server emellan via RPC 2. Man definierar sitt interface med hjälp av CORBA IDL-filer som sedan skickas till en egenutvecklad IDL 3 kompilator för att generera två klasser, en proxy och en stubbe. Klientdelen av systemet instansierar ett objekt av proxyklassen och servern instansierar motsvarande objekt av stubbklassen. Därefter kan man från klienten göra vad som ser ut som lokala anrop till proxyn som sedan skickas över nätverket via stubben och in i servern för att utföras. Returvärden (om sådana finns) går samma väg tillbaka och returneras till klienten från proxyn. Användaren märker inte någon skillnad mot att göra ett lokalt anrop (förutom möjligtvis att det tar något längre tid). 1 Ramverk på svenska. Ett sätt att tillhandahålla funktionalitet utan att användaren behöver sätta sig in i hur dess struktur eller implementation ser ut. 2 Remote Procedure Call 3 Interface Definition Language.

16 Analys - Lösningen 16 Interface description (IDL-file) IDL Compiler Node A (e.g. Win NT) Node B (e.g. Unix) Applications Applications Client Proxy Marshalling Server User Stub added code Framework services Framework services Name Server Name Server Figur 3-1 C-28 övergripande beskrivning Det finns också, som visas i Figur 3-1, nameservrar i systemet som har till uppgift att hitta objekt åt en klient som frågar. När man startar en nameserver på en nod så kontaktar den samtliga andra nameservrar och synkroniserar sig så att alla vet var samtliga objekt implementeras. 3.2 Lösningen Efter erfarenhet från de system som behandlats i marknadsundersökningen skissades följande grova struktur fram. Klient (Applikation) 1. Skicka förfrågan 7. Vidtag åtgärd. "Black Box" 2. Vidarebefordra till servern 6. Skicka returvärdet till klienten. Licensserver 3. Leta på om "Appname.dat" finns som licensfil. 4. Om den finns kontrollera att nyckeln är korrekt. 5. Om 3 och 4 stämmer och lediga licenser finns returnera sant. Figur 3-2 Översikt av licenssystemet Här representeras den svarta lådan av C-28 som sköter kommunikationen helt transparent.

17 Analys - Lösningen 17 En klient gör en förfrågan om en licens och skickar med vilken applikation det gäller. Den svarta lådan kontaktar sedan servern som och ser till att anropet genomförs. Servern letar efter applikationsnamn.dat och ser efter så att licensnyckeln i den filen stämmer överens med det övriga innehållet. Om allt är OK så skickas ett sant värde hela vägen tillbaka till klienten, och skulle något ha gått snett så skickas naturligtvis ett falskt värde. Klienten vidtar sedan den åtgärd som är nödvändig. Meningen är alltså att användaren av systemet inte ska behöva sätta sig in i vad som händer mellan klienten och servern utan helt enkelt kunna anropa och ta hand om returvärdet. Anledningen att vi har valt att låta licensfilen endast ligga på servernoden är enkel; det blir mindre administration vid förändringar. I fallet med de flesta licenssystem vi har tittat på så ligger licensfilen istället på varje klient och medför då att om man vill uppdatera någon av dem så måste man göra det på samtliga noder. Nackdelen med att ha filen på servern är att man inte så enkelt kan begränsa vem eller vilka som får använda det aktuella programmet. Man skulle kunna tänka sig att skicka med användarnamn eller liknande i förfrågan och på det sättet styra om den personen är behörig eller inte, men det medför också en del overhead på servern. Enligt avsnitt 1.4 så ska även prototyper implementeras. En klient- och en server-programvara ska kunna kommunicera med varandra via ett LAN 1. Flera klienter ska kunna begära licenser till olika program från samma server. 1 Locale Area Network

18 Analys - Interfacet mot klienten Interfacet mot klienten lmcheckout() Kvitterar ut en licens från servern om lediga finns. lmforcecheckout() Kvitterar ut en licens från servern oavsett om lediga finns eller inte. Loggning sker vid overdraft. lmcheckin() Återlämnar en förbrukad licens till servern. 3.4 Licensklasserna Man behöver också på något sätt hålla reda på vilka licenser som är utcheckade för ögonblicket och den lagringen bör ligga på serversidan. Därför har 3 behållarklasser tagits fram för just detta ändamål ProgramLicenseList Denna klass har till uppgift att bygga upp en lista av alla program som har licenser ute just nu. Varje sånt program kan även ha flera licenser ute så därför blir det en lista av LicenseList objekt. ProgramLicenseList -list : LicenseList +AddLicense() +ForceAddLicense() +RemoveLicense() Figur 3-3 UML [12] för klassen ProgramLicenseList LicenseList Här lagras vilka licenser som finns utcheckade just nu av ett specifikt program. Information som lagras är vilket namn applikationen har, maximalt antal som får vara ute samtidigt samt det nuvarande antalet utcheckade licenser. Det byggs upp med en lista av License objekt.

19 Analys - Licensklasserna 19 LicenseList -list : License -GetLicenseInfo() -Log() +SetAppName() +GetAppName() +SetCurrentAmount() +GetCurrentAmount() +SetMaxAmount() +GetMaxAmount() +GetAmountAvailable() +isempty() +Add() +Remove() Figur 3-4 UML [12] för klassen LicenseList License Den här klassen håller reda på vem som har en specifik licens, dvs nodnamnet på den maskin som nyttjar den. License -Hostname : Char* +SetHostName() +GetHostName() Figur 3-5 UML [12] för klassen License

20 Analys - KeyClass Klassernas beroenden ProgramLicenseList -list : LicenseList +AddLicense() +ForceAddLicense() +RemoveLicense() n LicenseList -list : License -GetLicenseInfo() -Log() +SetAppName() +GetAppName() +SetCurrentAmount() +GetCurrentAmount() +SetMaxAmount() +GetMaxAmount() +GetAmountAvailable() +isempty() +Add() +Remove() n License -Hostname : Char* +SetHostName() +GetHostName() Figur 3-6 UML [12] för de tre licensklasserna 3.5 KeyClass Denna klass har till uppgift att kontrollera att licensnyckeln som finns i licensfilen verkligen stämmer. Det gör den genom att använda en viss algoritm på den information som står i licensfilen och sedan kontrollera att den uträknade nyckeln överensstämmer med den nyckel som finns i licensfilen. KeyClass -FillString() -SumString() +CodeGenerator() +GetCode() Figur 3-7 UML [12] för klassen KeyClass

Design Collaboration Suite

Design Collaboration Suite Design Collaboration Suite 2012 IRONCAD IRONCAD DRAFT INOVATE NLM- Network License Manager LICENSAKTIVERINGSGUIDE Innehållsförteckning Viktig information innan installation 1 Installation av NLM- Network

Läs mer

Innan installationen behöver dessa tre steg genomföras. Efter installationen kan de aktiveras igen.

Innan installationen behöver dessa tre steg genomföras. Efter installationen kan de aktiveras igen. INSTALLATION GIBBSCAM GibbsCAM har samma installerare för både den hårdvarulåsta versionen och nätverkslicensen. GibbsCAM använder numera en licensfil som skapas direkt via internet eller manuellt via

Läs mer

Manual licenserver. Installations och konfigurations-manual för Adtollo licenserver 2014-10-07

Manual licenserver. Installations och konfigurations-manual för Adtollo licenserver 2014-10-07 Installations och konfigurations-manual för Adtollo licenserver 2014-10-07 2014-10-07 Sida 2 av 8 Detta är en installationsanvisning för Adtollo licensserver. Applikationen kan användas till flera av Adtollos

Läs mer

På servern För att registrera och köra en Topocad 17 nätverkslicens krävs att man installerar den senaste Licensservern

På servern För att registrera och köra en Topocad 17 nätverkslicens krävs att man installerar den senaste Licensservern Installationsanvisning Topocad nätverkslicens Denna installationsanvisning gäller för Topocad nätverkslicenser från version 17 och senare och beskriver hur man registrerar en Topocad licens på en server

Läs mer

Ändringar i samband med aktivering av. Microsoft Windows Vista

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

Läs mer

LMS-licenser, funktion, uppgradering från portlock. Tobias Pettersson

LMS-licenser, funktion, uppgradering från portlock. Tobias Pettersson LMS-licenser, funktion, uppgradering från portlock Tobias Pettersson 20151015 LMS Mjukvarulicens ersätter portlock Ändring av licensieringsmetod är nödvändig av flera olika skäl, bl.a. Ett portlock ger

Läs mer

Frågor och svar om ArcGIS Pro Licensiering

Frågor och svar om ArcGIS Pro Licensiering Frågor och svar om ArcGIS Pro Licensiering Tillgång och åtkomst till ArcGIS pro Hur får jag tag på nya ArcGIS Pro applikationen? - ArcGIS Pro är en ny applikation som är tillgänglig som del av ArcGIS for

Läs mer

Uppgradering avavigilon Control Center 6

Uppgradering avavigilon Control Center 6 Uppgradering avavigilon Control Center 6 När du uppgraderar till programvaran ACC 6, måste din programvara och dina licenser uppgraderas. OBS: Du kan endast uppgradera ACC 5.x till ACC 6. Om du kör en

Läs mer

Installation av GeoSuite Presentation Fält

Installation av GeoSuite Presentation Fält 2008-02-28 Installation av GeoSuite Presentation Fält GeoSuite Presentation kan fås som fältlicens utan USB-nyckel. Principen är att licensen installeras på samma sätt som en licensserver. 1. Börja med

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

WebOrderInstallation <====================>

WebOrderInstallation <====================> WebOrderInstallation 1 För installation av en kund som klient (en yttre användare som via WebOrderHandeln registrerar order) se vidare dokumentationen RdpKlientInstallation.pdf som kan hämtas ner från

Läs mer

Innehåll. 7. Hur vet jag vilken storlek på licensen jag har?... 19

Innehåll. 7. Hur vet jag vilken storlek på licensen jag har?... 19 Innehåll Ny licenshantering i HogiaLön Plus... 2 Steg för steg; för dig med HogiaLön Plus - Access... 3 Licenshantering för administratören... 3 Licenshantering för löneadministratörer... 10 Vanliga frågor...

Läs mer

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

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

Läs mer

- ArcGIS Pro är en ny applikation som är tillgänglig som del av ArcGIS for Desktop. För att få ArcGIS Pro, köper man ArcGIS for Desktop

- ArcGIS Pro är en ny applikation som är tillgänglig som del av ArcGIS for Desktop. För att få ArcGIS Pro, köper man ArcGIS for Desktop Frågor och svar om ArcGIS Pro Licensiering Här tar vi upp några vanliga frågor om Pro: Tillgång och åtkomst till ArcGIS pro Tilldela licenser rent praktiskt inom organisationen Användande av ArcGIS Pro

Läs mer

NSi Output Manager Vanliga frågor och svar. Version 3.2

NSi Output Manager Vanliga frågor och svar. Version 3.2 NSi Output Manager Vanliga frågor och svar Version 3.2 I. Allmän produktinformation 1. Vad finns det för nyheter i NSi Output Manager 3.2? I NSi Output Manager 3.2 finns det flera förbättringar på serversidan,

Läs mer

Lathund Blanketthotell Komma igång

Lathund Blanketthotell Komma igång Lathund Blanketthotell Komma igång Introduktion Denna lathund innehåller lite samlade råd och tips för de som ska använda tjänster från NT Smartwork. (För de som redan börjat använda Blanketthotellet finns

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

Innehåll. 9. Hur vet jag vilken storlek på licensen jag har?... 25

Innehåll. 9. Hur vet jag vilken storlek på licensen jag har?... 25 Innehåll Ny licenshantering i HogiaLön Plus... 2 Steg för steg; för dig med HogiaLön Plus - SQL... 3 Licenshantering för administratören... 3 Licenshantering för löneadministratörer... 8 Steg för steg;

Läs mer

Nätverkslicens - Installation

Nätverkslicens - Installation Nätverkslicens - Installation Installationsprogrammet ska köras på den dator som ska dela ut licens(er) till klientdatorer. Det kommer att installera ett installationsprogram för klienter som ska köras

Läs mer

Innehåll. 9. Hur vet jag vilken storlek på licensen jag har?... 16

Innehåll. 9. Hur vet jag vilken storlek på licensen jag har?... 16 Innehåll Ny licenshantering i HogiaLön Plus... 2 Steg för steg; för dig med HogiaLön Plus - SQL... 3 Licenshantering för administratören... 3 Licenshantering för löneadministratörer... 8 Vanliga frågor...

Läs mer

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

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

Läs mer

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN

Win95/98 Nätverks Kompendium. av DRIFTGRUPPEN Win95/98 Nätverks Kompendium av DRIFTGRUPPEN Sammanfattning Vad håller jag i handen? Detta är en lättförståelig guide till hur man lägger in och ställer in nätverket i Windows 95 och 98 Efter 6 (sex) enkla

Läs mer

progecad NLM Användarhandledning

progecad NLM Användarhandledning progecad NLM Användarhandledning Rel. 19.1 Innehållsförteckning Innehållsförteckning... 2 Introduktion... 3 Hur du börjar... 3 Installation av progecad NLM Server... 3 Registrering av progecad NLM Server...

Läs mer

Många företag och myndigheter sköter sina betalningar till Plusoch

Många företag och myndigheter sköter sina betalningar till Plusoch 70 80 60 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 40 20 30 Manual 2 Installation Många företag och myndigheter sköter sina betalningar till Plusoch Bankgirot

Läs mer

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...

Läs mer

Installation, Novaschem 2005

Installation, Novaschem 2005 Installation...2 Hämta Novaschem...2 Att tänka på vid installation...2 Aktivering...2 Starta installationsprogrammet...2 Lokal installation...2 Licensavtal...3 Installationstyp...3 Databaskomponenter...3

Läs mer

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

emopluppen Användning av Ant Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC) emopluppen Användning av "Ant" Version: 1.4 ( 2002/04/26 07:27:52 UTC) Niklas Backlund Sammanfattning Det här dokumentet handlar om programmet Ant, som är en byggmiljö för programutvecklingsprojekt. Dess

Läs mer

LICENSMANUAL PLUS

LICENSMANUAL PLUS WWW.AEC.SE LICENSMANUAL PLUS Licensmanual AEC PLUS för Revit 2019 Licensmanualen är ett utdrag ur Användarmanual AEC PLUS för Revit, och beskriver enbart licensformer och licensiering av produkten. För

Läs mer

Kopiering av objekt i Java

Kopiering av objekt i Java 1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom

Läs mer

Beställning av Förlitandepart-certifikat Version

Beställning av Förlitandepart-certifikat Version BankID Sida 1(13) Beställning av Förlitandepart-certifikat Version 3.0 2016-11-16 BankID Sida 2(13) Innehållsförteckning 1 Bakgrund... 3 1.1 Versioner... 3 2 FP-certifikat för test... 3 3 Systemkrav för

Läs mer

FileMaker Pro 13. Använda Fjärrskrivbord med

FileMaker Pro 13. Använda Fjärrskrivbord med FileMaker Pro 13 Använda Fjärrskrivbord med FileMaker Pro 13 2007-2013 FileMaker, Inc. Med ensamrätt. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Kalifornien 95054, USA FileMaker och Bento är

Läs mer

FileMaker. Köra FileMaker Pro 10 på Terminal Services

FileMaker. Köra FileMaker Pro 10 på Terminal Services FileMaker Köra FileMaker Pro 10 på Terminal Services 2004 2009, FileMaker, Inc. Med ensamrätt. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Kalifornien 95054, USA FileMaker, filmappslogotypen,

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner 732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (

Läs mer

Registrering av licens för en befintlig användare fr om version 2013.2

Registrering av licens för en befintlig användare fr om version 2013.2 Fr om version 2013.2 krävs det att du registrerar din programlicens oberoende om du är en helt ny användare eller en befintlig användare av löneprogrammet. Registrering av programlicens via Internet och

Läs mer

7 Mamut Client Manager

7 Mamut Client Manager 7 Mamut Client Manager Tilläggsprodukten Mamut Client Manager består av programmen Client Start och Client Update. Med hjälp av Mamut Client Manager kan du från ett fönster öppna, uppdatera och administrera

Läs mer

Uppdatera Mobilus Professional till version 3.2.1. * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Uppdatera Mobilus Professional till version 3.2.1. * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Uppdatera Mobilus Professional till version 3.2.1 Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Mobilus Digital Rehab AB * Filen MP.exe (Mobilus programmet) får inte användas

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

JAWS Nätverksauktorisering

JAWS Nätverksauktorisering Nätverksauktorisering snabbstart Guide Freedom Scientific programvaror behöver riktig auktorisering för att fungera. Klient datorer som använder programvaran kommer att ansluta till en licens server vilken

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

FLEX Personalsystem. Uppdateringsanvisning

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

Läs mer

Licenshantering i HogiaLön Plus

Licenshantering i HogiaLön Plus Licenshantering i HogiaLön Plus I HogiaLön Plus finns tillägget licens (observera att detta inte är detsamma som den licens du hämtar via ditt sexsiffriga licensnummer) som har arbetats fram för att du

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

HASP-felsökningsguide

HASP-felsökningsguide HASP-felsökningsguide Huvudkontor: Trimble Geospatial Division 10368 Westmoor Drive Westminster, CO 80021 USA www.trimble.com Copyright och varumärken: 2005-2013, Trimble Navigation Limited. Med ensamrätt.

Läs mer

Installationsguide ELCAD 7.10

Installationsguide ELCAD 7.10 Installationsguide ELCAD 7.10 Innehållsförteckning Inledning... 2 Installation av ELCAD 7.10... 2 Viktiga nyheter om installationen... 2 Före installationen... 2 Ladda hem internationell version... 2 Ladda

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

TUTORIAL: SAMLING & KONSOLL

TUTORIAL: SAMLING & KONSOLL TUTORIAL: SAMLING & KONSOLL Denna tutorial är en fortsättning på den tutorial där vi skapade klassen Car och sedan objekt av denna klass. Vi skall nu lära oss att lagra dessa objekt i en samling och även

Läs mer

Frågor och svar om ArcGIS Pro Licensiering

Frågor och svar om ArcGIS Pro Licensiering Frågor och svar om ArcGIS Pro Licensiering Tillgång och åtkomst till ArcGIS pro Hur får jag tag på nya ArcGIS Pro applikationen? - ArcGIS Pro är en ny applikation som är tillgänglig som del av ArcGIS Desktop.

Läs mer

ENTRÉ DOKUMENTHANTERING...

ENTRÉ DOKUMENTHANTERING... Entré Innehåll ENTRÉ DOKUMENTHANTERING... - 2 - Starta Dokumenthantering... - 3 - Lägga till dokument via frågeguide... - 4 - Frågeguiden... - 5 - Lägga till dokument manuellt... - 7 - Lägg till fil...

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

STYRKAN I ENKELHETEN. Business Suite

STYRKAN I ENKELHETEN. Business Suite STYRKAN I ENKELHETEN Business Suite HOTET ÄR VERKLIGT Onlinehot mot ditt företag är verkliga, oavsett vad du gör. Om du har data eller pengar är du ett mål. Säkerhetstillbuden ökar drastiskt varje dag

Läs mer

Installationsbeskrivning för CAB Service Platform med CABInstall

Installationsbeskrivning för CAB Service Platform med CABInstall Installationsbeskrivning för CAB Service Platform med CABInstall INLEDNING... 2 INSTALLATION... 3 AVANCERAD INSTALLATION... 10 YTTERLIGARE INFORMATION... 11 Proxy... 11 Sida 1 av 12 Inledning Denna beskrivning

Läs mer

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll FrontPage Express I programpaketet Internet Explorer 4.0 och 5.0 ingår också FrontPage Express som installeras vid en fullständig installation. Det är ett program som man kan använda för att skapa egna

Läs mer

Övningen vill visa på vikten av valet av datastruktur, trots att de ofta erbjuder samma funktionalitet genom sina gränssnitt.

Övningen vill visa på vikten av valet av datastruktur, trots att de ofta erbjuder samma funktionalitet genom sina gränssnitt. 1 Samlingar 1.1 Frekvenstabell En Integer är icke-muterbar (precis som String, Float, Boolean et.c.). Ickemuterbarhet har många fördelar, men en nackdel är att ett helt nytt objekt måste skapas när ett

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

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

Komponenter med COM (och COM+/VC++ 7.0)

Komponenter med COM (och COM+/VC++ 7.0) MÄLARDALENS HÖGSKOLA Komponenter med COM (och COM+/VC++ 7.0) Med Visual C++ 7.0 COM-komponent EI0230 Komponentbaserad applikationsutveckling oktober 2003 Om denna sammanfattning Denna sammanfattning innehåller

Läs mer

Vanliga frågor kunder

Vanliga frågor kunder Viktiga uppdateringar för underhållsavtal Vanliga frågor kunder Det här dokumentet innehåller svar på vanliga frågor om de kommande förändringar vad gäller underhållsavtal som är ett resultat av vår övergång

Läs mer

Teoretisk del. Facit Tentamen TDDC (6)

Teoretisk del. Facit Tentamen TDDC (6) Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för

Läs mer

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost. Routingprocessen Vid kommunikation mellan datorer måste de känna till var och hur de skall skicka paketen, om de datorer som ska kommunicera ligger på samma IP-nät är det ju inget problem. Men är det så

Läs mer

M-BOX MANAGEMENT Index

M-BOX MANAGEMENT Index M-BOX MANAGEMENT Index Anslutning av M-BOX till en Silca Transpondermaskin... 2 Silca Remote Service installation och anslutning M-BOX... 4 M-BOX Registrering... 5 Ansluta M-BOX till INTERNET... 6 WI-FI

Läs mer

Filöverföring i Windowsmiljö

Filöverföring i Windowsmiljö Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Filöverföring i Windowsmiljö Erik Ljungqvist, Viktor Hjertman 10 januari 2014 Sammanfattning I detta projekt undersöks skillnaden i

Läs mer

LICENSAKTIVERINGSGUIDE. Design Collaboration Suite

LICENSAKTIVERINGSGUIDE. Design Collaboration Suite LICENSAKTIVERINGSGUIDE Design Collaboration Suite 2014 Varje kapitel representerar en viss typ av licensmetod. På ditt licenscertifikat står det vilken licenstyp du har. Hitta din licenstyp i listan nedan

Läs mer

Vanliga frågor kunder

Vanliga frågor kunder Viktiga uppdateringar för underhållsavtal Vanliga frågor kunder Det här dokumentet innehåller svar på vanliga frågor om de kommande förändringar vad gäller underhållsavtal som är ett resultat av vår övergång

Läs mer

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon).

Laboration 0. Enhetsbokstaven anges med ett kolon efter och man läser ofta ut detta, exempelvis C:(sekolon). Laboration 0 Laborationen är till för dig som inte är familjär med att navigera i filträd på en dator. Om du är van vid detta (vilket är det vanliga nu för tiden) så kan du bara snabbt titta igenom laborationen.

Läs mer

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1 Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens

Läs mer

Norman Endpoint Protection (NPRO) installationsguide

Norman Endpoint Protection (NPRO) installationsguide Norman Endpoint Protection (NPRO) installationsguide Ladda ner installationspaketet (32 eller 64 bitars) från nedanstående länk: http://www.norman.com/downloads/sm ent/68793/se Starta installationspaketet

Läs mer

Virtuell Server Tjänstebeskrivning

Virtuell Server Tjänstebeskrivning Virtuell Server Tjänstebeskrivning Inledning SoftIT tillhandahåller i samarbete med IP Only, tjänsten Virtuell Server, varigenom kunden erhåller serverkapacitet som Kunden får tillgång till genom SoftIT:s

Läs mer

SaaS Email and Web Services 8.3.0

SaaS Email and Web Services 8.3.0 Versionsinformation Version A SaaS Email and Web Services 8.3.0 Innehåll Om den här utgåvan Nya funktioner Lösta problem Hitta McAfee SaaS tjänstedokumentation Om den här utgåvan Tack för att du väljer

Läs mer

Nyheter i. Solen Pro/SolenX 6.5

Nyheter i. Solen Pro/SolenX 6.5 Nyheter i Solen Pro/SolenX 6.5 Solen Pro och SolenX Nyheter och förbättringar Utseendeförbättringar I både Pro och X har en del småändringar gjorts för att öka tydligheten/enkelheten i gränssnittet. -

Läs mer

DDS-CAD. Installation av student-/demolicens

DDS-CAD. Installation av student-/demolicens S DDS-CAD Installation av student-/demolicens Användande av DDS-CAD är skyddat via licensbehov.detta sker via en fysisk USB-nyckel som innehåller krypterad licensinformation. Programvaran är därmed skyddad

Läs mer

Installationsanvisning - Kopplingen mellan GK96 och golf.se -

Installationsanvisning - Kopplingen mellan GK96 och golf.se - Installationsanvisning - Kopplingen mellan GK96 och golf.se - (Läs hela anvisningen innan du installerar)!denna installationsanvisning innehåller förändringar från tidigare versioner! 1. Programmets syfte...

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

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Uppdatera Mobilus Professional till version 3.1.2 Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Mobilus Digital Rehab AB * Filen MP.exe (Mobilus programmet) får inte användas

Läs mer

Tilläggs dokumentation 4069 Dns

Tilläggs dokumentation 4069 Dns Tilläggs dokumentation 4069 Dns Magnus Larsson FMTS/UtbE/ElektrosystemA it-sektionen 4069 DNS- Tilläggsdokumentation 4069 DNS-Tilläggsdokumentation...2 Domäner och Zoner...3 C:\Mina Dokument\PowerFolders\Försvarsmakten,FMTS\Kurser\4069A,

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

Årsskiftesrutiner i HogiaLön Plus SQL

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

Läs mer

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. Uppdatera Mobilus Professional till version 3.3.1 Dokument: MobProUpd331 Rev. A Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering. * Filen MP.exe (Mobilus programmet) får inte

Läs mer

Sätt igång med QuarkXPress

Sätt igång med QuarkXPress Sätt igång med QuarkXPress 10.0.1 INNEHÅLL Innehåll Sammanhörande dokumentation...3 Systemkrav...4 Systemkrav: Mac OS X...4 Systemkrav: Windows...4 Installation: Mac OS...5 Lägga till filer efter installationen:

Läs mer

EXAMENSARBETE. Solen Redundans. Didrik Östergren 2014. Högskoleexamen Datornätverk

EXAMENSARBETE. Solen Redundans. Didrik Östergren 2014. Högskoleexamen Datornätverk EXAMENSARBETE Solen Redundans Didrik Östergren 2014 Högskoleexamen Datornätverk Luleå tekniska universitet Institutionen för system- och rymdteknik Didrik Östergren 2014-08-20 Luleå Tekniska Universitet,

Läs mer

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query). Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.

Läs mer

Programmering B med Visual C++ 2008

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

Läs mer

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

2005-06-02 1 Open Source-licenser

2005-06-02 1 Open Source-licenser 2005-06-02 1 Open Source-licenser Open Source-licenser NEA Nätverket för Elektroniska Affärer Advokat Sofia Geilert 2005-06-02 2 Open Source-licenser Open Source-licenser Antal olika licenser för open

Läs mer

Installera SoS2000. Kapitel 2 Installation Innehåll

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

Läs mer

Lathund till First Class

Lathund till First Class Lathund till First Class Vägga Vuxenutbildning, Karlshamn KARLSHAMNS KOMMUN Senast reviderad: 2013-12-09 Ursprunglig version: 2011-11-29 Författare: Jim Nilsson Prolog Denna lathund är till för de som

Läs mer

PayByBill Betalmoduler v1.09

PayByBill Betalmoduler v1.09 PayByBill Betalmoduler v1.09 Utvecklad för Opencart 1.5.2.1 och nyare Vad är detta? Detta är arvato Finance AB s officiella betalmoduler till OpenCart. Modulen är gratis men för att använda den så måste

Läs mer

Storegate Pro Backup. Innehåll

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

Läs mer

Novapoint GeoSuite Toolbox

Novapoint GeoSuite Toolbox 2012-09-17 Novapoint GeoSuite Toolbox Detta är en kort beskrivning av programpaketet Novapoint GeoSuite Toolbox. Toolboxen innehåller ett projekthanteringsprogram GS Arkiv som utgör den centrala delen

Läs mer

ANVÄNDARHANDBOK. Advance Online

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

Läs mer

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna

Läs mer

30 år av erfarenhet och branschexperts

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

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet

Tommy Färnqvist, IDA, Linköpings universitet Föreläsning 9 Pekare, länkade noder, länkade listor TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 25 september 2015 Tommy Färnqvist, IDA, Linköpings

Läs mer

IT-Policy Vuxenutbildningen

IT-Policy Vuxenutbildningen IT-Policy Vuxenutbildningen För att du som användare skall kunna leva upp till de säkerhetskrav som ställs på dig måste du känna till kommunkoncernens förhållningssätt och regelverk angående hur du får

Läs mer

Hur gör man ett trådlöst nätverk säkert?

Hur gör man ett trådlöst nätverk säkert? Hur gör man ett trådlöst nätverk säkert? http://www.omwlan.se/artiklar/sakerhet.aspx 2010 07 30 En av de första artiklarna jag skrev på omwlan.se för ett antal år sedan handlade om säkerheten. Säkerheten

Läs mer

Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003

Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003 Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003 Detta dokument ger steg för steg-instruktioner för att skapa och implementera ett TI-Nspire nätverkspaket via plattformen Microsoft SMS 2003.

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

INSTALLATIONSINSTRUKTIONER FÖR VIDA INNEHÅLL

INSTALLATIONSINSTRUKTIONER FÖR VIDA INNEHÅLL VIDA INSTALLATIONSINSTRUKTIONER VIDA 2015 INNEHÅLL 1 INLEDNING... 3 2 FÖRE INSTALLATION... 4 2.1 Checklista för åtgärder före installation... 4 2.2 Tredjepartsprodukter... 4 2.2.1 Adobe Reader... 5 2.3

Läs mer

Datum 2012-12-28. Den första bilden i installationsprogrammet visar vilken version det är. Klicka på Nästa eller tryck Enter för att fortsätta.

Datum 2012-12-28. Den första bilden i installationsprogrammet visar vilken version det är. Klicka på Nästa eller tryck Enter för att fortsätta. Installation av SDCs insändningsprogram Sender för filer från skördare, skotare eller drivare Installationen består av tre steg som automatiskt körs efter varandra. Steg 1: Programmet installeras och man

Läs mer